mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-04-20 23:41:08 +00:00
The Gitlab CI executors do not clean-up after each run, which will result in a ballooning size over time. Remove all files in the work tree, removing the problem. SSTATE should prevent this from causing any performance by not having the files there. Change-Id: I57df3cf470c519286fe194739a0a7722794f3b25 Signed-off-by: Jon Mason <jon.mason@arm.com>
207 lines
3.4 KiB
YAML
207 lines
3.4 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
|
|
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
|
|
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
|
|
|
|
# What percentage of machines in the layer do we build
|
|
machine-coverage:
|
|
stage: bootstrap
|
|
script:
|
|
- ./ci/check-machine-coverage
|
|
coverage: '/Coverage: \d+/'
|
|
|
|
|
|
#
|
|
# Build stage, the actual build jobs
|
|
#
|
|
|
|
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:
|
|
extends: .build
|
|
|
|
qemuarm64-sbsa:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/clang:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/clang/musl:
|
|
extends: .build
|
|
|
|
qemuarm64-secureboot/musl:
|
|
extends: .build
|
|
|
|
qemuarmv5:
|
|
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
|