Versions Compared

Key

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

Currently, this is just a collection area for my rough notes and what-not.  It will soon be a much cleaner guide.

 

Speaking of guides, here Here are a bunch of good onesguides:

http://accumulo.apache.org/releasing.html
http://accumulo.apache.org/verifying_releases.html

...

The mechanics of the release  

Release Manager

...

First-Time Preparation

Before a Release Manager begins cutting a release of Apache Rya, there are a handful of Dependencies and one-time Prerequisites they need to satisfy:

...

Staging a release (super short edition):

1.Checkout out code
  1. Communicate: Give notice of the intent and timing of the release to the developer's list:  dev@rya.incubator.apache.org
    Later, request descriptions for the release notes.  A day before cutting a release candidate, do a last call for Pull requests.

  2. Checkout out code 
    git clone https://git-wip
git clone https://git-wip
  1. -us.apache.org/repos/asf/incubator-rya.git incubator-rya-apache
2.

  1. Create release candidate branch from master.  Name the branch <releaseVersion>-RC<N>

 

Code Block
git checkout -b 3.2.10-RC2 master

 

...

 

Code Block
What is the release version for "Apache Rya Project"? (org.apache.rya:rya-project) 3.2.10-incubating: : 
What is SCM release tag or label for "Apache Rya Project"? (org.apache.rya:rya-project) v3.2.10-incubating: : rya-incubating-3.2.10-rc2
What is the new development version for "Apache Rya Project"? (org.apache.rya:rya-project) 3.2.11-incubating-SNAPSHOT: : 

 

 

Code Block
mvn release:perform -Darguments="-DskipTests"

 

add 4. Add the artifacts to dist

Code Block
svn checkout https://dist.apache.org/repos/dist/dev/incubator/rya
(double check that last command)
mkdir rya-incubating-3.2.10-rc3
cd rya-incubating-3.2.10-rc3
 
cp ../../incubator-rya-apache/target/checkout/target/rya-project-3.2.10-incubating-source-release.zip.* .
md5 -r rya-project-3.2.10-incubating-source-release.zip > rya-project-3.2.10-incubating-source-release.zip.md5
shasum -a 1 rya-project-3.2.10-incubating-source-release.zip > rya-project-3.2.10-incubating-source-release.zip.sha1
 
cd ..
 
svn add rya-incubating-3.2.10-rc3
svn commit -m "Adding rya-incubating-3.2.10-rc3"

 

add 5. Add your keys to KEYS (this is a pre-reqSee Release Manager Dependencies section above)

 

6. Once the release has been performed, the artifacts should be in a staging repository:
From "Publishing Maven Artifacts" page:
Now you must close the staging repository to indicate to Nexus that the build is done and to make the artifacts available. Follow the steps in Closing the Staged Repository to close your new repository, this will allow your community to VOTE on the staged artifacts.

7. Download the src artifact and performs some simple tests:

  • Download the sources and verify they compile cleanly.
  • Validate the hashes match.
  • Validate that the sources contain no unexpected binaries.
  • Validate the signature for the build and hashes.
  • Validate the LICENSE/NOTICE/Headers.

 Other release checklists:

http://wiki.apache.org/incubator/ReleaseChecklist

http://incubator.apache.org/guides/releasemanagement.html#check-list


how to verify hashes:

https://www.openoffice.org/download/checksums.html


Code Block
titleCommands to build Rya with a Fresh Maven Repo and Settings.xml
rm DEPENDENCIES
mkdir /tmp/new_m2
cp $M2_HOME/conf/settings.xml /tmp/new_m2/settings.xml
mvn --settings /tmp/new_m2settings.xml -Dmaven.repo.local=/tmp/new_m2 clean package

 

 

Code Block
titleCommand to Check for Binary Files
find . -type f  | grep -v '\/test\/\|\/site\/\|\.java\|\.xml\|\.xsl\|\.groovy\|\.properties\|\.sh\|\.bat\|\.md\|\.txt'

 

 

Code Block
titleFind large files
find . -type f | xargs du -sh | grep [GM]\\s

 

Send out a Vote email (make sure to include some sort of "RC-X" identifier in the vote subject so that we can differentiate them in the archives)

Code Block
To: dev@rya.incubator.apache.org
Subject: [VOTE] Release Rya (Incubating) version 3.2.10 RC1

I am pleased to be calling this vote for the source release of Apache Rya (Incubating), version 3.2.10.
 
The source zip, including signatures, digests, etc. can be found at:
https://dist.apache.org/repos/dist/dev/incubator/rya/rya-incubating-3.2.10-rc2/

Ancillary artifacts such as poms, jars, wars, ect. can be found here:
https://repository.apache.org/content/repositories/orgapacherya-1002/org/apache/rya/rya-project/3.2.10-incubating/

The Git tag is rya-incubating-3.2.10-rc2
The Git commit ID is 9f0d63e6089df172eb3f41957d2956ec0035953a
https://git-wip-us.apache.org/repos/asf?p=incubator-rya.git;a=commit;h=9f0d63e6089df172eb3f41957d2956ec0035953a
 
Checksums of rya-project-3.2.10-source-release.zip:
SHA1: 5f91b695e5bebfa89eee27debfca7a264f81f888
MD5: 5199aee4ca11e3c735f6e8b40f563f09
 
Release artifacts are signed with the following key:
https://people.apache.org/keys/committer/mihalik.asc

KEYS file available here:
https://dist.apache.org/repos/dist/release/incubator/rya/KEYS
 
Issues that were closed/resolved for this release are here:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12334209&styleName=Html&projectId=12319020
 
Issues resolved between RC1 and RC2 are here:
https://issues.apache.org/jira/browse/RYA-184

