[Changelog](https://github.com/malbeclabs/doublezero/blob/main/CHANGELOG.md) ## Testnet checklist ### Preparation [Prepare in advance, it takes time] - [x] **1.** Deploy all components to devnet (daily release with QA) ([trigger](https://github.com/malbeclabs/doublezero/actions/workflows/release.devnet.all.daily.yml)) - [x] **2.** PR: bump version in `Cargo.toml`, `Cargo.lock`, `CHANGELOG.md` → merge to main ([CHANGELOG](https://github.com/malbeclabs/doublezero/blob/main/CHANGELOG.md)) - [x] **3.** Update pinned versions in infra repo ([example PR](https://github.com/malbeclabs/infra/pull/1456)) ### Release & deploy - [x] **4.** Push tags for all components (except client) to trigger GH releases → wait for releases to be published ([trigger](https://github.com/malbeclabs/doublezero/actions/workflows/release.testnet.push.tags.components.yml)) - [x] **5.** Deploy serviceability, telemetry, and geolocation Solana programs to configure version onchain ([instructions](https://github.com/malbeclabs/infra/blob/main/docs/runbooks/deploys/solana-programs-testnet.md)) - [x] **6.** Verify latest release in CloudSmith ([link](https://cloudsmith.io/~malbeclabs/repos/doublezero-testnet/packages/)) - [x] **7.** Deploy all components to testnet except client (`send-it` mode) — check [system metrics dashboard](https://doublezero.grafana.net/d/bf3dece9-51ac-4087-b6b1-579b3859ce14/) ([trigger](https://github.com/malbeclabs/infra/actions/workflows/deploy-core.testnet.yml)) - [x] **8.** Deploy clients and onchain data collectors ([trigger](https://github.com/malbeclabs/infra/actions/workflows/deploy-clients.testnet.yml)) ### QA & announcement - [x] **9.** QA connect/disconnect workflows via unicast and multicast with traffic on client nodes ([trigger](https://github.com/malbeclabs/infra/actions/workflows/qa.testnet.yml)) - [x] **10.** Post community announcement on Slack/Discord — executed by foundation ([templates](https://docs.google.com/document/d/1GlSM1oQaxQlbqfjgNWnJdIXMR9gwX1BbmF1ulATf0V0/edit?tab=t.kw4avz4ad4ui)) - [x] **11.** Monitor dashboards for ~30 min post-deploy watching for anomalies --- ## Mainnet-beta checklist ### Passport & programs - [x] **1.** Pause passport program and sentinel - [x] **2.** Upgrade passport program - [x] **3.** Resume passport program and sentinel - [x] **4.** Deploy Solana programs onchain: **telemetry first**, then serviceability and geolocation to configure version onchain ### Packages & infra - [x] **5.** Promote component packages from CloudSmith `doublezero-testnet` → `doublezero` ([trigger](https://github.com/malbeclabs/infra/actions/workflows/promote.components.mainnet-beta.yml)) - [x] **6.** Update pinned versions in ansible ([example PR](https://github.com/malbeclabs/infra/pull/1086/changes)) - [x] **7.** Deploy components (`send-it` mode) ([trigger](https://github.com/malbeclabs/infra/actions/workflows/deploy-core.mainnet-beta.yml)) - [x] **8.** Promote client packages from CloudSmith `doublezero-testnet` → `doublezero` ([trigger](https://github.com/malbeclabs/infra/actions/workflows/promote.client.mainnet-beta.yml)) - [x] **9.** Execute `doublezero init` - [x] **10.** Deploy clients (`send-it` mode) ([trigger](https://github.com/malbeclabs/infra/actions/workflows/deploy-clients.mainnet-beta.yml)) ### QA & validation - [ ] **11.** Run QA workflow ([trigger](https://github.com/malbeclabs/infra/actions/workflows/qa.mainnet-beta.yml)) - [ ] **12.** Check dashboards for anomalies - [x] **13.** Verify recommended version in [docs](https://docs.malbeclabs.com/setup/)
Changelog
Testnet checklist
Preparation
[Prepare in advance, it takes time]
Cargo.toml,Cargo.lock,CHANGELOG.md→ merge to main (CHANGELOG)Release & deploy
send-itmode) — check system metrics dashboard (trigger)QA & announcement
Mainnet-beta checklist
Passport & programs
Packages & infra
doublezero-testnet→doublezero(trigger)send-itmode) (trigger)doublezero-testnet→doublezero(trigger)doublezero initsend-itmode) (trigger)QA & validation