-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release: bump versions and create changelog entry for v1.0.0-beta.10
#4430
Conversation
Creates bumped:
Changelog entries: All entries in the draft changelog are included in the pushed |
Codecov Report
@@ Coverage Diff @@
## main #4430 +/- ##
==========================================
- Coverage 78.80% 78.69% -0.12%
==========================================
Files 296 304 +8
Lines 33822 37226 +3404
==========================================
+ Hits 26655 29296 +2641
- Misses 7167 7930 +763 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit, otherwise looks good.
Co-authored-by: Marek <mail@marek.onl>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small thing to fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Waiting for @dconnolly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 L G T M 🎉
🦓 🦓 🦓 🦓 🦓
v1.0.0-beta.10
v1.0.0-beta.10
name: Release Checklist Template
about: Checklist of versioning to create a taggable commit for Zebra
title: ''
labels:
assignees: ''
Versioning
Which Crates to Increment
To check if any of the top-level crates need version increments, go to the zebra GitHub code page: https://github.com/ZcashFoundation/zebra and use the last modified dates of each crate. Alternatively you can use the github compare tool and check the
main
branch against the last tag (Example).git diff --stat <previous-release-tag> origin/main
is also useful to see what's changed.How to Increment Versions
Zebra follows semantic versioning.
Semantic versions look like:
MAJOR
.MINOR
.PATCH[
-TAG
.PRE-RELEASE]
Pre-Release Crates
Pre-Release versions have a
TAG
like "alpha" or "beta". For example:1.0.0-alpha.0
PRE-RELEASE
version for the crate.Unstable Crates
Unstable versions have a
MAJOR
version of zero. For example:0.1.0
MINOR
version for breaking changesStable Crates
For example:
1.0.0
Increment the first version component in this list, and reset the other components to zero:
Version Locations
Once you know which versions you want to increment, you can find them in the:
Cargo.toml
sCargo.toml
szebra-network
protocol user agent: https://github.com/ZcashFoundation/zebra/blob/main/zebra-network/src/constants.rsREADME.md
book/src/user/install.md
Cargo.lock
: automatically generated bycargo build
Version Tooling
You can use
fastmod
to interactively find and replace versions.For example, you can do something like:
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.
README
As we resolve various outstanding known issues and implement new functionality with each release, we should double check the README for any necessary updates.
We should check and update if necessary:
to ensure that any items that are resolved in the latest release are no longer listed in the README.
Change Log
Important: Any merge into
main
deletes any edits to the draft changelog. Once you are ready to tag a release, copy the draft changelog intoCHANGELOG.md
.We follow the Keep a Changelog format.
We use the Release Drafter workflow to automatically create a draft changelog.
To create the final change log:
CHANGELOG.md
Change Categories
From "Keep a Changelog":
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.Create the Release
Create the Release PR
After you have the version increments and the updated changelog:
(name suggestion, example:
v1.0.0-alpha.0-release
)&template=release-checklist.md
to thecomparing url (Example).
- [ ] 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).
Create the Release
using the draft release as a base, by clicking the Edit icon
in the draft release.
Zebra
followed by the version tag, for example:Zebra 1.0.0-alpha.0
(starting just after the title
## [Zebra ...
)v1.0.0-alpha.0
main
branchFinal Testing
cargo install
command inREADME.md
works (--git
behaves a bit differently to--path
)If the build fails after tagging:
README.md
with a new git tagCHANGELOG.md
with details about the fix