...
- 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. - Make sure the year in the NOTICE file is correct. If not, update the NOTICE file with the correct year.
- Checkout out code
git clone https://git-wip-us.apache.org/repos/asf/incubator-rya.git incubator-rya
cd incubator-rya
- Create release candidate branch from master. Name the branch <releaseVersion>-RC<N>
Code Block |
---|
git checkout -b 3.2.10-RC2 master |
5. Build Rya, prepare and perform release. This takes about 50 minutes. At this point you must have the gpg-agent running and probably have the password cached. It has failed without asking. See the preparation section for details on testing private key use (6c). It will ask several things, release names quoted below, and Apache committer username and password a few times, currently 3 times.
Code Block |
---|
mvn clean release:prepare -Pgeoindexing -Pbenchmark -Pgiraph -Darguments="-DskipTests" |
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: : |
For the next step, create file: settings.xml containing your Apache Nexus username and password. Make sure you remove the password after your done. You can checking your password by logging in at: https://repository.apache.org/
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> <id>apache.releases.https</id> <username>PUT_USERID_HERE</username> <password>PUTPASSWORDHERE</password> </server> </servers> <pluginGroups></pluginGroups> <proxies></proxies> <mirrors></mirrors> <profiles></profiles> </settings> |
Then perform the release for the release candidate. If this command fails with "Return code is: 401, ReasonPhrase: Unauthorized." then your user/password is wrong, or you already have a file with the same name. See this for troubleshooting: https://stackoverflow.com/questions/24830610/why-am-i-getting-a-401-unauthorized-error-in-maven
Code Block |
---|
mvn release:perform -Darguments="-DskipTests" |
46. Add the artifacts to dist
Code Block |
---|
cd .. svn checkout https://dist.apache.org/repos/dist/dev/incubator/rya cd rya mkdir rya-incubating-3.2.10-rc3 cd rya-incubating-3.2.10-rc3 cp ../../incubator-rya/target/checkout/target/rya-project-3.2.10-incubating-source-release.zip* . openssl sha512 -r rya-project-3.2.10-incubating-source-release.zip > rya-project-3.2.10-incubating-source-release.zip.sha512 cd .. svn add rya-incubating-3.2.10-rc3 svn commit -m "Adding rya-incubating-3.2.10-rc3" |
57. Check that your keys are in the file: KEYS . It is here: https://dist.apache.org/repos/dist/release/incubator/rya/KEYS
If not, see Release Manager Dependencies section above.
- 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 (note that md5 and sha1 are no longer considered useful; sha512 is recommended):
https://www.openoffice.org/download/checksums.html
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
find . -type f | grep -v '\/target\/\|\/test\/\|\/site\/\|\.java\|\.xml\|\.xsl\|\.groovy\|\.properties\|\.sh\|\.bat\|\.md\|\.txt' |
Code Block | ||
---|---|---|
| ||
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: SHA512: b6ae761aa42f80e1cb84bb645184e29e4436eaaaf66aa7249aa65b6adb38f3dfdd9a6f8b536eb0e2de88ac75cc2a0c8d97d85b4dd0ffef7f9407e05642110b3f 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 at least 72 hours and close after <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 IPMC - usually mentors) +1 (non binding): (Everyone else, including PPMC members) (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 IPMC)
+1 (non binding):
(Members of PPMC)
(Everyone else)
Thank you all for voting!
I will promote the artifacts to the central repository.
|
Code Block |
---|
To: announce@apache.org, 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. [Include highlights of changes in this release] 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. |
...
After the release has been approved by IPMC
- Release the Jars
- Go to https://repository.apache.org/ and release the staging repository
Copy dist/dev artifacts to dist/release
Code Block ### Starting from the folder where you svn checkout for the RC3: mv rya ryadev # first rename the RC3 dist/dev repo svn checkout https://dist.apache.org/repos/dist/release/incubator/rya mv rya ryarelease cd ryarelease mv ../ryadev/rya-incubating-3.2.10-rc3 ./ mv rya-incubating-3.2.10-rc3 rya-incubating-3.2.10 svn add rya-incubating-3.2.10 svn commit -m "Adding rya-incubating-3.2.10"
- Create a rel/ tag in Git
git checkout rya-incubating-3.2.10-rc3
git tag -a rel/rya-incubating-3.2.10 -m "rya-incubating-3.2.10 Release"
git push origin rel/rya-incubating-3.2.10
- Merge Release branch into Master and Delete Release Branch
git checkout master
- git pull origin
git merge 3.2.10-RC3
- git push origin master
- If everything looks great, delete the branches:
git push origin --delete 3.2.11-RC3
git push origin --delete 3.2.11-RC2
git push origin --delete 3.2.11-RC1 - And tags:
git push --delete origin rya-incubating-3.2.10-rc2
git push --delete origin rya-incubating-3.2.10-rc1
git tag --delete rya-incubating-3.2.10-rc1 ### local repo
git tag --delete rya-incubating-3.2.10-rc2 ### local repo - Update the website, see instructions on this wiki
- Update the project status file at https://svn.apache.org/repos/asf/incubator/public/trunk/content/projects/
- Send out an announce emailemail
- Announce the release on Twitter
References:
http://www.apache.org/dev/publishing-maven-artifacts.html
...