Versions Compared

Key

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

The milestone checklist tracks the release management tasks.

Task

Deliverables

Notes

Security

Code audit

  •  Code audit of new contract or code

Start with code review.

Vulnerability testing

  •  Penetration, API, and logic vulnerability testing

https://fioprotocol.atlassian.net/browse/BD-2915

Bug bounty

  •  Bug bounty

N/A - Covered by FIO general bug bounty.

Devnet

Testing

  •  addaction and createfee for new actions in fio.devtools
  •  Devnet fork test (Dev lead)
  •  fio.contract - Run upgrade using set code and set abi (Dev lead)
  •  Devnet performance test (Dev lead)
  •  Perform scalability and performance tests on Devnet (add results to Dev Spec)
  •  fio.test regression tests completed and run cleanly on Devnet

Devnet fork test and fio.test:

  • Install Current Release (fio and fio.contracts) on Devnet

  • Update 6 nodes (1 cluster) to new release and ensure no forking occurs

  • Update 12 more nodes (remaining 2 clusters) to new release and ensure no forking occurs

  • Do NOT update remaining nodes

  • Update fio.contracts to new release using setcode and setabi

  • Run fio.test and ensure it runs cleanly (need to hit upgraded API node)

History node testing

  •  Test against node with V1 History and confirm no errors in log file (add results to Dev Spec)

SDK and Wallet Testing

  •  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

Testnet

Communication

  •  Socialize changes with all BPs on Testnet and the community and marketing
  •  Monitor and coordinate the rollout with BPs

addaction and createfee

  •  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"}'

fio.test

  •  Make sure there is a release/n.n.x_m.m.x branch for current production release
  •  Create release/n.n.x_m.m.x branch from develop, confirm it runs against new release

fio.contract

  •  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
  •  msig fio.contracts rc release

fio (chain)

  •  Create pre-release (Testnet Release Candidate - FIO vx.x.x-rc1)
  •  Update release notes
  •  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
  •  Track chain upgrade of BPs

SDK and Wallet Testing

  •  Typescript Wallet: Build Edge Demo Testnet build and go through Wallet checklist
  •  Kotlin Wallet: Can we get a regular build of a Testnet wallet? Mycelium?

TBD: need to create Edge wallet test checklist

Testnet validation

  •  Run fio.test Testnet smoketest, confirm FIO Request getters still work
  •  Confirm hashes of testnet
  •  Confirm versions of testnet nodes (chain)

Mainnet

Mainnet prep

  •  Create upgrade checklist of BPs and integration partners
  •  Work with Brit 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
  •  Perform Testnet rollout verification and report findings

fio.test

  •  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

addaction and createfee

  •  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"}'

fio.contract

  •  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

fio chain

  •  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

General

  •  Move FIP status to Final and include release links; update master README index
  •  Update Initiative and Epic status

FIO API Nodes

  •  Upgrade Registration site API nodes (2 load balanced nodes)
  •  Upgrade Analytics API node (single State History node)

...