Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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

(Rollout and deadlines)
(Have been done years ago.)
 
(45 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Purpose =
+
#REDIRECT [[Category:Eclipse_Platform_Releng]]
 
+
This document is the plan, and working notes for moving to CBI-based builds. There is still lots to do, and many changes to make, so want to be sure as much is communicated as best as possible.
+
 
+
We want to be aggressive in adopting CBI based builds for Kepler, but at the same time, responsible. That is, to make sure it is correct -- or, correct enough -- that adopters (or, ourselves!) are not broken by any changes. And, that means "correct enough" from one I-build to the next, not "just by the time we release". This is a new area for most of us so will take a lot of focus.
+
 
+
The following are the major criteria to judge if/when we are ready to adopt as our primary build and/or release. Any others?
+
 
+
=Main Criteria for moving to CBI based build for Kepler=
+
 
+
 
+
# Have same output deliverables as current build: zips, repository, etc. (For Equinox and Eclipse)
+
#  (Be able to reproduce exact same build, given a tag (or tags) to start the build with.) 
+
# Same warnings (and compile errors, if any) as PDE based build.
+
# Be able to run our JUnit tests, with same results, as PDE based build.
+
# Produces the same Java Doc and Help documentation.
+
# Run a binary comparator against the bundles to ensure that they are the same binary content as the regular bundles.
+
##[Not sure how to do this since "qualifier algorithm" is different].
+
# Qualifiers not change (except for branding bundles) if the content has not changed.
+
# All bundles signed.
+
# Final I-build type repository have same content and metadata as PDE based build (nothing missing, nothing extra).
+
# 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).
+
# Don't create maintenance burden by duplicating information ({{bug|387802}})
+
 
+
=Bug queries and reference documents=
+
 
+
* Bug query for [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Eclipse&classification=RT&list_id=4434591&product=Equinox&product=JDT&product=PDE&product=Platform&query_format=advanced&short_desc=cbi&short_desc_type=allwordssubstr&order=bug_severity%2Cchangeddate%20DESC%2Cassigned_to%20DESC%2Ctarget_milestone%2Cpriority%2Cpriority%2Cstatus_whiteboard%2Ctarget_milestone%2Ctarget_milestone%2Ccomponent%2Cvotes%20DESC%2Cbug_id&query_based_on=Platform open CBI bugs in Eclipse (Platform, JDT, PDE) and Equinox].
+
 
+
* Bug query for  [https://bugs.eclipse.org/bugs/buglist.cgi?list_id=4412392&classification=Eclipse%20Foundation&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=CBI open Eclipse Foundation CBI bugs] (all in Eclipse Foundation, CBI)
+
 
+
* See [[Platform-releng/Platform_Build]] for steps to do local builds and tests.
+
 
+
* See [[Platform-releng/Automated_Platform_Build]] for specifics of automated builds.
+
 
+
* URL for CBI based builds (temporary, just until we "switch"):
+
 
+
http://download.eclipse.org/eclipse/downloads/cbibasedindex.html
+
 
+
=Significant builds and repositories=
+
 
+
== The last PDE based build ==
+
 
+
* '''I20130219-1600''' is the final "PDE Based build". It is recommended for those "building on" Eclipse to move up to that level now, so once they try a "CBI based build", they will have a good comparison if "all is ok" or if something surprising changed, or broke (if so, open a bug, if one doesn't exist; if one exists, add comments so we can better understand impact and priorities).
+
 
+
  http://download.eclipse.org/eclipse/downloads/drops4/I20130219-1600/
+
 
+
* '''Repository'''. Since we are still evaluating version numbering (to make sure they always increase compared to previous I-builds) the repo site at <code>http://download.eclipse.org/eclipse/updates/4.3-I-builds/</code> may not always give the result from the most recent build (for we hope only a short time). Therefore, the repo that corresponds to that "last PDE build", in non-composite form, is documented here:
+
 
+
    http://download.eclipse.org/eclipse/updates/4.3-I-builds/I20130219-1600/
+
 
+
 
+
=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 daily automated CBI based builds and run unit tests in parallel with PDE-based builds.
+
::I'll schedule these to start at 8:11 PM, same time as PDE-based Nightlies and same time as weekly I-builds.
+
::Initially, all CBI based builds (even "nightlies") will be "I-builds" to better assess versioning, and more work is need to implement "nightly vs. integration" builds.
+
:::I builds will build against master, controlled by [http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/streams/repositories.txt repositories.txt]
+
::(Unit tests on Linux only, until those work as expected, to save Windows and Mac machine resources).
+
 
+
:During this week "announce" the CBI based builds available, get community/adopter help in testing adequacy.
+
 
+
:Committers should begin to use SDK's produced, and evaluate for correctness. In particular:
+
::Check that version numbers change (or don't change) as expected. (I recommend you make some change, even trivial, to make sure it "gets in to" a build, if not otherwise planning changes this week).
+
::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: (meaning of priorities: high, need before making primary; medium, need before release; low, probably need at some point)
+
::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 version number in both, make "build.properties" changes in both. (low priority)
+
 
+
=== Week 3: (2/18 - 22) ===
+
 
+
: Cut over to CBI based builds as primary (unless someone raising a true, blocking objection).
+
 
+
: Some projects may need to "touch" their projects to get qualifiers "in order" (there is a difference in heuristics used for qualifiers so some in CBI build might be "lower than" those produced by PDE).
+
 
+
: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 [[Platform-releng/Platform_Build| Platform Build wiki]])
+
::TODO: someone (Thanh?) should confirm it gives same "target" results?)
+
 
+
:Begin to produce "4.3-I-build" repositories at .../eclipse/updates.
+
 
+
=== Week 4: (2/25 - 3/1) ===
+
 
+
:Possibly this week start to have true "CBI nightlies" vs. "Integration".
+
 
+
:Post SR2: could we (or should we?) produce 4.2.2+ maintenance builds for comparison to 4.2.2 -- or is that all in LTS hands now? These would not really be "for consumption", but some pom namespace changes need to be made for LTS in all module poms.
+
 
+
=== Week 5: (3/4 - 8) ===
+
 
+
=== Week 6: (3/11 - 15) <== 3/15 is M6+0 day. ===
+
 
+
: Milestone stabilization week
+
 
+
 
+
[[Category:Eclipse_Platform_Releng| ]]
+

Latest revision as of 03:59, 27 November 2020

Back to the top