From 4a054ae8023bd996a2abf66ab67fb1e90b5d0a4c Mon Sep 17 00:00:00 2001 From: pep Date: Sat, 1 Nov 2025 18:37:26 +0100 Subject: [PATCH] CONTRIBUTING.md: Making a release skip-changelog. Signed-off-by: pep --- CONTRIBUTING.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 030a6e0d019603bc64acabbd5fba7404159134b9..9f63ca42f075e869b411a00422442e7e2655716b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,3 +56,30 @@ of each of your commits. More thorough tests can be done locally with `act` or `forgejo-runner exec`, which is also what is run in the CI. We require docker to be setup for this to work. + +# Making a release + +We are using the [semver](https://semver.org/) versioning system. + +For each crate you are releasing: +- Ensure there aren't urgent changes in the buffer waiting to be released too. + Even though increasing a number is cheap, the process to get there isn't + doing itself +- Have a run of cargo clippy if it hasn't been done (TODO: Add to CI) +- Ensure tests, docstrings and examples pass (TODO: Add `--all-features` to + CI.) +- Ensure dependencies are up-to-date. +- Update the `version` attribute in the `Cargo.toml` file. +- Update the ChangeLog file with the version number, the release date etc. +- Rework the ChangeLog if necessary. Add missing entries, merge duplicates, + unify wording, make sure everything is where it should be, add meta + information such as merge requests, etc. +- Send all of this as a merge request. +- If the change is significant enough, prepare a blog article about it. + +## For the person with commit access + +- `git tag -s` releases +- `cargo publish` +- Publish blog article +- Promote on social media