Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Release day - 1 week

  • Code freeze. Ask on the dev forum who has outstanding work and synchronize on creating the release branch.

Release day

Update the release notes

Add the release notes to distro/src/main/files/readme.html

Initial preparation in the codebase

  • Verify that the release notes have been added
  • Create the release branch: 
Code Block
svn -m "creating release branch for 5.11" copy https://svn.activiti.org/repo/activiti/trunk https://svn.activiti.org/repo/activiti/tags/activiti-5.11 
  • Update the version in the release branch: s/5.1-SNAPSHOT/5.1/g
  • Update the version in trunk to the next version's snapshot e.g. s/5.1-SNAPSHOT/5.2-SNAPSHOT/g
  • Update the version in trunk of module activiti-upgrade to the new snapshot.  e.g. s/5.1-ALWAYS-SNAPSHOT/5.2-ALWAYS-SNAPSHOT/g
  • Verification: Run the test suite: mvn -Pcheck clean install in the code base root

Generate the upgrade data

On your dev local machine, ensure that you have the upgrade properties to all the databases in ~/.activiti/upgrade/build.${database}.properties  Like for example:

  • ~/.activiti/upgrade/build.db2.properties
  • ~/.activiti/upgrade/build.h2.properties
  • ~/.activiti/upgrade/build.mssql.properties
  • ~/.activiti/upgrade/build.mysql.properties
  • ~/.activiti/upgrade/build.oracle.properties
  • ~/.activiti/upgrade/build.postgres.properties

Ensure that you have an up-to-date local git copy of the codebase

First ensure that you install the engine module with mvn clean install in the codebase root.

Then go to modules/activiti-upgrade and run

mvn -Pgenerate -Ddatabase=postgres -Dmaven.test.skip=true clean package

That command produces the datafiles in activiti-upgrade/src/test/resources/org/activiti/db/${project.version}/data.  Bear in mind that the default directory name is based on the project version, which might contain the -SNAPSHOT.  Then you can just manually change the directory name of the version.

If you want to produce new data files for older versions, use the upgradeVersion property like this

mvn -Pgenerate -Ddatabase=postgres -DupgradeVersion=5.8 -Dmaven.test.skip=true clean package

Run that generate profile for every database.

Then commit the resulting datafiles in git.  If this was done after branching the release, ensure that the commit is merged on master.

Test the distribution

  • Remove the 'skip.deploy.activiti.modeler=true' from $user.home/.activiti/build.properties
    Or even better: rename the build.properties temporary to e.g. XXXbuild.properties
  • Verification: Run the demo setup in the root directory like this
Code Block
ant -f qa/build.xml test.demo.start 
  • That should eventually open up a couple of browser windows in which you can click around to see if everything works as expected

Upload the distribution

Build the distribution in directory distro:

Code Block
ant clean distro

Then upload the distro/target/activiti-5.11.zip to http://ts.alfresco.com/share/page/site/activiti/documentlibrary#path=/Downloads&page=1

Publish the maven artifacts

Add following to ${user.home}/.m2/settings.xml

Code Block
<settings xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <id>alfresco.snapshot.repo</id>
      <username>jbarrez</username>
      <password>XXX</password>
    </server>
    <server>
      <id>alfresco.release.repo</id>
      <username>jbarrez</username>
      <password>XXX</password>
    </server>
  </servers>
</settings>

Note that this will save your password in plain text.
It is possible (since maven 2.1.0) to encrypt your password (untested): http://maven.apache.org/guides/mini/guide-encryption.html

Then do 

Code Block
mvn -Pdeploy clean deploy

on the root of the sources. This will publish all artifact to the snapshot/release repo, depending whether '-SNAPSHOT' is added to the current project version.

snapshot repo: http://maven.alfresco.com/nexus/content/repositories/activiti-snapshots/
release repo: http://maven.alfresco.com/nexus/content/repositories/activiti/

IMPORTANT: Due to a bug in Maven 2.2.0 and 2.2.1 see (http://jira.codehaus.org/browse/MNG-4235 and http://jira.codehaus.org/browse/MNG-4301), maven upload wrong checksums.

This is can currently only be fixed by logging in into the Alfresco Nexus app (http://maven.alfresco.com/nexus/index.html#welcome), and manually selecting

the activiti folder, right-clicking and selecting 'rebuild Metadata'.

Update the website

  • Publish the docs:  in directory distro
Code Block
ant publish.docs
  • If they are updated, update the version andn publish the new .xsd schemas for http://activiti.org/cfg and http://activiti.org/bpmn
  • Add the new release to the downloads page in the website
  • Commit the docs and download page updates to the website

Make noise

  • Blog and tweet about it