Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Create release/n.n.x_m.m.x branch (where n=contract release number and m=chain release number)

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

[fio 3.4 fio.contracts 2.8] Release Script

Stories and scoping

  •  Excluded
  •  Included
  •  Create release management stories and subtasks for release
  •  Estimate stories

Notes

Release branches come in two flavors;

  • Dev facing: Branch name has “-dev” appended

  • BP facing: Branch name does not have “-dev” appended.

BP-facing files to update

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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3779

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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3925

DevNet Fork Testing

  •  Included
  •  Excluded
  •  Full devnet fio fork testing

See: https://developers.fioprotocol.io/docs/developers/devnet

This task has two flavors:

  • To test a forking change, and that processing executes as normal before and after the (DevNet customized) timestamp

  • To verify that no forking occurs in any BP node (standard DevNet testing)

While not necessary for this release fork testing performed.

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

Smoke test only

TestNet

fiosdk_typescript repoerc20

  •  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
  • Deploy devnet contract
  •  Test wrap / unwrap
  •  Update dashboard with devnet contract
  •  Dashboard testing

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyDASH-320

erc721

  •  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 fiosdk_typescript branch
  • Deploy devnet contract
  •  Test wrap / unwrap
  •  Update dashboard with devnet contract
  •  Dashboard testing

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBDDASH-3928
fio.devtools
320

TestNet

fiosdk_typescript repo

  •  Included
  •  Excluded
  •  Create release/n.n.x _m.m.x branch (where n=contract release number and m=chain release number)

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3929

fio.contracts
  • )
  •  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)
    •  Update release notes and Tag branch
    •  Package release (Note: update local release branch (git fetch --all --tags))
  •  Create PR to update hashes in fio.mainnet repo (releases-testnet.md)
    •  
    Create pre-release (Testnet Release Candidate - FIO Contracts vx.x.x-rc1)
    • Confirm that the package.json references the new fiosdk_typescript branch

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3930
Release msigs
3928

fio.devtools repo

  •  Included
  •  Excluded
  •  BP to create msig to set addaction and createfee for new actions
  •  BP to create msig to create accounts, set perms and RAM limits
  •  BP to create msigs for updated and new contracts
  •  Review msigs
  •  BP to post msigs to Testnet

MSIG Rollout Process

Jira Legacy
serverSystem JIRA
serverId

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3813
Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-38613929

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 and Tag branch
    •  Package release (Note: update local release branch (git fetch --all --tags))
  •  Create PR to update hashes in fio.mainnet repo (releases-testnet.md)

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-38623930

CommunicationRelease msigs

  •  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 and Tag branch
    •  Package release (Note: update local release branch (git fetch --all --tags))
  •  Replay test by BP - Get w/Todd/Eric to review
  •  Track chain upgrade of BPs
  • BP to create msig to set addaction and createfee for new actions
  •  BP to create msig to create accounts, set perms and RAM limits
  •  BP to create msigs for updated and new contracts
  •  Review msigs
  •  BP to post msigs to Testnet

MSIG Rollout Process

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3813

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3861

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-39313862

TestNet validationCommunication

  •  Included
  •  Excluded
  •  Run fio.test TestNet smoketest, confirm FIO Request getters still work
  •  Confirm hashes in 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:

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3056

TestNet Launch for Michael

  •  Included
  •  Excluded
  •  Build & Launch TestNet node (replays, etc)

https://developers.fioprotocol.io/docs/chain/node-build

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
  • 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 and Tag branch
    •  Package release (Note: update local release branch (git fetch --all --tags))
  •  Replay test by BP - Get w/Todd/Eric to review
  •  Track chain upgrade of BPs

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3931

TestNet validation

  •  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:

createfee '{"end_point":"transfer_tokens_fio_add","type":"1","suf_amount":"958695652"}'

addaction '{"action":"trnsloctoks","contract":"fio.token","actor":"eosio"}'

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)
  •  Generate .deb and .tgz build files using fio.package
  •  Upload .deb and .tgz build files to AWS > S3 > fioprotocol > Mainnet for use with fio-docker
  •  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

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
  • Run fio.test TestNet smoketest, confirm FIO Request getters still work
  •  Confirm hashes in 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:

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3056

TestNet Launch for Michael

  •  Included
  •  Excluded
  •  Build & Launch TestNet node (replays, etc)

https://developers.fioprotocol.io/docs/chain/node-build

fio.erc20

  •  Included
  •  Excluded
  •  Create pre-release (TestNet Release Candidate - FIO vx.x.x-rc1)
    •  Update release notes and Tag branch
    •  Package release (Note: update local release branch (git fetch --all --tags))
  •  Update Dashboard with latest

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4126

fio.erc721

  •  Included
  •  Excluded
  •  Create pre-release (TestNet Release Candidate - FIO vx.x.x-rc1)
    •  Update release notes and Tag branch
  •  Update Dashboard with latest

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4127

fio.oracle

  •  Included
  •  Excluded
  •  Create pre-release (TestNet Release Candidate - FIO vx.x.x-rc1)
    •  Update release notes and Tag branch
  •  Get BP ETH and MATIC Testnet Addresses
  •  Deploy release to oracles
  •  Manual test of wrap/unwrap
  •  Update dashboard and UAT

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4134

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4135

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4136

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:

createfee '{"end_point":"transfer_tokens_fio_add","type":"1","suf_amount":"958695652"}'

addaction '{"action":"trnsloctoks","contract":"fio.token","actor":"eosio"}'

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)
  •  Generate .deb and .tgz build files using fio.package
  •  Upload .deb and .tgz build files to AWS > S3 > fioprotocol > Mainnet for use with fio-docker
  •  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

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

fio.erc20

  •  Move pre-release to release (Release - FIO vx.x.x)

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4124

fio.erc721

  •  Move pre-release to release (Release - FIO vx.x.x)

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4125

fio.oracle

  •  Get Mainnet ETH and MATIC addresses
  •  Move pre-release to release (Release - FIO vx.x.x)
  •  Deploy release to oracles
  •  Manual test of wrap/unwrap
  •  Update dashboard and UAT

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4129

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4130

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4131

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4132

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4133

fio-wrap-status-page

  •  Update dashboard and UAT

Post-deployment

Mainnet validation - fio chain

  •  Included
  •  Excluded

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)

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3722

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

...