-
Notifications
You must be signed in to change notification settings - Fork 92
New Release Process
Paul Bernier edited this page Feb 17, 2021
·
6 revisions
Follow these steps to release a new version of factomd
:
- Run the full test suit
./test.sh full
- Run factomd locally with a short blocktime
factomd -network=LOCAL -blktime=60
. Open the dashboard and confirm blocks are advancing.
- Generate a new RC image by tagging a specific commit. The tag should have the format
vX.Y.Z-rc1
. Increment the RC number for every batch of fixes. - Images are made available on Docker Hub in this repo: https://hub.docker.com/r/factominc/factomd
- Deploy RC image on a follower and verify it follows blocks and minutes.
- Execute factom.js API test suite against that node (basic verification of API capabilities).
- Deploy RC image on a few authority set nodes (at least 1 audit and 1 leader). Verify they follow blocks and minutes and that the leader doesn't get demoted.
- Apply baseline load on the network (5 EPS/s) via ChockaBlock and monitor upgraded nodes are still file.
- Deploy RC image to 100% of the authority set. Monitor elections, ask operators to report any abnormalities.
- Voluntarily trigger an election by turning off a leader node and monitor the election.
- Apply baseline load on the network (5 EPS/s) and monitor elections.
- Perform a load test against the network.
- Deploy the RC image to a node on mainnet and verify basic stability.
- Don't forget to update https://github.com/FactomProject/factomd/blob/master/VERSION.
- Merge
develop
branch intomaster
. - Build the binaries for all platforms with
make all
. - Create a new GitHub release with version format
vX.Y.Z
and attach all the binaries generated at the previous step. The tag will also trigger the creation of a new Docker image. The image will be available on Docker Hub at https://hub.docker.com/r/factominc/factomd. - Deploy to a few mainnet authority set nodes (at least 1 audit and 1 leader). Confirm stability.
- Deploy to the complete authority set.
- Update documentation (API...).
- Update changelog at https://github.com/FactomProject/distribution.
- 🥳