From 9063493fc3e6ad0f7defb08e09b80c28b4a04232 Mon Sep 17 00:00:00 2001 From: Pavel Zhukov <pavel.zhukov@huawei.com> Date: Mon, 23 May 2022 09:51:02 +0200 Subject: [PATCH] .oniro-ci: Add abi-checker to CI ABI checker implementation is meta-binaryaudit. Adding it for CI only to not extend support surface of the project. Added to three flavours for now. It can be easily extended to all jobs if needed in the future Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> --- .oniro-ci/build-generic.yaml | 23 +++++++++++++++++++++++ .oniro-ci/machines-and-flavours.yaml | 6 +++--- manifests/ci.xml | 9 +++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 manifests/ci.xml diff --git a/.oniro-ci/build-generic.yaml b/.oniro-ci/build-generic.yaml index fe7d431e..bc79cda5 100644 --- a/.oniro-ci/build-generic.yaml +++ b/.oniro-ci/build-generic.yaml @@ -162,6 +162,17 @@ | sed -e 's/^CI_ONIRO_BB_LOCAL_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \ | sort \ | tee -a conf/local.conf ) + # Variables in the form of '^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_attr' are + # converted to 'attr += "value"' and appended to bblayers.conf + # this is useful if layer has to be added but bitbake add-layer command cannot be used + # (for example this layer's class is inherited via local.conf already) + - | + ( set +o pipefail; + env \ + | grep -E '^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_[A-Z_0-9]+=' \ + | sed -e 's/^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \ + | sort \ + | tee -a conf/bblayers.conf ) # Sanity check: disallow using public build cache with a specific setting # in local.conf. The list of settings may grow over time. @@ -275,6 +286,10 @@ done ) fi + # Compress and copy artifacts of do_abicheck task (if any) + if test -n "$CI_ONIRO_ABICHECK_TOPDIR" && test -d "$BITBAKE_TMPDIR"/../"$CI_ONIRO_ABICHECK_TOPDIR"; then + tar -cJf "$CI_PROJECT_DIR"/artifacts/abicheck-"$CI_COMMIT_SHA".tar.xz "$BITBAKE_TMPDIR"/../"$CI_ONIRO_ABICHECK_TOPDIR"/*/*/binaryaudit + fi set +x artifacts: paths: @@ -399,6 +414,14 @@ .build: extends: .build-recipe +.check-abi: + variables: + CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: abicheck + CI_ONIRO_BB_LOCAL_CONF_BINARY_AUDIT_WARN_ONLY: "1" + CI_ONIRO_MANIFEST_NAME: manifests/ci.xml + CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_BBLAYERS: "../meta-binaryaudit" + CI_ONIRO_ABICHECK_TOPDIR: "./buildhistory/packages" + # This job is documented in docs/ci/hidden-jobs/build-docs.rst .build-docs: interruptible: true diff --git a/.oniro-ci/machines-and-flavours.yaml b/.oniro-ci/machines-and-flavours.yaml index 3ca312aa..ed59249c 100644 --- a/.oniro-ci/machines-and-flavours.yaml +++ b/.oniro-ci/machines-and-flavours.yaml @@ -32,7 +32,7 @@ allow_failure: true .linux-qemu-x86: - extends: .build-wic-image + extends: [.build-wic-image, .check-abi] variables: MACHINE: qemux86 CI_ONIRO_BUILD_FLAVOUR: linux @@ -51,7 +51,7 @@ linux-qemu-x86-clang: extends: [.linux-qemu-x86, .toolchain-clang] .linux-qemu-x86_64: - extends: .build-wic-image + extends: [.build-wic-image, .check-abi] variables: MACHINE: qemux86-64 CI_ONIRO_BUILD_FLAVOUR: linux @@ -129,7 +129,7 @@ linux-seco-imx8mm-c61-4gb-extra-clang: extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken] .linux-raspberrypi4-64: - extends: .build-wic-image + extends: [.build-wic-image, .check-abi] variables: MACHINE: raspberrypi4-64 CI_ONIRO_BUILD_FLAVOUR: linux diff --git a/manifests/ci.xml b/manifests/ci.xml new file mode 100644 index 00000000..c8b059b0 --- /dev/null +++ b/manifests/ci.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +SPDX-License-Identifier: Apache-2.0 +SPDX-FileCopyrightText: Huawei Inc. +--> +<manifest> + <include name="manifests/default.xml" /> + <project name="oniro-core/meta-binaryaudit" remote="eclipse" revision="oniro/kirkstone" path="meta-binaryaudit" /> +</manifest> -- GitLab