Propel Release Process
This is a description of the steps to make an official Propel release.
Step 1: Update Trac
- Using the Trac Admin interface add a milestone for the next version (e.g. if version being release is 1.3 then add 1.3.1 to capture outstanding 1.3 bugs -- maybe 1.4 too?)
- Review open tickets for the targeted release milestone (report:3). (High priority / critical problems probably should be fixed pre-release.)
- Open tickets should be moved to the new milestone -- either the next patch release or next minor release depending on severity. This essentially "releases" the version in Trac.
Step 2: Run Unit Tests
- To make sure everything is ready for release, run the unit test suite. I try to do this on at least mysql and postgresql just to confirm that no recent commits messed anything up. See wiki:Development/Guidelines/WritingUnitTests for the overview on running tests.
Step 3: Tag in SVN
Next it's time to tag in SVN. This can be done using a graphical tool, or of course, on the commandline.
# svn copy http://svn.phpdb.org/propel/branches/1.3 http://svn.phpdb.org/propel/tags/1.3.0
It's also important to update the version in the default.properties file and the state in the in pear build directories in the tag. I you have a full propel source tree checkout, just run svn update, or you can also check out and then recommit just the tag:
# svn co http://svn.phpdb.org/propel/tags/1.3.0 propel-1.3.0
1. Change the version in generator/default.properties
# ... propel.version = 1.3.0
1. Change the state in generator/pear/build-pear-package.xml to appropriate state ('alpha', 'beta', 'stable')
<property name="state" value="stable" />
1. Change the state in runtime/pear/build-pear-package.xml to appropriate state ('alpha', 'beta', 'stable')
<property name="state" value="stable" />
1. Commit the changes
# svn commit -m "Updating version and state for release"
Step 4: Export the Tag for Package
# svn co http://svn.phpdb.org/propel/tags/1.3.0 propel-1.3.0
Clean out the svn information from the release:
# find . -type d -name ".svn" | xargs rm -rf
Step 5: Create the "Full" Packages
# tar zcvf propel-1.3.0.tar.gz propel-1.3.0 # tar jcvf propel-1.3.0.tar.bz2 propel-1.3.0 # zip -r propel-1.3.0.zip propel-1.3.0
Step 6: Create the PEAR Packages
# cd propel-1.3.0 # phing -f generator/pear/build-pear-package.xml -Dversion=1.3.0 # phing -f runtime/pear/build-pear-package.xml -Dversion=1.3.0
The generated PEAR packages are now located here:
- generator/pear/build/propel_generator-1.3.0.tgz
- generator/pear/build/propel_runtime-1.3.0.tgz
Step 7: Upload PEAR Packages
- Navigate to the PEAR channel admin page.
- For both the runtime and the generator packages, click the "Upload new Release" button to upload the built release package.
Verify the PEAR packages by installing form the channel.
