[Release n.n] Release Checklist - OLD
|
|
|
|
---|---|---|---|
Msig deployment |
| Create wiki page in Releases directory to track any msigs needed to deploy the feature |
|
Task | Check Status | Tasks | Status / Deliverables |
Release planning |
|
|
|
Rollout planning |
| Create rollout/release plan for this effort (added actions, removed actions, table migrations, order dependent detailed instructions on how to roll out these changes successfully. include all necessary MSIGs) Refer to release script for rollout/plan for this effort Detailed instructions on how to verify that the rollout was performed successfully Review the rollout plan and verification with architecture and QA/Integration teams Refer to Master Release Plan for release details See example: [fio 3.3 fio.contracts 2.7] Release script |
|
Stories and scoping | Excluded Included | Create release management stories and subtasks for release Estimate stories |
|
LocalNet |
|
|
|
Local release rollout test | Included Excluded | Validate release script, updated by developers for each feature, detailing all addaction, createfee, and new and existing contract updates Perform local (single machine) test to validate release script See: https://developers.fioprotocol.io/docs/developers/devnet#local-testing | |
LocalNet Performance and Scaling | Included Excluded | Verify performance and scalability tests run on LocalNet (and results added to Dev Spec) Identify performance and scalability tests to run on DevNet |
|
Devnet |
|
|
|
DevNet Contract Testing | Included Excluded | Perform DevNet test to validate release script Create story to update the DevNet launch script See: https://developers.fioprotocol.io/docs/developers/devnet#contract-testing-fiocontracts | What is the DevNet launch script? |
DevNet Fork Testing | Included Excluded | Full devnet fio fork testing See: https://developers.fioprotocol.io/docs/developers/devnet | This task has two flavors:
|
DevNet Performance/Scalability testing | Included Excluded | Perform DevNet performance and scalability tests | Performance and Scalability testing is a responsibility of the Developer and QA, however, it may be necessary to identify release level performance and scaling requirements |
QA regression testing | Included Excluded | fio.test regression tests completed and run cleanly on Devnet |
|
Testnet |
|
|
|
fiosdk_typescript repo | Included Excluded | Create release/n.n.x branch (where n=contract release number) Create pre-release (Release Candidate - FIO Typescript SDK vx.x.x-rc1) |
|
fio.test repo | Included Excluded | Create release/n.n.x_m.m.x branch (where n=contract release number and m=chain release number) Confirm that the package.json references the new kiosk_typescript branch |
|
fio.devtools repo | Included Excluded | Create release/n.n.x_m.m.x branch (where n=contract release number and m=chain release number) |
|
fio.contracts repo | Included Excluded | Create release/n.n.x branch (where n=contract release number) Create pre-release (Testnet Release Candidate - FIO Contracts vx.x.x-rc1) Update release notes Create PR for hashes on fio.mainnet > releases-testnet.md |
|
Release msigs | Included Excluded | BP to create msig to set addaction and createfee for new actions BP to create msigs for updated and new contracts Review msigs BP to post msigs to Testnet |
|
Communication | Included Excluded | Socialize changes with all BPs on Testnet and the community and marketing Monitor and coordinate the rollout with BPs |
|
fio repo | Included Excluded | Create release/m.m.x branch (where m=chain release number) Create pre-release (Testnet Release Candidate - FIO vx.x.x-rc1) Update release notes Replay test by BP (needs to be defined and documented Track chain upgrade of BPs |
|
Testnet validation | Included Excluded | Run fio.test Testnet smoketest, confirm FIO Request getters still work Confirm hashes of testnet Confirm ABIs deployed correctly (using ./clio get abi) Confirm createfee added fees with correct endpoint and type Confirm addaction added correct actions with correct contracts | Story to track development of fio.devtools so it automatically checks some of these: https://fioprotocol.atlassian.net/browse/BD-3056 |
Testnet Launch* | Included Excluded | Build & Launch Testnet node (replays, etc) | |
Mainnet |
|
|
|
Mainnet prep | Included Excluded | Create upgrade checklist of BPs and integration partners Work with account management to coordinate Mainnet rollout plan with the BP, wallet, and exchange community, watch over the execution and help to ensure rollout is completed in full. Socialize release changes with all BPs and the community and marketing |
|
fio.test repo | Included Excluded | Merge release/n.n.x_m.m.x branch to master, create vn.n.n_m.m.m tag Run test tag against new release |
|
fio.devtools repo | Included Excluded | Merge release/n.n.x_m.m.x branch to master, create vn.n.n_m.m.m tag Update base contracts to current mainnet contracts Update readme to show new version changes on fio Merge to master and cut a new tag/release |
|
fio.contract repo | Included Excluded | Merge release/n.n.x branch to master, create vn.n.n tag Move pre-release to release (Release - FIO Contracts vx.x.x) Create PR for hashes on fio.mainnet Encourage BPs to vote on new endpoint fee msig fio.contracts release Perform the rollout verification and report findings Post msig links to main FIO Telegram channel so member can track progress |
|
addaction and createfee msigs | Included Excluded | msig to set addaction and createfee for new actions Encourage BPs to vote on new endpoint fee Example:
|
|
Contract msigs | Included Excluded | BP to create msigs for updated and new contracts Review msigs BP to post msigs to Mainnet |
|
fio repo | Included Excluded | Merge release/m.m.x branch to master, create vm.m.m tag Move pre-release to release (Release - FIO vx.x.x), creating the GitHub Release with new functionality, fixes, etc. documented. Build the FIO repo (use -P option) and Generate .deb and .tgz build files using fio.package Upload .deb and .tgz build files to; FIO Releases page for this release AWS > S3 > fioprotocol > Mainnet Update the FIO.docker repo (package release links in dockerfile) and create pull request notifying Todd of the new release artifacts BP mainnet node upgrade checklist is complete (BP spreadsheet, or create one in Jira) Perform the rollout verification and report findings Confirm BP upgrade: https://health.fioprotocol.io |
|
Mainnet validation | Included Excluded | Confirm hashes of mainnet Confirm versions of mainnet nodes (chain) Confirm ABIs deployed correctly (using ./clio get abi) Confirm createfee added fees with correct endpoint and type Confirm addaction added correct actions with correct contracts |
|
FIO API Nodes | Included Excluded | Upgrade Registration site API nodes (2 load balanced nodes) Notify Todd to upgrade Analytics API node (single State History node) |
|
SDK and Wallet Testing | Included Excluded | Run Typescript SDK regression tests against latest build, confirm new actions and getters are included in the tests Run Kotlin SDK regression tests against latest build, confirm new actions and getters are included in the tests Run GO SDK regression tests against latest build, confirm new actions and getters are included in the tests |
|
Post-deployment |
|
|
|
Mainnet validation - fio chain | Included Excluded | Confirm versions of mainnet nodes (chain) Create tracking spreadsheet Confirm BP upgrade: https://health.fioprotocol.io |
|
Update FIO Hosted API Nodes | Included Excluded | Upgrade Registration site API nodes (2 load balanced nodes) Notify Todd to upgrade Analytics API node (single State History node) |
|
SDK |
|
|
|
Typescript SDK Release | Included Excluded | Create fiosdk_typescript release candidate tag from develop Test SDK release tag version against latest production releases (master branches) of fio, fio.contracts, fio.devtools, fio.test (If updates to test are needed, confirm fixes are put into the fio.test release/vn.n.n release branch and the develop branch (i.e., merge fixes from release branch)) Merge develop to master and create production release tag from master Typescript: Publish new SDK release on NPM QA: Test published SDK release tag version against latest production releases (master branches) of fio, fio.contracts, fio.devtools, fio.test |
|