From 2af78ba9b82f27ba9ee53f821e586ca61b118c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Gonz=C3=A1lez?= Date: Sat, 15 Nov 2025 14:34:09 +0100 Subject: [PATCH] fix(tests): ensure Nginx is fully spun up before starting MC container This change implements the behavior described in https://github.com/itzg/docker-minecraft-server/pull/3762#issuecomment-3536417072, which should help making test execution less racy. --- .../generic-packs/docker-compose.yml | 8 +++++++- .../icon-gif-multiframe/docker-compose.yml | 9 ++++++++- .../icon-png-atscale/docker-compose.yml | 14 +++++++++++++- .../icon-png-scale/docker-compose.yml | 14 +++++++++++++- tests/setuponlytests/packwiz/docker-compose.yml | 8 +++++++- 5 files changed, 48 insertions(+), 5 deletions(-) diff --git a/tests/setuponlytests/generic-packs/docker-compose.yml b/tests/setuponlytests/generic-packs/docker-compose.yml index 52a3c9cf469..2e6bd70a932 100644 --- a/tests/setuponlytests/generic-packs/docker-compose.yml +++ b/tests/setuponlytests/generic-packs/docker-compose.yml @@ -3,9 +3,15 @@ services: image: nginx volumes: - ./web:/usr/share/nginx/html + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost/configs.zip"] + interval: 3s + timeout: 5s + retries: 3 mc: depends_on: - - web + web: + condition: service_healthy image: ${IMAGE_TO_TEST:-itzg/minecraft-server} environment: EULA: "true" diff --git a/tests/setuponlytests/icon-gif-multiframe/docker-compose.yml b/tests/setuponlytests/icon-gif-multiframe/docker-compose.yml index be0d575854e..590b18f1fe9 100644 --- a/tests/setuponlytests/icon-gif-multiframe/docker-compose.yml +++ b/tests/setuponlytests/icon-gif-multiframe/docker-compose.yml @@ -3,9 +3,16 @@ services: image: nginx volumes: - ./web:/usr/share/nginx/html + healthcheck: + test: + ["CMD", "curl", "--fail", "http://localhost/motion-tween-example.gif"] + interval: 3s + timeout: 5s + retries: 3 mc: depends_on: - - web + web: + condition: service_healthy image: ${IMAGE_TO_TEST:-itzg/minecraft-server} environment: EULA: "true" diff --git a/tests/setuponlytests/icon-png-atscale/docker-compose.yml b/tests/setuponlytests/icon-png-atscale/docker-compose.yml index 7ac20b6d4f1..b179d58169e 100644 --- a/tests/setuponlytests/icon-png-atscale/docker-compose.yml +++ b/tests/setuponlytests/icon-png-atscale/docker-compose.yml @@ -3,9 +3,21 @@ services: image: nginx volumes: - ./web:/usr/share/nginx/html + healthcheck: + test: + [ + "CMD", + "curl", + "--fail", + "http://localhost/4737386_minecraft_squircle_icon.png", + ] + interval: 3s + timeout: 5s + retries: 3 mc: depends_on: - - web + web: + condition: service_healthy image: ${IMAGE_TO_TEST:-itzg/minecraft-server} environment: EULA: "true" diff --git a/tests/setuponlytests/icon-png-scale/docker-compose.yml b/tests/setuponlytests/icon-png-scale/docker-compose.yml index 7ac20b6d4f1..b179d58169e 100644 --- a/tests/setuponlytests/icon-png-scale/docker-compose.yml +++ b/tests/setuponlytests/icon-png-scale/docker-compose.yml @@ -3,9 +3,21 @@ services: image: nginx volumes: - ./web:/usr/share/nginx/html + healthcheck: + test: + [ + "CMD", + "curl", + "--fail", + "http://localhost/4737386_minecraft_squircle_icon.png", + ] + interval: 3s + timeout: 5s + retries: 3 mc: depends_on: - - web + web: + condition: service_healthy image: ${IMAGE_TO_TEST:-itzg/minecraft-server} environment: EULA: "true" diff --git a/tests/setuponlytests/packwiz/docker-compose.yml b/tests/setuponlytests/packwiz/docker-compose.yml index d4ff5016a4f..63a85b80c63 100644 --- a/tests/setuponlytests/packwiz/docker-compose.yml +++ b/tests/setuponlytests/packwiz/docker-compose.yml @@ -3,9 +3,15 @@ services: image: nginx volumes: - ./web:/usr/share/nginx/html + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost/pack.toml"] + interval: 3s + timeout: 5s + retries: 3 mc: depends_on: - - web + web: + condition: service_healthy image: ${IMAGE_TO_TEST:-itzg/minecraft-server} environment: EULA: "true"