...
- 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
...
- Verify that the release notes have been added
- Create the release branch:
| Code Block |
|---|
svn -m "creating release branch for 5.0.alpha311" copy https://svn.activiti.org/repo/activiti/trunk https://svn.activiti.org/repo/activiti/tags/activiti-5.0.alpha311 |
- 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
|
...
Build the distribution in directory distro:
| Code Block |
|---|
ant clean distro
|
Then upload the distro/target/activiti-5.011.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
| 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/
...
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
| Code Block |
|---|
mvn deploy:deploy-file -Dfile=relative/path/to/org.activiti.designer.integration_0.7.0.jar -DgroupId=org.activiti.designer -DartifactId=org.activiti.designer.integration -Dversion=0.7.0 -DgeneratePom=true -DrepositoryId=alfresco.release.repo -Durl=http://maven.alfresco.com/nexus/content/repositories/activiti/ -Dpackaging=jar
|
This requires you to have a ${user.home}/.m2/settings.xml specifying your credentials to upload release artifacts
| Code Block |
|---|
<?xml version="1.0" encoding="UTF-8"?>
<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.release.repo</id>
<username>yourusername</username>
<password>******</password>
</server>
</servers>
</settings>
|
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
...
