mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-05-30 12:30:14 +00:00
78131b1bed
Using a custom logging.yml we can instruct BitBake's logger to write all warnings and errors into a separate log file. Then after the build has finished we can see if the log file is empty and if not show it and abort the build. Change-Id: Ida835b5c822941fb513dfb1758b4ec195e0050fc Signed-off-by: Ross Burton <ross.burton@arm.com>
104 lines
2.0 KiB
YAML
104 lines
2.0 KiB
YAML
# Use our custom Crops-derived image
|
|
image: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/yocto-builder:master
|
|
|
|
# First do a common bootstrap, and then build all the targets
|
|
stages:
|
|
- bootstrap
|
|
- build
|
|
|
|
# Common job fragment to get a worker ready
|
|
.setup:
|
|
# Retry because the runner is flakey (see https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2890)
|
|
retry: 2
|
|
stage: build
|
|
variables:
|
|
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
|
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
|
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
|
BB_LOGCONFIG: $CI_PROJECT_DIR/kas/logging.yml
|
|
before_script:
|
|
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
|
- echo SSTATE_DIR = $SSTATE_DIR
|
|
- echo DL_DIR = $DL_DIR
|
|
- mkdir --verbose --parents $KAS_WORK_DIR $SSTATE_DIR $DL_DIR
|
|
|
|
# Generalised fragment to do a Kas build
|
|
.build:
|
|
extends: .setup
|
|
script:
|
|
- KASFILES=$(kas/jobs-to-kas $CI_JOB_NAME)
|
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
|
- kas build $KASFILES
|
|
- ./kas/check-warnings $KAS_WORK_DIR/build/warnings.log
|
|
|
|
|
|
#
|
|
# First phase, 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:
|
|
- ./kas/check-machine-coverage
|
|
coverage: '/Coverage: \d+/'
|
|
|
|
|
|
#
|
|
# Second phase, the actual build jobs
|
|
#
|
|
|
|
a5ds:
|
|
extends: .build
|
|
|
|
foundation-armv8:
|
|
extends: .build
|
|
|
|
fvp-base:
|
|
extends: .build
|
|
|
|
gem5-arm64:
|
|
extends: .build
|
|
|
|
juno:
|
|
extends: .build
|
|
|
|
juno/musl:
|
|
extends: .build
|
|
|
|
n1sdp:
|
|
extends: .build
|
|
|
|
n1sdp/armgcc:
|
|
extends: .build
|
|
|
|
tc0:
|
|
extends: .build
|
|
|
|
|
|
#
|
|
# Utility tasks, not executed automatically
|
|
#
|
|
|
|
# Report on disk usage
|
|
usage:
|
|
extends: .setup
|
|
stage: bootstrap
|
|
when: manual
|
|
script:
|
|
- du -h -s $DL_DIR $SSTATE_DIR
|
|
|
|
# Wipe out old sstate
|
|
prune-sstate:
|
|
extends: .setup
|
|
stage: bootstrap
|
|
when: manual
|
|
script:
|
|
- find $SSTATE_DIR -type f -atime +30 -delete
|