diff --git a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md index a9e509fc..25b25df0 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md +++ b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md @@ -18,6 +18,7 @@ To check if any of the top-level crates need version increments, go to the zebra - [ ] Use the `zebrad` crate version in the `zebra-network` user agent string (currently the constant `USER_AGENT` in `zebra-network/src/constants.rs`) - [ ] Use the latest git tag in `README.md` +- [ ] Use the latest git tag in `book/src/user/install.md` ### How to Increment Versions @@ -59,12 +60,9 @@ Once you know which versions you want to increment, you can find them in the: - [ ] tower-* `Cargo.toml`s - [ ] `zebra-network` protocol user agent: https://github.com/ZcashFoundation/zebra/blob/main/zebra-network/src/constants.rs - [ ] `README.md` +- [ ] `book/src/user/install.md` - [ ] `Cargo.lock`: automatically generated by `cargo build` -Merge all these version increments as one commit, by squashing and rebasing the PR onto the main branch. - -After you have your changes pushed start a PR with them using this template by adding `&template=release-checklist.md` to the comparing url ([Example](https://github.com/ZcashFoundation/zebra/compare/v1.0.0-alpha.16?expand=1&template=release-checklist.md)). - #### Version Tooling You can use `fastmod` to interactively find and replace versions. @@ -76,7 +74,7 @@ fastmod --extensions rs,toml,md --fixed-strings '0.2.9' '0.2.10' tower-batch fastmod --extensions rs,toml,md --fixed-strings '0.2.8' '0.2.9' tower-fallback ``` -### Reviewing Version Bump Pull Requests +### Reviewing Version Bumps Check for missed changes by going to: `https://github.com/ZcashFoundation/zebra/tree//` @@ -117,7 +115,6 @@ To create the final change log: - [ ] Edit change descriptions so they are consistent, and make sense to non-developers - [ ] Check the category for each change - prefer the "Fix" category if you're not sure -- [ ] Create a draft PR to update `CHANGELOG.md` #### Change Categories @@ -129,14 +126,27 @@ From "Keep a Changelog": * `Fixed` for any bug fixes. * `Security` in case of vulnerabilities. -## After merging the version update PR -- [ ] Check for any PRs that have been merged since you created the draft PR to update `CHANGELOG.md` and push any updates if necessary -- [ ] Mark the PR to update `CHANGELOG.md` as "Ready for Review" -- [ ] Once the changelog PR has been approved and merged, update the draft release with the final changelog -- [ ] Set the release title to `Zebra ` followed by the version tag, for example: `Zebra 1.0.0-alpha.0` +## Create the release PR + +After you have the version increments and the updated changelog, + +- [ ] Push the version increments and the updated changelog into a branch + (name suggestion, example: `v1.0.0-alpha.0-release`) +- [ ] Create a release PR by adding `&template=release-checklist.md` to the + comparing url ([Example](https://github.com/ZcashFoundation/zebra/compare/v1.0.0-alpha.0-release?expand=1&template=release-checklist.md)). +- [ ] While the PR is being reviewed, keep track of any PRs that have been merged + since you created the PR to update `CHANGELOG.md` and push any updates if necessary +- [ ] Once the release PR has been approved and merged, create a new release + using the draft release as a base, by clicking the Edit icon + in the [draft release](https://github.com/ZcashFoundation/zebra/releases). +- [ ] Set the release title to `Zebra ` followed by the version tag, for example: + `Zebra 1.0.0-alpha.0` +- [ ] Copy the final changelog of this release to the release description + (starting just _after_ the title `## [Zebra ...`) - [ ] Set the tag name to the version tag, for example: `v1.0.0-alpha.0` - [ ] Set the release to target the `main` branch - [ ] Mark the release as 'pre-release' (until we are no longer alpha/beta) +- [ ] Publish the release ## Final Testing