From 21c526a80a722fef71cf22dc2ddcbf1ae89a39fd Mon Sep 17 00:00:00 2001 From: Patrick Vacek Date: Fri, 28 Feb 2020 13:59:08 +0100 Subject: Update CI scripts to match other supported branches. This seems mostly related to 9eebc8d15a297d68fc35dd4d77fcb945d2f395b2, which didn't make it to thud, since some of it was only required for master. Signed-off-by: Patrick Vacek --- scripts/ci/Dockerfile.bitbake | 32 ++++++++++++++++++++++++-------- scripts/ci/build.sh | 3 +++ scripts/ci/configure.sh | 40 +++++++++++++++++++++++++++++++++------- scripts/ci/oe-selftest.sh | 2 ++ 4 files changed, 62 insertions(+), 15 deletions(-) diff --git a/scripts/ci/Dockerfile.bitbake b/scripts/ci/Dockerfile.bitbake index c91f94c..51eaa57 100644 --- a/scripts/ci/Dockerfile.bitbake +++ b/scripts/ci/Dockerfile.bitbake @@ -1,15 +1,17 @@ -FROM debian:stable +FROM debian:stretch LABEL Description="Image for bitbaking" -RUN sed -i 's#deb http://deb.debian.org/debian stable main#deb http://deb.debian.org/debian stable main contrib#g' /etc/apt/sources.list -RUN sed -i 's#deb http://deb.debian.org/debian stable-updates main#deb http://deb.debian.org/debian stable-updates main contrib#g' /etc/apt/sources.list -RUN apt-get update -q && apt-get install -qy \ +RUN sed -i 's#deb http://deb.debian.org/debian stretch main#deb http://deb.debian.org/debian stretch main contrib#g' /etc/apt/sources.list +RUN sed -i 's#deb http://deb.debian.org/debian stretch-updates main#deb http://deb.debian.org/debian stretch-updates main contrib#g' /etc/apt/sources.list +RUN apt-get update -q && apt-get install --no-install-suggests --no-install-recommends -qy \ + awscli \ build-essential \ bzip2 \ chrpath \ cpio \ default-jre \ diffstat \ + file \ gawk \ gcc-multilib \ git-core \ @@ -17,26 +19,40 @@ RUN apt-get update -q && apt-get install -qy \ iproute \ libpython-dev \ libsdl1.2-dev \ + libvirt-clients \ + libvirt-daemon-system \ locales \ ovmf \ + openssh-client \ procps \ python \ python3 \ python3-pexpect \ - qemu \ + qemu-kvm \ socat \ + sudo \ texinfo \ unzip \ wget \ xterm \ xz-utils -ARG uid=1000 -ARG gid=1000 +ARG uid=4321 +ARG gid=4321 RUN groupadd -g $gid bitbake -RUN useradd -m -u $uid -g $gid bitbake +RUN useradd -m -u $uid -g $gid -s /bin/bash bitbake RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen ENV LC_ALL="en_US.UTF-8" ENV LANG="en_US.UTF-8" ENV LANGUAGE="en_US.UTF-8" + +# script to mirror kvm group id with host +RUN echo "bitbake ALL=NOPASSWD: /usr/local/bin/setup_kvm.sh" >> /etc/sudoers +COPY ./docker/setup_kvm.sh /usr/local/bin/setup_kvm.sh + +# other ci scripts +RUN mkdir /scripts +COPY configure.sh build.sh oe-selftest.sh /scripts/ + +USER "bitbake" diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh index 6235428..9fbae98 100755 --- a/scripts/ci/build.sh +++ b/scripts/ci/build.sh @@ -12,7 +12,10 @@ IMAGE_NAME=${1:-core-image-minimal} ( set +euo pipefail set +x +METADIR=$(realpath "$TEST_REPO_DIR") +export METADIR . "${TEST_REPO_DIR}/meta-updater/scripts/envsetup.sh" "${TEST_MACHINE}" "${TEST_BUILD_DIR}" +set -x bitbake "${IMAGE_NAME}" ) diff --git a/scripts/ci/configure.sh b/scripts/ci/configure.sh index 960a0cc..ae78f06 100755 --- a/scripts/ci/configure.sh +++ b/scripts/ci/configure.sh @@ -8,9 +8,19 @@ TEST_BUILD_DIR=${TEST_BUILD_DIR:-build} TEST_REPO_DIR=${TEST_REPO_DIR:-updater-repo} TEST_BITBAKE_COMMON_DIR=${TEST_BITBAKE_COMMON_DIR:-} -TEST_AKTUALIZR_DIR=${TEST_AKTUALIZR_DIR:-.} -TEST_AKTUALIZR_BRANCH=${TEST_AKTUALIZR_BRANCH:-master} -TEST_AKTUALIZR_REV=${TEST_AKTUALIZR_REV:-$(GIT_DIR="$TEST_AKTUALIZR_DIR/.git" git rev-parse "$TEST_AKTUALIZR_REMOTE/$TEST_AKTUALIZR_BRANCH")} +TEST_AKTUALIZR_REMOTE=${TEST_AKTUALIZR_REMOTE:-} +TEST_AKTUALIZR_TAG=${TEST_AKTUALIZR_TAG:-} +if [ -n "$TEST_AKTUALIZR_REMOTE" ]; then + if [ -n "$TEST_AKTUALIZR_TAG" ]; then + TEST_AKTUALIZR_BRANCH="" + TEST_AKTUALIZR_REV="" + else + TEST_AKTUALIZR_DIR=${TEST_AKTUALIZR_DIR:-.} + TEST_AKTUALIZR_BRANCH=${TEST_AKTUALIZR_BRANCH:-master} + TEST_AKTUALIZR_REV=${TEST_AKTUALIZR_REV:-$(GIT_DIR="$TEST_AKTUALIZR_DIR/.git" git rev-parse "$TEST_AKTUALIZR_REMOTE/$TEST_AKTUALIZR_BRANCH")} + fi +fi + TEST_AKTUALIZR_CREDENTIALS=${TEST_AKTUALIZR_CREDENTIALS:-} # move existing conf directory to backup, before generating a new one @@ -21,6 +31,8 @@ mv "$TEST_BUILD_DIR/conf" "$TEST_BUILD_DIR/conf.old" || true set +euo pipefail set +x echo ">> Running envsetup.sh" +METADIR=$(realpath "$TEST_REPO_DIR") +export METADIR . "$TEST_REPO_DIR/meta-updater/scripts/envsetup.sh" "$TEST_MACHINE" "$TEST_BUILD_DIR" ) @@ -31,19 +43,30 @@ SITE_CONF="$TEST_BUILD_DIR/conf/site.conf" echo ">> Set common bitbake config options" cat << EOF > "$SITE_CONF" SANITY_TESTED_DISTROS = "" -SSTATE_MIRRORS ?= "file://.* https://bitbake-cache.atsgarage.com/PATH;downloadfilename=PATH" IMAGE_FEATURES += "ssh-server-openssh" EOF -echo ">> Set aktualizr branch in bitbake's config" -cat << EOF >> "$SITE_CONF" +if [ -n "$TEST_AKTUALIZR_REMOTE" ]; then + echo ">> Set aktualizr branch in bitbake's config" + if [ -n "$TEST_AKTUALIZR_TAG" ]; then + # tag case + cat << EOF >> "$SITE_CONF" +SRCREV_pn-aktualizr = "" +SRCREV_pn-aktualizr-native = "" +BRANCH_pn-aktualizr = ";nobranch=1;tag=$TEST_AKTUALIZR_TAG" +BRANCH_pn-aktualizr-native = "\${BRANCH_pn-aktualizr}" +EOF + else + # branch case + cat << EOF >> "$SITE_CONF" SRCREV_pn-aktualizr = "$TEST_AKTUALIZR_REV" SRCREV_pn-aktualizr-native = "\${SRCREV_pn-aktualizr}" BRANCH_pn-aktualizr = "$TEST_AKTUALIZR_BRANCH" BRANCH_pn-aktualizr-native = "\${BRANCH_pn-aktualizr}" - EOF + fi +fi if [[ -n $TEST_AKTUALIZR_CREDENTIALS ]]; then echo ">> Set aktualizr credentials" @@ -63,3 +86,6 @@ SSTATE_DIR = "$SSTATE_DIR" DL_DIR = "$DL_DIR" EOF fi + +echo -e ">> Final configuration (site.conf):\\n" +cat "$SITE_CONF" diff --git a/scripts/ci/oe-selftest.sh b/scripts/ci/oe-selftest.sh index 5f0f0d0..d441d02 100755 --- a/scripts/ci/oe-selftest.sh +++ b/scripts/ci/oe-selftest.sh @@ -12,6 +12,8 @@ TEST_REPO_DIR=${TEST_REPO_DIR:-updater-repo} ( set +euo pipefail set +x +METADIR=$(realpath "$TEST_REPO_DIR") +export METADIR . "${TEST_REPO_DIR}/meta-updater/scripts/envsetup.sh" "${TEST_MACHINE}" "${TEST_BUILD_DIR}" set -x -- cgit v1.2.3-54-g00ecf