Skip to content

Latest commit

 

History

History
24 lines (21 loc) · 1.3 KB

release.md

File metadata and controls

24 lines (21 loc) · 1.3 KB

Release Process

This is the release process which must be carried out by a maintainer with proper GitHub and crates.io credentials. Without both, this will fail.

  1. Install the Cargo release plugin (if it is not already installed): cargo install cargo-release
  2. Go to the 'dev' branch and get the latest changes: git switch dev and then git pull.
  3. On the 'dev' branch, use the cargo release plugin to bump either the patch, minor, or major version: cargo release version patch -x, cargo release version minor -x or cargo release version major -x.
  4. Run the tests: cargo test
  5. Commit these changes to git.
  6. Push the changes to GitHub.
  7. Do a PR from dev to main.
  8. Wait for the test build.
  9. Merge the PR.
  10. Tag with version from step 2 as 'vVERSION' (lowercase 'v' followed by version number such as 'v0.0.5').
  11. Push the tag to GitHub. This triggers a release build in GitHub Actions.
  12. Wait until the release works. It may need some babysitting because the GitHub macOS and Windows builds are sometimes flaky).
  13. Switch to main branch: git switch main
  14. Update local repo branch: git pull.
  15. Create a build in preparation for of publication to crates.io: cargo build --release.
  16. Publish to crates.io: cargo release publish -x (on occasion this needs babysitting too).