diff --git a/.github/workflows/build_and_publish_docker.yml b/.github/workflows/build_and_publish_docker.yml index f5594c0..e8ad5d1 100644 --- a/.github/workflows/build_and_publish_docker.yml +++ b/.github/workflows/build_and_publish_docker.yml @@ -2,10 +2,7 @@ name: Build and Publish Docker Image to GHCR on: push: - branches: [ main ] tags: [ 'v*' ] - pull_request: - branches: [ main ] env: REGISTRY: ghcr.io @@ -27,7 +24,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 }} @@ -40,25 +36,10 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | - type=ref,event=branch - type=ref,event=pr type=ref,event=tag - type=sha,prefix={{branch}}- type=raw,value=latest,enable={{is_default_branch}} - - name: Build Docker image for PR - if: github.event_name == 'pull_request' - uses: docker/build-push-action@v5 - with: - context: . - push: false - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max - - name: Build and push Docker image - if: github.event_name != 'pull_request' uses: docker/build-push-action@v5 with: context: . @@ -69,7 +50,6 @@ jobs: cache-to: type=gha,mode=max - name: Generate artifact attestation - if: github.event_name != 'pull_request' uses: actions/attest-build-provenance@v1 with: subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml new file mode 100644 index 0000000..a6a42e1 --- /dev/null +++ b/.github/workflows/docker-test.yml @@ -0,0 +1,31 @@ +name: Docker Build Test + +on: + pull_request: + branches: [ main ] + +jobs: + docker-build-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Test Docker build + uses: docker/build-push-action@v5 + with: + context: . + push: false + tags: test:latest + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: Build test summary + run: | + echo "### ✅ Docker Build Test Passed" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Docker image builds successfully and is ready for production." >> $GITHUB_STEP_SUMMARY \ No newline at end of file