- Make sure your local copy is up to date with respect to the upstream repository (GitHub).
- Run
cargo update
to upgrade crate dependencies. Study the changelog for each dependency that was upgraded, watching for any that seem risky. Then, commit the changes toCargo.lock
. - Update the version number in
ruby-structs/Cargo.toml
so that it matches the new rbspy version. - Update
Cargo.toml
with the new rbspy and ruby-structs versions, and then runcargo build
to ensureCargo.lock
is updated. Commit the changes. - Push the commits (or open a PR). If you open a PR, wait for it to be reviewed and merged before continuing.
- Wait for CI to finish and verify that all checks passed.
- Tag the new release, e.g.
git tag v0.3.11
, and push it:git push --tags
.- GitHub Actions workflows will build new binaries, create a new draft release, and attach the binaries.
- If the release build fails, delete the tag from GitHub. Fix the issue, and then create a new release tag and push it.
- Browse to the draft release and edit the generated release notes so that they highlight the key changes. Add links to the PRs or commits for those changes.
- Publish the release. GitHub Actions workflows will publish the new version to crates.io and Docker Hub.