mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-04-20 23:41:08 +00:00
Move the xen specific changes out of gem5-arm64-xen.yml. This allows for other xen machines in the CI. Adding Xen machines for qemuarm and qemuarm64 allows for more testing, which should be expanded when the Xen Test Framework in meta-virtualization is expanded to work on arm machines. Signed-off-by: Jon Mason <jon.mason@arm.com>
235 lines
4.1 KiB
YAML
235 lines
4.1 KiB
YAML
image: ghcr.io/siemens/kas/kas
|
|
|
|
# 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
|
|
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
|
|
|
|
# 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
|
|
|
|
get-binary-toolchains:
|
|
extends: .setup
|
|
stage: prep
|
|
script:
|
|
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR
|
|
|
|
|
|
#
|
|
# 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
|
|
|
|
n1sdp/clang/clang-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+/'
|
|
|
|
toolchains:
|
|
extends: .build
|
|
stage: bootstrap
|
|
|
|
#
|
|
# 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-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"
|
|
|
|
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
|
|
|
|
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
|
|
|
|
qemuarm64/xen:
|
|
extends: .build
|
|
|
|
qemuarm/clang/testimage:
|
|
extends: .build
|
|
|
|
qemuarm/testimage:
|
|
extends: .build
|
|
|
|
qemuarm/xen:
|
|
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:
|
|
- du -h -s $SSTATE_DIR
|
|
- find $SSTATE_DIR -type f -atime +30 -delete
|
|
- du -h -s $SSTATE_DIR
|
|
|
|
# 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
|