Closed
Description
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 2517
Important
- 🔥 Blocked by Sign ancillary files with IOG key #2362
- Clean docker compose files:
-
pre-release-preview
-
release-preprod
-
release-mainnet
-
- Declare custom origin tags:
HYDRA,LACE,BLOCKFROST,IBC,DOLOS,AMARU,ACROPOLIS
-
pre-release-preview
-
release-preprod
-
release-mainnet
-
- Upgrade to Cardano node
10.3.1
:-
pre-release-preview
-
release-preprod
-
release-mainnet
-
Distribution +1:
Note
- TBD
- Rotate ancillary signer service account keys:
-
release-mainnet
-
How
Phase 1: Prepare distribution
- Run a backward compatibility test in the CI on the
unstable
distribution -
Run a full restoration of a Cardano node ontesting-preview
- Prepare a PR to upgrade repository dependencies (with runbook)
- Merge the PR to upgrade repository dependencies
- Check that all minor versions of all crates have been bumped for breaking change (if needed)
- Bump client minor to
0.12.0
- Bump client CLI minor to
0.12.0
- Bump client WASM minor to
0.9.0
- Bump client minor to
- 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
- Prepare a PR that updates examples (Cardano DB + Cardano DB v2)
Phase 2: Rollout pre-release distribution
- Configure
pre-release-preview
environment with custom origin tags - Configure
pre-release-preview
environment with Cardano10.3.1
- Clean docker compose files of
pre-release-preview
- Tag and deploy a
2517.0-pre
pre-release distribution on thepre-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 -
Run a full restoration of a Cardano node onpre-release-preview
- 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
-
catalyst team channel for pre-release -
acropolis team 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 least2
epochs
Phase 3: Rollout release distribution
- Create a PR to fix the Hydra tutorial
- Create a new key for the ancillary signer service account of
release-mainnet
- Configure
release-mainnet
environment with new service account credentials - Tag and deploy a
2517.0
release distribution on thepre-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
- Configure
release-mainnet
environment with custom origin tags - Configure
release-mainnet
environment with Cardano10.3.1
- Clean docker compose files of
release-mainnet
- Configure
release-preprod
environment with custom origin tags - Configure
release-preprod
environment with Cardano10.3.1
- Clean docker compose files of
release-preprod
- Release the
2517.0
- Make sure
release-mainnet
is working as expected - Make sure
release-preprod
is working as expected -
Run a full restoration of a Cardano node on `release-mainnet`` -
Run a full restoration of a Cardano node onrelease-preprod
- 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 ofrelease-mainnet
- 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
- Merge the PR that updates examples (Cardano DB + Cardano DB v2)
- 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
-
catalyst team channel for release -
acropolis team channel for release -
Cardano Foundation IBC bridge team
- Make sure the Cardano DB v1 has successfully signed ancillary files
- Update Hydra tutorial if client breaking change for database restoration (with origin tag)
- Dev blog post:
- Distribution
2517
- Sign ancillary files with IOG key
- Distribution