summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2020-05-09 10:59:22 -0400
committerAndrew Gallant <jamslam@gmail.com>2020-05-09 11:12:51 -0400
commit4b8e1f030e96d720f1c53310ba49a21a877e3b79 (patch)
tree3f73b4a6f686a8473209c50d9428968476bc5d7b
parent72807462e8cdecc54c224a202baca5462f44b983 (diff)
doc: add more detail to release checklist
Getting the crate order right is important, so document it.
-rw-r--r--RELEASE-CHECKLIST.md18
1 files changed, 16 insertions, 2 deletions
diff --git a/RELEASE-CHECKLIST.md b/RELEASE-CHECKLIST.md
index 863a8f96..2386b87a 100644
--- a/RELEASE-CHECKLIST.md
+++ b/RELEASE-CHECKLIST.md
@@ -5,10 +5,24 @@ Release Checklist
* Run `cargo outdated` and review semver incompatible updates. Unless there is
a strong motivation otherwise, review and update every dependency.
* Review changes for every crate in `crates` since the last ripgrep release.
- If the set of changes is non-empty, issue a new release for that crate.
+ If the set of changes is non-empty, issue a new release for that crate. Check
+ crates in the following order. After updating a crate, ensure minimal
+ versions are updated as appropriate in dependents. If an update is required,
+ run `cargo-up --no-push crates/{CRATE}/Cargo.toml`.
+ * crates/globset
+ * crates/ignore
+ * crates/cli
+ * crates/matcher
+ * crates/regex
+ * crates/pcre2
+ * crates/searcher
+ * crates/printer
+ * crates/grep (bump minimal versions as necessary)
+ * crates/core (do **not** bump version, but update dependencies as needed)
* Edit the `Cargo.toml` to set the new ripgrep version. Run
`cargo update -p ripgrep` so that the `Cargo.lock` is updated. Commit the
- changes.
+ changes. Alternatively, use
+ `cargo-up --no-push --no-release Cargo.toml {VERSION}`.
* Create a new signed tag for the ripgrep release. Push it to GitHub.
* Wait for CI to finish creating the release. If the release build fails, then
delete the tag from GitHub, make fixes, re-tag, delete the release and push.