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 2445
Important
- Make client for Cardano stake distribution stable Make Cardano stake distribution stable in client #2024
- Activate Prometheus metrics of for aggregator Expose Prometheus metrics for Mithril nodes #1481
- Activate Grafana dashboard for aggregator Protocol usage metrics/statistics #2028
- Upgrade to Cardano node
10.1.2
: Upgrade to Cardano10.1.1
#2069- in
pre-release-preview
- in
release-preprod
- in
release-mainnet
- in
- 🔥 Warmup Cardano nodes for
10.1.2
- Announce breaking change in clients (see Remove
beacon
field in certificate #1958)
Distribution +1:
Note
- 🔥 recompute certificate chain
- in
pre-release-preview
- in
release-preprod
- in
release-mainnet
- in
- Activate Cardano stake distribution certification:
- in
release-mainnet
- in
How
Phase 1: Prepare distribution
- Run a backward compatibility test in the CI
- Upgrade repository dependencies (with runbook)
- Check that all minor versions of all crates have been bumped for breaking change (if needed)
- 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 - Merge a PR for rotating the
CHANGELOG.md
(set the distribution version) - Create a draft PR for rotating the documentation
- Warmup Cardano node
10.1.2
onpre-release-preview
- Warmup Cardano node
10.1.2
onrelease-preprod
- Warmup Cardano node
10.1.2
onrelease-mainnet
Phase 2: Rollout pre-release distribution
- Update the configuration of
pre-release-preview
:- Upgrade the Cardano node version to
10.1.2
inpre-release-preview
- Upgrade the Cardano node version to
- Tag and deploy a
2445.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
- Switch Cardano database with warmed-up node in
pre-release-preview
- Make sure
pre-release-preview
is working as expected - 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
- 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
- Wait for at least
3
signers running the new version (could be more if era change is tested) over at least2
epochs
Phase 3: Rollout release distribution
- Tag and deploy a
2445.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
- Update the configuration of
release-preprod
:- Upgrade the Cardano node version to
10.1.2
inrelease-preprod
- Upgrade the Cardano node version to
- Update the configuration of
release-mainnet
:- Upgrade the Cardano node version to
10.1.2
inrelease-mainnet
- Upgrade the Cardano node version to
- Release the
2445.0
distribution - Switch Cardano database with warmed-up node in
release-mainnet
- Make sure
release-mainnet
is working as expected - Switch Cardano database with warmed-up node in
release-preprod
- 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 - Merge the PR for rotating the documentation
- Merge a PR for rotating the
CHANGELOG.md
(updating the release date of the distribution) - 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
- Dev blog post:
- Dev blog post about aggregator Prometheus endpoint and Grafana dashboard
Phase 4: Activate features
- Cardano stake distribution:
- When signer release
>= 0.2.182
(2437.1
) is run by> 95%
of the stake (within 2 weeks, or abort), - Activate the certification of Cardano stake distribution in
release-mainnet
- Restart the
release-mainnet
deployment in the CI - Make sure
release-mainnet
is working as expected - Announce the release on discord channel
- Dev blog post: Activation of Cardano stake distribution in
release-mainnet
- When signer release