|
@@ -58,8 +58,8 @@ stages:
|
|
|
# Catch all for everything else
|
|
|
- if: '$KERNEL != "linux-yocto-dev"'
|
|
|
script:
|
|
|
- - KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
|
|
|
- - kas dump --update --force-checkout --resolve-refs --resolve-env $KASFILES
|
|
|
+ - KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME"):lockfile.yml
|
|
|
+ - kas dump --update --force-checkout --resolve-refs --resolve-env $KASFILES
|
|
|
- kas build $KASFILES
|
|
|
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
|
|
artifacts:
|
|
@@ -77,7 +77,19 @@ update-repos:
|
|
|
extends: .setup
|
|
|
stage: prep
|
|
|
script:
|
|
|
- - flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
|
|
+ - |
|
|
|
+ flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
|
|
+ # Only generate if doesn't already exist, to allow feature branches to drop one in.
|
|
|
+ if test -f lockfile.yml; then
|
|
|
+ echo Using existing lockfile.yml
|
|
|
+ else
|
|
|
+ # Be sure that this is the complete list of layers being fetched
|
|
|
+ kas dump --lock --update ci/qemuarm64.yml:ci/meta-openembedded.yml:ci/clang.yml:ci/meta-virtualization.yml | tee lockfile.yml
|
|
|
+ fi
|
|
|
+ artifacts:
|
|
|
+ name: "lockfile"
|
|
|
+ paths:
|
|
|
+ - lockfile.yml
|
|
|
|
|
|
#
|
|
|
# Build stage, the actual build jobs
|
|
@@ -233,14 +245,14 @@ toolchains:
|
|
|
selftest:
|
|
|
extends: .setup
|
|
|
script:
|
|
|
- - KASFILES=./ci/qemuarm64.yml:./ci/selftest.yml
|
|
|
+ - KASFILES=./ci/qemuarm64.yml:./ci/selftest.yml:lockfile.yml
|
|
|
- kas shell --update --force-checkout $KASFILES -c 'oe-selftest --num-processes 1 --run-tests runfvp'
|
|
|
|
|
|
# Validate layers are Yocto Project Compatible
|
|
|
check-layers:
|
|
|
extends: .setup
|
|
|
script:
|
|
|
- - kas shell --update --force-checkout ci/base.yml:ci/meta-openembedded.yml --command \
|
|
|
+ - kas shell --update --force-checkout ci/base.yml:ci/meta-openembedded.yml:lockfile.yml --command \
|
|
|
"yocto-check-layer-wrapper $CI_PROJECT_DIR/$LAYER --dependency $CI_PROJECT_DIR/meta-* $KAS_WORK_DIR/meta-openembedded/meta-oe --no-auto-dependency"
|
|
|
parallel:
|
|
|
matrix:
|
|
@@ -254,7 +266,7 @@ pending-updates:
|
|
|
script:
|
|
|
- rm -fr update-report
|
|
|
# This configuration has all of the layers we need enabled
|
|
|
- - kas shell --update --force-checkout ci/qemuarm64.yml:ci/meta-openembedded.yml --command \
|
|
|
+ - kas shell --update --force-checkout ci/qemuarm64.yml:ci/meta-openembedded.yml:lockfile.yml --command \
|
|
|
"$CI_PROJECT_DIR/scripts/machine-summary.py -t report -o $CI_PROJECT_DIR/update-report $($CI_PROJECT_DIR/ci/listmachines.py meta-arm meta-arm-bsp)"
|
|
|
# Do this on x86 whilst the compilers are x86-only
|
|
|
tags:
|