From b8886c3c30bade86761c634f4797515540c3e453 Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Sun, 18 Jan 2026 13:22:48 +0100 Subject: [PATCH] Fix GitHub Actions workflow: container build and test - Add 'load: true' to docker/build-push-action to ensure image is available in local Docker daemon - Improve container testing with retry logic and better error handling - Add container logs output on test failure for better debugging --- .github/workflows/build-container.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-container.yml b/.github/workflows/build-container.yml index de18df2..97731b0 100644 --- a/.github/workflows/build-container.yml +++ b/.github/workflows/build-container.yml @@ -53,16 +53,34 @@ jobs: context: . file: ./Dockerfile push: false + load: true tags: ${{ env.IMAGE_NAME }}:latest cache-from: type=gha cache-to: type=gha,mode=max - name: Test container run: | + # Start the container docker run --rm -d -p 3000:3000 --name test-container ${{ env.IMAGE_NAME }}:latest - sleep 10 - # Test if the container is responding - curl -f http://localhost:3000 || exit 1 + + # Wait for container to be ready + echo "Waiting for container to start..." + for i in {1..30}; do + if curl -f http://localhost:3000 > /dev/null 2>&1; then + echo "Container is responding!" + break + fi + if [ $i -eq 30 ]; then + echo "Container failed to respond within 30 seconds" + docker logs test-container + docker stop test-container + exit 1 + fi + echo "Attempt $i/30 - waiting..." + sleep 2 + done + + # Test successful, stop container docker stop test-container - name: Upload build artifacts