Skip to content
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

Publish Zebra NU6 Mainnet release candidate: (v2.0.0-rc.0) #8679

Closed
17 tasks
mpguerra opened this issue Jul 15, 2024 · 6 comments · Fixed by #8924, #8918 or #8927
Closed
17 tasks

Publish Zebra NU6 Mainnet release candidate: (v2.0.0-rc.0) #8679

mpguerra opened this issue Jul 15, 2024 · 6 comments · Fixed by #8924, #8918 or #8927
Assignees
Labels
A-release Area: Zebra releases and release management C-trivial Category: A trivial change that is not worth mentioning in the CHANGELOG NU-6 Network Upgrade: NU6 specific tasks P-Medium ⚡ S-blocked Status: Blocked on other tasks
Milestone

Comments

@mpguerra
Copy link
Contributor

mpguerra commented Jul 15, 2024

  • This is a release candidate with the mainnet activation heights in the ECC dependencies but not in zebrad.
  • End support support should be up to before the NU6 activation height.

Prepare for the Release

These release steps can be done a week before the release, in separate PRs.
They can be skipped for urgent releases.

State Full Sync Test

To check consensus correctness, we want to test that the state format is valid after a full sync. (Format upgrades are tested in CI on each PR.)

State format changes can be made in zebra-state or zebra-chain. The state format can be changed by data that is sent to the state, data created within the state using zebra-chain, or serialization formats in zebra-state or zebra-chain.

After the test has been started, or if it has finished already:

  • Ask for a state code freeze in Slack. The freeze lasts until the release has been published.

Checkpoints

For performance and security, we want to update the Zebra checkpoints in every release.

Missed Dependency Updates

Sometimes dependabot misses some dependency updates, or we accidentally turned them off.

This step can be skipped if there is a large pending dependency upgrade. (For example, shared ECC crates.)

Here's how we make sure we got everything:

  • Run cargo update on the latest main branch, and keep the output
  • If needed, add duplicate dependency exceptions to deny.toml
  • If needed, remove resolved duplicate dependencies from deny.toml
  • Open a separate PR with the changes
  • Add the output of cargo update to that PR as a comment

Prepare and Publish the Release

Follow the steps in the release checklist to prepare the release:

Release PR:

  • Update Changelog
  • Update README
  • Update Zebra Versions
  • Update End of Support Height

Publish Release:

  • Create & Test GitHub Pre-Release
  • Publish GitHub Release
  • Publish Rust Crates
  • Publish Docker Images

Related work

#3948

@mpguerra mpguerra added NU-6 Network Upgrade: NU6 specific tasks C-trivial Category: A trivial change that is not worth mentioning in the CHANGELOG A-release Area: Zebra releases and release management P-Medium ⚡ labels Jul 15, 2024
@mpguerra mpguerra added this to the NU6 milestone Jul 15, 2024
@mpguerra mpguerra added the S-blocked Status: Blocked on other tasks label Sep 23, 2024
@mpguerra
Copy link
Contributor Author

Should this be a release candidate? @ZcashFoundation/zebra-team

@arya2
Copy link
Contributor

arya2 commented Sep 24, 2024

Should this be a release candidate? @ZcashFoundation/zebra-team

I think the Testnet release was effectively the release candidate and that we shouldn't define a Mainnet activation height for NU6 until the final stable release.

@arya2 arya2 changed the title Publish Zebra NU6 Mainnet release: (version) Publish Zebra NU6 Mainnet release: (v2.0.0) Sep 24, 2024
@mpguerra
Copy link
Contributor Author

See zcash/librustzcash#1548

@oxarbitrage oxarbitrage changed the title Publish Zebra NU6 Mainnet release: (v2.0.0) Publish Zebra NU6 Mainnet release candidate: (v2.0.0) Sep 30, 2024
@oxarbitrage oxarbitrage changed the title Publish Zebra NU6 Mainnet release candidate: (v2.0.0) Publish Zebra NU6 Mainnet release candidate: (v2.0.0-rc.0) Oct 10, 2024
@mergify mergify bot closed this as completed in #8924 Oct 10, 2024
@oxarbitrage
Copy link
Contributor

Not fully closed, we just merged the checkpoints in #8924

@oxarbitrage oxarbitrage reopened this Oct 10, 2024
@mergify mergify bot closed this as completed in #8918 Oct 10, 2024
@upbqdn upbqdn reopened this Oct 10, 2024
@mpguerra mpguerra linked a pull request Oct 14, 2024 that will close this issue
43 tasks
@mpguerra
Copy link
Contributor Author

We still need to publish to crates.io. Are we going to be able to do it for this release or should we skip publishing to crates.io?

@mpguerra
Copy link
Contributor Author

This is done, we've decided to skip publishing to crates.io until stable release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-release Area: Zebra releases and release management C-trivial Category: A trivial change that is not worth mentioning in the CHANGELOG NU-6 Network Upgrade: NU6 specific tasks P-Medium ⚡ S-blocked Status: Blocked on other tasks
Projects
Status: Done
4 participants