Start every release from /opencode-coder-dev/release or by loading the github-releases skill.
Do not use this document as a standalone release checklist; the skill owns the generic workflow, validation structure, and recovery flow.
Use this companion for the repo-specific checks, commands, and publishing quirks for opencode-coder.
/opencode-coder-dev/releasewhen releasing from this repository- the github-releases skill when you need the generic workflow directly
Read this file after starting from one of those entrypoints.
This repo releases through:
.github/workflows/release.yml
Dispatch it with:
gh workflow run release.yml -f version="0.36.1" -f release_notes="## What's New
- ..."The workflow:
- updates
package.json - creates tag
v<version> - pushes
mainand the tag - publishes
@dynatrace-oss/opencode-coderto GitHub Packages - creates the GitHub release
bun installgh auth status- clean working tree
- permission to publish GitHub Packages
Run these locally before triggering the release workflow:
bun run typecheck
bun run build
bun run test:unit
bun run test:integration
bun test tests/integration/plugin.test.ts --test-name-pattern "no-.coder startup regression"
bun run validate:isolated-pins
bun run test:e2e- update
../CHANGELOG.mdunder## [Unreleased] - confirm
mainis green:gh run list --limit 1 - prepare release notes for the workflow input
- do not pre-bump
package.json; the workflow owns the version update
Private-package coverage for @hk9890/opencode-dynatrace is opt-in via OPENCODE_CODER_PRIVATE_TESTS=true.
That means:
- default public-safe isolated checks run without private package access
- private coverage should still be run in release environments that have package access
- GitHub Actions does not fully enforce private-package-dependent coverage yet
- this gap is currently accepted and should be mentioned if release confidence is discussed
Package target:
- GitHub Packages
- registry:
https://npm.pkg.github.com - package:
@dynatrace-oss/opencode-coder
Important auth note:
gh auth loginis not always sufficient for npm package reads- installation verification may require a token with
read:packages - do not assume a token that works for GitHub CLI also works for
npm install
Run these after the workflow completes:
gh release view "v<version>"
npm view @dynatrace-oss/opencode-coder@<version> --registry=https://npm.pkg.github.comAlso verify an authenticated install in a clean test project using a token with package read access:
TOKEN="<token-with-read:packages>"
printf '@dynatrace-oss:registry=https://npm.pkg.github.com\n//npm.pkg.github.com/:_authToken=%s\n' "$TOKEN" > .npmrc
npm install @dynatrace-oss/opencode-coder@<version>Use the generic recovery workflow from the github-releases skill, plus these repo-specific rules:
- if the workflow reports an existing tag, stop and inspect the existing tag/release before retrying
- if publish succeeds but install verification fails with
E403 permission_denied, suspect token scope before assuming the release is broken - if a bad release gets out, publish a new patch version; GitHub Packages does not support a simple npm unpublish rollback flow here
When changing release behavior, review these files together:
.github/workflows/release.ymlpackage.jsonCHANGELOG.md- this file