...
Review the Master Release Plan at Master Release Plan and identify the current MainNet release branches. For example, the 3.3.0 Release has the following repos/branches:
fio - release/3.3.x-dev
fio.contracts - release/2.7.x
fio.test - release/2.7.x_3.3.x
fio.devtools - release/2.7.x_3.3.x
fiosdk_typescript - release/1.6.x
On the server, clone and build a develop version of fio FIO core and the contracts
Clone the FIO Core branches and checkout each repo to the develop branch.
fio - develop
fio.contracts - develop
fio.devtools - develop
Build and install FIO
cd fio/scripts
Execute ./fio_build.sh
Execute ./fio_install.sh
Build the contracts
Anchor Contract-Build Contract-Build cd fio.contracts
Execute ./start.sh <FIO Version>
Local Startup (1)
Update/Build Contracts (2)
Copy this version of the fio.contracts to fio.contracts-<branch name>
To perform a smoketest against the develop version;
Start up the chain (see step 3c) and then run fio.test develop test suite (see step 5).
Clean the chain of runtime artifacts
cd fio.devtools
execute ./start.sh <FIO Version>
Local Startup (1)
Nuke All (3)
Continue - Yes (1)
On the server, update the repos cloned above to test the functionality that will be in the release.
To build, deploy and test the FIP-41, FIP-17a, FIP-1 release, the FIO core repos were checked out as follows:
fio.contracts - release/2.7.x
fio.devtools - release/2.7.x_3.3.x
Build the contracts
cd fio.contracts
Execute ./start.sh <FIO Version> and specify the following responses to the runtime options
Local Startup (1)
Update/Build Contracts (2)
Start the Local Chain
Execute ./start.sh <FIO Version> and specify the following responses to the runtime options
Local Startup (1)
Local Blockchain (1)
On the server, execute the Release Script commands pointing to the contracts built in steps 2c and 2d
On the client clone and checkout the repo, fio.test. to the develop branch
fio.test - develop
Update the fio.test config.js to point to the server
cd fio.test
vi config.js
Edit the test url to point to the server configured and running above
const TESTURL = 'http://<server ip>.8:8889'
This should be the only ‘active’ TESTURL
Execute the command ‘npm test’
Edit the index.js to run a custom set of tests
Document the results
To test against and individual FIP branche, identify the branch(es) via the developer, the FIO github project or via the project development spec (reference Release Content above) and checkout the branches. For example, to test the FIP-41 updates, fio.contracts, fio.devtools repos were updated. Checkout the branches as follows:
fio.contracts - feature/FIP-41-develop-03012022
fio.devtools - feature/FIP-41-develop-03012022