Release day - 1 week

Release day

Update the release notes

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

Initial preparation in the codebase

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 

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:

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

ant -f qa/build.xml test.demo.start 

Upload the distribution

Build the distribution in directory distro:

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

<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 

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

ant publish.docs

Make noise