summaryrefslogtreecommitdiff
path: root/travis-ci
diff options
context:
space:
mode:
authorFrantisek Sumsal <frantisek@sumsal.cz>2019-12-23 20:54:08 +0100
committerFrantisek Sumsal <frantisek@sumsal.cz>2019-12-31 13:15:38 +0000
commit14157349db981273ba0c7555e249c7b2ad1dfbea (patch)
treeb697c3e34fafe21fd8f8fcea5c63592e52fe304e /travis-ci
parentc695dcf929bca064221761d95860cdf4940b3951 (diff)
downloadsystemd-14157349db981273ba0c7555e249c7b2ad1dfbea.tar.gz
travis: wait for the container to fully boot up
This avoids nasty race conditions between dnf/apt-get and unfinished population of /tmp (among other things), as `docker exec` allows commands to run before the system is fully booted (i.e. initializing/starting state reported by `systemctl is-system-running`).
Diffstat (limited to 'travis-ci')
-rwxr-xr-xtravis-ci/managers/debian.sh4
-rwxr-xr-xtravis-ci/managers/fedora.sh6
2 files changed, 8 insertions, 2 deletions
diff --git a/travis-ci/managers/debian.sh b/travis-ci/managers/debian.sh
index 95f34cf8fa..6a6923fbc8 100755
--- a/travis-ci/managers/debian.sh
+++ b/travis-ci/managers/debian.sh
@@ -39,6 +39,10 @@ for phase in "${PHASES[@]}"; do
-w /build --privileged=true --name $CONT_NAME \
-dit --net=host debian-with-systemd/latest /bin/systemd
$DOCKER_EXEC bash -c "echo deb-src http://deb.debian.org/debian $DEBIAN_RELEASE main >>/etc/apt/sources.list"
+ # Wait for the container to properly boot up, otherwise we were
+ # running following apt-get commands during the initializing/starting
+ # (early/late bootup) phase, which caused nasty race conditions
+ $DOCKER_EXEC bash -c 'systemctl is-system-running --wait || :'
$DOCKER_EXEC apt-get -y update
$DOCKER_EXEC apt-get -y build-dep systemd
$DOCKER_EXEC apt-get -y install "${ADDITIONAL_DEPS[@]}"
diff --git a/travis-ci/managers/fedora.sh b/travis-ci/managers/fedora.sh
index 6e81d14b33..e07b4938df 100755
--- a/travis-ci/managers/fedora.sh
+++ b/travis-ci/managers/fedora.sh
@@ -44,8 +44,10 @@ for phase in "${PHASES[@]}"; do
$DOCKER_RUN -v $REPO_ROOT:/build:rw \
-w /build --privileged=true --name $CONT_NAME \
-dit --net=host fedora:$FEDORA_RELEASE /sbin/init
- # Beautiful workaround for Fedora's version of Docker
- sleep 1
+ # Wait for the container to properly boot up, otherwise we were
+ # running following dnf commands during the initializing/starting
+ # (early/late bootup) phase, which caused nasty race conditions
+ $DOCKER_EXEC bash -c 'systemctl is-system-running --wait || :'
$DOCKER_EXEC dnf makecache
# Install necessary build/test requirements
$DOCKER_EXEC dnf -y --exclude selinux-policy\* upgrade