-
-
Notifications
You must be signed in to change notification settings - Fork 846
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add release checklist for maintainers
- Loading branch information
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
||
``` |