6
Release process
Alex edited this page 2023-05-04 08:52:48 +00:00
- make sure version numbers are up to date in cargo.toml files in all subdirectories of src/ (not only the version number of the crates themselves, but also the version numbers of the dependencies to other garage crates)
- make sure cargo.lock is updated and that everything builds
- make sure cargo.nix is updated and that everything builds using nix as well
- make a git commit
- do
cargo publish
in all subdirectories, in topological sort order: db, util, rpc, table, model, api, web, garage - make a git tag
- push the tag
- promote the tag build
- check that the tag build went well, that release page is updated, that docker image is updated
- write and publish release notes
- celebrate
Some of these things can be done out-of-order. E.g. release notes can be written before hand or during compilation, and published before the final binaries are available to download.