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)

Created a fio 3.2, fio.contracts 2.7 release checklist. See: fio 3.3 / fio.contracts 3.7 [FIPs-22,26] Release Milestone Checklist