From fcd36a21b13ee36f0585ce5c6efae0213b7135fc Mon Sep 17 00:00:00 2001 From: Ashley Williams Date: Fri, 12 Apr 2019 16:21:22 -0500 Subject: [PATCH] doc(release): add release checklist --- RELEASE_CHECKLIST.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 RELEASE_CHECKLIST.md diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md new file mode 100644 index 000000000..c60cc0ebd --- /dev/null +++ b/RELEASE_CHECKLIST.md @@ -0,0 +1,34 @@ +# Release Checklist + +This is a list of the things that need to happen during a release. + +1. Open the associated milestone. All issues and PRs should be closed. If + they are not you should reassign all open issues and PRs to future + milestones. +1. Go through the commit history since last release. Ensure that all PRs + that have landed are marked with the milestone. +1. Go through the closed PRs in the milestone. Each should have a changelog + label indicating if the change is docs, fix, feature, or maintenance. If + there is a missing label, please add one. +1. Choose an emoji for the release. Try to make it some sort of transition + from the previous releases emoji (point releases can be a little weirder). +1. Create a new branch "#.#.#" where "#.#.#" is the release's version. +1. Add this release to the `CHANGELOG.md`. Use the structure of previous + entires. +1. Update the version in `Cargo.toml`. +1. Update the version number and date in `docs/index.html`. +1. Run `cargo update`. +1. Run `cargo build`. +1. Push up a commit with the `Cargo.toml`, `Cargo.lock`, `docs/index.html`, + and `CHANGELOG.md` changes. The commit message can just be "#.#.#". +1. Request review from `@ashleygwilliams` and `@drager`. +1. `git commit --amend` all changes into the single commit. +1. Once ready to merge, tag the commit with the tag `v#.#.#`. +1. Wait for the CI to go green. +1. The CI will build the release binaries. Take the `CHANGELOG.md` release + entry and cut and paste it into the release body. +1. Be sure to add any missing link definitions to the release. +1. Hit the big green Merge button. +1. `git checkout master` and `git pull --rebase origin master` +1. `cargo publish` +1. Tweet.