Release Procedure

This pages presents the release procedure defined for the data management product team. The release procedure comprehends the following phases:

Note: Developer's actions are highlighted in bold.

Components HEAD Build/Test

This phase is under the responsibility of developers. The goal is to build and test recently produced code.

It is executed continuously.

The following actions are carried out:

  1. Developers introduce changes to the code (new functionality or bug fix).
  2. Developers commit those changes to SVN trunk. SVN trunk is represented in ETICS by HEAD configurations.
  3. Every night the HEAD configurations of all subsystems are built.
  4. Every night the HEAD builds generate YUM repositories.
  5. Every night the YUM repositories are used to run deployment, configuration, and certification tests.
  6. Every night a summary email with the status of the nightly build/test executions is sent to the DM PT members.
  7. Developers update their private testbeds to test the new components. (optional)

Components Release

This phase is under the responsibility of developers and integrators. The goal is to make available a new version of a component to be integrated at subsystem level in the context of a planned internal/official release.

It is executed when a new functionality or a bug fix is completed.

The following actions are carried out:

  1. Developers complete a planned development tasks.
  2. Developers create a new tag in SVN following the established naming conventions.
  3. Developers announce the availability of the tag by sending an email to the GT/DMS mailing list.
  4. Integrators create ETICS release configurations for these components.

Subsystem Integration

This phase is under the responsibility of integrators. The goal is to create a new complete subsystem including new components released by developers.

It is executed when all necessary components for a planned new internal/official release are made available.

The following actions are carried out:

  1. Integrators create a new ETICS subsystem release configuration (by cloning the previous subsystem release configuration).
  2. Integrators update the subsystem release configuration with the new components released by developers.
  3. Integrators execute remote builds until the subsystem builds successfully on all supported platforms.
  4. Integrators verify the correct creation of the UNSTABLE YUM repositories.
  5. Integrators announce the availability of a new internal release.

Subsystem Testing

This phase is under the responsibility of testers and developers. The goal is to automatically execute a number of tests (deployment, configurations, regression, system) using an internal testbed.

It is executed every time a new internal release is completed.

The following actions are carried out:

  1. Testers update the internal testbed using the UNSTABLE YUM repositories.
  2. Testers execute different types of testing (automatically and manually) in the internal testbed.
  3. Testers send to pre-selected pilot sites the UNSTABLE YUM repository for external testing (optional).

Subsystem Certification

This phase is under the responsibility of certifiers and integrators. The goal is to validate that existing internal releases can be passed to a central integration team for release in production.

It is executed when all tests are successfully executed and according to the PT plans.

The following actions are carried out:

  1. Integrators lock the subsystem release configuration and populate the ETICS permanent repository.
  2. Integrators update the related patch with information about the internal release (YUM, RPMS, etc) and assign to patch to certifiers.
  3. Certifiers execute certification tests, regression tests, and verify the resolution of all associated bugs.
  4. Certifiers provide the certification report and forward the patch to the integration team.



Edit | Attach | Watch | Print version | History: r13 < r12 < r11 < r10 < r9 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r13 - 2010-06-09 - PedroAndrade
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    EGEE All webs login

This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Ask a support question or Send feedback