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.