Skip to content

Release 2628 distribution #3271

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 #2967.

What

Create and release a new distribution 2628

Important

  • Delete all legacy crates publication tokens in the GitHub settings
  • Rotate ancillary signer service account keys inrelease-mainnet
  • Remove deprecated features of mithril-client
  • Clean infra upgrade branches if any
  • Next phase of 'Switching to Cardano database incremental certification'
  • Activate DMQ network in Release GitHub workflow
  • Add DMQ compatibility matrix in GitHub release notes
  • Add DMQ node Docker registry to ghcr.io/intersectmbo/dmq-node (DMQ_NODE_DOCKER_REGISTRY):
    • release-preprod
    • release-mainnet
  • Update DMQ node version to 0.7.0.0 (DMQ_NODE_VERSION):
    • pre-release-preview
    • release-preprod
    • release-mainnet
  • Remove CardanoImmutableFilesFull from AGGREGATOR_SIGNED_ENTITY_TYPES in:
    • pre-release-preview
    • release-preprod
    • release-mainnet
  • Activate CardanoBlocksTransactions signed entity type:
    • pre-release-preview
    • pre-release-2-preview
    • release-preprod
  • TBD

Distribution +1:

Note

  • Delete all legacy crates publication tokens in the GitHub settings
  • Rotate ancillary signer service account keys inrelease-mainnet
  • Remove deprecated features of mithril-client
  • Clean infra upgrade branches if any
  • Next phase of 'Switching to Cardano database incremental certification'
  • Upgrade to Cardano node 11.1.X?
    • pre-release-preview
    • release-preprod
    • release-mainnet
  • Activate CardanoBlocksTransactions signed entity type?:
    • release-mainnet
  • Create a dev blog post explaining the transition to dual genesis
  • TBD

How

Phase 1: Prepare distribution

  • Add DMQ compatibility matrix in GitHub release notes
  • Refresh NPM token for publication
  • Run manual successful restoration of Cardano database + restart of the Cardano node (with ancillary)
  • Run a backward compatibility test in the CI on the unstable distribution (with the unstable 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 if Cardano minimum supported versions in networks.json must be updated following the runbook
  • Create a draft PR for rotating the documentation
  • Create a draft PR for updating networks.json file
  • Create a PR for rotating the CHANGELOG.md (set the distribution version)
  • Update the PR for rotating the CHANGELOG.md (if needed)
  • Merge the PR for rotating the CHANGELOG.md
  • Prepare announcements and highlights
  • Prepare dev blog posts

Phase 2: Rollout pre-release distribution

  • Remove CardanoImmutableFilesFull from AGGREGATOR_SIGNED_ENTITY_TYPES in:
    • pre-release-preview
  • Activate CardanoBlocksTransactions signed entity type:
    • pre-release-preview
  • Update DMQ node version to 0.7.0.0 (DMQ_NODE_VERSION):
    • pre-release-preview
  • Tag and deploy a 2628.0 pre-release distribution on the pre-release-preview network
  • Fill information in GitHub release:
    • Release notes
    • Highlights
  • 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 regression since last release
  • Announce the pre-release on discord channel
  • Announce any breaking change in:
    • #cardano-scaling slack channel for pre-release
    • #blockfrost-scaling slack channel for pre-release
    • #ddz-iog-daedalus slack channel for pre-release
    • Cardano Foundation IBC bridge team
  • Wait for at least 2 epochs and check that:
    • Previous signers have registered in the current epoch
    • New signers have registered in the current epoch
    • Previous signers have signed in the 2 epochs
    • New signers have signed in the 2 epochs

Phase 3: Rollout release distribution

  • Add DMQ node Docker registry to ghcr.io/intersectmbo/dmq-node (DMQ_NODE_DOCKER_REGISTRY):
    • release-preprod
    • release-mainnet
  • Update DMQ node version to 0.7.0.0 (DMQ_NODE_VERSION):
    • release-preprod
    • release-mainnet
  • Remove CardanoImmutableFilesFull from AGGREGATOR_SIGNED_ENTITY_TYPES in:
    • release-preprod
    • release-mainnet
  • Activate CardanoBlocksTransactions signed entity type:
    • release-preprod
  • Update CardanoBlocksTransactions configuration parameter AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_SECURITY_PARAMETER to 10:
    • release-preprod
  • Rotate KMS credentials:
    • Destroy the previous key for the ancillary signer service account of release-mainnet
    • Create a new key for the ancillary signer service account of release-mainnet
    • Configure release-mainnet environment with new service account credentials
    • Check that KMS credentials are working with the creation of the next Cardano database snapshot
  • Release the 2628.0 distribution
  • Fill information in GitHub release:
    • Cardano node compatibility
    • Networks compatibility
  • Synchronize cardano-transactions.sqlite3 database - Phase 2:
    • release-mainnet
  • 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
  • Merge the PR for rotating the documentation
  • Merge the PR for updating networks.json file
  • Merge the PR for rotating the CHANGELOG.md
  • 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
    • #blockfrost-scaling slack channel for release
    • #ddz-iog-daedalus slack channel for release
    • Cardano Foundation IBC bridge team
  • Update Hydra tutorial if client breaking change for database restoration
  • Dev blog post:
    • Distribution 2628
    • Update the Switching to Cardano database incremental certification dev blog post
    • Update the DMQ testing phase dev blog post
    • Update the Multiple Aggregators testing phase dev blog post
  • Update roadmap with new distribution

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions