|
- Instructions for making a Release:
-
- Author: Conor MacNeill
-
- Note: This document was created in the context of releasing Ant 1.5.
- Please interpret the branch names, tags, etc. according to
- your context.
-
- 1. Propose a release plan for vote. This should set out the timetable for
- the release under ideal circumstances. The level of bugs reported
- can delay things. Generally, give a few weeks to "close" the source tree
- to further changes so people can finalise contributions, etc. At this time,
- the first beta will be cut and there will be then a period of beta testing,
- usually 1 month but this should be flexible.
-
- 2. Note that any mention of a deadline causes a flood of bug fixes, new tasks,
- etc. This needs to be managed as best it can. Some fixes will be applied,
- others held over. Make this clear in the release plan. The committers and
- particularly the release manager will need to make judgement calls here.
- Anything too "big" is likely to be held over.
-
- 3. Once the freeze date arrives, create a branch for the release builds. You
- will need to be comfortable in handling CVS branches with mutliple
- merge-backs to the main branch and even selected merges from the the main
- branch to the release branch.
-
- For more information on performing branching and merging, please visit
- http://www.durak.org/cvswebsites/doc/cvs_54.php#SEC54
-
- Label such branches ANT_15_BRANCH.
-
- 4. Once the branch is setup, the version numbers in CVS are changed. On the
- branch, the build.xml version becomes 1.5Beta1 while the main branch is
- updated to 1.6alpha.
-
- [[ TODO: Check if the documentation files also need to be updated to point
- to the right areas of Ant's website. ]]
-
- 5. Ensure you have all the external libraries that Ant uses in your
- lib/optional directory. To find out what libraries you need, execute
- the build with -verbose option and scan for lines beginning with
- "Unable to load...".
-
- 6. Next bootstrap, build and run the tests. Then build the distribution
- on the branch. It is important that this be a clean build. Label this with
- a tag ANT_15_B1.
-
- 7. Sign the distribution files using the following simple script
- #!/bin/sh
- for i in distribution/*
- do
- echo "Signing " $i
- gpg -a -b $i
- done
-
- Try to do this on Linux since the gpg signatures generated on Windows may
- cause some PGP users problems verifying signatures even though they seem
- OK.
-
- 8. The beta distribution is now ready to go. Bundle it up into a tar.gz file and
- scp to your apache account.
-
- 9. Meanwhile, convert the WHATSNEW file into HTML for the README file on the
- website. See the previous release directories for examples of these files.
- Add instructions and warnings (GNU tar format issues, etc).
-
- You may choose to use the text2html convertor present at
- http://www.aigeek.com/txt2html/
-
- [[ TODO: This must perhaps be an Ant task. ]]
-
- 10. Once this is uploaded, unpack things, create the release directory,
- something like v1.5Beta1, push the release and README files into this
- directory.
-
- 11. Address the available release tags in BugZilla. Create a new tag 1.5Beta1
- and a 1.6alpha. Assign all existing 1.5 alpha bugs to one of these release
- labels.
-
- 12. Once that is done, do a test download to make sure everything is OK. If it
- looks OK, announce it on ant-dev and ant-user. After a few days pass and
- there are no major problems, a wider announcement is made (main jakarta
- website, general and announce lists, etc).
-
- 13. As problems in the beta are discovered, there may be a need for one or more
- subsequent betas. The release manager makes this call. Each time, the
- versions are updated and the above process is repeated. Try not to have
- too many betas.
-
- 14. Try to advertise the need for testing of the betas as much as possible.
- This would eliminate the need to release minor patch versions like
- we had to do when releasing Ant 1.4.
-
- To monitor the number of downloads, look at the access_log
- file under /usr/local/apache2/logs
-
- 15. When the final beta is considered OK, propose a vote on ant-dev to
- officially adopt the latest beta as the Ant 1.5 release. If it is passed,
- (it usually does,) this would be labelled ANT_15 and built in a similar
- fashion to the above process.
-
- 16. Now and perhaps during previous betas any changes on the branch must
- be merged back into the tree.
-
- 17. At this point in time, the release is done and announcements are made.
-
- [[TODO: Identify the mailing lists where announcements are to be made.
- Also identify the webpages to which the announcements must go. ]]
-
- 18. You can now reacquaint yourself with your family and friends.
|