-
Notifications
You must be signed in to change notification settings - Fork 72
chore: document release process #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Looks good! I usually use the release UI to create the tag rather than doing it locally. Could we create a MAINTAINER.md file and move the instructions there? The README is the first thing new users read and they don't need this information. |
Addressed in 1887897 |
Co-authored-by: Hugo Dutka <[email protected]>
## Release Process | ||
|
||
Before performing a release, perform a local "smoke-test". | ||
If everything seems OK, you can proceed to do the following: | ||
|
||
1. Update the version string in the following places: | ||
- `openapi.json` | ||
- `chat/package.json` | ||
- `lib/httpapi/server.go` | ||
2. Add details in `CHANGELOG.md` on what changed. | ||
3. Create a PR with the subject `chore: update version to X.Y.Z` | ||
4. Once the above PR is approved and merged, create a new git tag `vX.Y.Z` pointing to the commit of the above PR merged to `main`:S | ||
|
||
```shell | ||
# Fetch existing tags first! | ||
git fetch --tags | ||
git tag -a vX.Y.Z -m 'vX.Y.Z' | ||
``` | ||
|
||
5. Push the tag: | ||
|
||
```shell | ||
git push origin tag vX.Y.Z | ||
``` | ||
|
||
6. Visit `https://github.com/coder/agentapi/releases/tag/vX.Y.Z` and "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. | ||
|
||
7. Visit `https://github.com/coder/agentapi/actions/workflows/release.yml` and monitor the status of the job that was created in the previous step. This will upload the built assets to the corresponding release. | ||
|
||
8. 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". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks quite involved around marking release as not latest and then marking it as latest.
Not now, but we should script it out to automate the whole workflow when a tag is pushed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed 100%, some scripts are definitely warranted here
No description provided.