Skip to content

Release 2543 distribution #2727

@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 #2625.

What

Create and release a new distribution 2543

Important

Distribution +1:

Note

  • Rotate ancillary signer service account keys inrelease-mainnet
  • Upgrade to Cardano node 10.6.X:?
    • pre-release-preview
    • release-preprod
    • release-mainnet
  • TBD

How

Phase 1: Prepare distribution

  • Refresh NPM token for publication
  • 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 (with the latest built e2e test)
  • Run an all green aggregator stress test in the CI
  • Run an all green client multi-platform test in the CI
  • 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 AGGREGATOR_AGGREGATE_SIGNATURE_TYPE to Concatenation in GitHub environment variables for pre-release-preview
  • Tag and deploy a 2543.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
  • 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 2543.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 AGGREGATOR_AGGREGATE_SIGNATURE_TYPE to Concatenation in GitHub environment variables for release-mainnet
  • Add AGGREGATOR_AGGREGATE_SIGNATURE_TYPE to Concatenation in GitHub environment variables for release-preprod
  • Create a new key for the ancillary signer service account of release-mainnet
  • Configure release-mainnet environment with new service account credentials
  • Release the 2543.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
  • 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 2543
    • Update the Switching to Cardano database incremental certification dev blog post

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions