From 836b883895e581d28aebdfb2aadc59c4233d0fd9 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 27 Mar 2025 16:22:19 -0700 Subject: [PATCH] Try again in serial if tests fail in parallel Many of the upstream tests are really resource intensive, so if they fail while running in parallel on a given host, chances are decent they'll pass in serial, so we should fall back once before we give up. --- 1/alpine/Dockerfile | 3 ++- 1/debian/Dockerfile | 3 ++- Dockerfile.template | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/1/alpine/Dockerfile b/1/alpine/Dockerfile index 7d12dd3..03bba50 100644 --- a/1/alpine/Dockerfile +++ b/1/alpine/Dockerfile @@ -66,7 +66,8 @@ RUN set -eux; \ nproc="$(nproc)"; \ make -j "$nproc"; \ \ - make test PARALLEL="$nproc"; \ +# try the tests in parallel first, but many of them are resource-intensive, so fall back to serial + make test PARALLEL="$nproc" || make test; \ \ make install; \ \ diff --git a/1/debian/Dockerfile b/1/debian/Dockerfile index cb16363..f3c6173 100644 --- a/1/debian/Dockerfile +++ b/1/debian/Dockerfile @@ -71,7 +71,8 @@ RUN set -eux; \ \ # see https://github.com/docker-library/memcached/pull/54#issuecomment-562797748 and https://bugs.debian.org/927461 for why we have to munge openssl.cnf sed -i.bak 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf; \ - make test PARALLEL="$nproc"; \ +# try the tests in parallel first, but many of them are resource-intensive, so fall back to serial + make test PARALLEL="$nproc" || make test; \ mv /etc/ssl/openssl.cnf.bak /etc/ssl/openssl.cnf; \ \ make install; \ diff --git a/Dockerfile.template b/Dockerfile.template index 88cc598..9ced64b 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -106,7 +106,8 @@ RUN set -eux; \ # see https://github.com/docker-library/memcached/pull/54#issuecomment-562797748 and https://bugs.debian.org/927461 for why we have to munge openssl.cnf sed -i.bak 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf; \ {{ ) else "" end -}} - make test PARALLEL="$nproc"; \ +# try the tests in parallel first, but many of them are resource-intensive, so fall back to serial + make test PARALLEL="$nproc" || make test; \ {{ if env.variant == "debian" then ( -}} mv /etc/ssl/openssl.cnf.bak /etc/ssl/openssl.cnf; \ {{ ) else "" end -}}