Implement android-build compatible android CI loop in CI dashboard

Registered by Данило Шеган

We should implement a compatibility loop type allowing one to pass all the parameters through a text field. The main work in this item will be loop type chaining, which allows one loop type to produce results and then pass them on to the following loop type. Since only configuration options will be passed around, we won't be introducing chaining of artifacts (i.e. artifacts from one build are input for another).

Blueprint information

Status:
Complete
Approver:
Данило Шеган
Priority:
High
Drafter:
Stevan Radaković
Direction:
Approved
Assignee:
Milo Casagrande
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 2012.09
Started by
Milo Casagrande
Completed by
Milo Casagrande

Related branches

Sprints

Whiteboard

[milo, 2012-08-27] Started impelmentation.
[milo, 2012-08-27] First discussion about implementation with stevanr.
[milo, 2012-08-27] Discussed with pfalcon and stevanr about first work item: already DONE since it was added in the last cycle with first AndroidLoop implementation.
[stevanr, 2012-08-28] Added new work items after discussions with milo and danilo.
[milo, 2012-08-29] Added and redefined work items after meeting with stevan and danilo.
[milo, 2012-08-29] Added initial XML schema definition for loop chaining in the HACKING file. http://bazaar.launchpad.net/~linaro-infrastructure/linaro-ci-dashboard/trunk/view/head:/HACKING
[stevanr, 2012-09-06] Added new WI for CI dashboard views refactoring.
[stevanr, 2012-09-11] Added new WI for Jenkins polling.

Meta:
Roadmap id: CARD-149
Headline: Continuous Integration now provides an AndroidCompatibleLoop which takes all the parameters through a single text area, parses them, and sends them over to an AndroidLoop for actual building.
Acceptance: One can go and request an android build while passing all parameters in exactly the same way as on android-build.linaro.org.

(?)

Work Items

Work items:
Extend AndroidLoop to support image creation options introduced in android-build in 2012.08 (see https://blueprints.launchpad.net/linaro-android-infrastructure/+spec/create-publish-android-fs-images): DONE
[milo] Define XML format to use for exchanging build results between loop builds: DONE
[milo] Implement "provides_for" (use a better name) in Loop classes (static): DONE
[milo] TextfieldAndroidLoop bare implementation: generic loop class with text area and "provides_for": DONE
[stevanr] extending Loop model to have "next_loop" + UI: DONE
[milo] TextfieldAndroidLoop full implementation (parsing of text area into a dict): DONE
[stevanr] Override schedule_build() to simply put the parsed results in the database (LoopBuild.build_results_xml): DONE
[milo] Generic get_build_results() that returns a dict based on .build_results_xml: DONE
[stevanr] Propagate results down the chain: implement LoopBuild.continue_down_the_chain(): DONE
[milo] Refector detail, update and create views; Unification of build views with the help of "type" field; Implemet build detail view: DONE
[stevanr] Implement jenkins polling: DONE

This blueprint contains Public information 
Everyone can see this information.