Merge pull request #31444 from bluca/semaphore

semaphore: set upstream build profile and set default branch to debian/master
This commit is contained in:
Frantisek Sumsal 2024-02-28 15:03:11 +01:00 committed by GitHub
commit 78816ce72e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 24 additions and 5 deletions

View file

@ -7,7 +7,7 @@ set -o pipefail
# default to Debian testing
DISTRO="${DISTRO:-debian}"
RELEASE="${RELEASE:-bookworm}"
BRANCH="${BRANCH:-upstream-ci}"
BRANCH="${BRANCH:-debian/master}"
ARCH="${ARCH:-amd64}"
CONTAINER="${RELEASE}-${ARCH}"
CACHE_DIR="${SEMAPHORE_CACHE_DIR:-/tmp}"
@ -29,6 +29,7 @@ create_container() {
# enable source repositories so that apt-get build-dep works
sudo lxc-attach -n "$CONTAINER" -- sh -ex <<EOF
sed 's/^deb/deb-src/' /etc/apt/sources.list >>/etc/apt/sources.list.d/sources.list
echo "deb http://deb.debian.org/debian $RELEASE-backports main" >/etc/apt/sources.list.d/backports.list
# We might attach the console too soon
until systemctl --quiet --wait is-system-running; do sleep 1; done
# Manpages database trigger takes a lot of time and is not useful in a CI
@ -44,6 +45,8 @@ apt-get -y dist-upgrade
apt-get install -y eatmydata
# The following four are needed as long as these deps are not covered by Debian's own packaging
apt-get install -y fdisk tree libfdisk-dev libp11-kit-dev libssl-dev libpwquality-dev rpm
# autopkgtest doesn't consider backports
apt-get install -y -t $RELEASE-backports debhelper libcurl4-openssl-dev libarchive-dev
apt-get purge --auto-remove -y unattended-upgrades
systemctl unmask systemd-networkd
systemctl enable systemd-networkd
@ -101,7 +104,9 @@ EOF
rm -rf "$ARTIFACTS_DIR"
# autopkgtest exits with 2 for "some tests skipped", accept that
sudo "$AUTOPKGTEST_DIR/runner/autopkgtest" --env DEB_BUILD_OPTIONS=noudeb \
--env TEST_UPSTREAM=1 ../systemd_*.dsc \
--env DEB_BUILD_PROFILES=pkg.systemd.upstream \
--env TEST_UPSTREAM=1 \
../systemd_*.dsc \
-o "$ARTIFACTS_DIR" \
-- lxc -s "$CONTAINER" \
|| [ $? -eq 2 ]

View file

@ -340,9 +340,12 @@ void install_changes_dump(int r, const char *verb, const InstallChange *changes,
assert(verb || r >= 0);
for (size_t i = 0; i < n_changes; i++) {
if (changes[i].type < 0)
assert(verb);
assert(changes[i].path);
/* This tries to tell the compiler that it's safe to use 'verb' in a string format if there
* was an error, but the compiler doesn't care and fails anyway, so strna(verb) is used
* too. */
assert(verb || changes[i].type >= 0);
verb = strna(verb);
/* When making changes here, make sure to also change install_error() in dbus-manager.c. */

View file

@ -170,7 +170,18 @@ places:
if jobs are started and running but no status is visible on the PR, then it is
likely that reporting back is not working
For infrastructure help, reaching out to Canonical via the #ubuntu-devel channel
The CI job needs a PPA in order to be accepted, and the upstream-systemd-ci/systemd-ci
PPA is used. Note that this is necessary even when there are no packages to backport,
but by default a PPA won't have a repository for a release if there are no packages
built for it. To work around this problem, when a new empty release is needed the
mark-suite-dirty tool from the https://git.launchpad.net/ubuntu-archive-tools can
be used to force the PPA to publish an empty repository, for example:
$ ./mark-suite-dirty -A ppa:upstream-systemd-ci/ubuntu/systemd-ci -s noble
will create an empty 'noble' repository that can be used for 'noble' CI jobs.
For infrastructure help, reaching out to Canonical via the #ubuntu-quality channel
on libera.chat is an effective way to receive support in general.
Manually running a part of the Ubuntu CI test suite