Release day - 1 week
- Code freeze. Ask on the dev forum who has outstanding work and synchronize on creating the release branch.
- Prepare/update Modeler and upload new version. See How to build Activiti Modeler from Signavio document.
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:
- 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.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 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 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
- 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:
Then upload the distro/target/activiti-5.0.alpha3.zip to http://ts.alfresco.com/share/page/site/activiti/documentlibrary#path=/Downloads&page=1
Upload the file to Amazon S3 (Through Ash/Panda/yourself)
Upload the activiti-modeler-5.x.war file to Amazon S3 (through Ash/Panda/yourself)
Publish the maven artifacts
Add following to ${user.home}/.m2/settings.xml
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
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'.
Publish the designer integration jar
To publish the designer integration jar, following command should be used
This requires you to have a ${user.home}/.m2/settings.xml specifying your credentials to upload release artifacts
Update the website
- Publish the docs: in directory distro
- 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
