diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 217f42e..0b09cab 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -7,6 +7,8 @@ on: jobs: build-publish: + env: + SHOULD_PUSH_IMAGE: ${{ (github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev')) || github.event_name == 'workflow_dispatch' }} runs-on: ubuntu-latest steps: @@ -17,7 +19,7 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Log into the Docker container registry - if: ${{ github.event_name != 'pull_request' }} + if: ${{ env.SHOULD_PUSH_IMAGE }} uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} @@ -31,14 +33,14 @@ jobs: tags: | type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=edge,enable=${{ github.ref == 'refs/heads/dev' }} - type=sha + type=sha,enable=${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v5 with: platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name != 'pull_request' }} + push: ${{ env.SHOULD_PUSH_IMAGE }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha