diff options
author | Andrew Gallant <jamslam@gmail.com> | 2020-05-08 23:05:33 -0400 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2020-05-08 23:24:40 -0400 |
commit | fac47906e6a89aea254c8d323f016c11a8a5f904 (patch) | |
tree | 8da4d77c69f17b370284485ee097b468c85b2e25 /RELEASE-CHECKLIST.md | |
parent | e02bb6b99af117b3fb78e8e0b912fc9288e71a20 (diff) |
doc: add a release checklist
The steps are numerous, subtle and complex enough that it's worth
writing them down. In particular, getting the order correct is
important. (i.e., If we released to crates.io first and the GitHub
release infrastructure failed, then we'd be in a pickle.)
Diffstat (limited to 'RELEASE-CHECKLIST.md')
-rw-r--r-- | RELEASE-CHECKLIST.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/RELEASE-CHECKLIST.md b/RELEASE-CHECKLIST.md new file mode 100644 index 00000000..b24cbdad --- /dev/null +++ b/RELEASE-CHECKLIST.md @@ -0,0 +1,19 @@ +Release Checklist +----------------- +* Run `cargo update` and review dependency updates. Commit updated + `Cargo.lock`. +* 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. +* 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. +* 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. +* Copy the relevant section of the CHANGELOG to the tagged release notes. +* Run `ci/build-deb` locally and manually upload the deb package to the + release. +* Run `cargo publish`. +* Run `ci/sha256-releases >> pkg/brew/ripgrep-bin.rb`. Then edit + `pkg/brew/ripgrep-bin.rb` to update the version numbers and sha256 hashes. + Remove extraneous stuff added by `ci/sha256-releases`. Commit changes. |