Versions Compared

Key

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

...

This only needs doing if this is the first release in a series (X.Y.0).

  • Update CHANGES.txt in trunk to replace Trunk (unreleased changes) with Release X.Y.0 - YYYY-MM-DD. Commit:

    No Format
    
    svngit commit -m "Preparing for release X.Y.Z"
    
  • Create a branch for the release series:

    No Format
    
    svngit copy https://svn.apache.org/repos/asf/incubator/bigtop/trunk \
    https://svn.apache.org/repos/asf/incubator/bigtop/branches/checkout -b branch-X.Y -m "Branching for X.Y releases"
    .Z origin/master
  • Add back Trunk (unreleased changes) to CHANGES.txt in trunk.
  • Bump the version number in

    trunk

    the master branch:

    No Format
    
    for file in $(find . -name pom.xml); do
      sed -i -e "s/0X.XY.0Z-incubating-SNAPSHOT/0A.YB.0C-incubating-SNAPSHOT/" $file;
    done
    
  • Commit these changes to trunkthe master and push.
  • Checkout the release branch

    No Format
    
    svngit checkout https://svn.apache.org/repos/asf/incubator/bigtop/branches/branch-X.Y
    branch-X.Y.Z
    
  • Update the release branch's version information: the version number in the release branch ends in -SNAPSHOT, but we need to remove this for the release. For example, 0.

    1

    8.0-

    incubating-

    SNAPSHOT needs to be changed to 0.

    1

    8.0

    -incubating

    .

    No Format
    
    for file in $(find . -name pom.xml); do
      sed -e "s/0.X.Y.X-incubating-SNAPSHOT/0.X.Y-incubating.Z/" $file;
    done
    
  • Commit these changes to the release branch

    No Format
    
    svngit commit -m "Changing version to 0.X.Y.Z-incubating"
    

3. Generate the Release Notes

...

Wrap the title ("Release Notes - Bigtop - Version X.Y.Z") inside an <h1> <h3> element.

4. Commit and Tag

Commit changes to subversion, and tag:

No Format

svngit commit -m "Preparing for release X.Y.Z"
svngit copy https://svn.apache.org/repos/asf/incubator/bigtop/branches/branch-X.Y https://svn.apache.org/repos/asf/incubator/bigtop/tags/release-X.Y.Z tag release-x.y.z -m "Bigtop X.Y.Z release."
git push --tags 

55. Build and run Package and Smoke Tests

...

Create a maven settings file ~/.m2/settings.xml with the following content:

No Format

<settings>
<servers>
<server>
     <id>apache.snapshots.https</id>
     <username>APACHE-ID</username>
     <password>APACHE-PASSWORD</password>
   </server>
   <server>
     <id>apache.staging.https</id>
     <username>APACHE-ID</username>
     <password>APACHE-PASSWORD</password>
   </server>
   <server>
     <id>apache.releases.https</id>
     <username>APACHE-ID</username>
     <password>APACHE-PASSWORD</password>
   </server>
</servers>
</settings>

Build the artifacts:

No Format

mvn site
mvn -Prelease package assembly:assembly
 -Prelease package assembly:assembly

The following command deploys the binary release artifacts for iTest, tests and other helper files, checksums, and signatures (you will need to enter a GPG passphrase) to the Apache Staging repo.

No Format
mvn deploy -f bigtop-test-framework/pom.xml
mvn deploy -f bigtop-tests/test-artifacts/pom.xml
mvn deploy -f bigtop-tests/test-execution/pom.xml

If this step fails with an Access denied error check that you have the required permissions on Nexus.

The following command deploys the artifacts, checksums, and signatures (you will might need to enter a GPG passphrase again) to the Apache Staging repo.

No Format

mvn deploy -Prelease -Ppackage -Pdeploy -Pjavadoc

If this step fails with an Access denied error check that you have the required permissions on Nexus.

Login to https://repository.apache.org using your Apache SVN credentials. Click on Staging on the left. Then click on org.apache.whirr orgapachebigtop in the list of repositories. In the panel below you should see an open repository that is linked to your username and IP. Select this repository and click Close. This will close the repository from future deployments and make it available for others to view.

BIGTOP-1463 is open to track the improvements of the release process.

7. Copy Release Artifacts

The artifacts that end up in the distribution directory are the source distributions (along with their checksums and signatures), so they need to be copied from the Maven repo to the release directory on people.apache.org so folks can vote on them:

No Format

ssh people.apache.org
VERSION=X.Y.Z
mkdir ~/public_html/bigtop-$VERSION-RC0
cd ~/public_html/bigtop-$VERSION-RC0
for ext in "" .asc .md5 .sha1; do
  wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachebigtop-[YOUR REPOSITORY ID]/org/apache/bigtop/bigtop/$VERSION/bigtop-$VERSION-src.tar.gz$ext
done

...

Here is an example email:

No Format

To: "Bigtop Developers List" <dev-bigtop@incubator.apache.org>
Subject: [VOTE] Release Bigtop version X.Y.Z

This is the first release for Apache Bigtop (incubating), version X.Y.Z. 

It fixes the following issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311420&version=12318889

*** Please download, test and vote by [3 working days after sending].

Note that we are voting upon the source (tag)

Source and binary files:
http://people.apache.org/~[YOUR USERID]/bigtop-X.Y.Z-RC0

Maven staging repo:
https://repository.apache.org/content/repositories/orgapachebigtop-[YOUR REPOSITORY ID]

The tag to be voted upon:
http://svn.apache.org/repos/asf/incubator/bigtop/tags/release-X.Y.Z

Whirr's KEYS file containing PGP keys we use to sign the release:
http://svn.apache.org/repos/asf/incubator/bigtop/dist/KEYS

...

This step makes the artifacts available on the mirrors.

No Format

ssh people.apache.org
VERSION=X.Y.Z
CANDIDATE=C
svn co https://dist.apache.org/repos/dist/release/bigtop
cd bigtop
cp -r ~/public_html/bigtop-$VERSION-RC$CANDIDATE bigtop-$VERSION
rm stable
ln -s bigtop-$VERSION stable
svn commit

...

Build and Deploy Site

No Format

mvn site-deploy

This will deploy the generated website to /www/bigtop.apache.org/ on people.apache.org. You can SSH there to check that things look OK.

...

Send an email to announce@apache.org (the from: address must be @apache.org). E.g.

No Format

To: announce@apache.org, bigtop-user@incubator.apache.org, bigtop-dev@incubator.apache.org
Subject: [ANNOUNCE] Apache Bigtop X.Y.Z released

The Apache Bigtop (incubating) team is pleased to announce the release of Bigtop X.Y.Z.

The release is available here:
http://www.apache.org/dyn/closer.cgi/bigtop/

The full change log is available here:
https://issues.apache.org/jira/browse/BIGTOP/fixforversion/12315111

We welcome your help and feedback. For more information on how to
report problems, and to get involved, visit the project website at
http://incubator.apache.org/bigtop

The Apache Bigtop Team

...