Skip to content

Release 2445 distribution #2030

Closed
Closed
@jpraynaud

Description

@jpraynaud

Why

In order to deploy new features, improvements and bug fixes, we need to release a new distribution.

What

Create and release a new distribution 2445

Important

Distribution +1:

Note

  • 🔥 recompute certificate chain
    • in pre-release-preview
    • in release-preprod
    • in release-mainnet
  • Activate Cardano stake distribution certification:
    • in release-mainnet

How

Phase 1: Prepare distribution

  • Run a backward compatibility test in the CI
  • Upgrade repository dependencies (with runbook)
  • Check that all minor versions of all crates have been bumped for breaking change (if needed)
  • Check if versions of repository linked crates are correct for publication to crates.io(mithril-common, mithril-client)
  • Check if Cardano minimum supported versions in networks.json must be updated following the runbook
  • Merge a PR for rotating the CHANGELOG.md (set the distribution version)
  • Create a draft PR for rotating the documentation
  • Warmup Cardano node 10.1.2 on pre-release-preview
  • Warmup Cardano node 10.1.2 on release-preprod
  • Warmup Cardano node 10.1.2 on release-mainnet

Phase 2: Rollout pre-release distribution

  • Update the configuration of pre-release-preview:
    • Upgrade the Cardano node version to 10.1.2 in pre-release-preview
  • Tag and deploy a 2445.0-pre pre-release distribution on the pre-release-preview network
  • Fill highlights, distributions compatibility and release notes sections in the pre-release page on GitHub
  • Switch Cardano database with warmed-up node in pre-release-preview
  • Make sure pre-release-preview is working as expected
  • Make sure libraries version next have been published on npm registry
  • Run an all green client multi-platform test in the CI
  • Run an all green aggregator stress test in the CI
  • Run a Cardano transaction prover benchmark:
    • Store results in the issue
    • Make sure that there is no performance drop since last release
  • Announce the pre-release on discord channel
  • Announce any breaking change in:
    • #cardano-scaling slack channel for pre-release
    • #mithril-lace slack channel for pre-release
    • #blockfrost-scaling slack channel for pre-release
  • Wait for at least 3 signers running the new version (could be more if era change is tested) over at least 2 epochs

Phase 3: Rollout release distribution

  • Tag and deploy a 2445.0 release distribution on the pre-release-preview network
  • Fill highlights, distributions compatibility and release notes sections in the release page on GitHub
  • Make sure pre-release-preview is working as expected
  • Update networks compatibility table in release notes
  • Update the configuration of release-preprod:
    • Upgrade the Cardano node version to 10.1.2 in release-preprod
  • Update the configuration of release-mainnet:
    • Upgrade the Cardano node version to 10.1.2 in release-mainnet
  • Release the 2445.0 distribution
  • Switch Cardano database with warmed-up node in release-mainnet
  • Make sure release-mainnet is working as expected
  • Switch Cardano database with warmed-up node in release-preprod
  • Make sure release-preprod is working as expected
  • Make sure libraries have been published on crates.io
  • Make sure libraries version latest have been published on npm registry
  • Merge the PR for rotating the documentation
  • Merge a PR for rotating the CHANGELOG.md (updating the release date of the distribution)
  • Announce the release on discord channel (with breaking-change, upcoming features activation, ...)
  • Announce any breaking/new feature change in:
    • #cardano-scaling slack channel for release
    • #mithril-lace slack channel for release
    • #blockfrost-scaling slack channel for release
  • Dev blog post:
    • Dev blog post about aggregator Prometheus endpoint and Grafana dashboard

Phase 4: Activate features

  • Cardano stake distribution:
    • When signer release >= 0.2.182 (2437.1) is run by > 95% of the stake (within 2 weeks, or abort),
    • Activate the certification of Cardano stake distribution in release-mainnet
    • Restart the release-mainnet deployment in the CI
    • Make sure release-mainnet is working as expected
    • Announce the release on discord channel
    • Dev blog post: Activation of Cardano stake distribution in release-mainnet

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions