Versions Compared

Key

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

...

Code Block
git clone -b v{X.Y.Z} https://git-wip-usgitbox.apache.org/repos/asf/knox.git knox-{X.Y.Z}
cd knox-{X.Y.Z}

...

Update version numbers on release branch (from A.B.C-SNAPSHOT to A.B.C) and push changes

Update CHANGES

...

CHANGES

...

Update documentation

Build, Test and Push Changes

...

Create a new Jenkins job to build the release. It should call these two commands. It is probably best to copy the previous releases job.

New Jenkins Job

Assuming that you have proper karma for creating new Jenkins jobs, you will see a link to create a new one.
From that link you will be provided a page to select how to proceed; select copy existing job.

The Copy from text box will auto complete as you type - start with "Knox-" and select the job to copy from.

Ensure that the following form reflects the following values within various form elements:

  • maven
  • -Prelease Ppackage,release clean install
  • ant post-build

...

Download the release candidate

You will be prompted for your Jenkins username and password.

Code Block
ant download-candidate

...

Do some basic manual testing to see if release looks ok. For example do and install and run through a few of the samples.

Sign

You will be prompted for your GPG passphrase.

Code Block
ant sign-candidate

...

Verify the signatures for both the source and binary distribution. Note: This assumes that gpg is installed.

Code Block
export KNOX_VERSION={X.Y.Z}
gpg --verify knox-{X.Y.Z${KNOX_VERSION}-src.zip.asc knox-{X.Y.Z${KNOX_VERSION}-src.zip
gpg --verify knox-{X.Y.Z${KNOX_VERSION}.zip.asc knox-{X.Y.Z${KNOX_VERSION}.zip

gpg --verify knox-{X.Y.Z${KNOX_VERSION}.tar.gz.asc knox-${KNOX_VERSION}.tar.gz
gpg --verify knoxshell-${KNOX_VERSION}.zip.asc knox-{X.Y.Z knoxshell-${KNOX_VERSION}.zip
gpg --verify knoxshell-${KNOX_VERSION}.tar.gz.asc knoxshell-${KNOX_VERSION}.tar.gz

Verify the SHA-256 and SHA-1 512 hashes for both the source and binary distribution. Note: This assumes a Linux or MacOS environment with openssl installed.

Code Block
cat knox-export KNOX_VERSION={X.Y.Z}
cat knox-${KNOX_VERSION}-src.zip.shasha256 && openssl sha1sha256 knox-${KNOX_VERSION}-src.zip
cat knox-{X.Y.Z${KNOX_VERSION}-src.zip.sha512 && openssl sha512 knox-${KNOX_VERSION}-src.zip 
cat knox-{X.Y.Z${KNOX_VERSION}.zip.sha256 && openssl sha256 knox-${KNOX_VERSION}.zip
cat knox-${KNOX_VERSION}.zip.shasha512 && openssl sha1sha512 knox-{X.Y.Z${KNOX_VERSION}.zip 

cat knox-{X.Y.Z${KNOX_VERSION}.tar.gz.shasha256 && openssl sha1sha256 knox-${X.Y.ZKNOX_VERSION}.tar.gz
cat knox-${KNOX_VERSION}.tar.gz

Verify the MD5 digest for both the source and binary distribution. Note: This assumes a Linux or MacOS environment with openssl installed.

Code Block
cat.sha512 && openssl sha512 knox-${X.Y.Z}-srcKNOX_VERSION}.tar.gz
cat knoxshell-${KNOX_VERSION}.zip.md5sha256 && openssl md5sha256 knoxknoxshell-{X.Y.Z}-src${KNOX_VERSION}.zip
cat knoxknoxshell-{X.Y.Z${KNOX_VERSION}.zip.md5sha512 && openssl md5sha512 knoxknoxshell-{X.Y.Z${KNOX_VERSION}.zip

cat knox-{X.Y.Zcat knoxshell-${KNOX_VERSION}.tar.gz.sha256 && openssl sha256 knoxshell-${KNOX_VERSION}.tar.gz
cat knoxshell-${KNOX_VERSION}.tar.gz.md5sha512 && openssl md5sha512 knoxknoxshell-{X.Y.Z${KNOX_VERSION}.tar.gz

Tag Release Candidate

Code Block
git tag --annotate vX.Y.Z-rcN --message "vX.Y.Z release candidate N-rcN"
git push origin --tags

Stage

Follow the instructions output by the sign step above. Basically execute this command.  You will be prompted for your SVN username and password.

Code Block
cd ..
ant stage-candidate

...

https://dist.apache.org/repos/dist/dev/knox/

You will be prompted for your SVN username and password.

Code Block
ant download-stage verify-stage

...

Vote

Send a [VOTE] email to the dev@knox list. A template was output by the sign step above as target/vote.eml.

...

txt.

Iterate based on feedback until vote passes

...

Code Block
git tag --annotate v{X.Y.Z}-release --message "Release of v{X.Y.Z}"
git push origin --tags

Promote

You will be prompted for your SVN username and password.

Code Block
ant promote-release

Verify that the results are accessible.

https://dist.apache.org/repos/dist/release/incubator/knox//knox/

Publish to Maven Repository

Preparation

  • Setup your ~/.m2/settings.xml file as described here.
  • Make sure you encrypt your passwords as described here

Staging

This special variant of the build command will build and publish the release to a staging are in the Apache Nexus repo.
Note: Get your gpg passphrase in your paste buffer you will need it MANY times.   If someone can figure out how to use gpg-agent properly they should document it.
This page contains some information about getting gpg-agent installed and running. 

Code Block
mvn -Papache-release -Drepo.id=apache.releases.https deploy


If you have issues with the above command due to javadoc warnings, something like this can be done:

Code Block
mvn -Dmaven.javadoc.failOnError=false -Papache-release -Drepo.id=apache.releases.https deploy

Release

Once that completes, login to the Apache Maven Nexus staging repositories with your Apache credentials and:

  1. Select "Staging Repositories" from "Build Promotion" on the left.
  2. Close the stage with the Close button at the top of the repo list.  For the Description field use Apache Knox 0.5.1 Staged
  3. Release the stage with the Release button at the top of the repo list.  For the Description field Apache Knox 0.5.1 Release

Wait 24 hours for release to propagate to mirrors.

Update site

Update news in src/site/src/documentation/content/xdocs/index.xml and for main lucene.apache.org site stored at https://svn.apache.org/repos/asf/lucene/site/. The second change may require additional rights News.

Create version in JIRA for release X.Y.

...

Update CHANGES with header for new changes

Remove old release from dist.apache.org

Code Block
svn delete https://dist.apache.org/repos/dist/release/knox/${OLD_VERSION} -m "Delete Knox ${OLD_VERSION} from dist.apache.org"


Include Page
Footer
Footer