View source | Discuss this page | Page history | Printable version   

ERP 2.50:Release Process

Contents

Introduction

This document describes the different phases of the release engineering process leading up to the actual build and publication of a 2.50 release, both the Community Edition and the Professional Subscription.

Deliverables

Community

Every Community release is delivered in as a SCM tag (Mercurial, code.openbravo.com).

Professional

Every Professional release is delivered in many flavors:

General process workflow

Previous steps

Issue tracker release addition

To add the new release to the issue tracker:

Promote changesets from pi to main

The Openbravo builds farm takes care of continuously testing and merging the code from erp/devel/pi to erp/devel/main. Once the initial requirements have been satisfied and with QA's green light, RM verifies what changeset is the last promoted one and disables the erp_promote_pi_to_main job to stop further merging during the release process.

Bulbgraph.png   Once the changesets are promoted to main either manually are automatic, remember to disable erp_promote_pi_to_main job to stop further commits to main

Update API changes wiki

Update the API changes list, as follows:

Generate the candidate Release Notes for Review

Bulbgraph.png   In order to allow developers to write the release notes when they commit some issue/project, the release notes for the next release should be also available.

Complete list of fixed issues in the MP

Add the list of issues/features fixed from last MP to the release changelog.

Announcement

Announce to product's owners in openbravo-development mailing list to write the "What's new" and "Fixed issues" sections with meaningful messages.

Packaging

Freeze

Block access to all developers to stable/2.50 and allow only rm and packager groups to push.

Package

$ ssh tde2-32
$ su
$ screen -AmdS release
$ screen -r release
$ su packager
$ oberp-2.50-package 2.50MPX

Explanation of the process

  1. Enables the api-check mercurial hook to record the changeset pushed to api-checks, and notify the committers via e-mail to ensure if any push done during the release cycle might require a re-push after the current MP is released.
  2. Create a temp repository clone of main, edit the AD_MODULE version, creates the tag and sign it.
  3. From this temp repository creates the obx and tarball.
  4. Copy to tecnicia14/releases/2.50MPX and irc
  5. Upload the obx to stage
  6. Create the virtual appliances from this temporary repository, for do that executes the oberp-2.50-appliances script, this script do an update of the Openbravo ERP package and the appliance group.
  7. Copy to tecnicia14/releases/2.50MPX and irc
  8. Create the professional appliances in qa status.
  9. Copy to tecnicia14/releases/2.50MPX and irc

Announcement

Send an e-mail to the RM ML with Subject: 2.50MPX, notifying about:

An update of Core is available in Stage.

Monitor the QA testing

The QA team starts a heavy set of tests over this release. This is an iterative process repeated until the QA team accepts the release. Once they accepts it, they'll notify it to the RM ML and the RM Team will review the issue tracker to make sure there are no major or critical issues.

QA finds a show stopper

If QA finds an important issue that should be included in the MP, these are the steps:

  1. Wait till the bug is fix in pi.
  2. QA will transplant to main the changeset that solves the issue, or tell RM to do it.
  3. RM will run all the test in http://builds.openbravo.com/view/devel-main/
  4. If all are green, RM should start from packaging step.
  5. Also is need to generate again or update the release notes.
  6. This changeset (as all transplanted changesets) will also appear also in the hg log of the next release. So, please add this changeset to a google doc, in order that in the next version can be removed from the list of fixed issues.

QA needs a obx to test the update

To upload into stage a new obx with a version increased by one over the current version published in stage, execute this script:

$ ssh tde2-32
$ su packager
$ oberp-2.50-uploadDummyObx-toStage 2.50MPX

After QA testing

Once QA accepts to release and no critical or major issues in tracker, the rest is work of release management team.

Confirm

Run the confirm script

Then connect to tde2-32 and execute the packaging script as packager user:

ssh tde2-32
su packager
oberp-2.50-confirm-packaging 2.50MPX
Explanation of the process
  1. Executes oberp-2.50-promote-qa and oberp-2.50-promote-release. This promotes from dev to release the community appliances. This means that the appliances are published in dev state, but this is not a problem because the community appliances don't have updates.
  2. Promote to release and build in release state the professional appliances
  3. Upload the community appliances to SourceForge.
  4. Generate and upload symlinks for the current version of community files in SourceForge.
    1. The download wizard use these links, so it's not necessary to update this page.
  5. Upload the professional to the partners portal in s3.
    1. The partner portal download page is dynamic, so once the appliances are uploaded to s3 it's links will be updated automatically.
  6. Generates and register the AMIs for the community and the professional appliances in eprojects account.
  7. Push from the temp repository to main repository in code.openbravo.com.
    1. The wiki home and the installation manual are updated automatically with the current version.
API docs

This step is fully automated. There is a job that polls daily for new tags in the erp/devel/main repository, generates the Javadoc documentation, uploads it to code.openbravo.com/docs and updates its index page.

API check

There is a job that polls daily for new tags in the erp/devel/main repository, generates the new API and push it to api-checks.

Unfreeze

Allow again all developers to push to stable/2.50.

Mantis

Go to https://issues.openbravo.com , and select manage -> projects -> openbravo-erp.

In the versions mark the current 2.50MPx version as released.

Sync the updates to rMirror

Release notes

Add GA date to calendar

Calculate the day that the release will move to GA (adding 40 days) and add the event to release management calendar.

You can execute this command to get the date to move GA:

date --date="40 days"

Announcements

Create the following release announcements:

