calyx icon indicating copy to clipboard operation
calyx copied to clipboard

Document the version release process

Open rachitnigam opened this issue 2 years ago • 1 comments

Currently, this is something only I do but it would be good to have a documentation page describing how to release a new version. Briefly:

  1. Bump the version field in Cargo.toml for all the dependencies and build-dependencies.
  2. Update the CHANGELOG.md file and commit the changes (without pushing yet)
  3. Release the packages on cargo in dependency order. This is successful when the calyx package is published. If anything goes wrong and you need to make changes, make the changes and add them to the commit using git comment --amend
  4. Add a new tag for the version using git tag <version>
  5. Push the commit (git push) and the tag (git push --tags). The latter command might not quite be thing to do because it pushes all the tags.
  6. Once the tag is published, draft a new release on GitHub. Copy over the changes from the CHANGELOG.md file for the current release.

Once all of this is done, new docker containers with the specific version tag will be automatically built using Depot and tagged as latest.

rachitnigam avatar Oct 15 '23 14:10 rachitnigam

Documenting this so it's easy to "turn the crank" sounds great.

Even more ambitiously, at some point you can imagine automating some of the mechanical stuff (such as the Cargo publishing) with a tag-triggered Action…

sampsyo avatar Oct 16 '23 12:10 sampsyo