diff options
Diffstat (limited to 'meta-arm/.gitlab-ci.yml')
-rw-r--r-- | meta-arm/.gitlab-ci.yml | 37 |
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+/' |