diff options
author | Frantisek Sumsal <frantisek@sumsal.cz> | 2019-12-23 20:54:08 +0100 |
---|---|---|
committer | Frantisek Sumsal <frantisek@sumsal.cz> | 2019-12-31 13:15:38 +0000 |
commit | 14157349db981273ba0c7555e249c7b2ad1dfbea (patch) | |
tree | b697c3e34fafe21fd8f8fcea5c63592e52fe304e /travis-ci | |
parent | c695dcf929bca064221761d95860cdf4940b3951 (diff) | |
download | systemd-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-x | travis-ci/managers/debian.sh | 4 | ||||
-rwxr-xr-x | travis-ci/managers/fedora.sh | 6 |
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 |