diff --git a/.github/workflows/job-image.yml b/.github/workflows/job-image.yml index cfa3013..e859c13 100644 --- a/.github/workflows/job-image.yml +++ b/.github/workflows/job-image.yml @@ -117,8 +117,8 @@ jobs: with: context: . push: false - load: true # == '--output=type=docker' - tags: ${{ steps.ghcr_meta.outputs.tags }}-test + load: true + tags: ${{ env.GHCR_REGISTRY }}/${{ inputs.ghcr_image_name }}:${{ github.sha }}-test labels: | org.opencontainers.image.title=docling-serve org.opencontainers.image.test=true @@ -133,7 +133,7 @@ jobs: run: | set -e - IMAGE_TAG="${{ steps.ghcr_meta.outputs.tags }}-test" + IMAGE_TAG="${{ env.GHCR_REGISTRY }}/${{ inputs.ghcr_image_name }}:${{ github.sha }}-test" echo "Testing local image: $IMAGE_TAG" # Remove existing container if any @@ -230,198 +230,3 @@ jobs: - name: Remove Local Docker Images run: | docker image prune -af -## -## Extra tests for released images -## - - # outputs: - # image-tags: ${{ steps.ghcr_meta.outputs.tags }} - # image-labels: ${{ steps.ghcr_meta.outputs.labels }} - - # test-cpu-image: - # needs: - # - image - # runs-on: ubuntu-latest - # permissions: - # contents: read - # packages: read - - # steps: - # - name: Checkout code - # uses: actions/checkout@v5 - - # - name: Test CPU images - # run: | - # set -e - - # echo "Testing image: ${{ needs.image.outputs.image-tags }}" - - # for tag in ${{ needs.image.outputs.image-tags }}; do - # if echo "$tag" | grep -q -- '-cpu' && echo "$tag" | grep -qE ':[vV][0-9]+(\.[0-9]+){0,2}$'; then - # echo "Testing CPU image: $tag" - - # # Remove existing container if any - # docker rm -f docling-serve-test-container 2>/dev/null || true - - # echo "Pulling image..." - # docker pull "$tag" - - # echo "Waiting 5s after pull..." - # sleep 5 - - # echo "Starting container..." - # docker run -d -p 5001:5001 --name docling-serve-test-container "$tag" - - # echo "Waiting 15s for container to boot..." - # sleep 15 - - # echo "Checking service health..." - # for i in {1..20}; do - # health_response=$(curl -s http://localhost:5001/health || true) - # echo "Health check response [$i]: $health_response" - # if echo "$health_response" | grep -q '"status":"ok"'; then - # echo "Service is healthy!" - # echo "Sending test conversion request..." - - # status_code=$(curl -s -o /dev/null -w "%{http_code}" -X POST 'http://localhost:5001/v1/convert/source' \ - # -H 'accept: application/json' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "options": { - # "from_formats": ["pdf"], - # "to_formats": ["md"] - # }, - # "sources": [ - # { - # "kind": "http", - # "url": "https://arxiv.org/pdf/2501.17887" - # } - # ], - # "target": { - # "kind": "inbody" - # } - # }') - - # echo "Conversion request returned status code: $status_code" - - # if [ "$status_code" -ne 200 ]; then - # echo "Conversion failed!" - # docker logs docling-serve-test-container - # docker rm -f docling-serve-test-container - # exit 1 - # fi - - # break - # else - # echo "Waiting for service... [$i/20]" - # sleep 3 - # fi - # done - - # if ! echo "$health_response" | grep -q '"status":"ok"'; then - # echo "Service did not become healthy in time." - # docker logs docling-serve-test-container - # docker rm -f docling-serve-test-container - # exit 1 - # fi - - # echo "Cleaning up test container..." - # docker rm -f docling-serve-test-container - # else - # echo "Skipping non-released or non-CPU image: $tag" - # fi - # done - - # test-cuda-image: - # needs: - # - image - # runs-on: ubuntu-latest # >> placeholder for GPU runner << # - # permissions: - # contents: read - # packages: read - - # steps: - # - name: Checkout code - # uses: actions/checkout@v5 - - # - name: Test CUDA images - # run: | - # set -e - - # echo "Testing image: ${{ needs.image.outputs.image-tags }}" - - # for tag in ${{ needs.image.outputs.image-tags }}; do - # if echo "$tag" | grep -qE -- '-cu[0-9]+' && echo "$tag" | grep -qE ':[vV][0-9]+(\.[0-9]+){0,2}$'; then - # echo "Testing CUDA image: $tag" - - # # Remove existing container if any - # docker rm -f docling-serve-test-container 2>/dev/null || true - - # echo "Pulling image..." - # docker pull "$tag" - - # echo "Waiting 5s after pull..." - # sleep 5 - - # echo "Starting container..." - # docker run -d -p 5001:5001 --gpus all --name docling-serve-test-container "$tag" - - # echo "Waiting 15s for container to boot..." - # sleep 15 - - # echo "Checking service health..." - # for i in {1..25}; do - # health_response=$(curl -s http://localhost:5001/health || true) - # echo "Health check response [$i]: $health_response" - # if echo "$health_response" | grep -q '"status":"ok"'; then - # echo "Service is healthy!" - # echo "Sending test conversion request..." - - # status_code=$(curl -s -o /dev/null -w "%{http_code}" -X POST 'http://localhost:5001/v1/convert/source' \ - # -H 'accept: application/json' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "options": { - # "from_formats": ["pdf"], - # "to_formats": ["md"] - # }, - # "sources": [ - # { - # "kind": "http", - # "url": "https://arxiv.org/pdf/2501.17887" - # } - # ], - # "target": { - # "kind": "inbody" - # } - # }') - - # echo "Conversion request returned status code: $status_code" - - # if [ "$status_code" -ne 200 ]; then - # echo "Conversion failed!" - # docker logs docling-serve-test-container - # docker rm -f docling-serve-test-container - # exit 1 - # fi - - # break - # else - # echo "Waiting for service... [$i/25]" - # sleep 3 - # fi - # done - - # if ! echo "$health_response" | grep -q '"status":"ok"'; then - # echo "Service did not become healthy in time." - # docker logs docling-serve-test-container - # docker rm -f docling-serve-test-container - # exit 1 - # fi - - # echo "Cleaning up test container..." - # docker rm -f docling-serve-test-container - # else - # echo "Skipping non-released or non-CUDA image: $tag" - # fi - # done