mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-11 15:00:39 +00:00
For some reason the kas 3.2.1 container fails: No such file or directory: '/builds/engineering/yocto/meta-arm/ci/ci/base.yml' Note the repeated /ci/, which is wrong. Pin the kas container to 3.2 for now until this is resolved. Signed-off-by: Ross Burton <ross.burton@arm.com>
219 lines
4.5 KiB
YAML
219 lines
4.5 KiB
YAML
image: ghcr.io/siemens/kas/kas:3.2
|
|
|
|
stages:
|
|
- prep
|
|
- build
|
|
|
|
# Common job fragment to get a worker ready
|
|
.setup:
|
|
stage: build
|
|
interruptible: true
|
|
variables:
|
|
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
|
KAS_REPO_REF_DIR: $CI_BUILDS_DIR/persist/repos
|
|
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
|
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
|
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
|
TOOLCHAIN_DIR: $CI_BUILDS_DIR/persist/toolchains
|
|
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
|
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
|
before_script:
|
|
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
|
- echo SSTATE_DIR = $SSTATE_DIR
|
|
- echo DL_DIR = $DL_DIR
|
|
- rm -rf $KAS_WORK_DIR
|
|
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
|
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
|
|
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
|
- sudo apt update && sudo apt install telnet -y
|
|
|
|
# Generalised fragment to do a Kas build
|
|
.build:
|
|
extends: .setup
|
|
script:
|
|
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
|
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
|
- kas build $KASFILES
|
|
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
|
|
|
# Workaround for Zephyr not currectly handling TESTIMAGE_AUTO
|
|
.build_and_test:
|
|
extends: .setup
|
|
script:
|
|
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
|
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
|
- kas build $KASFILES
|
|
- kas build $KASFILES -c testimage
|
|
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
|
|
|
|
|
#
|
|
# Prep stage, update repositories once
|
|
#
|
|
update-repos:
|
|
extends: .setup
|
|
stage: prep
|
|
script:
|
|
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
|
|
|
|
|
# What percentage of machines in the layer do we build
|
|
machine-coverage:
|
|
stage: build
|
|
interruptible: true
|
|
script:
|
|
- ./ci/check-machine-coverage
|
|
coverage: '/Coverage: \d+/'
|
|
|
|
#
|
|
# Build stage, the actual build jobs
|
|
#
|
|
# Available options for building are
|
|
# TOOLCHAINS: [gcc, clang, armgcc, external-gccarm]
|
|
# TCLIBC: [glibc, musl]
|
|
# VIRT: [none, xen]
|
|
# TESTING: testimage
|
|
|
|
# Validate layers are Yocto Project Compatible
|
|
check-layers:
|
|
extends: .setup
|
|
coverage: '/Coverage: \d+/'
|
|
script:
|
|
- kas shell --update --force-checkout ci/base.yml:ci/meta-arm-autonomy.yml:ci/meta-openembedded.yml --command \
|
|
"$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
|
|
|
|
pending-updates:
|
|
extends: .setup
|
|
artifacts:
|
|
paths:
|
|
- update-report.html
|
|
script:
|
|
- kas shell ci/qemuarm64.yml:ci/meta-openembedded.yml -c "$CI_PROJECT_DIR/scripts/machine-summary.py -t updates.html -o $CI_PROJECT_DIR/update-report.html $($CI_PROJECT_DIR/ci/listmachines.py meta-arm meta-arm-bsp)"
|
|
|
|
corstone500:
|
|
extends: .build
|
|
|
|
corstone700-fvp:
|
|
extends: .build
|
|
|
|
corstone700-mps3:
|
|
extends: .build
|
|
|
|
corstone1000-fvp:
|
|
extends: .build
|
|
|
|
corstone1000-mps3:
|
|
extends: .build
|
|
|
|
fvp-base:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TESTING: testimage
|
|
tags:
|
|
- x86_64
|
|
|
|
fvp-base-arm32:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TOOLCHAINS: [gcc, external-gccarm]
|
|
|
|
fvp-baser-aemv8r64:
|
|
extends: .build
|
|
|
|
fvps:
|
|
extends: .build
|
|
|
|
gem5-arm64:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- VIRT: [none, xen]
|
|
|
|
gem5-atp-arm64:
|
|
extends: .build
|
|
|
|
generic-arm64:
|
|
extends: .build
|
|
|
|
juno:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TOOLCHAINS: [gcc, clang]
|
|
|
|
microbit-v1:
|
|
extends: .build_and_test
|
|
parallel:
|
|
matrix:
|
|
- TESTING: testimage-zephyr
|
|
|
|
musca-b1:
|
|
extends: .build
|
|
|
|
musca-s1:
|
|
extends: .build
|
|
|
|
n1sdp:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TOOLCHAINS: [gcc, armgcc]
|
|
|
|
qemu-cortex-a53:
|
|
extends: .build
|
|
|
|
qemu-cortex-m3:
|
|
extends: .build_and_test
|
|
parallel:
|
|
matrix:
|
|
- TESTING: testimage-zephyr
|
|
|
|
qemu-cortex-r5:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TOOLCHAINS: [gcc, clang]
|
|
TCLIBC: [glibc, musl]
|
|
TESTING: testimage
|
|
|
|
qemuarm64:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- VIRT: xen
|
|
|
|
qemuarm:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TOOLCHAINS: [gcc, clang]
|
|
TESTING: testimage
|
|
- VIRT: xen
|
|
|
|
qemuarmv5:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- TESTING: testimage
|
|
|
|
sgi575:
|
|
extends: .build
|
|
|
|
tc0:
|
|
extends: .build
|
|
tags:
|
|
- x86_64
|
|
|
|
tc1:
|
|
extends: .build
|
|
tags:
|
|
- x86_64
|
|
|
|
toolchains:
|
|
extends: .build
|