Skip to content

Commit

Permalink
doc: add a release checklist
Browse files Browse the repository at this point in the history
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.)
  • Loading branch information
BurntSushi committed May 9, 2020
1 parent e02bb6b commit fac4790
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions RELEASE-CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit fac4790

Please sign in to comment.