Open Embedded plan ๐¶
A plan is a of combination of builds and tests, but for OE we currently support only builds. We define our combinations of builds in a yaml file consisting of bake build or builds or both.
Note
For Reference of our yaml file containing combinations of builds, we will be referring it here as plan file
Kinds of build supported by OE¶
- Android builds
- Kas builds ๐
- Open embedded builds
- Openbmc builds
Plan configuration ๐¶
This plan file consists of all available kinds of builds along with their respective definitions. We will look at their definitions in detail later in this doc.
plan.yaml¶
version: 1
name: OEBUILD Examples
description: Build and test TS and LRP
jobs:
- name: Kas Builds
bakes:
- sources:
kas:
url: "https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git"
yaml: "ci/qemuarm64-secureboot.yml"
- sources:
kas:
url: "https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git"
yaml: "ci/rockpi4b.yml"
- name: OE (Repo) builds
bakes:
- container: "ubuntu-20.04"
distro: "rpb"
envsetup: "setup-environment"
machine: "ledge-multi-armv8"
sources:
repo:
branch: "master"
manifest: "default.xml"
url: "https://github.com/Linaro/ledge-oe-manifest.git"
target: "ledge-gateway"
- container: "ubuntu-20.04"
distro: "rpb"
envsetup: "setup-environment"
machine: "ledge-multi-armv8"
sources:
repo:
branch: "master"
manifest: "default.xml"
url: "https://github.com/Linaro/ledge-oe-manifest.git"
target: "ledge-iot"
- name: OE (Git_trees) builds
bake:
sources:
git_trees:
- url: http://git.yoctoproject.org/git/poky
branch: honister
- url: https://github.com/ndechesne/meta-qcom
branch: honister
container: ubuntu-20.04
envsetup: poky/oe-init-build-env
distro: poky
machine: dragonboard-845c
target: core-image-minimal
bblayers_conf:
- BBLAYERS += "../meta-qcom/"
artifacts:
- "$DEPLOY_DIR"
environment: {}
- name: Android builds
bake:
artifacts: []
bblayers_conf: []
container: ubuntu-20.04
distro:
environment: {}
envsetup:
local_conf: []
machine:
name: ''
sources:
android:
branch: common-android-mainline
build_config: common/build.config.gki.aarch64
manifest: default.xml
url: https://android.googlesource.com/kernel/manifest
targets: null
- name: Openbmc builds
bake:
artifacts: []
bblayers_conf: []
container: ubuntu-18.04
distro: openbmc-romulus
environment: {}
envsetup: setup
local_conf: []
machine: romulus
name: ''
sources:
git_trees:
- branch: master
url: https://github.com/openbmc/openbmc
targets:
- obmc-phosphor-image
Usage
Bitbake support is experimental and is in development phase so it may break from time to time
Command line ๐ง๐ปโ๐ป¶
Submit the multiple build request of the plan file using the tuxsuite command line interface. This will wait for all the build to complete before returning by default. Tuxsuite cli will show various details of the builds like plan summary, various phases of ongoing builds along with its details and finally result after builds finishes.
tuxsuite plan plan.yaml
Phases of builds are:¶
โ๏ธ Provisioning
๐ Running
๐ Pass | ๐น Fail | ๐ Infrastructure Error
graph LR
A[Provisioning] --> B{Running};
B --->C[Pass]
B ---> D[Fail];
B --->E[Infrastructure Error]
Outputs ๐งพ¶
The tuxsuite cli output will look like:
*** WARNING: BITBAKE SUPPORT IS EXPERIMENTAL ***
Running Bake plan 'OEBUILD Examples': 'Build and test TS and LRP'
Plan https://tuxapi.tuxsuite.com/v1/groups/tuxsuite/projects/alok/plans/2F57NDnDKr1pMA3L5rsA2U2k3e0
uid: 2F57NDnDKr1pMA3L5rsA2U2k3e0
โ๏ธ Provisioning: {'kas': {'url': 'https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git', 'yaml': 'ci/qemuarm64-secureboot.yml'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NI6t0EzVJfabyZghp9PT02G/
โ๏ธ Provisioning: {'kas': {'url': 'https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git', 'yaml': 'ci/rockpi4b.yml'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NKGCaWdkZdNXw9SzOMq1vn2/
โ๏ธ Provisioning: {'repo': {'branch': 'master', 'manifest': 'default.xml', 'url': 'https://github.com/Linaro/ledge-oe-manifest.git'}} with rpb ledge-multi-armv8 for ['ledge-gateway']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NHeh3MRJwfpinRnqW8kTqrQ/
โ๏ธ Provisioning: {'repo': {'branch': 'master', 'manifest': 'default.xml', 'url': 'https://github.com/Linaro/ledge-oe-manifest.git'}} with rpb ledge-multi-armv8 for ['ledge-iot']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NLeKOaWfBtpT7AnFYVOBYqA/
โ๏ธ Provisioning: {'git_trees': [{'url': 'http://git.yoctoproject.org/git/poky', 'branch': 'honister'}, {'url': 'https://github.com/ndechesne/meta-qcom', 'branch': 'honister'}]} with poky dragonboard-845c for ['core-image-minimal']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NHqiqzZQkWGpk2Gt3gX1PUy/
โ๏ธ Provisioning: {'android': {'branch': 'common-android-mainline', 'build_config': 'common/build.config.gki.aarch64', 'manifest': 'default.xml', 'url': 'https://android.googlesource.com/kernel/manifest'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NN3arYXsREXXHrzfQbcGBoU/
๐ Running: {'repo': {'branch': 'master', 'manifest': 'default.xml', 'url': 'https://github.com/Linaro/ledge-oe-manifest.git'}} with rpb ledge-multi-armv8 for ['ledge-gateway']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NHeh3MRJwfpinRnqW8kTqrQ/
๐ Running: {'repo': {'branch': 'master', 'manifest': 'default.xml', 'url': 'https://github.com/Linaro/ledge-oe-manifest.git'}} with rpb ledge-multi-armv8 for ['ledge-iot']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NLeKOaWfBtpT7AnFYVOBYqA/
๐ Running: {'git_trees': [{'url': 'http://git.yoctoproject.org/git/poky', 'branch': 'honister'}, {'url': 'https://github.com/ndechesne/meta-qcom', 'branch': 'honister'}]} with poky dragonboard-845c for ['core-image-minimal']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NHqiqzZQkWGpk2Gt3gX1PUy/
๐ Running: {'android': {'branch': 'common-android-mainline', 'build_config': 'common/build.config.gki.aarch64', 'manifest': 'default.xml', 'url': 'https://android.googlesource.com/kernel/manifest'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NN3arYXsREXXHrzfQbcGBoU/
๐ Running: {'kas': {'url': 'https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git', 'yaml': 'ci/qemuarm64-secureboot.yml'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NI6t0EzVJfabyZghp9PT02G/
๐ Running: {'kas': {'url': 'https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git', 'yaml': 'ci/rockpi4b.yml'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NKGCaWdkZdNXw9SzOMq1vn2/
๐ Pass: {'kas': {'url': 'https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git', 'yaml': 'ci/qemuarm64-secureboot.yml'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NI6t0EzVJfabyZghp9PT02G/
๐ Pass: {'kas': {'url': 'https://git.codelinaro.org/linaro/dependable-boot/meta-ts.git', 'yaml': 'ci/rockpi4b.yml'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NKGCaWdkZdNXw9SzOMq1vn2/
๐น Fail: {'git_trees': [{'url': 'http://git.yoctoproject.org/git/poky', 'branch': 'honister'}, {'url': 'https://github.com/ndechesne/meta-qcom', 'branch': 'honister'}]} with poky dragonboard-845c for ['core-image-minimal']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NHqiqzZQkWGpk2Gt3gX1PUy/
๐ Pass: {'android': {'branch': 'common-android-mainline', 'build_config': 'common/build.config.gki.aarch64', 'manifest': 'default.xml', 'url': 'https://android.googlesource.com/kernel/manifest'}} with None None for None: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NN3arYXsREXXHrzfQbcGBoU/
๐น Fail: {'repo': {'branch': 'master', 'manifest': 'default.xml', 'url': 'https://github.com/Linaro/ledge-oe-manifest.git'}} with rpb ledge-multi-armv8 for ['ledge-gateway']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NHeh3MRJwfpinRnqW8kTqrQ/
๐น Fail: {'repo': {'branch': 'master', 'manifest': 'default.xml', 'url': 'https://github.com/Linaro/ledge-oe-manifest.git'}} with rpb ledge-multi-armv8 for ['ledge-iot']: https://storage.tuxsuite.com/public/tuxsuite/alok/oebuilds/2F57NLeKOaWfBtpT7AnFYVOBYqA/
Summary: https://tuxapi.tuxsuite.com/v1/groups/tuxsuite/projects/alok/plans/2F57NDnDKr1pMA3L5rsA2U2k3e0
2F57NI6t0EzVJfabyZghp9PT02G ๐ Pass with container: ubuntu-20.04 machine: None targets: None
2F57NKGCaWdkZdNXw9SzOMq1vn2 ๐ Pass with container: ubuntu-20.04 machine: None targets: None
2F57NN3arYXsREXXHrzfQbcGBoU ๐ Pass with container: ubuntu-20.04 machine: None targets: None
2F57NHeh3MRJwfpinRnqW8kTqrQ ๐น Fail (0 errors) with container: ubuntu-20.04 machine: ledge-multi-armv8 targets: ['ledge-gateway']
2F57NLeKOaWfBtpT7AnFYVOBYqA ๐น Fail (0 errors) with container: ubuntu-20.04 machine: ledge-multi-armv8 targets: ['ledge-iot']
2F57NHqiqzZQkWGpk2Gt3gX1PUy ๐น Fail (0 errors) with container: ubuntu-20.04 machine: dragonboard-845c targets: ['core-image-minimal']
The plan details are available at a non-guessable URL, along with links to each individual builds. Here you will find extra information about respective builds, the artefacts that they may have generated and log files.