Skip to content
Snippets Groups Projects
Commit 9063493f authored by Pavel Zhukov's avatar Pavel Zhukov Committed by Stefan Schmidt
Browse files

.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: default avatarPavel Zhukov <pavel.zhukov@huawei.com>
parent 18dcffa1
No related branches found
No related tags found
1 merge request!114Enable ABI checker
...@@ -162,6 +162,17 @@ ...@@ -162,6 +162,17 @@
| sed -e 's/^CI_ONIRO_BB_LOCAL_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \ | sed -e 's/^CI_ONIRO_BB_LOCAL_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \
| sort \ | sort \
| tee -a conf/local.conf ) | 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 # Sanity check: disallow using public build cache with a specific setting
# in local.conf. The list of settings may grow over time. # in local.conf. The list of settings may grow over time.
...@@ -275,6 +286,10 @@ ...@@ -275,6 +286,10 @@
done done
) )
fi 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 set +x
artifacts: artifacts:
paths: paths:
...@@ -399,6 +414,14 @@ ...@@ -399,6 +414,14 @@
.build: .build:
extends: .build-recipe 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 # This job is documented in docs/ci/hidden-jobs/build-docs.rst
.build-docs: .build-docs:
interruptible: true interruptible: true
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
allow_failure: true allow_failure: true
.linux-qemu-x86: .linux-qemu-x86:
extends: .build-wic-image extends: [.build-wic-image, .check-abi]
variables: variables:
MACHINE: qemux86 MACHINE: qemux86
CI_ONIRO_BUILD_FLAVOUR: linux CI_ONIRO_BUILD_FLAVOUR: linux
...@@ -51,7 +51,7 @@ linux-qemu-x86-clang: ...@@ -51,7 +51,7 @@ linux-qemu-x86-clang:
extends: [.linux-qemu-x86, .toolchain-clang] extends: [.linux-qemu-x86, .toolchain-clang]
.linux-qemu-x86_64: .linux-qemu-x86_64:
extends: .build-wic-image extends: [.build-wic-image, .check-abi]
variables: variables:
MACHINE: qemux86-64 MACHINE: qemux86-64
CI_ONIRO_BUILD_FLAVOUR: linux CI_ONIRO_BUILD_FLAVOUR: linux
...@@ -129,7 +129,7 @@ linux-seco-imx8mm-c61-4gb-extra-clang: ...@@ -129,7 +129,7 @@ linux-seco-imx8mm-c61-4gb-extra-clang:
extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken] extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken]
.linux-raspberrypi4-64: .linux-raspberrypi4-64:
extends: .build-wic-image extends: [.build-wic-image, .check-abi]
variables: variables:
MACHINE: raspberrypi4-64 MACHINE: raspberrypi4-64
CI_ONIRO_BUILD_FLAVOUR: linux CI_ONIRO_BUILD_FLAVOUR: linux
......
<?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>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment