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>
213 lines
4.0 KiB
YAML
213 lines
4.0 KiB
YAML
image: ghcr.io/siemens/kas/kas:3.2
|
|
|
|
# First do a common bootstrap, and then build all the targets
|
|
stages:
|
|
- prep
|
|
- bootstrap
|
|
- 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
|
|
|
|
# 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
|
|
|
|
#
|
|
# Prep stage, update repositories once
|
|
#
|
|
update-repos:
|
|
extends: .setup
|
|
stage: prep
|
|
script:
|
|
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
|
|
|
#
|
|
# Bootstrap stage, bootstrap and machine coverage
|
|
#
|
|
|
|
# Build a number of native tools first to ensure the other builders don't race
|
|
# over them
|
|
n1sdp/bootstrap:
|
|
extends: .build
|
|
stage: bootstrap
|
|
|
|
# What percentage of machines in the layer do we build
|
|
machine-coverage:
|
|
stage: bootstrap
|
|
interruptible: true
|
|
script:
|
|
- ./ci/check-machine-coverage
|
|
coverage: '/Coverage: \d+/'
|
|
|
|
|
|
#
|
|
# Build stage, the actual build jobs
|
|
#
|
|
|
|
# Validate layers are Yocto Project Compatible
|
|
check-layers:
|
|
extends: .setup
|
|
coverage: '/Coverage: \d+/'
|
|
script:
|
|
- kas shell --update --force-checkout ci/base.yml:ci/meta-python.yml --command \
|
|
"$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
|
|
|
|
corstone500:
|
|
extends: .build
|
|
|
|
corstone700-fvp:
|
|
extends: .build
|
|
|
|
corstone700-mps3:
|
|
extends: .build
|
|
|
|
fvp-base:
|
|
extends: .build
|
|
|
|
fvp-base-arm32:
|
|
extends: .build
|
|
|
|
fvp-base-arm32/external-gccarm:
|
|
extends: .build
|
|
|
|
fvp-baser-aemv8r64:
|
|
extends: .build
|
|
|
|
gem5-arm64:
|
|
extends: .build
|
|
|
|
gem5-arm64-xen:
|
|
extends: .build
|
|
|
|
gem5-atp-arm64:
|
|
extends: .build
|
|
|
|
generic-arm64:
|
|
extends: .build
|
|
|
|
juno:
|
|
extends: .build
|
|
|
|
juno/clang:
|
|
extends: .build
|
|
|
|
microbit-v1:
|
|
extends: .build
|
|
|
|
musca-b1:
|
|
extends: .build
|
|
|
|
musca-s1:
|
|
extends: .build
|
|
|
|
n1sdp:
|
|
extends: .build
|
|
|
|
n1sdp/armgcc:
|
|
extends: .build
|
|
|
|
qemu-cortex-a53:
|
|
extends: .build
|
|
|
|
qemuarm/testimage:
|
|
extends: .build
|
|
|
|
qemuarm64-sbsa:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/testimage:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/clang/testimage:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/clang/musl/testimage:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/musl/testimage:
|
|
extends: .build
|
|
|
|
qemuarmv5/testimage:
|
|
extends: .build
|
|
|
|
sgi575:
|
|
extends: .build
|
|
|
|
tc0:
|
|
extends: .build
|
|
|
|
|
|
#
|
|
# Utility tasks, not executed automatically
|
|
#
|
|
|
|
delete-dl-dir:
|
|
extends: .setup
|
|
stage: prep
|
|
when: manual
|
|
script:
|
|
- rm -rf $DL_DIR/*
|
|
|
|
delete-repo-dir:
|
|
extends: .setup
|
|
stage: prep
|
|
when: manual
|
|
script:
|
|
- rm -rf $KAS_REPO_REF_DIR/*
|
|
|
|
# Delete all sstate
|
|
delete-sstate:
|
|
extends: .setup
|
|
stage: prep
|
|
when: manual
|
|
script:
|
|
- rm -rf $SSTATE_DIR/*
|
|
|
|
delete-toolchains:
|
|
extends: .setup
|
|
stage: prep
|
|
when: manual
|
|
script:
|
|
- rm -rf $TOOLCHAIN_DIR/*
|
|
|
|
# Wipe out old sstate
|
|
prune-sstate:
|
|
extends: .setup
|
|
stage: prep
|
|
when: manual
|
|
script:
|
|
- find $SSTATE_DIR -type f -atime +30 -delete
|
|
|
|
# Report on disk usage
|
|
usage:
|
|
extends: .setup
|
|
stage: prep
|
|
when: manual
|
|
script:
|
|
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
|