doc(release): Update release template for Docker releases (#5193)
* Explain how to use the release template I always have to look this up every time. Also delete a long description of semantic versioning. * Delete extra info that is already in the template elsewhere * Explain how `Cargo.lock` gets updated * Use a branch name that Google Cloud will accept * Update release instructions for Docker binaries * Add extra release testing steps Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
This commit is contained in:
parent
84d79ecda6
commit
99bdc8d14c
|
@ -28,6 +28,21 @@ Once you know which crates have changed:
|
|||
- [ ] Increment the crates that have new commits since the last version update
|
||||
- [ ] Increment any crates that depend on crates that have changed
|
||||
- [ ] Keep a list of the crates that haven't been incremented, to include in the PR
|
||||
|
||||
### How to Increment Versions
|
||||
|
||||
Zebra follows [semantic versioning](https://semver.org).
|
||||
|
||||
Semantic versions look like: MAJOR`.`MINOR`.`PATCH[`-`TAG`.`PRE-RELEASE]
|
||||
|
||||
### Reviewing Version Bumps
|
||||
|
||||
Check for missed changes by going to:
|
||||
`https://github.com/ZcashFoundation/zebra/tree/<commit-hash>/`
|
||||
Where `<commit-hash>` is the hash of the last commit in the version bump PR.
|
||||
|
||||
If any Zebra or Tower crates have commit messages that are **not** a version bump, we have missed an update.
|
||||
Also check for crates that depend on crates that have changed. They should get a version bump as well.
|
||||
|
||||
### Version Locations
|
||||
|
||||
|
@ -37,7 +52,7 @@ Once you know which versions you want to increment, you can find them in the:
|
|||
- [ ] `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`
|
||||
- [ ] `Cargo.lock`: run `cargo build` after updating all the `Cargo.toml`s
|
||||
|
||||
#### Version Tooling
|
||||
|
||||
|
@ -103,9 +118,9 @@ After you have the version increments, the updated checkpoints and the updated c
|
|||
|
||||
- [ ] Make sure the PR with the new checkpoint hashes is already merged.
|
||||
- [ ] Push the version increments and the updated changelog into a branch
|
||||
(name suggestion, example: `v1.0.0-alpha.0-release`)
|
||||
(name suggestion, example: `v100-alpha0-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)).
|
||||
comparing url ([Example](https://github.com/ZcashFoundation/zebra/compare/v100-alpha0-release?expand=1&template=release-checklist.md)).
|
||||
- [ ] Add the list of deleted changelog entries as a comment to make reviewing easier.
|
||||
- [ ] Also add the list of not-bumped crates as a comment (can use the same comment as the previous one).
|
||||
- [ ] Turn on [Merge Freeze](https://www.mergefreeze.com/installations/3676/branches).
|
||||
|
@ -126,13 +141,18 @@ After you have the version increments, the updated checkpoints and the updated c
|
|||
changelog you created; starting just _after_ the title `## [Zebra ...` of
|
||||
the current version being released, and ending just _before_ the title of
|
||||
the previous release.
|
||||
- [ ] Mark the release as 'pre-release' (until we are no longer alpha/beta)
|
||||
- [ ] Publish the release
|
||||
- [ ] Mark the release as 'pre-release', until it has been built and tested
|
||||
- [ ] Publish the pre-release to GitHub using "Publish Release"
|
||||
|
||||
## Final Testing
|
||||
## Build and Binary Testing
|
||||
|
||||
- [ ] After tagging the release, test that the exact `cargo install` command in `README.md` works
|
||||
(`--git` behaves a bit differently to `--path`)
|
||||
- [ ] Test that the newly built Zebra starts correctly, by running `~/.cargo/bin/zebrad`
|
||||
- [ ] Wait until the [Docker binaries have been built on `main`](https://github.com/ZcashFoundation/zebra/actions/workflows/continous-integration-docker.yml), and the quick tests have passed.
|
||||
(You can ignore the full sync and `lightwalletd` tests, because they take about a day to run.)
|
||||
- [ ] Publish the release to GitHub by disabling 'pre-release', then clicking "Publish Release"
|
||||
- [ ] Wait until [the Docker images have been published](https://github.com/ZcashFoundation/zebra/actions/workflows/release-binaries.yml)
|
||||
- [ ] Turn off [Merge Freeze](https://www.mergefreeze.com/installations/3676/branches) for the whole repository
|
||||
|
||||
If the build fails after tagging:
|
||||
|
|
Loading…
Reference in New Issue