mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-01 13:10:04 +00:00
2d22a1f7ae
Inherit fvpboot so that the FVP binary is fetched and configuration generated. Configure the FVP to forward host port 8022 to port 22 locally, and tell testimage to SSH to localhost:8022. This has the limitation that only one testimage can run per machine, but this will be removed shortly. Disable the parselogs test case, as there are some harmless warnings in the dmesg which cause it to fail. Currently meta-arm can't extend the whitelist of ignorable warnings. The FVP binaries are x86-64 only, so tag the job appropriately. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
267 lines
5.2 KiB
YAML
267 lines
5.2 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
|
|
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
|
|
|
|
#
|
|
# 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+/'
|
|
|
|
#
|
|
# 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"
|
|
|
|
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
|
|
|
|
fvp-base/testimage:
|
|
extends: .build
|
|
tags:
|
|
- x86_64
|
|
|
|
fvp-base-arm32:
|
|
extends: .build
|
|
|
|
fvp-base-arm32/external-gccarm:
|
|
extends: .build
|
|
|
|
fvp-baser-aemv8r64:
|
|
extends: .build
|
|
|
|
fvps:
|
|
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/testimage-zephyr:
|
|
extends: .build_and_test
|
|
|
|
musca-b1:
|
|
extends: .build
|
|
|
|
musca-s1:
|
|
extends: .build
|
|
|
|
n1sdp:
|
|
extends: .build
|
|
|
|
n1sdp/armgcc:
|
|
extends: .build
|
|
|
|
qemu-cortex-a53:
|
|
extends: .build
|
|
|
|
qemu-cortex-m3/testimage-zephyr:
|
|
extends: .build_and_test
|
|
|
|
qemu-cortex-r5:
|
|
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
|
|
tags:
|
|
- x86_64
|
|
|
|
tc1:
|
|
extends: .build
|
|
tags:
|
|
- x86_64
|
|
|
|
toolchains:
|
|
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
|