[PROPOSAL] Reference Utility Script to help automate some of RC validation in Release Process

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[PROPOSAL] Reference Utility Script to help automate some of RC validation in Release Process

Otto Fowler
I would like to propose the the Release Process
<http://nifi.apache.org/release-guide.html>, specifically the section:

*RM sends the following helper email to the NiFi Developers Mailing List*

be changed to include a link to, as well as a description of valid use of
the script referenced in PR 2806 <https://github.com/apache/nifi/pull/2806>.
This would be done as opposed to having the script in the NiFi source tree.

This script has been added to the NiFi wiki’s Releasing Nifi Page
<https://cwiki.apache.org/confluence/display/NIFI/Releasing+NiFi> in the
scripts to help release nifi section.

The proposed change to the helper guide email:

Hello Apache NiFi community,

Please find the associated guidance to help those interested in
validating/verifying the release so they can vote.

# Download latest KEYS file:https://dist.apache.org/repos/dist/dev/nifi/KEYS

# Import keys file:
gpg --import KEYS

# [optional] Clear out local maven artifact repository

# Pull down nifi-${NIFI_VERSION} source release artifacts for review:

wget https://dist.apache.org/repos/dist/dev/nifi/nifi-${NIFI_VERSION}/nifi-${NIFI_VERSION}-source-release.zip
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-${NIFI_VERSION}/nifi-${NIFI_VERSION}-source-release.zip.asc
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-${NIFI_VERSION}/nifi-${NIFI_VERSION}-source-release.zip.sha1
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-${NIFI_VERSION}/nifi-${NIFI_VERSION}-source-release.zip.sha256
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-${NIFI_VERSION}/nifi-${NIFI_VERSION}-source-release.zip.sha512

# Verify the signature
gpg --verify nifi-${NIFI_VERSION}-source-release.zip.asc

# Verify the hashes (sha1, sha256, sha512) match the source and what
was provided in the vote email thread
shasum -a 1 nifi-${NIFI_VERSION}-source-release.zip
shasum -a 256 nifi-${NIFI_VERSION}-source-release.zip
shasum -a 512 nifi-${NIFI_VERSION}-source-release.zip

# Unzip nifi-${NIFI_VERSION}-source-release.zip

# Verify the build works including release audit tool (RAT) checks
cd nifi-${NIFI_VERSION}
mvn clean install -Pcontrib-check,include-grpc

# Verify the contents contain a good README, NOTICE, and LICENSE.

# Verify the git commit ID is correct

# Verify the RC was branched off the correct git commit ID

# Look at the resulting convenience binary as found in nifi-assembly/target

# Make sure the README, NOTICE, and LICENSE are present and correct

# Run the resulting convenience binary and make sure it works as expected

# Send a response to the vote thread indicating a +1, 0, -1 based on
your findings.

A script automating some of this process is available at
https://cwiki.apache.org/confluence/display/NIFI/Releasing+NiFi as
release candidate check script.
While this script automates some of the steps above, it is not
replacement for all the checks above.

Thank you for your time and effort to validate the release!

Joe Witt’s original recommendation in PR 2806