From 8bedee3c2265b8b69f76d3385da9da683d5e5b2f Mon Sep 17 00:00:00 2001 From: Christopher Hertel Date: Tue, 12 May 2026 19:40:02 +0200 Subject: [PATCH 1/2] ci: replace sleep with compose --wait + nginx healthcheck Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/pipeline.yaml | 3 +-- tests/Conformance/Fixtures/docker-compose.yml | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 957d6f91..3ac5e1d9 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -91,8 +91,7 @@ jobs: run: | mkdir -p tests/Conformance/sessions tests/Conformance/logs chmod -R 777 tests/Conformance/sessions tests/Conformance/logs - docker compose -f tests/Conformance/Fixtures/docker-compose.yml up -d - sleep 5 + docker compose -f tests/Conformance/Fixtures/docker-compose.yml up -d --wait - name: Run conformance tests working-directory: ./tests/Conformance diff --git a/tests/Conformance/Fixtures/docker-compose.yml b/tests/Conformance/Fixtures/docker-compose.yml index 62e2e8bd..53808bee 100644 --- a/tests/Conformance/Fixtures/docker-compose.yml +++ b/tests/Conformance/Fixtures/docker-compose.yml @@ -10,6 +10,12 @@ services: - php-fpm networks: - mcp-net + healthcheck: + test: ["CMD", "wget", "-q", "-O-", "http://localhost/"] + interval: 2s + timeout: 2s + retries: 10 + start_period: 2s php-fpm: image: php:8.4-fpm-alpine From afa1521f7d1909c48c5b22980f5eada920020eaa Mon Sep 17 00:00:00 2001 From: Christopher Hertel Date: Tue, 12 May 2026 19:48:17 +0200 Subject: [PATCH 2/2] ci: serve /healthz over IPv4 for nginx healthcheck Co-Authored-By: Claude Opus 4.7 (1M context) --- tests/Conformance/Fixtures/docker-compose.yml | 2 +- tests/Conformance/Fixtures/nginx.conf | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/Conformance/Fixtures/docker-compose.yml b/tests/Conformance/Fixtures/docker-compose.yml index 53808bee..1fff1564 100644 --- a/tests/Conformance/Fixtures/docker-compose.yml +++ b/tests/Conformance/Fixtures/docker-compose.yml @@ -11,7 +11,7 @@ services: networks: - mcp-net healthcheck: - test: ["CMD", "wget", "-q", "-O-", "http://localhost/"] + test: ["CMD", "wget", "-q", "-O-", "http://127.0.0.1/healthz"] interval: 2s timeout: 2s retries: 10 diff --git a/tests/Conformance/Fixtures/nginx.conf b/tests/Conformance/Fixtures/nginx.conf index 9159c461..969925ad 100644 --- a/tests/Conformance/Fixtures/nginx.conf +++ b/tests/Conformance/Fixtures/nginx.conf @@ -3,6 +3,11 @@ server { server_name localhost; root /app; + location = /healthz { + access_log off; + return 200 "ok\n"; + } + location / { try_files $uri /tests/Conformance/server.php$is_args$args; }