Purpose

The Problem

M5 is under heavy development. For efficient development we'd need two verions of the ce-bundle

  • all SNAPSHOT --> continuous testing, integration tests
    • master (hudson job magnolia-bundle_trunk)
  • latest releases only --> base for development, acceptance test, …

Goals

Deliver both - a snapshot only version of the bundle e.g. used for development and a more stable version of the bundle having only the latest, tested & released versions of the contained modules.

Proposal

After some investigations on 

we came to the conclusion, the simplest solution would be to not use any additional plugin or profils but just do normal releases and append a version number that gets increased on each release.

For the new integration version of the bundle we'll simply create a branch (magnolia-bundle-5.0-intergration). The hudson job magnolia-bunlde_5.0-integration-branch will be using that branch.

Implementation details

structure of the version-number for an iteration

  • <module-version-no>-m5-<alpha-version-no>-<iteration no>
  • e.g. magnolia-ui-admin-central: 5.0-alpha2-1 for the first release, then 5.0-alpha2-2, etc...

release a next iteration

  • when a story is finished, tested, reviewed and merged back to master an iteration should be released
    • all affected modules have to be released (except the bundle itself)
  • the version number of the newly released artifacts have to be entered in the ce-bundle 
  • make sure to manually trigger http://hudson.magnolia-cms.com/job/magnolia-bundle_stable/
  • when the sprint ends well release the next alpha version of the bundle (e.g. alpha2)
  • No labels

1 Comment

  1. When realizing that there's quite some effort in mirroring changes from ce-bundle master to ce-bundle-stable I realized that we could simplify a lot:

    • drop ce-bundle-stable branch + hudson job, work on master only
    • when e.g. a new iteration of magnolia_ui is out (magnolia_main, dam + stk unchanged) do
      • enter new magnolia_ui version in ce-bundle pom
      • enter latest stable iteration of magnolia_main, dam, stk in ce-bundle pom
      • wait until hudson builds it
      • mark that build as "keep forever" (eventually keep list somewhere in wiki)
      • revert to snapshots in ce-bundle pom (to not break continuos integration)

    Rating:

    (plus) no need to maintain branch

    (plus) less hudson jobs

    (minus) iteration's are less "obvious" on hudson - that's why a wiki page linking to the corresponding build # could help