From 1f5a692543df75b1dd416993074e8e8c5bff2fd6 Mon Sep 17 00:00:00 2001 From: DaniPopes <57450786+DaniPopes@users.noreply.github.com> Date: Wed, 26 Jun 2024 00:32:14 +0200 Subject: [PATCH] docs: add release checklist (#972) --- RELEASE_CHECKLIST.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 RELEASE_CHECKLIST.md diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md new file mode 100644 index 00000000000..c87a139fa76 --- /dev/null +++ b/RELEASE_CHECKLIST.md @@ -0,0 +1,26 @@ +# Release checklist + +This checklist is meant to be used as a guide for the `crates.io` release process. + +Releases are always made in lockstep, meaning that all crates in the repository +are released with the same version number, regardless of whether they have +changed or not. + +## Requirements + +- [cargo-release](https://github.com/crate-ci/cargo-release): `cargo install cargo-release` +- [git-cliff](https://github.com/orhun/git-cliff) (patched with [orhun/git-cliff#711](https://github.com/orhun/git-cliff/pull/711)): `cargo install --git https://github.com/DaniPopes/git-cliff.git --branch fix-include-paths git-cliff` + +## Steps + +- [ ] Make sure you're on the `main` branch. +- [ ] (optional) Dry run `cargo-release`: `cargo release ` +- [ ] Run `cargo-release`: `PUBLISH_GRACE_SLEEP=10 cargo release --rate-limit.existing-packages 50 [--no-verify]` + - Ignore these warnings: + - `warning: updating to despite no changes made since...` + - `git-cliff` warning `there is already a tag () for ...` + - [ ] If a failure happened: + - [ ] You should have an unpushed commit. After the issue is fixed, retry the release process with `--no-push` and squash the commits together. + - [ ] If some crates were published before the error, AFAICT you must manually `--exclude ` each already-published crate. + - [ ] Verify that the commit is correct, and push to the repository with `git push --tags`. +- [ ] Create a new GitHub release with the automatically generated changelog and with the name set to ` v`