Jump to: navigation, search

Difference between revisions of "Platform-releng/Releng Plan for CBI adoption"

(Main Criteria for moving to CBI based build for Kepler)
m (Week 2: (2/11 - 15))
Line 32: Line 32:
  
 
:Begin to produce automated CBI based builds and run unit tests in parallel with PDE-based builds.  
 
:Begin to produce automated CBI based builds and run unit tests in parallel with PDE-based builds.  
::I'll schedule these to start at 8:30 PM, shortly after PDE based Nightlies. (They should finish first, and get be in testing que first). ::(Initially, all CBI based builds will be "I-builds" to better assess versioning)
+
::I'll schedule these to start at 8:30 PM, shortly after PDE based Nightlies. (They should finish first, and get be in testing que first).  
 +
::(Initially, all CBI based builds will be "I-builds" to better assess versioning)
 +
::(I builds will build against master, controlled by [[http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/streams/repositories.txt]])
 
::(Unit tests on Linux only, until those work as expected, to save Windows and Mac machine resources).
 
::(Unit tests on Linux only, until those work as expected, to save Windows and Mac machine resources).
 +
  
 
:Committers should begin to use SDK's produced, and evalutate for correctness. In particular:  
 
:Committers should begin to use SDK's produced, and evalutate for correctness. In particular:  
Line 46: Line 49:
 
::"zipped repos" are known not to be quite right yet (low prioriy)
 
::"zipped repos" are known not to be quite right yet (low prioriy)
 
::no ecj.jar produced (in hands of JDT Team? To tweak their "custom script"?) (low priority)
 
::no ecj.jar produced (in hands of JDT Team? To tweak their "custom script"?) (low priority)
::no "auto update" of pom's, based on manifest ... such as committers have to update vesion number in both, make "build.properties" changes in both. (low priority)
+
::no "auto update" of pom's, based on manifest ... such as committers have to update vesion number in both (but a difference won't interfere with the build), make "build.properties" changes in both. (low priority)
+
 
+
 
=== Week 3: (2/18 - 22) ===
 
=== Week 3: (2/18 - 22) ===
  

Revision as of 10:57, 11 February 2013

This document is the "plan", and more working notes for moving to CBI-based builds.

Main Criteria for moving to CBI based build for Kepler

  1. Have same output deliverables as current build: zips, repository, etc. (For Equinox and Eclipse)
  2. (Be able to reproduce exact same build, given a tag (or tags) to start the build with.)
  3. Same warnings (and compile errors, if any) as PDE based build.
  4. Be able to run our JUnit tests, with same results, as PDE based build.
  5. Run a binary comparator against the bundles to ensure that they are the same binary content as the regular bundles.
    1. [Not sure how to do this since "qualifier algorithm" is different].
  6. Qualifiers not change (except for branding bundles) if the content has not changed.
  7. All bundles signed.
  8. Final I-build type repository have same content and metata as PDE based build (nothing missing, nothing extra).
  9. Be easy to fit in to current workflow of automated builds and tests of "nightlies", I-builds, milestones (i.e. committers have to know

what to do to "release" something for a build, how to "freeze" changes at a certain point).

Bug queries and reference documents

Rollout and deadlines

Weeks below are numbered in "milestone weeks", beginning with "towards M6" ... there are only 6 weeks for M6.

Towards M6

Week 2: (2/11 - 15)

Begin to produce automated CBI based builds and run unit tests in parallel with PDE-based builds.
I'll schedule these to start at 8:30 PM, shortly after PDE based Nightlies. (They should finish first, and get be in testing que first).
(Initially, all CBI based builds will be "I-builds" to better assess versioning)
(I builds will build against master, controlled by [[1]])
(Unit tests on Linux only, until those work as expected, to save Windows and Mac machine resources).


Committers should begin to use SDK's produced, and evalutate for correctness. In particular:
Check that version numbers change (or don't change) as expected.
Those with "binary bundles" check that they are correct ones.
Help evaluate failing JUnit suites. Some may be "releng" issues, but some may be project pom issues?
Initial Limitations:
there will be no "autotagging" of aggregator or repositories, until we are more confident. (medium priority)
there will be no "equinox drops". (low/medium priority)
there will be no cbibased "I-build repo" (high priority)
"zipped repos" are known not to be quite right yet (low prioriy)
no ecj.jar produced (in hands of JDT Team? To tweak their "custom script"?) (low priority)
no "auto update" of pom's, based on manifest ... such as committers have to update vesion number in both (but a difference won't interfere with the build), make "build.properties" changes in both. (low priority)

Week 3: (2/18 - 22)

Begin to tag aggregator upon successful build, (with "commits" of latest submodules added to aggregator).
(This allows "local build" to duplicate our build following directions given at wiki)
TODO: someone (Thanh?) should evaluate if gives same "target" results)
Begin to produce "4.3-I-buildcbibased" repositories at .../eclipse/updates (Not sure they will be correct, but ... need to get started?)
During this week "announce" the CBI based builds available community/adopter help in testing adequacy.
? Could produce 4.2.2+ builds for comparison to 4.2.2?
(For this reason, I'd advocate no "code changes" for 4.2.2+ for a while, until all pom changes/updates are made).
Possibly have true "CBI nightlies", if versioning/qualifier assessment from week 2 is done.

Week 4: (2/25 - 3/1)

This week? Or next? deadline for go/nogo decision if M6 is time for cut over?
[Cut over means CBI based builds become primary, and PBE builds become secondary. For evaluation purposes, we'd continue to do PDE-based I-builds, for at least another milestone, if not RCs also, but after "cut over" they would be the ones "hidden away"].

Week 5: (3/4 - 8)

Week 6: (3/11 - 15) <== 3/15 is M6+0 day.

Milestone stabilization week