summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Peter <mail@david-peter.de>2021-08-21 22:55:55 +0200
committerDavid Peter <sharkdp@users.noreply.github.com>2021-08-22 09:38:35 +0200
commit05e4e1f2f2c62bcdf6f9a483cb18d61eb5f5044b (patch)
treedbc3dfa56d71d3017a0840418e5e6d104ffc01b7
parent20223ad77c4037cedf1da85efcd2b04d87469bcc (diff)
Add refined version of release checklist
-rw-r--r--doc/release-checklist.md85
1 files changed, 59 insertions, 26 deletions
diff --git a/doc/release-checklist.md b/doc/release-checklist.md
index 6d27ab96..2194e64d 100644
--- a/doc/release-checklist.md
+++ b/doc/release-checklist.md
@@ -1,27 +1,60 @@
-Release checklist:
-
-- [ ] Check for outdated dependencies (`cargo outdated`)
-- [ ] Optional: update dependencies with `cargo update`.
- See also https://deps.rs/repo/github/sharkdp/bat
-- [ ] Update syntaxes and themes (`cargo install -f --path .; assets/create.sh`).
-- [ ] Update README (features, usage, languages, ..).
-- [ ] Update man page
-
-
-- [ ] Update version in `Cargo.toml`. Run `cargo build` to update `Cargo.lock`
-- [ ] Update version in README and possibly update minimum Rust version
-- [ ] Run `cargo fmt`
-- [ ] Run `cargo test`
-- [ ] Run `cargo install --path . -f`
-- [ ] Test new features & command-line options
-- [ ] Check `-h` and `--help` texts
-
-
-- [ ] `cargo publish --dry-run --allow-dirty`.
-- [ ] write GitHub release notes
-- [ ] check if CI succeeds
-- [ ] `git tag vX.Y.Z; git push --tags`
-- [ ] check binaries (that were uploaded via Travis/AppVeyor)
-- [ ] publish to crates.io by cloning a fresh repo and calling `cargo publish`.
-- [ ] Inform package maintainers about the update:
+# Release checklist
+
+## Dependencies
+
+See this page for a good overview: https://deps.rs/repo/github/sharkdp/bat
+
+- [ ] Optional: update dependencies with `cargo update`. This is also done
+ by dependabot, so it is not strictly necessary.
+- [ ] Check for outdated dependencies (`cargo outdated`) and decide for each
+ of them whether we want to (manually) upgrade. This will require changes
+ to `Cargo.toml`.
+
+## Version bump
+
+- [ ] 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 version and the min. supported Rust version in `README.md` and
+ `doc/README-*.md`.
+- [ ] Update `CHANGELOG.md`. Introduce a section for the new release and prepare
+ a new (empty) "unreleased" section at the top.
+
+## Update syntaxes and themes (build assets)
+
+- [ ] Install the latest master version (`cargo install -f --path .`) and make
+ sure that it is available on the `PATH` (`bat --version` should show the
+ new version).
+- [ ] Run `assets/create.sh` and check in the binary asset files.
+
+## Documentation
+
+- [ ] Review the `-h` and `--help` texts
+- [ ] Review the `man` page
+
+## Pre-release checks
+
+- [ ] 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. To do this,
+ install the latest `bat` version again (to include the new syntaxes/themes).
+- [ ] Run `cargo publish --dry-run --allow-dirty` to make sure that it will succeed
+ later (after creating the GitHub release).
+
+## Release
+
+- [ ] Create a tag and push it to the remote `git tag vX.Y.Z; git push --tags`.
+ This will trigger the deployment via GitHub Actions.
+- [ ] Create a new release on GitHub: https://github.com/sharkdp/bat/releases/new
+ Select the new tag and also use it as the release title. Copy the
+ corresponding section from `CHANGELOG.md` and possibly add 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 cloning *a fresh repository* and calling `cargo publish`.
+
+## Post release
+
+- [ ] Optional: inform package maintainers about the update:
- https://www.archlinux.org/packages/community/x86_64/bat/