From b8c741dfe954575f8d8ba8b1397083c96677bc98 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 13 Jan 2026 17:59:56 +0100 Subject: [PATCH] Document release process in full Adopted the complete workflow from the HCI Effects cargo publish documentation rather than referencing it, making the steps explicit and self-contained. --- doc/maintainers/release.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/doc/maintainers/release.md b/doc/maintainers/release.md index 1555ac0..2d04d96 100644 --- a/doc/maintainers/release.md +++ b/doc/maintainers/release.md @@ -1,22 +1,20 @@ # Release process This project uses simple tags, that trigger a release of all crates using Hercules CI. -See [HCI Effects cargo publish workflow]. +Based on the [HCI Effects cargo publish workflow]. -## Release branch +## Steps -Create a `release` branch and PR for release preparation. This allows CI to validate the release before tagging. - -## Before tagging - -- Update `CHANGELOG.md`: - - Make sure the Unreleased section is up to date - - Change it to the new version and release date - -## After tagging - -- Add a new Unreleased section to `CHANGELOG.md` -- Merge the release PR +1. Create a `release` branch +2. Decide the version bump (patch for fixes, minor for features, major for breaking changes) +3. Update `CHANGELOG.md`: make sure the Unreleased section is up to date, then change it to the new version and release date +4. Open a draft release PR and wait for CI to pass +5. Create and push a tag matching the version +6. Add a new Unreleased section to `CHANGELOG.md` +7. Bump version in all `Cargo.toml` files to the next patch version (e.g., `0.2.0` → `0.2.1`) + and run `cargo update --workspace` to update `Cargo.lock`, + so that `cargo publish --dry-run` passes on subsequent commits +8. Merge the release PR ---