...
From one directory above a checkout of latest geode develop, run the prepare_rc.sh script (a release-n.n.n-workspace dir will be created in the current directory). This script assumes there is a release/X.Y.Z branch pushed to geode, geode-native, and geode-examples. It will checkout the tip of that branch for all repos, build them, and prepare the artifacts. It will also prepare RC tags in each repository and finally pre-stage to nexus. Do not run this in a remote shell or headless environment, as a GUI is required to prompt for your PGP passphrase (several times) and lstly your ASF LDAP password (Apache password). Do not include
@
apache.org
in your apache username.Code Block geode/dev-tools/release/prepare_rc.sh -v version_with_rc -k your_8_digit_key_id -a your_apache_ldap_username
The "next steps" printed out at the end of the prepare_rc script will walk you through the remaining steps to finalize nexus staging (pictured below), publish the release candidate, and send the VOTE email.
...
- build each repo from source tag
- build each product from source tgz
- try building with clean gradle and maven caches (or spin up a new VM for super-clean testing)
- verify signatures (not on same machine where RC was built; again, again spinning up a new VM can be helpful)
- Run Dan's Script release check script https://github.com/upthewaterspout/geode-release-check
Better yet, write a script (or build a pipeline that triggers on new RCs) to perform these acceptance checks.
Send out an email announcing the RC
...