You can trigger a build with the GitHub action to generate the client. This will automatically
update the client to the latest version based on the Omicron commit hash in the
VERSION_OMICRON file.
Alternatively, if you wish to generate the client locally with your changes, update the
VERSION_OMICRON file with the git hash of the omicron branch you wish to
generate the SDK from, and run:
$ make allThe release process requires you to sign the release tag. Before starting the release process, ensure you have Git and GitHub configured with a GPG key to sign commits and tags. Refer to GPG commit signature verification for more information.
- Create a release branch
git checkout main git pull origin main git checkout -b release-vX.Y.Z - Update the
VERSIONandVERSION_OMICRONfiles with the new version you want to release. - Generate and lint files.
make all - Ensure the
.changelog/vX.Y.Z.tomlfile has the changelog entries for the release and generate changelog.make changelog - Update the generated file with the release date and associated Oxide API version.
- # vX.Y.Z + # vX.Y.Z (Year/Month/Day) + + Generated from Oxide API version [API VERSION](https://github.com/oxidecomputer/omicron/blob/<OMICRON TAG>/openapi/nexus/nexus-<API VERSION>.json)
- Commit and push updated files.
git add -A . git commit -m 'release vX.Y.Z' git push origin release-vX.Y.Z - Open a PR to update
main. - Ensure tests are passing in
mainafter merge. - Run
make tagfrom your localmainbranch.git checkout main git pull origin main make tag - Push the tag to this repository.
git push origin vX.Y.Z - Update the GitHub release description with the release content generated from
make changelog. - Create and push a release branch from the commit of the release tag.
git checkout vX.Y.Z git checkout -b X.Y git push origin X.Y - Create a new branch to prepare the repository for the next version.
- Update the
VERSIONfile with the next development version and runmake generateto update generated files. - Create a new
.changelog/<VERSION>.tomlfile with the next development version. - Push changes and open PR.