How to release
This page documents the Apache OODT release process. Hold on to your butts.
- Create a new release in JIRA. If you do not have permissions to do so just ask to be assigned privileges on the mailing list or in IRC.
- Push off all open issues to the next release; any critical or blocker issues should be resolved on mailing list. Discuss any issues that you are unsure of on the mailing list.
- Make sure you have your PGP key entered into https://id.apache.org/
- Update CHANGES.txt to reflect release date
Update the RADIX script to pull the new version of OODT you are about to release. e.g., for 0.9:
- Commit these changes
Verify RAT license checks
- if all well from preceding step then move onto next step, else let folks know and file JIRA issues; fix them
- Test out the code and make sure tests pass
- if all well from preceding step, run mvn clean, and proceed to the mvn release:prepare step, else file JIRA issues against <version> in JIRA and let folks known on dev list; fix them NOTE: if you are following these instructions word for word (e.g.: building on people.apache.org) and get lots of File Manager errors, it could be from the dreaded "mvn can't write to /tmp" problem. If you can run the above commands on a copy checked out locally (i.e.: on a machine where you're sure maven has write access to the /tmp directory), and it builds, then consider the above step to have passed!
Git checkout latest master
Make sure to set your MAVEN_OPTS environment variable before running release:prepare and release:perform. You'll want to extend its memory to the following settings "-Xms128m -Xmx256m". You may also need to set MAVEN_OPTS instead to "-Xmx1024m -XX:MaxPermSize=256m" (seen with the 0.7 release on Mac OS X 10.8.5, Java build 1.7.0_25-b15 and Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500).
- answer all questions yes e.g., "is version <version> without the -SNAPSHOT" except for the one about the tags directory. do not accept the default value, change it to <version>, e.g, if it's 0.5, then change it from oodt-0.5 to 0.5.
(this will create a X.Y release tag in Git that you can use for VOTE'ing in your VOTE email. It will also create a staged repository at http://repository.apache.org. Check the staged repository and if all looks well, close the repository, but don't release it yet).
Per http://www.apache.org/dev/release.html#upload-ci we have new RC upload guidance!
- svn co https://dist.apache.org/repos/dist/dev/oodt/
- cd oodt
- svn add the <version> tag CHANGES.txt file (and rename it with the appropriate <version>) there
- mkdir tmp
- copy the source zip file from target/checkout/target directory in the same checkout where you run mvn release:perform (it's usually named oodt-<version>-source-release.zip) and copy it to tmp.
- Grab the oodt-<version>.pom file and its associated ASC signature. svn add the pom and the pom's ASC file. Don't add the zip yet (see below).
- cd tmp
- unzip oodt-<version>-source-release.zip and repackage it as apache-oodt-<version>-src.zip
Add sha256 and sha512 checksums for the src.zip file. Suffix each checksum with
.sha512accordingly. See https://infra.apache.org/release-distribution#sigs-and-sums for more information
- svn add .
- svn commit
Send an email like the following (with subject line: VOTE Apache OODT <version> release) to email@example.com:
- If VOTE passes with 3+ OODT PMC votes, move onto next step. If VOTE does not pass, repeat steps 3-on until it does.
Publish to PyPi
- Publish to Maven Central
visit repository.apache.org and click Release on your staged repository.
- svn move source zip, CHANGES file, checksums (sha1, and md5), and keysign file (asc) from https://dist.apache.org/repos/dist/dev/oodt/ to https://dist.apache.org/repos/dist/release/oodt/
- As per https://people.apache.org/keys/, we should include the
KEYSfile in the mirror sites. Therefore, add and commit the
KEYSfile to the https://dist.apache.org/repos/dist/release/oodt/ directory.
- Wait for versions to hit the mirrors (hint: keep checking http://www.apache.org/dyn/closer.cgi/oodt until you see something).
- Once release hits send announcement email to firstname.lastname@example.org and email@example.com and firstname.lastname@example.org. This needs to be done from your @apache.org email address or the email will bounce from the announce list. Gmail forwarding can help here and is a snap to set up (http://gmailblog.blogspot.com/2009/07/send-mail-from-another-address-without.html). It's even easier then the instructions there as it will recognize your email address and default to Apache settings. It is important to include a description of what OODT is as well as a link to the updated DOAP within the release announcement, this is so others know what OODT is.
- Update the website with instructions from How to Publish the OODT Web Site