The vote will be open for 72 hours and close at <Date Time and Timezone>.
Please download the release candidate and evaluate the necessary items including checking hashes, signatures, build from source, and test.  Then please vote:
 
[ ] +1 Release this package as rya-project-3.2.10
[ ] +0 no opinion
[ ] -1 Do not release this package because because...



If the vote was unsuccessful, respond to the dev list with the "Unsuccessful" Vote Email

Code Block
To: dev@rya.incubator.apache.org
Subject: [RESULT] [VOTE] Release Rya (Incubating) version 3.2.10 RC1

Hello,

The vote to release Rya (Incubating) version 3.2.10 RC1 has failed.

+1 (binding):

(Members of PPMC)

+1 (non binding):

(Everyone else)

(List of series of tasks that have been created or already exist that block the release)
The following Jira tasks have been created to capture the issues blocking a successful release:
 
RYA-XXX <Issue Title> [1]
RYA-XXX <Issue Title> [2]
RYA-XXX <Issue Title> [3]


(Create an issue that links to all of these issues)
The following Jira task has been created to capture all of the issues that will be resolved in the next RC:

RYA-XXX Perform 3.2.10-RC<N+1> Release [4]
 
These tasks should address the concerns raised during the voting process.

Since Rya is still incubating, Rya must pass a vote on the general@incubator.apache.org list as well.  

First, create a Result/Vote email on dev:

Code Block
To: dev@rya.incubator.apache.org
Subject: [RESULT] [VOTE] Release Apache Rya (Incubating) version 3.2.10 RC3


This vote passes with +<N> Binding and +<N> Non-binding votes. 
 
+1 (binding):

(Members of PPMC)


+1 (non binding):

(Everyone else)
 
I'll be sending a vote email to the IPMC soon
 

The create an email on the IPMC Email:

Code Block
To: dev@rya.incubator.apache.org, general@incubator.apache.org
Subject: [VOTE] Release Apache Rya (Incubating) version 3.2.10 RC3

The Apache Rya community has voted and approved the proposed release of Apache Rya 3.2.10 (Incubating) RC3.


We now kindly request the Incubator PMC members review and vote on this incubator release.

Rya (pronounced "ree-uh" /rēə/) is a cloud-based RDF triple store that supports SPARQL queries. Rya is a scalable RDF data management system built on top of Apache Accumulo®. Rya uses novel storage methods, indexing schemes, and query processing techniques that scale to billions of triples across multiple nodes. Rya provides fast and easy access to the data through SPARQL, a conventional query mechanism for RDF data. More information can be found at http://rya.incubator.apache.org/

[VOTE] Thread:
https://lists.apache.org/thread.html/01d692717b2ee088253fa96c42759309a2a4d2aaf9867905bc473fa7@%3Cdev.rya.apache.org%3E

[VOTE RESULT] Thread:
https://lists.apache.org/thread.html/e58e7456987d74f11a0698fd5d4dde436bd83016baa269c149f03511@%3Cdev.rya.apache.org%3E
 
<cut and paste from vote email on dev list.

 

Final Release Email

Code Block
To: dev@rya.incubator.apache.org, general@incubator.apache.org
Subject: [RESULT] [VOTE] Release Rya (Incubating) version 3.2.10 RC1

Hello,

The vote to release Rya (Incubating) version 3.2.10 RC1 has passed.

+1 (binding):

(Members of PPMC)
(Members of IPMC)



+1 (non binding):

(Everyone else)

I will promote the artifacts to the central repo.
 
Code Block
To: dev@rya.incubator.apache.org, general@incubator.apache.org
Subject: [ANNOUNCE] Apache Rya 3.2.10-incubating released
 
The Apache Rya (Incubating) team is happy to announce the release of Apache Rya 3.2.10-incubating:

https://rya.incubator.apache.org/release/rya-3.2.10-incubating/

Rya (pronounced "ree-uh" /rēə/) is a cloud-based RDF triple store that supports SPARQL queries. Rya is a scalable RDF data management system built on top of Apache Accumulo®. Rya uses novel storage methods, indexing schemes, and query processing techniques that scale to billions of triples across multiple nodes. Rya provides fast and easy access to the data through SPARQL, a conventional query mechanism for RDF data.


Thanks,
The Apache Rya team

=====

*Disclaimer*

Apache Rya (incubating) is an effort undergoing Incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.



If there is something wrong with the staging repo:
delete the tag:

...

When merging a pull request, it's important to verify whether or not new commits are pulling in any third party

dependencies that are incompatible with ASF.  To check whether the pull request contains invalid dependencies issue

the following command in your terminal:

Code Block
>> mvn license:aggregate-add-third-party
 

This will generate a file THIRD-PARTY.txt in the directory target/generated-sources/license/ that lists the license for each java file in the jar.  You can now grep the directory for all licenses which are

not ASF approved licenses. 

The following command does a case insensitive search over all instances of THIRD-PARTY.txt in the project for licenses that are not in the list approved Apache Licenses .

Code Block
egrep -iv "BSD|ASF|MIT|CDDL|EPL|Apache|Eclipse|Public Domain" target/generated-sources/license/THIRD-PARTY.txt

 

The above grep command does a case insensitive search over all instances of THIRD-PARTY.txt in the project for licenses that are not in the list approved Apache Licenses .

 

Other note on license from david lotts:
How to do this:
How to discover all the licenses for all the included libraries:  http://stackoverflow.com/questions/3500388/finding-out-the-licenses-of-jar-libraries

The Maven "Project Info Reports" plugin produces a Dependencies report that includes the Licenses for the dependencies.


...