[jboss-user] [jBPM] - jBPM 4 Release Procedure

Administrator Administrator do-not-reply at jboss.com
Thu Jan 20 11:12:53 EST 2011


Administrator Administrator [http://community.jboss.org/people/admin] modified the document:

"jBPM 4 Release Procedure"

To view the document, visit: http://community.jboss.org/docs/DOC-13360

--------------------------------------------------------------
h1. Preparations on trunk
----
* Verify addition of version axis to hudson job jbpm4-upgrade
* Verify all jbpm4 hudson jobs run ok
* Update release notes: Add release notes to the modules/distro/src/main/resources/readme.html for both JIRA projects
*  https://jira.jboss.org/jira/browse/JBPM https://jira.jboss.org/jira/browse/JBPM
* https://jira.jboss.org/jira/browse/GPD (https://jira.jboss.org/jira/browse/GPD)

* Synchronize with team on date-time for creating release branch

* Verify that GPD and Console released they're versions
* Verify all jira issues are resolved

* Verify example image files

* Verify version related stuff

h1. Work on the release branch and tagging
----
h3. Create release branch
This should be done after codefreeze.
svn -m "creating release branch for jbpm-4.2" 
copy  https://svn.jboss.org/repos/jbpm/jbpm4/trunk 
https://svn.jboss.org/repos/jbpm/jbpm4/branches/jbpm-4.2
2. Optionally you can switch your local working copy to that branch withsvn switch  https://svn.jboss.org/repos/jbpm/jbpm4/branches/jbpm-4.2 https://svn.jboss.org/repos/jbpm/jbpm4/branches/jbpm-4.2
3. On the release branch, update <version>4-SNAPSHOT</version> in all pom.xml files to the exact version like <version>4.0.Alpha2</version> or <version>4.3</version> and commit.  Make sure that you don't accidently mess with the referenced versions of the designer, console or parser.  Double check that *public static final String JBPM_LIBRARY_VERSION = "4.2-SNAPSHOT";* in ProcessEngineImpl is updated to represent the correct library version.
4. Verify that GPD and Console point to the right version in the root pom.xml
h3. Switch CI to the branch
For all hudson jbpm4 jobs (except for jbpm4-base)  http://hudson.qa.jboss.com/hudson/view/JBPM4/ http://hudson.qa.jboss.com/hudson/view/JBPM4/  switch the svn url to the branch.
h3. Build the distribution
Before building the distribution, check the configuration of your local jboss maven repo.  The property *jboss.maven.repository* is referenced from the root level pom:

  <distributionManagement>
    <repository>
      <id>repository.jboss.org</id>
      <name>JBoss Maven Repository</name>
      <url>file://${jboss.maven.repository}</url>
    </repository>

To customize the value on your machine, create a ${user.home}/.m2/settings.xml like this

<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">
  <profiles>
    <profile>
      <id>publish</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <jboss.maven.repository>c/MyLocalRepo</jboss.maven.repository>
      </properties>
    </profile>
  </profiles>
</settings>

Then build the distribution like this.

mvn -Pdistro,docs clean deploy

That will create the distribution file in modules/distro/target and it will create publishable artifacts in your local jboss maven repository. Then also deploy the test-upgrade module like this

cd modules/test-upgrade
mvn -DskipTests clean deploy

h3. Manual testing

The purpose of manual testing is by using only a distribution in ways that our users use it as well.

If you use the *qa/demo.setup.jboss.bat* or *qa/demo.setup.tomcat.bat* script, it automates most of the tedious work below: builds the distro (*but does not deploy*), installs jboss, installs jbpm into jboss, starts jboss, creates the db schema, deploys the examples, installs eclipse and starts eclipse.  If you use this script, you still need to build the distro as shown above up to the *deploy*.  The test demo setup only does a distro build with *install*

* Install the distribution
 * Install jBPM using the installer
* Start JBoss AS
* Start eclipse
* Install designer plugin from the distribution
* Import the examples
* Define the jBPM Libraries 
* Add the jPDL xsd to the catalog

* Run all the examples (right click on the src root, run as JUnit test)

* Deploy the examples with the ant script



*Scenarios*
The following scenarios should be build manually and are ideal excercises to blog about.

*Manual test 1: Task forms
*
* Create and deploy a minimal process with a task form
* Start the task forms example and run through the complete execution with the console.

*Manual test 2: Timer*
* Create and deploy a minimal process with a timer or a task reminder
 
* Run this on jboss and tomcat

*Manual test 3: Enterprise*
* Create and deploy a minimal ejb app using jBPM
 
* Run this on jboss
* Validates different forms of classloading * Deploy a user code class on the jboss-wide classpath (in the lib directory)
* Deploy a user code class in the enterprise application or ejb that calls jBPM
* Deploy a user code class inside of the business archive


* Validates different forms of transactions* Make sure you invoke jBPM without a JTA transaction
* Make sure you invoke jBPM with an existing JTA transaction
* Make sure you validate proper rollback behaviour


*Manual test 4: Reporting*
* Create a couple of executions and look at the reports
h3. Create the tag
Once the QA runs successfully, a tag must be created for the release and the branch can be deleted.
h1. Uploads
----
h3. Upload distribution to sourceforge
* Create release  http://sourceforge.net/projects/jbpm http://sourceforge.net/projects/jbpm
* Upload using sftp
* See  http://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download#SFTP http://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download#SFTP
* See  http://apps.sourceforge.net/trac/sitedocs/wiki/File%20management%20service http://apps.sourceforge.net/trac/sitedocs/wiki/File%20management%20service
h3. Upload the maven artifacts to the public
Make sure that the build producing the maven repository artifacts activated the distro profile.  As that profile includes the generation of the source jars.

The artifacts from your local jboss maven repository then need to be committed with svn to
https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jbpm/jbpm4
h3. Update documentation
* Upload full doc contents of the doc directory in the installed distribution
* to ftp.jboss.com directory v4
* *Don't forget to update/upload the XSD !*
h1. Postprocessing
----
h3. Make noise
* Send note to the core
* Blog about it
h3. Release the release in JIRA
*  https://jira.jboss.org/jira/secure/project/ManageVersions.jspa?pid=10052 https://jira.jboss.org/jira/secure/project/ManageVersions.jspa?pid=10052
h3. Update version references in codebase
* search and replace 4.x-SNAPSHOT 
* search namespace  http://jbpm.org/4.x/jpdl http://jbpm.org/4.x/jpdl and update where necessary.  note that some tests actually need to run against a specific jpdl parser version so the namespace declaration might be intended!

* create new schema file in modules/api/src/main/resources/jpdl-4.x.xsd + update JpdlParser to work with new schema file
* update JpdlParser version references
* if you don't do it straight away, make jira issue for this so that it is not forgotten
h3. Update hudson jobs
Add the new version to following job configurations:
*  http://hudson.qa.jboss.com/hudson/view/JBPM4/job/jbpm4-parsers/ http://hudson.qa.jboss.com/hudson/view/JBPM4/job/jbpm4-parsers/
*  http://hudson.qa.jboss.com/hudson/view/JBPM4/job/jbpm4-upgrade/ http://hudson.qa.jboss.com/hudson/view/JBPM4/job/jbpm4-upgrade/
--------------------------------------------------------------


Create a new document in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2034]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110120/f0fe8362/attachment.html 


More information about the jboss-user mailing list