#!/bin/bash set -ex # keep this in sync with setup.sh CONTAINER=${RELEASE:-buster}-${ARCH:-amd64} AUTOPKGTESTDIR=${SEMAPHORE_CACHE_DIR:-/tmp}/autopkgtest # semaphore cannot expose these, but useful for interactive/local runs ARTIFACTS_DIR=/tmp/artifacts # add current debian/ packaging git fetch --depth=1 https://salsa.debian.org/systemd-team/systemd.git master git checkout FETCH_HEAD debian # craft changelog UPSTREAM_VER=$(git describe | sed 's/^v//') cat << EOF > debian/changelog.new systemd (${UPSTREAM_VER}-0) UNRELEASED; urgency=low * Automatic build for upstream test -- systemd test $(date -R) EOF cat debian/changelog >> debian/changelog.new mv debian/changelog.new debian/changelog # clean out patches rm -rf debian/patches # disable autopkgtests which are not for upstream sed -i '/# NOUPSTREAM/ q' debian/tests/control # enable more unit tests sed -i '/^CONFFLAGS =/ s/=/= -Dtests=unsafe -Dsplit-usr=true -Dslow-tests=true /' debian/rules # no orig tarball echo '1.0' > debian/source/format # build source package dpkg-buildpackage -S -I -I$(basename "$SEMAPHORE_CACHE_DIR") -d -us -uc -nc # now build the package and run the tests rm -rf "$ARTIFACTS_DIR" # autopkgtest exits with 2 for "some tests skipped", accept that $AUTOPKGTESTDIR/runner/autopkgtest --apt-upgrade \ --env DEB_BUILD_OPTIONS=noudeb \ --env TEST_UPSTREAM=1 ../systemd_*.dsc \ -o "$ARTIFACTS_DIR" \ -- lxc -s $CONTAINER \ || [ $? -eq 2 ]