Forge

News

Identified as your user (you need admin privileges OpenbravoERP Core project), go to http://forge.openbravo.com/plugins/espnews/index.php?group_id=100 and create a new:

Headline: Openbravo ERP: 2.50MPX available

Use Local News: Yes

Date: today_date

News text: (click on HTML Source button, to see the HTML code):

<p> Openbravo ERP 2.50MPX is available in the <a href="http://wiki.openbravo.com/wiki/ERP_2.50:Release_Notes/2.50MPX#Installation.2C_updates_and_upgrades">QA Approved status</a>!</p>
<p>These are some of the new features included in this release:</p>
<ul>
    <li>Feature name 1: explanation 1.</li>
    <li>Feature name 2: explanation 2.</li>
    <li>Feature name 3: explanation 3.</li>
</ul>
<p>These are some of the new fixes included in this release:</p>
<ul>
    <li>Fix name 1: explanation 1.</li>
    <li>Fix name 2: explanation 2.</li>
    <li>Fix name 3: explanation 3.</li>
</ul>
<p> </p>
<p>Check the <a href="http://wiki.openbravo.com/wiki/ERP_2.50:Release_Notes/2.50MPX">release notes</a> for more information.</p>

Click Save.

Professional list announce

Subject: OBUA-<yyyy-mm-dd> Openbravo ERP Professional Subscription 2.50MPx

Openbravo ERP 2.50MPx is available in the QA Approved status [1]

These are some of the new features included in this release:

* Feature name 1: explanation 1.
* Feature name 2: explanation 2.
* Feature name 3: explanation 3.

These are some of the new fixes included in this release:

* Fix name 1: explanation 1.
* Fix name 2: explanation 2.
* Fix name 3: explanation 3.
 
Check the release notes for more information:
http://wiki.openbravo.com/wiki/ERP_2.50:Release_Notes/2.50MPx


Copyright 2008-2012 Openbravo, S.L.U.


[1] http://wiki.openbravo.com/wiki/ERP_2.50:Release_Notes/2.50MPX#Installation.2C_updates_and_upgrades

Ubuntu Package

Ubuntu packaging is automated and can be done using a hudson job UbuntuPackaging.

#Add the Openbravo ERP PPA’s GPG key to your apt keyring:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2F11D81 
#Add openbravo-erp launchpad repository URL’s:
#For karmic:
sudo sh -c 'echo "deb http://ppa.launchpad.net/openbravo-isv/ppa/ubuntu  karmic main" >> /etc/apt/sources.list'
sudo sh -c 'echo "deb-src http://ppa.launchpad.net/openbravo-isv/ppa/ubuntu karmic main" >> /etc/apt/sources.list
#For Lucid:
sudo sh -c 'echo "deb http://ppa.launchpad.net/openbravo-isv/ppa/ubuntu  lucid main" >> /etc/apt/sources.list'
sudo sh -c 'echo "deb-src http://ppa.launchpad.net/openbravo-isv/ppa/ubuntu lucid main" >> /etc/apt/sources.list
#Update
sudo apt-get update
sudo apt-get install openbravo-erp
# Install modules via MMC
# Uninstall
apt-get remove --purge openbravo-erp

Confirmed Stable promotion

Module

When the MP has been QA Approved for 40 days we promote it to the Confirmed Stable from forge.

Professional deliverables

Promote the professional deliverables to the GA bucket, as follows:

releaser 2.50MPXY publish-ga

Announcements

News

Identified as your user (you need admin privileges OpenbravoERP Core project), go to http://forge.openbravo.com/plugins/espnews/index.php?group_id=100 and create a new:

Headline: Openbravo ERP: 2.50MPX has reached the "Confirmed Stable" maturity level.

Use Local News: Yes

Date: today_date

News text: (click on HTML Source button, to see the HTML code):

<p>  Openbravo ERP 2.50MPx has reached the "Confirmed Stable" maturity level.</p>
<p>Read more about <a href="http://jpabloae.wordpress.com/2010/09/29/introducing-maturity-levels-to-openbravo-erp/">maturity levels</a> and <a href="http://wiki.openbravo.com/wiki/ERP_2.50:Configuration_Manual/Modules_Management#Advanced_settings">configure</a> your Openbravo instance according to your needs.</p>
<p>Openbravo ERP 2.50MPx <a href="http://wiki.openbravo.com/wiki/ERP_2.50:Release_Notes/2.50MPx">release notes</a></p>

Click Save.


Send the following announcement to the openbravo-development and on-update-announce mailing lists:

Subject: OBUA-<yyyy-mm-dd> Openbravo ERP 2.50MPx - Confirmed Stable
 
Openbravo ERP 2.50MPx has reached the "Confirmed Stable" maturity level.

Read more [1] about maturity levels and configure [2] your Openbravo instance according to your needs.

Openbravo ERP 2.50MPx release notes:
http://wiki.openbravo.com/wiki/ERP_2.50:Release_Notes/2.50MPx


Copyright 2008-2012 Openbravo, S.L.U.


[1] http://jpabloae.wordpress.com/2010/09/29/introducing-maturity-levels-to-openbravo-erp/
[2] http://wiki.openbravo.com/wiki/ERP_2.50:Configuration_Manual/Modules_Management#Advanced_settings

Retrieved from "http://wiki.openbravo.com/wiki/ERP_2.50:Release_Process"

This page has been accessed 17,583 times. This page was last modified on 22 November 2012, at 06:15. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.