Skip to content

Release 2537 distribution #2625

@jpraynaud

Description

@jpraynaud

Why

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

Note

The previous distribution has been created with #2488.

What

Create and release a new distribution 2537

Important

Distribution +1:

Note

How

Phase 1: Prepare distribution

  • 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 aggregator stress test in the CI
  • Run an all green client multi-platform test in the CI (with the 2537.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-common to 0.6
    • Bump mithril-stm to 0.5
  • 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 CardanoImmutableFilesFull signed entity type on pre-release-preview
  • Update Cardano node version to 10.5.1 on pre-release-preview
  • Tag and deploy a 2537.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
  • 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 a Cardano transaction prover benchmark:
    • Store results in the issue
    • Make sure that there is no performance drop since last release
  • Run manual successful restoration of Cardano database + restart of the Cardano node:
    • Cardano DB v1 - with ancillary
    • Cardano DB v2 - with ancillary
  • 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 2537.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 CardanoImmutableFilesFull signed entity type on release-mainnet
  • Add CardanoImmutableFilesFull signed entity type on release-preprod
  • Update Cardano node version to 10.5.1 on release-mainnet
  • Update Cardano node version to 10.5.1 on release-preprod
  • Create CRATES_IO_API_TOKEN_MITHRIL_CARDANO_NODE_INTERNAL_DATABASE in settings
  • Create a new key for the ancillary signer service account of release-mainnet
  • Configure release-mainnet environment with new service account credentials
  • Release the 2537.0
  • 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
  • Invite IOHK as owner on the new crate mithril-cardano-node-internal-database
  • 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
  • Dev blog post:
    • Distribution 2537
    • Add dev blog post for ARM binaries support
    • Update the Switching to Cardano database incremental certification dev blog post
    • Update the Introducing the UTXO snapshot converter command in the Mithril client CLI dev blog post:
      • Without deprecated --cardano-network parameter
      • Without unstable mention

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions