Table of Contents |
---|
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/
- Your KEYS will then be present in: https://people
- oodt.asc
- Double check that your key is present in KEYS file at http://github.com/apache/oodt/tree/master/KEYS
- 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:
Code Block title Update RADIX linenumbers true mvn archetype:generate -DarchetypeGroupId=org.apache.oodt \ -DarchetypeArtifactId=radix-archetype -DarchetypeVersion=1.0.7 \ // update -DarchetypeVersion value -Doodt=0.79 -DgroupId=com.mycompany \ // update -Doodt value -DartifactId=oodt -Dversion=0.1
- Commit these changes
Verify RAT license checks
Code Block mvn -Paudit package
- 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
Code Block mvn test && cd agility && python setup.py test
- 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!
SVN Git checkout latest trunkmaster
Warning title Warning 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).
Code Block mvn release:prepare
- 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.
Code Block mvn release:perform
(this will create a X.Y release tag in SVN 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).
Warning title Warning 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 and also svn the <version> tag KEYS file
- 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
Code Block unzip oodt-<version>-source-release.zip; mv oodt-<version>-source-release apache-oodt-<version>-src ; zip -r apache-oodt-<version>-src.zip apache-oodt-<version>-src
create yourself a script called "apache-sign-binsrc.tcsh"
Code Block #!/bin/tcsh foreach f (*.tar.gz *.zip) gpg --armor --output $f.asc --detach-sig $f openssl md5 $f > $f.md5 openssl sha1 $f > $f.sha1 end
- run apache-sign-binsrc.tcsh on your tmp directory.
Add sha256 and sha512 checksums for the src.zip file. Suffix each checksum with
.sha256
or.sha512
accordingly. 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 dev@oodt.apache.org:
No Format Hi Folks, I have posted a [Nth] release candidate for the Apache OODT <version> release. The source code is at: https://dist.apache.org/repos/dist/dev/oodt/ For more detailed information, see the included CHANGES.txt file for details on release contents and latest changes. The release was made using the OODT release process, documented on the Wiki here: https://cwiki.apache.org/confluence/display/OODT/Release+Process The release was made from the OODT <version> tag (r<number>) at: http://svn.apache.org/repos/asf/oodt/tags/<version>/ A staged Maven repository is available at: <paste link to repository.apache.org link here> Please vote on releasing these packages as Apache OODT <version>. The vote is open for at least the next 72 hours. Only votes from OODT PMC are binding, but folks are welcome to check the release candidate and voice their approval or disapproval. The vote passes if at least three binding +1 votes are cast. [ ] +1 Release the packages as Apache OODT <version> [ ] -1 Do not release the packages because... Thanks! <Signed Release Manager> P.S. Here is my +1.
- If VOTE passes with 3+ OODT PMC votes, move onto next step. If VOTE does not pass, repeat steps 3-on until it does.Create a maintenance branch version https://svn.apache.org/repos/asf/oodt/branches/<version>. This should be created from the VOTEd on tag.
Publish to PyPi
Code Block cd $OODT/agility
Code Block python setup.py egg_info -Rb '' sdist register upload
- Publish to Maven Central
visit repository.apache.org and click Release on your staged repository. - svn move source tarballzip, KEYS file, 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
KEYS
file in the mirror sites. Therefore, add and commit theKEYS
file 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 announce@a.o and dev@oodt.a.o and user@oodt.a.o. 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