Release 2.10 Release Checklist
his document is intended to assist release managers in tracking the progress of required work items for a given release. Lead developers can use this checklist to understand how they might assist the release manager in achieving a release of the FIO protocol.
Release Stakeholders
Whenever checklist items are initiated or completed, communications should be posted to the interested stakeholders so they can remain in the loop with respect to the progress of a release.
Marketing – marketing/marketing discord channel (tag ash).
Account management – internal/account management (Emily)
QA – core team private on discord (Eric and Ben)
BPs – Fio main net and fio test net telegram channel, Block-producers under discussion groups.
Core team – core team private channel
Community developers – FIO developers telegram channel
Product managers – product discord channel
Please refer to the field descriptions below the checklist for more information on each item.
Subject | Owner | Description | Jira Links and Notes |
|---|---|---|---|
Release planning |
|
|
|
Update Master Release Schedule | PM | Update master release schedule, https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/46596098 , with all release info | Done |
Create project wiki | PM | Create a project wiki created for release under https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/43122906 This will be used to store all relevant release documents. | N/A |
Release stories and subtasks | PM | Create and epic, stories, and subtasks for release. There should be a story for:
Subtasks should be created for each item in this checklist. | In-work |
Release kickoff meeting | PM | Set up a kickoff meeting with team to review release | N/A |
Release script | Release | Create rollout/release script 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). This should include detailed instructions on how to verify that the rollout was performed successfully. Refer to the Master Release Plan, https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/46596098, for deliverables to capture. Refer to FIPs Repo, https://github.com/fioprotocol/fips , for actions, fees, etc., to capture in release script Once complete, review the rollout plan and verification with architecture and QA/Integration teams. Release script template: https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/498270243 See example: https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/471040008 | Done |
Security |
|
|
|
Code audit | PM | A security focused audit of contract modifications should be strongly considered for any new actions, or any modifications to actions that involve changes in authorizations, or error logic. Code audits can be performed by core team members, or they can be performed by third parties specializing in EOSIO security issues. Findings for security audits are sensitive and may be published to the public after careful consideration of the consequences of publishing this material. Once vulnerabilities have been adequately addressed all findings and remediations should be posted to the wiki for the project in question. Provide a set of links to completed items, or provide a point of contact for your project if items are in work. Security documentation: https://fioprotocol.atlassian.net/wiki/spaces/FO/pages/141262894 | TBD |
Devnet |
|
|
|
DevNet Smoke Testing | Release | Complete full devnet fio.test testing | Done |
DevNet Fork Testing | Release | Complete full devnet fio fork testing See: https://developers.fioprotocol.io/docs/developers/devnet This task has two flavors:
| Done |
DevNet - Performance/Scalability testing | Release | 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 | N/A |
DevNet - QA testing | Release | fio.test regression tests completed and run cleanly on Devnet | Done |
LocalNet/DevNet |
|
|
|
*Net Release rollout test | Release | 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 Update the Rollout Plan with any new information See: https://developers.fioprotocol.io/docs/developers/devnet#contract-testing-fiocontracts See: https://developers.fioprotocol.io/docs/developers/devnet#local-testing | Done. Included execution of release script as well as proposal, approval and execution of actual (to be proposed on TestNet). Verification of contract abi and wasm performed against localnet. |
*Net Performance and Scaling | Release | Verify performance and scalability tests run on LocalNet (and results added to Dev Spec) Identify performance and scalability tests to run on DevNet |
|
SDK Pre Release |
| Changes to Typescript SDK may be necessary for each release of the FIO protocol. SDK changes should go through a QA process. The release manager must integrate the SDK changes required for a release, then perform acceptance tests on these changes. |
|
SDK release story | PM | Create story (if not already done) to track SDK Release | N/A |
SDK dev complete | PM | Confirm that SDK development is complete for all features in release Make sure the package.json in fiosdk_typescript has the correct version | N/A |
SDK release candidate | Release | Create release/n.n.x branch (where n=contract release number) Create pre-release (Release Candidate - FIO Typescript SDK x.x.x-rc1) | TBD |
Testnet - Setup & QA |
|
|
|
fio.test pre-release | Release |
| In-Work |
SDK Update fio.test to point to SDK release branch | Release | Update fio.test |
|
fio.devtools pre-release | Release | Create release/m.m.x_n.n.x branch (where m=chain release number and n=contract release number) |
|
fio.contracts pre-release | Release |
|
|
fio pre-release | Release |
|
|
Testnet - Release branch testing | QA | After all release branches have been created for new release:
|
|
Testnet - Manual History node testing | QA | For transactions that automatically create accounts (e.g., regdomain) if the public key used is new, we need to make sure that the transaction shows up in bloks.io transaction list. |
|
Testnet Release |
|
|
|
Release msigs | Release |
|
|
Communication | Release |
|
|
Testnet - Release validation | Release |
|
|
Testnet - Smoketest | QA | Update fio.test smoketest with new actions and getters and run against Testnet |
|
Testnet - Manual Feature validation | QA | Perform manual validation for all actions and getters listed in the Master Release Plan. Also work with developer to do any release validation testing noted in the Deployment and Rollout guides. |
|
Testnet - Replay test | Release | Perform full replay test (needs to be defined and documented) |
|
Testnet Node* | Release | Update FIO Testnet node See: https://developers.fioprotocol.io/docs/chain/node-build |
|
Mainnet - Setup |
|
|
|
Mainnet prep | Release |
|
|
fio.test Mainnet setup | Release |
|
|
fio.devtools Mainnet setup | Release |
|
|
fio.contract Mainnet setup | Release |
|
|
fio Mainnet setup | Release |
|
|
Mainnet - Release |
|
|
|
addaction and createfee msigs | Release |
Example:
|
|
Contract msigs | Release |
|
|
Mainnet - Release validation | Release |
|
|
Mainnet - Manual QA validation | QA | Perform manual validation for all actions and getters listed in the Master Release Plan. Also work with developer to do any release validation testing noted in the Deployment and Rollout guides. |
|
Post-deployment |
|
|
|
Mainnet validation - fio chain | Release |
|
|
Update FIO Hosted API Nodes | Release |
|
|
FIP status | PM | Move FIP status to Final and include release links; update master README index |
|
Devhub | PM |
|
|
fiosdk_typescript-examples | PM | Add examples for new actions to fiosdk_typescript-examples repo |
|
Partner upgrades | PM |
|
|
SDK Production Release |
|
|
|
Typescript SDK Release | Release |