@@ -26,7 +26,7 @@ Note: This document was updated in the context of releasing Ant
releases is needed.
This document assumes you are familiar with git
http://git-scm.com/book/en/v2/
https ://git-scm.com/book/en/v2/
may be a good guide if you are not.
2. Ensure you have all the external libraries that Ant uses in your
@@ -42,6 +42,12 @@ Note: This document was updated in the context of releasing Ant
the right year and commit and push the change upstream, before
starting any release process.
You will need to have the snapcraft CLI tool installed in order to
create and publish snap archives. See
https://docs.snapcraft.io/snapcraft-overview
Also you will need a launchpad id that is a collaborator of Ant's
snapcraft store organization, Stefan can add you.
3. We don't want tags for failed votes to end up on our branches so
the release is first created from a detached head.
@@ -69,6 +75,7 @@ Note: This document was updated in the context of releasing Ant
* ivy.xml in release subdirectory (version should already be correct here)
* WHATSNEW (version should already be correct here)
* src/etc/testcases/taskdefs/conditions/antversion.xml (version should already be correct here)
* snap/snapcraft.yml
6. Next bootstrap, build and run the tests.
@@ -96,7 +103,7 @@ Note: This document was updated in the context of releasing Ant
9. Ensure that the GPG key you use is inside the KEYS file in Ant's
git repository
<https://git-wip-us .apache.org/repos/asf?p=ant-antlibs-common.git;a=blob;f=KEYS;h=dc62b011b1b429bd6de913f8f2bce79b715f96db;hb=HEAD>
<https://gitbox .apache.org/repos/asf?p=ant-antlibs-common.git;a=blob;f=KEYS;h=dc62b011b1b429bd6de913f8f2bce79b715f96db;hb=HEAD>
- and that you copy the KEYS file to /www/www.apache.org/dist/ant
Also make sure you have sent the key that you use to a public
@@ -114,7 +121,7 @@ Note: This document was updated in the context of releasing Ant
This script requires using commons-openpgp to sign the artefacts,
This tool can be checked out from
http://svn.apache.org/repos/asf/commons/sandbox/openpgp/trunk
https ://svn.apache.org/repos/asf/commons/sandbox/openpgp/trunk
You have to build it using maven.
$ mvn install
@@ -135,7 +142,7 @@ Note: This document was updated in the context of releasing Ant
b. Using gpg
$ for i in distribution/*/*.zip distribution/*/*.gz distribution/*/*.bz2; do gpg --use-agent --detach-sign --armor $i; done
$ for i in distribution/*/*.zip distribution/*/*.gz distribution/*/*.bz2 distribution/*/*.xz ; do gpg --use-agent --detach-sign --armor $i; done
$ for i in java-repository/org/apache/ant/ant*/*/*.jar java-repository/org/apache/ant/ant*/*/*.pom; do gpg --use-agent --detach-sign --armor $i; done
11. Convert the part of the WHATSNEW file covering the changes
@@ -183,7 +190,23 @@ Note: This document was updated in the context of releasing Ant
"Close" on the top of the table listing the uploads make a note of
the location of the staging repository for the vote email
14. Once this is committed send a release vote email on dev@ant.
14. Create the Snap archive and publish it
You may need to login first
$ snapcraft login
And then build and publish
$ snapcraft clean
$ snapcraft snap
$ snapcraft push --release 1.9/candidate ant_*.snap
This will publish the new release snap to the 1.9 track on the
candidate risk level. It will be moved to stable, once the vote
has passed.
15. Once this is committed send a release vote email on dev@ant.
The email will typically mention :
- the git tag for the release including commit hash,
- the location of the tarballs, including revision number in
@@ -193,15 +216,15 @@ Note: This document was updated in the context of releasing Ant
The vote will only pass if at least three PMC members have voted +1
and more +1s than -1s have been cast. The vote will run for 3 days.
15 . If the vote fails, address the problems and recreate the next RC
16 . If the vote fails, address the problems and recreate the next RC
build.
16 . Once the vote has passed, tag the last RC created with the final tag
17 . Once the vote has passed, tag the last RC created with the final tag
$ git tag -s -m "Tagging version 1.9.7 of Ant" rel/1.9.7 HASH_OF_LAST_RC
$ git push --tags
17 . The distrib artifacts should be published the apache dist. It is
18 . The distrib artifacts should be published the apache dist. It is
managed via svnpubsub so the release should be committed to the
subversion repository
https://dist.apache.org/repos/dist/release/ant/.
@@ -221,16 +244,16 @@ Note: This document was updated in the context of releasing Ant
and click the button "Release".
4 hours later, the artifacts will be in the maven central repository.
18 . Update the Apache Reporter System
19 . Update the Apache Reporter System
https://reporter.apache.org/addrelease.html?ant
19 . Address the available version tags in BugZilla. Create new
20 . Address the available version tags in BugZilla. Create new
milestone 1.9.8 and version 1.9.7.
20 . Add a new release tag to doap_Ant.rdf in Ant's site.
21 . Add a new release tag to doap_Ant.rdf in Ant's site.
21 . checkout the 1.9.x branch, merge the tag but don't push the
22 . checkout the 1.9.x branch, merge the tag but don't push the
commit
$ git checkout 1.9.x
@@ -262,6 +285,7 @@ Note: This document was updated in the context of releasing Ant
* ivy.xml in release subdirectory
* WHATSNEW (add a new section)
* src/etc/testcases/taskdefs/conditions/antversion.xml
* snap/snapcraft.yml (bump version to [newversion]alpha)
Amend the merge commit
@@ -275,9 +299,16 @@ Note: This document was updated in the context of releasing Ant
$ git merge 1.9.x
$ git push
23. wait a few hours for the mirrors to catch up
24. copy the candidate snaps to stable. First figure out the revision
$ snapcraft status ant
$ snapcraft release ant REVISION 1.9/stable
where REVISION is the revision you want to promote
25. wait a few hours for the mirrors to catch up
24. Update the ant.apache.org site :
26 . Update the ant.apache.org site :
The website is managed here: https://svn.apache.org/repos/asf/ant/site/ant/
@@ -299,22 +330,22 @@ Note: This document was updated in the context of releasing Ant
Commit the modified/generated files in the 'production' folder, it will go
live on ant.apache.org in a matter on seconds.
25 . At this point in time, the release is done and announcements are made.
27 . At this point in time, the release is done and announcements are made.
PGP-sign your announcement posts.
Apache mailing lists that should get the announcements:
announce@apache.org, dev@ant and user@ant.
26 . You can now reacquaint yourself with your family and friends.
28 . You can now reacquaint yourself with your family and friends.
27 . After a few days "svn rm" the older release artifacts and release
29 . After a few days "svn rm" the older release artifacts and release
notes from https://dist.apache.org/repos/dist/release/ant/
Related Information
http://www.apache.org/dev/#releases
http://commons.apache.org/releases/index.html
http://wiki.apache.org/commons/SigningReleases
https ://www.apache.org/dev/#releases
https ://commons.apache.org/releases/index.html
https ://wiki.apache.org/commons/SigningReleases
Files containing version information
------------------------------------
@@ -326,6 +357,7 @@ Files containing version information
* ivy.xml in release subdirectory
* WHATSNEW
* src/etc/testcases/taskdefs/conditions/antversion.xml
* snap/snapcraft.yml
cover.html, credits.html, POM files, antversion.xml should be
adjusted for the [newversion] right after the build and tagging