Add a new release notes file in releasenotes.
Update latest_version and latest_snapshot (if necessary) in _config.yml
Add the release to the DOAP file
Publish the API docs for the release.
See http://www.apache.org/dev/publishing-maven-artifacts.html for the details. You should already have a Nexus account created for you automatically. If you aren't able to log in to https://repository.apache.org, and you're a jclouds committer, you should probably open a JIRA with INFRA.
Make sure you've got a GPG signing key set up. See http://www.apache.org/dev/release-signing.html for details.
Associate your key with your ASF account by adding the fingerprint at https://id.apache.org/.
If/when you can, get linked into the Apache Web of Trust.
<profile> <id>apache-release</id> <properties> <gpg.useagent>true</gpg.useagent> <gpg.passphrase>[GPG_PASSWORD]</gpg.passphrase> </properties> </profile> |
You will need to be subscribed to all mailing lists to which announcements need to be sent.
Check that your Git username and email are set to match your Apache account.
Run mvn --version and verify that you are using a Java 7 JDK for 1.9.x or newer releases.
export MAVEN_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=1024m"
Go to https://git-wip-us.apache.org/repos/asf?p=jclouds.git (or equivalent) and find the link to the tag you just pushed - copy that and the associated commit hash aside, since you'll need them for the vote email.
Checkout https://dist.apache.org/repos/dist/dev/jclouds. Create a new directory for the RC, i.e., 1.6.3-rc1.
./fetch_jclouds_rc.sh 1.6.3 https://repository.apache.org/content/repositories/orgapachejclouds-016 1.6.3-rc1/
It's not a bad idea to try taking each of the tarballs, blowing them up and then building, with a standard mvn clean install. Remember that RAT checks are done as part of the Maven build, so you don't need to run those separately.
svn add the new directory, as well as svn rm'ing any old RCs in the same line (i.e., any older 1.6.x RC). svn ci, and use that link under https://dist.apache.org/repos/dist/dev/jclouds/ for the release vote email.
Get the JIRA release notes for the release by going to https://issues.apache.org/jira/secure/ConfigureReleaseNote.jspa?projectId=12314430 and choosing HTML and the version you're releasing. Save that link for inclusion in the vote/discuss emails.
Send two emails to dev@jclouds.apache.org, a [VOTE] thread and a [DISCUSS] thread. Set an end time for the vote, generally 72 hours from when you're sending it (but it's generally considerate to round up, and not a bad idea to give an extra day if the release vote window goes over the weekend). Example templates for the emails are below. Replace links, versions, RC numbers, release note link, etc.
Subject: [VOTE] Release Apache jclouds 1.6.3 RC3 Body: Hello, This is the third release candidate for Apache jclouds 1.6.3. Please use the separate [DISCUSS] thread for anything but votes. It fixes the following issues: https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12324412&styleName=Html&projectId=12314430 *** Please download, test and vote by Saturday, June 15th, 09:00 PDT / 12:00 EDT / 18:00 CET. Note that we are voting upon the source (tag), binaries are provided for convenience. Source and binary files: https://dist.apache.org/repos/dist/dev/jclouds/jclouds-1.6.3-candidate-3 Maven staging repo: https://repository.apache.org/content/repositories/orgapachejclouds-016 The tags to be voted upon: - jclouds - https://git-wip-us.apache.org/repos/asf?p=jclouds.git;a=tag;h=8ed5571b0ecf7d79c64bc16642264684882f0311 (SHA-1: 079f9f0bcc9a4374cc73692fc16c5423b70fecbe) - jclouds-labs - https://git-wip-us.apache.org/repos/asf?p=jclouds-labs.git;a=tag;h=54b084e474e0c22b539ed7cce0b0ebbc82b310cb (SHA-1: da9de656e7f9ae9706a287a45ecfe60e79833ae9) - jclouds-labs-aws - https://git-wip-us.apache.org/repos/asf?p=jclouds-labs-aws.git;a=tag;h=54b084e474e0c22b539ed7cce0b0ebbc82b310cb (SHA-1: da9de656e7f9ae9706a287a45ecfe60e79833ae9) - jclouds-labs-google - https://git-wip-us.apache.org/repos/asf?p=jclouds-labs-google.git;a=tag;h=54b084e474e0c22b539ed7cce0b0ebbc82b310cb (SHA-1: da9de656e7f9ae9706a287a45ecfe60e79833ae9) - jclouds-labs-openstack - https://git-wip-us.apache.org/repos/asf?p=jclouds-labs-openstack.git;a=tag;h=54b084e474e0c22b539ed7cce0b0ebbc82b310cb (SHA-1: da9de656e7f9ae9706a287a45ecfe60e79833ae9) - jclouds-karaf - https://git-wip-us.apache.org/repos/asf?p=jclouds-karaf.git;a=tag;h=9e1f0d14285c8edeb35499f313aa7dbfab4a86f6 (SHA-1: 4b515ee6bf7b2bcc25747b75f7ccd87e4768f66a) - jclouds-cli - https://git-wip-us.apache.org/repos/asf?p=jclouds-cli.git;a=tag;h=2e3575f56de2bf67469782d94d72ce8e621ddda5 (SHA-1: adfe2e213bb0121d1faa6b7c135c092b70a93504) jclouds KEYS file containing PGP keys we use to sign the release: http://www.apache.org/dist/jclouds/KEYS [ ] +1 [ ] 0 (explain why) [ ] -1 (explain why)
Subject: [DISCUSS] Release Apache jclouds 1.6.3 RC3 Body: This thread is for discussion of the third release candidate for Apache jclouds 1.6.3. Please use this thread for discussion of issues uncovered in the RC, questions you may have about the RC, etc. Thank you.
Reply to the [VOTE] thread on dev@jclouds.apache.org announcing the cancellation of the vote. Modify the template as appropriate.
Subject: [CANCEL][VOTE] Release Apache jclouds 1.6.3 RC3 Body: This vote is being cancelled due to issues uncovered during validation. A new release candidate will be created once these issues have been addressed. Thank you.
Revert (using git revert) the release commits and push them to the remote repos.
Reply to the [VOTE] thread on dev@jclouds.apache.org announcing the closure of the vote, regardless of its outcome, and give the vote counts. Modify the template as appropriate.
Subject: [RESULT][VOTE] Release Apache jclouds 1.6.3 RC3 Body: The vote is now closed, and with X binding +1s, we're ready to release/this vote has not passed.
git tag jclouds-1.6.3 jclouds-1.6.3-rc1
git push origin jclouds-1.6.3
Push the second commit made by the release plugin (which updates the POM versions to the next SNAPSHOT), and commits made to update <jclouds.version> and similar properties
For jclouds-labs-openstack, also run mvn versions:update-parent -DparentVersion="[1.6.4-SNAPSHOT]" or whatever the new version is, commit, push.
Checkout https://dist.apache.org/repos/dist/release/jclouds. Create a new directory for the release, i.e., 1.6.3. Copy the release artifacts from the RC into that directory. Point the stable symlink to that new directory. svn add the new directory and the stable symlink, as well as svn rm'ing any old releases in the same line (i.e., any older 1.6.x releases) - these are archived on archive.apache.org, but shouldn't be in the primary dist area. svn ci - your added files should show up on http://www.apache.org/dist/jclouds shortly, but will take a while to propagate to the various mirrors.
While waiting, go to https://repository.apache.org, log in, and go to Staging Repositories. Select the staging repo for the RC, and click Release - this will move the artifacts into the releases repo, and from there they'll be synced to Maven Central as well.
Once the release bits have shown up on the mirrors, send the following email, updating the content accordingly, to announce@apache.org, dev@jclouds.apache.org and user@jclouds.apache.org:
Subject: [ANNOUNCE] Apache jclouds 1.6.3 released Body: The Apache jclouds team is pleased to announce the release of jclouds 1.6.3. Apache jclouds is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features. The source archives for the release are available here: http://www.apache.org/dyn/closer.cgi/jclouds The Maven artifacts for the release are available in Maven Central, under the org.apache.jclouds group ID. The full change log is available here: https://issues.apache.org/jira/browse/JCLOUDS/fixforversion/12324412 We welcome your help and feedback. For more information on how to report problems, and to get involved, visit the project website at http://jclouds.apache.org/ The Apache jclouds Team