From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6940636076695355392 X-Received: by 2002:a17:906:340d:: with SMTP id c13mr25778063ejb.29.1615993020003; Wed, 17 Mar 2021 07:57:00 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:f290:: with SMTP id gu16ls10540036ejb.11.gmail; Wed, 17 Mar 2021 07:56:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2S6/hrt+Bl/Sd664+3zdjm3IlyznLpLdCx4rmKRhn/cjCEZKFTEzKi5E4swFsn0GiIy1F X-Received: by 2002:a17:906:f283:: with SMTP id gu3mr35271223ejb.91.1615993019068; Wed, 17 Mar 2021 07:56:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615993019; cv=none; d=google.com; s=arc-20160816; b=R829N5AI459xzBPbCjvlPTkunog+M8MV7ucR0MwEbO6tt6WQmi1wmBU6s8h9y8Y0UJ 4fp3QMgs4gHucgnWd6XnYrKXPutgRciLNPTCammihe0KBu+0FiHv2gFZiIjXMX7HMtkB lkVAWHJ/ZblhT0mPMpRwwCmSqb7U5qSqtsorsoyV4rXj9fWYYVT6vQ9Ow9K2DT7NJW3R zast0v1jCj4v4eWGhepXXVwDcpg9+S9ELHP/WscHqf8d1Mq9a46sCprH9t9hVAttMoTe Vvb0lG//woghYsEN/C1vbU7n10R+mz5QDg58GIprBfBq6wM65IIGyA25aUpzz8qJzM6K d7LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject; bh=RGH/Jica/uUTZEgfz/psYJwsFUqFIyFnXhjm334AGIA=; b=urQyRr7J7RoRd+L0d989DLX2OQC/8BGyBVPJgscb49G1N9yStKaxzT6gtmYvjguh7F xzo33D5Ze/MPEAv6xLVetB6Lv0OIsu9FNRfYAQeU84zZIXb6yhteAQGQ2ytmVfxyHP46 ISl/y30a6DrTEpH0Y2WQyiJwYRE/oZQu9ZFMupHJITAbYtQVwbLn+rMAmY7atNULIDUa yXDlwt42NeJMpVAwWr/fcJVYRROTV0p9BKytg33td2uRyDBh6K0Elq2bF6bW4C13zD0s sYHkK05B3rj3YdCGkQJkQUPBlr9F1M/ctdEwpNZurFJENxoXS5pNsGJFhAVbKJ7OU8Yc nJhw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id f25si778425edx.4.2021.03.17.07.56.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Mar 2021 07:56:59 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 12HEuwV6015695 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 17 Mar 2021 15:56:58 +0100 Received: from [167.87.41.130] ([167.87.41.130]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 12HEuw5M002247; Wed, 17 Mar 2021 15:56:58 +0100 Subject: Re: [PATCH v3 10/11] ci_build: Migrate to Avocado To: Anton Mikanovich , isar-users@googlegroups.com References: <20210317145225.88050-1-amikan@ilbers.de> <20210317145225.88050-11-amikan@ilbers.de> From: Jan Kiszka Message-ID: Date: Wed, 17 Mar 2021 15:56:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <20210317145225.88050-11-amikan@ilbers.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: BTgfXBk5TRUD On 17.03.21 15:52, Anton Mikanovich wrote: > Call Avocado test cases instead of shell based. > > Signed-off-by: Anton Mikanovich > --- > scripts/ci_build.sh | 170 ++++---------------------- > scripts/ci_build_legacy.sh | 239 +++++++++++++++++++++++++++++++++++++ > 2 files changed, 261 insertions(+), 148 deletions(-) > create mode 100755 scripts/ci_build_legacy.sh > > diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh > index 3868fb6..9abebb8 100755 > --- a/scripts/ci_build.sh > +++ b/scripts/ci_build.sh > @@ -14,59 +14,12 @@ export PATH=$PATH:/sbin > # Go to Isar root > cd "$(dirname "$0")/.." > > +# Get Avocado build tests path > +BUILD_TEST_DIR="$(pwd)/testsuite/build_test" > + > # Start build in Isar tree by default > BUILD_DIR=./build > > -BB_ARGS="-v" > - > -TARGETS_SET="\ > - mc:qemuarm-stretch:isar-image-base \ > - mc:qemuarm-buster:isar-image-base \ > - mc:qemuarm64-stretch:isar-image-base \ > - mc:qemui386-stretch:isar-image-base \ > - mc:qemui386-buster:isar-image-base \ > - mc:qemuamd64-stretch:isar-image-base \ > - mc:qemuamd64-buster:isar-image-base \ > - mc:qemuamd64-buster-tgz:isar-image-base \ > - mc:qemuamd64-buster:isar-initramfs \ > - mc:qemumipsel-stretch:isar-image-base \ > - mc:qemumipsel-buster:isar-image-base \ > - mc:nand-ubi-demo-buster:isar-image-ubi \ > - mc:rpi-stretch:isar-image-base \ > - mc:qemuamd64-focal:isar-image-base" > - # qemu-user-static of <= buster too old to build that > - # mc:qemuarm64-buster:isar-image-base > - # mc:qemuarm64-bullseye:isar-image-base > - > -TARGETS_SET_BULLSEYE="\ > - mc:qemuamd64-bullseye:isar-image-base \ > - mc:qemuarm-bullseye:isar-image-base \ > - mc:qemui386-bullseye:isar-image-base \ > - mc:qemumipsel-bullseye:isar-image-base \ > -" > - > -CROSS_TARGETS_SET="\ > - mc:qemuarm-stretch:isar-image-base \ > - mc:qemuarm-buster:isar-image-base \ > - mc:qemuarm64-stretch:isar-image-base \ > - mc:qemuamd64-stretch:isar-image-base \ > - mc:de0-nano-soc-buster:isar-image-base \ > - mc:stm32mp15x-buster:isar-image-base \ > - mc:rpi-stretch:isar-image-base \ > - mc:qemuarm64-focal:isar-image-base" > - > -CROSS_TARGETS_SET_BULLSEYE="\ > - mc:qemuarm-bullseye:isar-image-base \ > -" > - > -REPRO_TARGETS_SET_SIGNED="\ > - mc:de0-nano-soc-buster:isar-image-base \ > - mc:qemuarm64-stretch:isar-image-base" > - > -REPRO_TARGETS_SET="\ > - mc:qemuamd64-stretch:isar-image-base \ > - mc:qemuarm-buster:isar-image-base" > - > show_help() { > echo "This script builds the default Isar images." > echo > @@ -88,6 +41,10 @@ show_help() { > echo " 3 if invalid parameters are passed." > } > > +TAGS="full" > +CROSS_BUILD="0" > +QUIET="0" > + > # Parse command line to get user configuration > while [ $# -gt 0 ] > do > @@ -106,16 +63,18 @@ do > CROSS_BUILD="1" > ;; > -d|--debug) > - BB_ARGS="$BB_ARGS -D" > + QUIET="0" > + VERBOSE="--show-job-log" > ;; > -f|--fast) > # Start build for the reduced set of configurations > # Enforce cross-compilation to speed up the build > - FAST_BUILD="1" > + TAGS="fast" > CROSS_BUILD="1" > ;; > -q|--quiet) > - BB_ARGS="" > + QUIET="1" > + VERBOSE="" > ;; > -r|--repro) > REPRO_BUILD="1" > @@ -134,106 +93,21 @@ do > shift > done > > +if [ -z "$REPRO_BUILD" ]; then > + TAGS = "$TAGS,-repro" > +fi > + > +# Provide working path > +export VIRTUAL_ENV="./" > + > # the real stuff starts here, trace commands from now on > set -x > > # Setup build folder for the current build > if [ ! -d "$BUILD_DIR" ]; then > - mkdir -p "$BUILD_DIR" > + mkdir -p "$BUILD_DIR" > fi > source isar-init-build-env "$BUILD_DIR" > > -cat >>conf/local.conf < -ISAR_ENABLE_COMPAT_ARCH_amd64 = "1" > -ISAR_ENABLE_COMPAT_ARCH_arm64 = "1" > -ISAR_ENABLE_COMPAT_ARCH_debian-stretch_amd64 = "0" > -EOF > - > -if [ -n "$CROSS_BUILD" ]; then > - sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= "1"/g' conf/local.conf > -fi > - > -if [ -n "$REPRO_BUILD" ]; then > - ISAR_TESTSUITE_GPG_PUB_KEY_FILE="$TESTSUITEDIR/base-apt/test_pub.key" > - ISAR_TESTSUITE_GPG_PRIV_KEY_FILE="$TESTSUITEDIR/base-apt/test_priv.key" > - export GNUPGHOME=$(mktemp -d) > - gpg --import $ISAR_TESTSUITE_GPG_PUB_KEY_FILE $ISAR_TESTSUITE_GPG_PRIV_KEY_FILE > - > - # Enable use of signed cached base repository > - echo BASE_REPO_KEY=\"file://$ISAR_TESTSUITE_GPG_PUB_KEY_FILE\" >> conf/local.conf > - bitbake $BB_ARGS $REPRO_TARGETS_SET_SIGNED > - while [ -e bitbake.sock ]; do sleep 1; done > - sudo rm -rf tmp > - sed -i -e 's/#ISAR_USE_CACHED_BASE_REPO ?= "1"/ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > - sed -i -e 's/^#BB_NO_NETWORK/BB_NO_NETWORK/g' conf/local.conf > - bitbake $BB_ARGS $REPRO_TARGETS_SET_SIGNED > - while [ -e bitbake.sock ]; do sleep 1; done > - # Cleanup and disable use of signed cached base repository > - sudo rm -rf tmp > - sed -i -e 's/ISAR_USE_CACHED_BASE_REPO ?= "1"/#ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > - sed -i -e 's/^BB_NO_NETWORK/#BB_NO_NETWORK/g' conf/local.conf > - sed -i -e 's/^BASE_REPO_KEY/#BASE_REPO_KEY/g' conf/local.conf > - > - # Enable use of unsigned cached base repository > - bitbake $BB_ARGS $REPRO_TARGETS_SET > - while [ -e bitbake.sock ]; do sleep 1; done > - sudo rm -rf tmp > - sed -i -e 's/#ISAR_USE_CACHED_BASE_REPO ?= "1"/ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > - sed -i -e 's/^#BB_NO_NETWORK/BB_NO_NETWORK/g' conf/local.conf > - bitbake $BB_ARGS $REPRO_TARGETS_SET > - while [ -e bitbake.sock ]; do sleep 1; done > - # Cleanup and disable use of unsigned cached base repository > - sudo rm -rf tmp > - sed -i -e 's/ISAR_USE_CACHED_BASE_REPO ?= "1"/#ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > - sed -i -e 's/^BB_NO_NETWORK/#BB_NO_NETWORK/g' conf/local.conf > -fi > - > -sed -i -e 's/^#BASE_REPO_FEATURES ?= "cache-deb-src"/BASE_REPO_FEATURES ?= "cache-deb-src"/g' conf/local.conf > -# Start cross build for the defined set of configurations > -sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= "1"/g' conf/local.conf > -bitbake $BB_ARGS $CROSS_TARGETS_SET > -while [ -e bitbake.sock ]; do sleep 1; done > -if bitbake $BB_ARGS $CROSS_TARGETS_SET_BULLSEYE; then > - echo "bullseye cross: PASSED" > -else > - echo "bullseye cross: KFAIL" > -fi > -# In addition test SDK creation > -bitbake $BB_ARGS -c do_populate_sdk mc:qemuarm-stretch:isar-image-base > -while [ -e bitbake.sock ]; do sleep 1; done > - > -if [ -z "$FAST_BUILD" ]; then > - # Cleanup and disable cross build > - sudo rm -rf tmp > - sed -i -e 's/ISAR_CROSS_COMPILE ?= "1"/ISAR_CROSS_COMPILE ?= "0"/g' conf/local.conf > - bitbake $BB_ARGS $TARGETS_SET > - while [ -e bitbake.sock ]; do sleep 1; done > - > - if bitbake $BB_ARGS $TARGETS_SET_BULLSEYE; then > - echo "bullseye: PASSED" > - else > - echo "bullseye: KFAIL" > - fi > - while [ -e bitbake.sock ]; do sleep 1; done > -fi > - > -eval $(bitbake -e | grep "^LAYERDIR_core=") > -eval $(bitbake -e | grep "^LAYERDIR_isar=") > -cp -a "${LAYERDIR_core}/classes/dpkg-base.bbclass" "${LAYERDIR_core}/classes/dpkg-base.bbclass.ci-backup" > -echo -e "do_fetch_append() {\n\n}" >> "${LAYERDIR_core}/classes/dpkg-base.bbclass" > - > -bitbake $BB_ARGS mc:qemuamd64-stretch:isar-image-base > - > -mv "${LAYERDIR_core}/classes/dpkg-base.bbclass.ci-backup" "${LAYERDIR_core}/classes/dpkg-base.bbclass" > - > -# Test wic --exclude-path > -cp -a "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks.ci-backup" > -mv ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img \ > - ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img.ci-backup > -sed -i -e 's/part \/ /part \/ --exclude-path usr /g' "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" > - > -bitbake $BB_ARGS mc:qemuamd64-stretch:isar-image-base > - > -mv "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks.ci-backup" "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" > -mv ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img.ci-backup \ > - ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img > +avocado run "$BUILD_TEST_DIR/build_test.py" -t $TAGS -p build_dir="$BUILD_DIR" \ > + -p quiet=$QUIET -p cross=$CROSS_BUILD $VERBOSE > diff --git a/scripts/ci_build_legacy.sh b/scripts/ci_build_legacy.sh > new file mode 100755 > index 0000000..3868fb6 > --- /dev/null > +++ b/scripts/ci_build_legacy.sh > @@ -0,0 +1,239 @@ > +#!/usr/bin/env bash > +# Script for CI system build > +# > +# Alexander Smirnov > +# Copyright (c) 2016-2018 ilbers GmbH > + > +set -e > + > +ES_BUG=3 > + > +# Export $PATH to use 'parted' tool > +export PATH=$PATH:/sbin > + > +# Go to Isar root > +cd "$(dirname "$0")/.." > + > +# Start build in Isar tree by default > +BUILD_DIR=./build > + > +BB_ARGS="-v" > + > +TARGETS_SET="\ > + mc:qemuarm-stretch:isar-image-base \ > + mc:qemuarm-buster:isar-image-base \ > + mc:qemuarm64-stretch:isar-image-base \ > + mc:qemui386-stretch:isar-image-base \ > + mc:qemui386-buster:isar-image-base \ > + mc:qemuamd64-stretch:isar-image-base \ > + mc:qemuamd64-buster:isar-image-base \ > + mc:qemuamd64-buster-tgz:isar-image-base \ > + mc:qemuamd64-buster:isar-initramfs \ > + mc:qemumipsel-stretch:isar-image-base \ > + mc:qemumipsel-buster:isar-image-base \ > + mc:nand-ubi-demo-buster:isar-image-ubi \ > + mc:rpi-stretch:isar-image-base \ > + mc:qemuamd64-focal:isar-image-base" > + # qemu-user-static of <= buster too old to build that > + # mc:qemuarm64-buster:isar-image-base > + # mc:qemuarm64-bullseye:isar-image-base > + > +TARGETS_SET_BULLSEYE="\ > + mc:qemuamd64-bullseye:isar-image-base \ > + mc:qemuarm-bullseye:isar-image-base \ > + mc:qemui386-bullseye:isar-image-base \ > + mc:qemumipsel-bullseye:isar-image-base \ > +" > + > +CROSS_TARGETS_SET="\ > + mc:qemuarm-stretch:isar-image-base \ > + mc:qemuarm-buster:isar-image-base \ > + mc:qemuarm64-stretch:isar-image-base \ > + mc:qemuamd64-stretch:isar-image-base \ > + mc:de0-nano-soc-buster:isar-image-base \ > + mc:stm32mp15x-buster:isar-image-base \ > + mc:rpi-stretch:isar-image-base \ > + mc:qemuarm64-focal:isar-image-base" > + > +CROSS_TARGETS_SET_BULLSEYE="\ > + mc:qemuarm-bullseye:isar-image-base \ > +" > + > +REPRO_TARGETS_SET_SIGNED="\ > + mc:de0-nano-soc-buster:isar-image-base \ > + mc:qemuarm64-stretch:isar-image-base" > + > +REPRO_TARGETS_SET="\ > + mc:qemuamd64-stretch:isar-image-base \ > + mc:qemuarm-buster:isar-image-base" > + > +show_help() { > + echo "This script builds the default Isar images." > + echo > + echo "Usage:" > + echo " $0 [params]" > + echo > + echo "Parameters:" > + echo " -b, --build BUILD_DIR set path to build directory. If not set," > + echo " the build will be started in current path." > + echo " -c, --cross enable cross-compilation." > + echo " -d, --debug enable debug bitbake output." > + echo " -f, --fast cross build reduced set of configurations." > + echo " -q, --quiet suppress verbose bitbake output." > + echo " -r, --repro enable use of cached base repository." > + echo " --help display this message and exit." > + echo > + echo "Exit status:" > + echo " 0 if OK," > + echo " 3 if invalid parameters are passed." > +} > + > +# Parse command line to get user configuration > +while [ $# -gt 0 ] > +do > + key="$1" > + > + case $key in > + -h|--help) > + show_help > + exit 0 > + ;; > + -b|--build) > + BUILD_DIR="$2" > + shift > + ;; > + -c|--cross) > + CROSS_BUILD="1" > + ;; > + -d|--debug) > + BB_ARGS="$BB_ARGS -D" > + ;; > + -f|--fast) > + # Start build for the reduced set of configurations > + # Enforce cross-compilation to speed up the build > + FAST_BUILD="1" > + CROSS_BUILD="1" > + ;; > + -q|--quiet) > + BB_ARGS="" > + ;; > + -r|--repro) > + REPRO_BUILD="1" > + # This switch is deprecated, just here to not cause failing CI on > + # legacy configs > + case "$2" in > + -s|--sign) shift ;; > + esac > + ;; > + *) > + echo "error: invalid parameter '$key', please try '--help' to get list of supported parameters" > + exit $ES_BUG > + ;; > + esac > + > + shift > +done > + > +# the real stuff starts here, trace commands from now on > +set -x > + > +# Setup build folder for the current build > +if [ ! -d "$BUILD_DIR" ]; then > + mkdir -p "$BUILD_DIR" > +fi > +source isar-init-build-env "$BUILD_DIR" > + > +cat >>conf/local.conf < +ISAR_ENABLE_COMPAT_ARCH_amd64 = "1" > +ISAR_ENABLE_COMPAT_ARCH_arm64 = "1" > +ISAR_ENABLE_COMPAT_ARCH_debian-stretch_amd64 = "0" > +EOF > + > +if [ -n "$CROSS_BUILD" ]; then > + sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= "1"/g' conf/local.conf > +fi > + > +if [ -n "$REPRO_BUILD" ]; then > + ISAR_TESTSUITE_GPG_PUB_KEY_FILE="$TESTSUITEDIR/base-apt/test_pub.key" > + ISAR_TESTSUITE_GPG_PRIV_KEY_FILE="$TESTSUITEDIR/base-apt/test_priv.key" > + export GNUPGHOME=$(mktemp -d) > + gpg --import $ISAR_TESTSUITE_GPG_PUB_KEY_FILE $ISAR_TESTSUITE_GPG_PRIV_KEY_FILE > + > + # Enable use of signed cached base repository > + echo BASE_REPO_KEY=\"file://$ISAR_TESTSUITE_GPG_PUB_KEY_FILE\" >> conf/local.conf > + bitbake $BB_ARGS $REPRO_TARGETS_SET_SIGNED > + while [ -e bitbake.sock ]; do sleep 1; done > + sudo rm -rf tmp > + sed -i -e 's/#ISAR_USE_CACHED_BASE_REPO ?= "1"/ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > + sed -i -e 's/^#BB_NO_NETWORK/BB_NO_NETWORK/g' conf/local.conf > + bitbake $BB_ARGS $REPRO_TARGETS_SET_SIGNED > + while [ -e bitbake.sock ]; do sleep 1; done > + # Cleanup and disable use of signed cached base repository > + sudo rm -rf tmp > + sed -i -e 's/ISAR_USE_CACHED_BASE_REPO ?= "1"/#ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > + sed -i -e 's/^BB_NO_NETWORK/#BB_NO_NETWORK/g' conf/local.conf > + sed -i -e 's/^BASE_REPO_KEY/#BASE_REPO_KEY/g' conf/local.conf > + > + # Enable use of unsigned cached base repository > + bitbake $BB_ARGS $REPRO_TARGETS_SET > + while [ -e bitbake.sock ]; do sleep 1; done > + sudo rm -rf tmp > + sed -i -e 's/#ISAR_USE_CACHED_BASE_REPO ?= "1"/ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > + sed -i -e 's/^#BB_NO_NETWORK/BB_NO_NETWORK/g' conf/local.conf > + bitbake $BB_ARGS $REPRO_TARGETS_SET > + while [ -e bitbake.sock ]; do sleep 1; done > + # Cleanup and disable use of unsigned cached base repository > + sudo rm -rf tmp > + sed -i -e 's/ISAR_USE_CACHED_BASE_REPO ?= "1"/#ISAR_USE_CACHED_BASE_REPO ?= "1"/g' conf/local.conf > + sed -i -e 's/^BB_NO_NETWORK/#BB_NO_NETWORK/g' conf/local.conf > +fi > + > +sed -i -e 's/^#BASE_REPO_FEATURES ?= "cache-deb-src"/BASE_REPO_FEATURES ?= "cache-deb-src"/g' conf/local.conf > +# Start cross build for the defined set of configurations > +sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= "1"/g' conf/local.conf > +bitbake $BB_ARGS $CROSS_TARGETS_SET > +while [ -e bitbake.sock ]; do sleep 1; done > +if bitbake $BB_ARGS $CROSS_TARGETS_SET_BULLSEYE; then > + echo "bullseye cross: PASSED" > +else > + echo "bullseye cross: KFAIL" > +fi > +# In addition test SDK creation > +bitbake $BB_ARGS -c do_populate_sdk mc:qemuarm-stretch:isar-image-base > +while [ -e bitbake.sock ]; do sleep 1; done > + > +if [ -z "$FAST_BUILD" ]; then > + # Cleanup and disable cross build > + sudo rm -rf tmp > + sed -i -e 's/ISAR_CROSS_COMPILE ?= "1"/ISAR_CROSS_COMPILE ?= "0"/g' conf/local.conf > + bitbake $BB_ARGS $TARGETS_SET > + while [ -e bitbake.sock ]; do sleep 1; done > + > + if bitbake $BB_ARGS $TARGETS_SET_BULLSEYE; then > + echo "bullseye: PASSED" > + else > + echo "bullseye: KFAIL" > + fi > + while [ -e bitbake.sock ]; do sleep 1; done > +fi > + > +eval $(bitbake -e | grep "^LAYERDIR_core=") > +eval $(bitbake -e | grep "^LAYERDIR_isar=") > +cp -a "${LAYERDIR_core}/classes/dpkg-base.bbclass" "${LAYERDIR_core}/classes/dpkg-base.bbclass.ci-backup" > +echo -e "do_fetch_append() {\n\n}" >> "${LAYERDIR_core}/classes/dpkg-base.bbclass" > + > +bitbake $BB_ARGS mc:qemuamd64-stretch:isar-image-base > + > +mv "${LAYERDIR_core}/classes/dpkg-base.bbclass.ci-backup" "${LAYERDIR_core}/classes/dpkg-base.bbclass" > + > +# Test wic --exclude-path > +cp -a "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks.ci-backup" > +mv ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img \ > + ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img.ci-backup > +sed -i -e 's/part \/ /part \/ --exclude-path usr /g' "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" > + > +bitbake $BB_ARGS mc:qemuamd64-stretch:isar-image-base > + > +mv "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks.ci-backup" "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" > +mv ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img.ci-backup \ > + ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img > Will that break .gitlab-ci.yml? Or is everything missing installed on-demand by the script? Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux