Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The community is contributing to a series of JIRA tickets assigned to the next release
  • The number of tickets open/remaining for that next release approaches zero
  • A member of the community suggests a release and initiates a discussion
  • Someone volunteers to be an RM for the release (can be a committer but apache guides indicate preference is a PMC member)
  • A release candidate is put together and a vote sent to the team.
  • If the NiFi community rejects the vote the issues noted are resolved and another RC is generated
  • If the NiFi community accepts the vote then the release is 'releasable' and can be placed into the appropriate 'dist' location, maven artifacts released from staging.

Variable reference substitutions


Throughout this guide, references must be made to names and values that will vary from release to release. For clarity those variable values have been written like Bash variable references. When a term like "/tmp/src/minifi-${MINIFI_VERSION}" is seen in an instruction or email template it should be replaced with "/tmp/src/minifi-0.5.0" when working the release of "Apache NiFi MiNiFi 0.5.0".

  • Subtitutions used in tasks and email templates

    Reference            Example value       Description
    =========            ==============      ===========
    ${BRANCH}            0.5.0-SNAPSHOT      the development branch on which the release is based.
    ${MINIFI_VERSION}      0.5.0               the version currently in development on the release branch.
    ${NEXT_VERSION}      0.6.0-SNAPSHOT      the future version for development on the release branch.
    ${JIRA_TICKET}       MINIFI-458           the JIRA ticket created by the release manager for the release tasks.
    ${RC}                2                   the Release Candidate index start at 1 for the first release candidate.
    ${RC_TAG_COMMIT_ID}                      the commit ID of the RC tag created during the Maven release process.
    ${RM_USERID}         johndoe             the Apache account ID of Release Manager.
    ${RELEASE_TAG}       rel/minifi-0.5.0      the Git repository tag for the source code as released.
    ${VOTE_THREAD_URL}   [0.5.0 vote thread][050-rc2-vote]   the URL for the Apache Pony Mail archive of the release vote thread.

    To be practical but avoid confusion with future release details, these example values reflect the previous release MiNiFi 0.5.0 RC2 release details.

The mechanics of the release

...

If all looks good then push the branch to origin git push origin NIFIMINIFI-270458

For reviewing of the release candidate - The sources, hashes, signature, and the convenience binary, its hashes, and signature should be placed here:

- https://dist.apache.org/repos/dist/dev/nifiminifi-0.5.0.1/


For each convenience binaryeach convenience binary

- Generate ascii armored detached signature by running `gpg -a -b --digest-algo=SHA512 nifi-0.0.1-bin.tar.gz`
- Generate md5ascii armored hashdetached summarysignature by running `md5sum`gpg nifi-0.0.1-bin.tar.gz | awk '{ printf substr($0,0,32)}' > -a -b --digest-algo=SHA512 nifi-0.0.1-bin.tar.gz.md5`gz`
- Generate sha1 hash summary by running `sha1sum nifi-0.0.1-bin.tar.gz | awk '{ printf substr($0,0,40)}' >  nifi-0.0.1-bin.tar.gz.sha1`
- Upload the bin, asc, sha1, md5 for each binary convenience build to the same location as the source release

...