Create Toolchain validation setup

Registered by Marcin Juszkiewicz

We are using OpenEmbedded to validate toolchain. This needs new CI jobs.

Blueprint information

Status:
Started
Approver:
Fathi Boudra
Priority:
Essential
Drafter:
Marcin Juszkiewicz
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Beta Available
Milestone target:
milestone icon 13.04
Started by
Fathi Boudra

Whiteboard

https://wiki.linaro.org/MarcinJuszkiewicz/Sandbox/ToolchainValidationWithOE is first draft of documenting steps

[hrw 2013.02.21] We use 'daily-prebuild-images' code to merge rootfs with hwpack. It needs to be changed to support fetching quantal hwpack and OE rootfs - now can not do that. Thus it blocks adding jobs.
[hrw 2013.03.14] Bug added.
[fboudra] Bump to 13.04. Raise priority from High to Essential as this blueprint has been bumped for too long.
[hrw 2013.04.05] sent mail to OE Core ML with questions why external toolchain can not build images. This blocks us ;(
[hrw 2013.04.08] minimal and lamp (without sdk) images built. Going though linaro-image-sdk issues. We are also running out of space due to sstate-cache size so I need to add script which will take care of it.
[hrw 2013.04.09] Each Saturday we will have old sstate-cache files removed.
[hrw 2013.04.11] dropped gcc-4.6 as it is not supported since 13.05 anyway.
[hrw 2013.04.15] switched CI to build minimal so we have something for LAVA and then will switch back to lamp
[hrw 2013.04.17] https://ci.linaro.org/jenkins/view/engineering-builds/job/openembedded-armv7a-pre-built-images-panda/ updated. http://validation.linaro.org/lava-server/scheduler/job/52067 is first job.
[hrw 2013.04.18] openembedded-armv7a-lamp job will start openembedded-armv7a-pre-built-images-panda after success. We have two things left before we switch to external linaro toolchain: gcc and libxml-parser-perl. First one needs multilib disabled, second is more complicated.
[hrw 2013.04.24] We have gcc and libxml-parser-perl buildable now. Some debugging left to being able to use Linaro binary cross toolchain. But even without it we have now whole infrastructure tested working.

Meta:
Headline: A CI loop is created that involves building as well as automated LAVA validation on armv7a and armv8
Acceptance: A CI loop is created that involves building as well as automated LAVA validation on armv7a and armv8
Roadmap id: TBD

(?)

Work Items

Work items for 13.01:
add options to jenkins-setup scripts to pass architecture: DONE
add options to jenkins-setup scripts to pass gcc version: DONE
add ARMv7a gcc-4.7 LAMP build to Jenkins: DONE
add ARMv7a gcc-4.6 LAMP build to Jenkins: DONE
[fboudra] update CI jobs publishing to snapshots: DONE
merge changes in toolchain-layer: DONE

Work items for 13.04:
improve jenkins-setup scripts to have an option to remove old sstate-cache files: DONE
hack daily-prebuilt-images code to support quantal+openembedded in one call: DONE
find out why external-toolchain can not build minimal image: DONE
find out why external-toolchain can not build lamp (without sdk) image: DONE
find out why external-toolchain can not build sdk image: DONE
switch CI to build minimal image: DONE
switch CI to build lamp image: DONE
add job to combine ARMv7a gcc-4.7 LAMP build with Pandaboard hwpack: DONE
fix armv7a lamp job to not publish unversioned tarball: DONE
fix daily-prebuilt-images to use 3GB size for unknown binaries: DONE
add triggers to start "combine" job after rootfs build is done: DONE
add triggers to inform stakeholders that images are available: TODO
add triggers to start LAVA tests: DONE
get gcc compiled with external-linaro-toolchain: DONE
mark external-linaro-toolchain as multilib incompatible: DONE
fix libxml-parser-perl build with external-linaro-toolchain: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.