calyx
calyx copied to clipboard
Document the version release process
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:
- Bump the
versionfield inCargo.tomlfor all the dependencies and build-dependencies. - Update the
CHANGELOG.mdfile and commit the changes (without pushing yet) - Release the packages on
cargoin dependency order. This is successful when thecalyxpackage is published. If anything goes wrong and you need to make changes, make the changes and add them to the commit usinggit comment --amend - Add a new tag for the version using
git tag <version> - 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. - Once the tag is published, draft a new release on GitHub. Copy over the changes from the
CHANGELOG.mdfile 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.
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…