From 6997777f41f594129740c96ae50b0a8591e59902 Mon Sep 17 00:00:00 2001 From: Joao Gilberto Magalhaes Date: Mon, 16 Feb 2026 14:07:29 -0500 Subject: [PATCH] Add Pebble readiness debug logs and skip ACME tests in specific CI environments --- tests_e2e/test_docker_compose.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/tests_e2e/test_docker_compose.py b/tests_e2e/test_docker_compose.py index 2c3c3ae..fc1e9d1 100644 --- a/tests_e2e/test_docker_compose.py +++ b/tests_e2e/test_docker_compose.py @@ -902,11 +902,33 @@ def docker_compose_acme() -> Generator[None, None, None]: # Wait for Pebble to be ready print(" → Waiting for Pebble to be ready (timeout: 90s)...") start_time = time.time() + pebble_ready = False while time.time() - start_time < 90: if wait_for_pebble(): + pebble_ready = True break time.sleep(1) - else: + + if not pebble_ready: + # Debug: Check container status and logs + print(" ✗ Pebble did not become ready, checking container status...") + status_result = subprocess.run( + ["docker", "ps", "-a", "--filter", "name=pebble", "--format", "{{.Names}}\t{{.Status}}"], + capture_output=True, + text=True + ) + print(f" Container status: {status_result.stdout.strip()}") + + # Get container logs + logs_result = subprocess.run( + ["docker", "compose", "-f", compose_file, "logs", "pebble"], + capture_output=True, + text=True + ) + print(f" Pebble logs:\n{logs_result.stdout}") + if logs_result.stderr: + print(f" Pebble stderr:\n{logs_result.stderr}") + raise TimeoutError("Pebble did not become ready within 90 seconds") # Stage 2: Start HAProxy @@ -954,6 +976,10 @@ def docker_compose_acme() -> Generator[None, None, None]: @pytest.mark.acme +@pytest.mark.skipif( + os.getenv("CI") == "true" and os.getenv("SKIP_ACME_TESTS") == "true", + reason="ACME tests skipped in CI (set SKIP_ACME_TESTS=false to enable)" +) class TestACME: """Tests for docker-compose-acme-e2e.yml - ACME/Certbot with Pebble test server"""