diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index bc8e5af..1447ed7 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -30,7 +30,6 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Log in to GitHub Container Registry - if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} @@ -56,7 +55,7 @@ jobs: with: context: . file: ./Dockerfile - push: ${{ github.event_name != 'pull_request' }} + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha @@ -78,7 +77,6 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Log in to GitHub Container Registry - if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} @@ -104,7 +102,7 @@ jobs: with: context: . file: ./Dockerfile.canvas - push: ${{ github.event_name != 'pull_request' }} + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha @@ -115,7 +113,6 @@ jobs: name: Test Docker Images needs: [build-and-push-mcp, build-and-push-canvas] runs-on: ubuntu-latest - if: github.event_name != 'pull_request' steps: - name: Log in to GitHub Container Registry @@ -125,10 +122,19 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Determine image tag + id: tag + run: | + if [[ "${{ github.event_name }}" == "pull_request" ]]; then + echo "value=pr-${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT + else + echo "value=${{ github.ref_name }}" >> $GITHUB_OUTPUT + fi + - name: Test Canvas Server image run: | - docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_CANVAS }}:${{ github.ref_name }} - docker run -d -p 3000:3000 --name test-canvas ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_CANVAS }}:${{ github.ref_name }} + docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_CANVAS }}:${{ steps.tag.outputs.value }} + docker run -d -p 3000:3000 --name test-canvas ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_CANVAS }}:${{ steps.tag.outputs.value }} sleep 10 curl -f http://localhost:3000/health || exit 1 docker logs test-canvas @@ -136,5 +142,5 @@ jobs: - name: Test MCP Server image run: | - docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_MCP }}:${{ github.ref_name }} + docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_MCP }}:${{ steps.tag.outputs.value }} echo "MCP Server image pulled successfully"