Development/ReleaseProcedure

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
  • 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.propelorm.org/branches/1.4 http://svn.propelorm.org/tags/1.4.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.propelorm.org/tags/1.4.0 propel-1.4.0

1. Change the version in generator/default.properties

# ...
propel.version = 1.4.0

2. Change the version in runtime/Propel.php

  /**
   * The Propel version.
   */
  const VERSION = '1.4.0';

3. Change the state in generator/pear/build-pear-package.xml to appropriate state ('alpha', 'beta', 'stable')

   <property name="state" value="stable" />

4. Change the state in runtime/pear/build-pear-package.xml to appropriate state ('alpha', 'beta', 'stable')

   <property name="state" value="stable" />

5. Commit the changes

# svn commit -m "Updating version and state for release"

Step 4: Export the Tag for Package

# svn export http://svn.propelorm.org/tags/1.4.0 propel-1.4.0

Step 5: Create the "Full" Packages

# tar zcvf propel-1.4.0.tar.gz propel-1.4.0
# tar jcvf propel-1.4.0.tar.bz2 propel-1.4.0
# zip -r propel-1.4.0.zip propel-1.3.0

Step 6: Create the PEAR Packages

# cd propel-1.4.0
# phing -f generator/pear/build-pear-package.xml -Dversion=1.4.0
# phing -f runtime/pear/build-pear-package.xml -Dversion=1.4.0

The generated PEAR packages are now located here:

  • generator/pear/build/propel_generator-1.4.0.tgz
  • generator/pear/build/propel_runtime-1.4.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.