diff --git a/doc/release-process.md b/doc/release-process.md index 8f5e04b8..eb96e5da 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -29,8 +29,8 @@ previous release: $ ZCASH_RELEASE_PREV=1.0.0-beta1 -## B. create a new release branch / github PR -### B1. update (commit) version in sources +## B. Create a new release branch / github PR +### B1. Update (commit) version in sources doc/README.md src/clientversion.h @@ -52,7 +52,7 @@ In `configure.ac` and `clientversion.h`: - Change `CLIENT_VERSION_IS_RELEASE` to false while Zcash is in beta-test phase. -### B2. write release notes +### B2. Write release notes git shortlog helps a lot, for example: @@ -61,19 +61,21 @@ git shortlog helps a lot, for example: Update the Debian package changelog: - export DEBVERSION='1.0.0-rc1' + export DEBVERSION="${ZCASH_RELEASE}" export DEBEMAIL="${DEBEMAIL:-team@z.cash}" export DEBFULLNAME="${DEBFULLNAME:-Zcash Company}" dch -v $DEBVERSION -D jessie -c contrib/DEBIAN/changelog -### B3. change the network magics +(`dch` comes from the devscripts package.) + +### B3. Change the network magics If this release breaks backwards compatibility, change the network magic numbers. Set the four `pchMessageStart` in `CTestNetParams` in `chainparams.cpp` to random values. -### B4. merge the previous changes +### B4. Merge the previous changes Do the normal pull-request, review, testing process for this release PR. @@ -87,7 +89,7 @@ https://ci.z.cash/builders/depends-sources Run `./fetch-params.sh`. -## D. make tag for the newly merged result +## D. Make tag for the newly merged result In this example, we ensure master is up to date with the previous merged PR, then: @@ -95,7 +97,7 @@ previous merged PR, then: $ git tag -s v${ZCASH_RELEASE} $ git push origin v${ZCASH_RELEASE} -## E. deploy testnet +## E. Deploy testnet Notify the Zcash DevOps engineer/sysadmin that the release has been tagged. They update some variables in the company's automation code and then run an Ansible playbook, which: @@ -106,15 +108,13 @@ Notify the Zcash DevOps engineer/sysadmin that the release has been tagged. They Then, verify that nodes can connect to the testnet server, and update the guide on the wiki to ensure the correct hostname is listed in the recommended zcash.conf. -## F. publish the release announcement (blog, zcash-dev, slack) -## G. celebrate +## F. Update the Beta Guide +## G. Publish the release announcement (blog, zcash-dev, slack) +## H. Celebrate + ## missing steps Zcash still needs: -* deterministic or reproducible builds - * thorough pre-release testing (presumably more thorough than standard PR tests) -* release deployment steps (eg: updating build-depends mirror, deploying testnet, etc...) - -* proper Zcash-specific versions and names in software and documentation. +* automated release deployment (e.g.: updating build-depends mirror, deploying testnet, etc...)