- Make sure your local copy is up to date with respect to the upstream repository (GitHub).
- Run
cargo updateto 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.tomlso that it matches the new rbspy version. - Update
Cargo.tomlwith the new rbspy and ruby-structs versions, and then runcargo buildto ensureCargo.lockis 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.