diff options
author | David Peter <mail@david-peter.de> | 2022-09-27 21:36:12 +0200 |
---|---|---|
committer | David Peter <sharkdp@users.noreply.github.com> | 2022-10-13 22:52:09 +0200 |
commit | 425703420929d0bbe83b592abe4e2d2e20885132 (patch) | |
tree | 277caae4a0e7e50bfb3a35f6a1bbb09373812aa7 | |
parent | 0984ed91eacb0823d192a22e37e1f1b427c189c4 (diff) |
Add release checklist for maintainers
-rw-r--r-- | doc/release-checklist.md | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/doc/release-checklist.md b/doc/release-checklist.md new file mode 100644 index 0000000..9983304 --- /dev/null +++ b/doc/release-checklist.md @@ -0,0 +1,63 @@ +# Release checklist + +This file can be used as-is, or copied into the GitHub PR description which includes +necessary changes for the upcoming release. + +## Version bump + +- [ ] Create a new branch for the required changes for this release. +- [ ] Update version in `Cargo.toml`. Run `cargo build` to update `Cargo.lock`. + Make sure to `git add` the `Cargo.lock` changes as well. +- [ ] Find the current min. supported Rust version by running + `grep '^\s*MIN_SUPPORTED_RUST_VERSION' .github/workflows/CICD.yml`. +- [ ] Update the `fd` version and the min. supported Rust version in `README.md`. +- [ ] Update `CHANGELOG.md`. Change the heading of the *"Upcoming release"* section + to the version of this release. + +## Pre-release checks and updates + +- [ ] Install the latest version (`cargo install --locked -f --path .`) and make + sure that it is available on the `PATH` (`fd --version` should show the + new version). +- [ ] Review `-h`, `--help`, and the `man` page. +- [ ] Run `fd -h` and copy the output to the *"Command-line options"* section in + the README +- [ ] Push all changes and wait for CI to succeed (before continuing with the + next section). +- [ ] Optional: manually test the new features and command-line options described + in the `CHANGELOG.md`. +- [ ] Run `cargo publish --dry-run` to make sure that it will succeed later + (after creating the GitHub release). + +## Release + +- [ ] Create a tag and push it: `git tag vX.Y.Z; git push origin tag vX.Y.Z`. + This will trigger the deployment via GitHub Actions. + REMINDER: If your `origin` is a fork, don't forget to push to e.g. `upstream` + instead. +- [ ] Go to https://github.com/sharkdp/fd/releases/new to create the new + release. Select the new tag and also use it as the release title. For the + release notes, copy the corresponding section from `CHANGELOG.md` and + possibly add additional remarks for package maintainers. + Publish the release. +- [ ] Check if the binary deployment works (archives and Debian packages should + appear when the CI run *for the Git tag* has finished). +- [ ] Publish to crates.io by running `cargo publish` in a *clean* repository. + One way to do this is to clone a fresh copy. + +## Post-release + +- [ ] Prepare a new *"Upcoming release"* section at the top of `CHANGELOG.md`. + Put this at the top: + ``` + # Upcoming release + + ## Features + + ## Bugfixes + + ## Changes + + ## Other + + ``` |