Release Process¶
Preparation¶
The following process uses various release version numbers throughout. Modify this according to the current release.- common.properties
8. Generate an SVN log file. To do this use:svn log -r HEAD:561 -v > KOWARI-MODIFICATIONS/mods-mulgara-ver.txt
Replace the ver part of the filename with the new release number. Replace the number shown (561) with the previous release point. This will be 1 larger than the first line in the most recent mods-mulgara- file found in KOWARI-MODIFICATIONS, or the last number in the comments section of this page. (Please keep these comments up to date with the release).
9. Create a checkpoint:svn cp http://mulgara.org/svn/mulgara/trunk http://mulgara.org/svn/mulgara/tags/release-1.1.0-final
Use an appropriate release name/version. Subversion will then prompt for a message on the tag. (We used to use https here and not http. Both still work, but http is faster)
1. Clear all release-blocker bugs (or downgrade and carry forward), as reflected in the issue tracking system.
2. For major releases, announce a code freeze date to the developer mailing list. Wait until the code freeze occurs. Minor releases are typically about minor new features and bug fixes, so we are not worrying about a freeze (release early, release often).
3. Test EVERYTHING and make sure all tests pass. Seriously.
4. Validate that all the third-party code (in .../lib) has appropriate entries in the file LEGAL.txt. Ensure that the URLs to each are current. Ensure that the licenses for each are compatible with the project license and each other. Update LEGAL.txt accordingly.
5. Verify that the file LEGAL.txt still applies (e.g. check for new versions). Update that file.
6. Ensure that the version number is up to date in:
Release script¶
The following steps are all run automatically by the create_release_file.sh script. The steps are described here (using a version number of 1.1.0):
1. Export the release. This can be done on a developer machine, but is more efficient on the server. This means that the server needs to get its own checkout first. The script puts this checkout into ~/src/mulgara:
cd ~/src/mulgara
svn co http://mulgara.org/svn/mulgara/tags/release-1.1.0-final release-1.1.0-final
mkdir ~/src/mulgara/release
svn export release-1.1.0-final ~/src/mulgara/release/mulgara-1.1.0
2. Create a temporary release directory:
mkdir /tmp/v1.1.0
3. Create the source archive from the new export, and copy to the release directory:
cd ~/src/mulgara/release
tar czf mulgara-1.1.0-src.tar.gz mulgara-1.1.0
zip -r mulgara-1.1.0-src.zip mulgara-1.1.0
cp mulgara-1.1.0-src.tar.gz mulgara-1.1.0-src.zip /tmp/v1.1.0
4. Build a distribution in a checkout:
cd ~/src/mulgara/release/mulgara-1.1.0/
./build.sh dist
cd ~/src/mulgara/release
5. Create a temporary distribution directory, and copy the mulgara and querylang jars there (note that querylang was itql until v2.0.4):
mkdir -p ~/src/mulgara/release/tmp/mulgara-1.1.0/dist
cp mulgara-1.1.0/dist/mulgara-1.1.0.jar tmp/mulgara-1.1.0/dist
cp mulgara-1.1.0/dist/querylang-1.1.0.jar tmp/mulgara-1.1.0/dist
6. Create the binary archive from these two jar files:
cd ~/src/mulgara/release/tmp
tar czf mulgara-1.1.0-bin.tar.gz mulgara-1.1.0
zip -r mulgara-1.1.0-bin.zip mulgara-1.1.0
7. Copy the remaining distribution jars to the distribution directory. Then repeat the last step to create the -bin-all archives:
cp ../mulgara-1.1.0/dist/*.[jw]ar mulgara-1.1.0/dist
tar czf mulgara-1.1.0-bin-all.tar.gz mulgara-1.1.0
zip -r mulgara-1.1.0-bin-all.zip mulgara-1.1.0
8. Copy all the binary archives to the release directory:
cp *.tar.gz *.zip /tmp/v1.1.0
9. Change to the release directory, and generate the MD5 sums:
cd /tmp/v1.1.0
for i in *; do md5sum $i > $i.md5; done
Site Update¶
Once all the files are generated, they can be moved into place:
1. Move the temporary release directory into place on the web server:
# on the server - this is not svn
mv /tmp/v2.1.5 ~/pag/files
We used to use the following, but svn was taking up too much space for all of these updates:
# presume that the web SVN is in ~/www
cd ~/www/mulgara-web
svn update
mv /tmp/v1.1.0 files
svn add files/v1.1.0
svn commit -m "New release" # or a better comment if you prefer
2. Update the Web site via your subversion checkout (add a release notes page, update the downloads page, update news, and the main page).
*** Also update Download with the new MD5 sums. You can get this as a formatted block with:
cat *.md5 > tmpfile
vi tmpfile
:%s#^\([^ ]*\) \(.*\)#<tr><td>\2</td><td>\1</td></tr>#
- The images/downloadNow.png file needs to be updated to reflect the version number. This requires Photoshop (maybe we should go with an unchanging image to avoid the need for Photoshop?). The photoshop file is in files/misc/downloadNow.psd.
- Go through the modifications file (in KOWARI-MODIFICATIONS) to list all the updates, fixes, etc, present in this release. Try to maintain consistency with previous releases.
- Update the front page and download page in the wiki: http://mulgara.org/trac/wiki/Download
3. Commit all these changes to the site:svn commit -m "Updated pages for new release"
4. Checkout locally and play with the new pages. Try to make sure it all looks good, and that the links work. If you don't have a checkout, then you can get it with:svn co http://mulgara.org/svn/mulgara-web mulgara-web
5. Back on the server, place updates on the web site:cd /var/www/mulgara-web svn update
23. Announce the release to the mailing lists (mulgara-general@mulgara.org and mulgara-dev@mulgara.org)
Comments¶
----
The revision number for release 1.0.0 was 80.
Posted by Paul Gearon at Jul 16, 2007
----
The revision number for release 1.1.0 was 306.
Posted by Paul Gearon at Jul 16, 2007
----
Remember to make sure that http://docs.mulgara.org/index.htmlhas been updated to reflect the latest version number.
Posted by Paul Gearon at Jul 24, 2007
----
release 1.1.0 was actually revision 324
Posted by Paul Gearon at Nov 15, 2007
----
release 1.1.1 was revision 560
Posted by Paul Gearon at Apr 02, 2008
----
release 1.2 was revision 730
Posted by Paul Gearon at Apr 04, 2008
----
release 1.2.1 was revision 739
Posted by Paul Gearon at Apr 04, 2008
----
release 2.0-alpha was revision 948
Posted by Paul Gearon at May 15, 2008
----
release 2.0-beta was revision 1051
Posted by Paul Gearon at July 21, 2008
----
release 2.0.0 was revision 1106
Posted by Paul Gearon at July 23, 2008
----
release 2.0.1 was revision 1139
Posted by Paul Gearon at August 9, 2008
----
release 2.0.2 was revision 1151
Posted by Paul Gearon at August 22, 2008
----
release 2.0.3 was revision 1206
Posted by Paul Gearon at August 29, 2008
----
release 2.0.4 was revision 1235
Posted by Paul Gearon at September 4, 2008
----
release 2.0.5 was revision 1247
Posted by Paul Gearon at September 5, 2008
----
release 2.0.6 was revision 1338
Posted by Paul Gearon at October 16, 2008
----
release 2.0.7 was revision 1413
Posted by Paul Gearon at December 6, 2008
----
release 2.0.8 was revision 1470
Posted by Paul Gearon at January 31, 2009
----
release 2.0.9 was revision 1545
Posted by Paul Gearon at February 25, 2009
----
release 2.1.0 was revision 1680
Posted by Paul Gearon at April 23, 2009
----
release 2.1.1 was revision 1686
Posted by Paul Gearon at April 23, 2009
----
release 2.1.2 was revision 1735
Posted by Paul Gearon at June 10, 2009
----
release 2.1.3 was revision 1778
Posted by Paul Gearon at August 17, 2009
----
release 2.1.4 was revision 1819
Posted by Paul Gearon at December 10, 2009
----
release 2.1.5 was revision 1876
Posted by Paul Gearon at December 10, 2009
----
release 2.1.6 was revision 1887
Posted by Paul Gearon at December 17, 2009
----
release 2.1.7 was revision 1926
Posted by Paul Gearon at February 16, 2010
----
release 2.1.8 was revision 1949
Posted by Paul Gearon at May 05, 2010
Updated by Paula Gearon over 12 years ago ยท 43 revisions