Before performing a release, perform a local "smoke-test":
- For most changes, simply running
go test ./e2emay be sufficient. - For agent-specific changes, manual testing may be required.
If everything seems OK, you can proceed to do the following:
-
Update the version string in
internal/version/version.goand runmake gen. -
Add details in
CHANGELOG.mdon what changed. -
Create a PR with the subject
chore: update version to X.Y.Z -
Once the above PR is approved and merged, update your local branch and run
release.sh. If the script reports errors, fix them before continuing. If there are no issues, it will output the Github tag URL. -
Visit
https://github.com/coder/agentapi/releases/tag/vX.Y.Zand "Create release from tag".- Select the tag you pushed previously.
- Select the previous tag and "Generate release notes". Amend as required.
- IMPORTANT: un-check "Set as latest release" and check "Set as a pre-release".
- Click "Publish Release". This will trigger a "Build Release Binaries" CI job.
-
Visit
https://github.com/coder/agentapi/actions/workflows/release.ymland monitor the status of the job that was created in the previous step. This will upload the built assets to the corresponding release. -
Once the updated assets are released, you can now visit
https://github.com/coder/agentapi/releases/tag/vX.Y.Z, click "Edit" (✎), and check "Set as latest release".