Skip to content

Release 2524 distribution #2488

@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 2524

Important

  • Rotate ancillary signer service account keys:
    • release-mainnet
  • Add origin tag for Catalyst:
    • pre-release-preview
    • release-preprod
    • release-mainnet
  • 🔥 Upgrade to Cardano node 10.4.1 (with upgrade procedure):
    • pre-release-preview
    • release-preprod
    • release-mainnet
  • Bug fixes Cardano DB
  • Unstable Cardano DB v2 with backends in client CLI
  • Unstable Cardano UTxO-HD ledger snasphot conversion in client CLI

Distribution +1:

Note

  • TBD
  • Rotate ancillary signer service account keys:
    • release-mainnet
  • Bump minor version of mithril-common
  • Stable Cardano DB v2 with backends
  • Update the Introducing the UTXO snapshot converter command in the Mithril client CLI dev blog post with deprecated --cardano-network parameter
  • Bump mithril-common minor (update constraint in Cargo.toml)
  • Upgrade to Cardano node 10..5.0:
    • pre-release-preview
    • release-preprod
    • release-mainnet

How

Phase 1: Prepare distribution

  • Prepare migration process for Cardano node to UTxO-HD
  • Run manual successful restoration of Cardano database + restart of the Cardano node:
    • Cardano DB v1
      • with ancillary
      • without ancillary
    • Cardano DB v2
      • with ancillary
      • without ancillary
  • Run a backward compatibility test in the CI on the unstable distribution
  • Run an all green client multi-platform test in the CI (with the 2524.0 built e2e test)
  • Prepare a PR to upgrade repository dependencies (with runbook)
  • Reset the CI caches just before merging the PR to upgrade repository dependencies
  • Merge the PR to upgrade repository dependencies
  • Check that all minor versions of all crates have been bumped for breaking change (if needed)
    • Bump mithril-stm to 0.4
  • 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
  • Create a draft PR for rotating the documentation
  • Create a PR for rotating the CHANGELOG.md (set the distribution version)
  • Merge the PR for rotating the CHANGELOG.md

Phase 2: Rollout pre-release distribution

  • Add origin tag for Catalyst on pre-release-preview
  • Update Cardano node version to 10.4.1 on pre-release-preview
  • Run Cardano node migration phase 1 on pre-release-preview
  • Tag and deploy a 2524.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
  • Run Cardano node migration phase 2 on pre-release-preview
  • Make sure pre-release-preview is working as expected
  • Make sure Grafana dashboards are fetching data for pre-release-preview
  • 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 (not working, but worked earlier wit the unstable release)
  • 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
    • #mithril-catalyst slack channel for pre-release
    • #mithril-acropolis slack channel for pre-release
    • Cardano Foundation IBC bridge team
  • Wait for at least 2 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 2524.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
  • Add origin tag for Catalyst on release-mainnet
  • Add origin tag for Catalyst on release-preprod
  • Update Cardano node version to 10.4.1 on release-mainnet
  • Update Cardano node version to 10.4.1 on release-preprod
  • Create a new key for the ancillary signer service account of release-mainnet
  • Configure release-mainnet environment with new service account credentials
  • Run Cardano node migration phase 1 on release-mainnet
  • Run Cardano node migration phase 1 on release-preprod
  • Release the 2524.0
  • Run Cardano node migration phase 2 on release-mainnet
  • Run Cardano node migration phase 2 on release-preprod
  • Make sure release-mainnet is working as expected
  • 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
  • Make sure Grafana dashboards are fetching data for release-mainnet
  • Make sure Grafana dashboards are fetching data for release-preprod
  • Destroy the previous key for the ancillary signer service account of release-mainnet
  • Check that KMS credentials are working with the creation of the next Cardano database snapshot
  • Merge the PR for rotating the documentation
  • Merge a PR for rotating the CHANGELOG.md:
    • Updating the release date of the distribution
    • Updating the crate versions table
  • 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
    • #mithril-catalyst slack channel for release
    • #mithril-acropolis slack channel for release
    • Cardano Foundation IBC bridge team
  • Update Hydra tutorial if client breaking change for database restoration
  • Check if versions of repository linked crates can be bumped after publication to crates.io(mithril-common, mithril-client)
  • Dev blog post:
    • Distribution 2524
    • New UTxO-HD snapshot converter command in client CLI
    • Transition to backend system for cardano-db command in client CLI

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions