summaryrefslogtreecommitdiff
path: root/meta-arm/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to 'meta-arm/.gitlab-ci.yml')
-rw-r--r--meta-arm/.gitlab-ci.yml37
1 files changed, 32 insertions, 5 deletions
diff --git a/meta-arm/.gitlab-ci.yml b/meta-arm/.gitlab-ci.yml
index 7d050a551b..0ba2280249 100644
--- a/meta-arm/.gitlab-ci.yml
+++ b/meta-arm/.gitlab-ci.yml
@@ -1,4 +1,12 @@
-image: ghcr.io/siemens/kas/kas:latest-release
+image: ghcr.io/siemens/kas/kas:3.2
+
+variables:
+ CPU_REQUEST: ""
+ DEFAULT_TAG: ""
+ # These are needed as the k8s executor doesn't respect the container entrypoint
+ # by default
+ FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
+ FF_KUBERNETES_HONOR_ENTRYPOINT: 1
stages:
- prep
@@ -6,6 +14,8 @@ stages:
# Common job fragment to get a worker ready
.setup:
+ tags:
+ - $DEFAULT_TAG
stage: build
interruptible: true
variables:
@@ -25,11 +35,29 @@ stages:
- 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-get update && sudo apt-get install --yes telnet python3-subunit
+ # This can be removed with Kas 3.2
+ - sudo apt-get update && sudo apt-get install --yes python3-subunit
# Generalised fragment to do a Kas build
.build:
extends: .setup
+ variables:
+ KUBERNETES_CPU_REQUEST: $CPU_REQUEST
+ rules:
+ # Don't run MR pipelines
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+ when: never
+ # Don't run pipelines for tags
+ - if: $CI_COMMIT_TAG
+ when: never
+ # Don't run if BUILD_ENABLE_REGEX is set, but the job doesn't match the regex
+ - if: '$BUILD_ENABLE_REGEX != null && $CI_JOB_NAME !~ $BUILD_ENABLE_REGEX'
+ when: never
+ # Allow the dev kernels to fail and not fail the overall build
+ - if: '$KERNEL == "linux-yocto-dev"'
+ allow_failure: true
+ # Catch all for everything else
+ - if: '$KERNEL != "linux-yocto-dev"'
script:
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
@@ -210,7 +238,7 @@ check-layers:
"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:
- - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain, meta-gem5]
+ - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain, meta-gem5, meta-atp]
pending-updates:
extends: .setup
@@ -228,8 +256,7 @@ pending-updates:
# What percentage of machines in the layer do we build
machine-coverage:
- stage: build
- interruptible: true
+ extends: .setup
script:
- ./ci/check-machine-coverage
coverage: '/Coverage: \d+/'