Skip to content

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

Closed

Description

  • 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

A-releaseArea: Zebra releases and release managementC-trivialCategory: A trivial change that is not worth mentioning in the CHANGELOGNU-6Network Upgrade: NU6 specific tasksP-Medium ⚡S-blockedStatus: Blocked on other tasks

Type

No type

Projects

  • Status

    Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions