While the checklists capture the ToDos for a release, the following notes address the what and how of a release.
References:
Git Branching and Release (fioprotocol.io)
...
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Overview/Notes
Release Management focuses on the capture (release branching) and delivery (deployment and test to *DevNet, TestNet, MainNet) of features, bugs, etc.
MainNet deliveries: most changes will be merged into the Develop branch and flow down through DevNet, and TestNet but some (Hot Fixes) may not.
*DevNet deployment/test is considered happy path deployment and testing. It may be prudent to smoketest FIP branches (to be/are merged into Develop) to verify a Develop branch.
Release Content
The Project Manager will provide details and links to Development Documents, Development Documents (Active), to be included in a release.
Release Branching
The release branch naming will looking follow the release as documented in Releases folder.
Release Readiness
Release readiness entails the process of gathering the information noted above but also the deployment and testing of FIP, Develop branches along with application of the Release script on these branches to identify any issues, gaps in functionality, prior to cutting a release branch. This could include a formal review/demo of the Feature(s) with the Project Manager and the team.
LocalNet/FIP Build, Deploy and Test Process
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, create and build a develop version of 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
Build the contracts
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-develop
On the server, update the repos cloned above to test the functionality that will be in the release. For example 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
To test the individual FIP branches, identify those branches via the developer, the FIO github project or via the project development spec (reference Release Content above) and checkout the modified branches. For example, to test the FIP-41 updates, fio.contracts, fio.devtools were updated. Checkout the branches as follows:
fio.contracts - feature/FIP-41-develop-03012022
fio.devtools - feature/FIP-41-develop-03012022