From f5b49afdc444905cd27a18db1c9709ec437eb4a3 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 shrink support surface of the project. Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> --- .oniro-ci/build-generic.yaml | 17 +++++++++++++++++ .oniro-ci/machines-and-flavours.yaml | 6 +++--- manifests/ci.xml | 10 ++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 manifests/ci.xml diff --git a/.oniro-ci/build-generic.yaml b/.oniro-ci/build-generic.yaml index 67abc4ad..ff8d83f8 100644 --- a/.oniro-ci/build-generic.yaml +++ b/.oniro-ci/build-generic.yaml @@ -162,6 +162,13 @@ | 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 ) + - | + ( 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. @@ -291,6 +298,9 @@ done ) fi + if test -n "$CI_ONIRO_ABICHECK_TOPDIR" && test -d "$BITBAKE_TMPDIR"/"$CI_ONIRO_ABICHECK_TOPDIR"; then + tar -cJvf "$CI_PROJECT_DIR"/artifacts/abicheck.tar.xz "$BITBAKE_TMPDIR"/"CI_ONIRO_ABICHECK_TOPDIR"/*/*/binaryaudit ## TODO: Uniqid into file + fi set +x artifacts: paths: @@ -407,6 +417,13 @@ .build: extends: .build-recipe +.check-abi: + variables: + CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: abicheck + CI_ONIRO_MANIFEST_NAME: manifests/ci.xml + CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_BBLAYERS: "../meta-binaryaudit" + CI_ONIRO_ABICHECK_TOPDIR: "/tmp/buildhistoy/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 19addc37..58e9d4e3 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..5768d945 --- /dev/null +++ b/manifests/ci.xml @@ -0,0 +1,10 @@ +<?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