Bump version to 13.5 and add multi-recipient CC/BCC support #75
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Docker Build and Push on Tag | |
| on: | |
| push: | |
| tags: | |
| - 'v*.*' | |
| - 'latest' | |
| env: | |
| REGISTRY: docker.io | |
| IMAGE_NAME: notifuse/notifuse | |
| jobs: | |
| build-and-push: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| id-token: write | |
| attestations: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Fetch all history for tags | |
| - name: Get git commit info | |
| id: git-info | |
| run: | | |
| echo "commit-sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT | |
| echo "commit-short-sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
| echo "tag-name=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT | |
| echo "commit-message=$(git log -1 --pretty=%B | tr '\n' ' ' | sed 's/[[:space:]]*$//')" >> $GITHUB_OUTPUT | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Extract metadata | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
| tags: | | |
| type=ref,event=tag | |
| type=raw,value=latest,enable=${{ github.ref_name == 'latest' }} | |
| labels: | | |
| org.opencontainers.image.revision=${{ steps.git-info.outputs.commit-sha }} | |
| org.opencontainers.image.version=${{ steps.git-info.outputs.tag-name }} | |
| notifuse.git.commit=${{ steps.git-info.outputs.commit-sha }} | |
| notifuse.git.commit.short=${{ steps.git-info.outputs.commit-short-sha }} | |
| notifuse.git.tag=${{ steps.git-info.outputs.tag-name }} | |
| notifuse.build.date=${{ github.run_id }} | |
| notifuse.build.url=${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| - name: Build and push Docker image | |
| id: build | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ./Dockerfile | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| platforms: linux/amd64,linux/arm64 | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| build-args: | | |
| GIT_COMMIT=${{ steps.git-info.outputs.commit-sha }} | |
| GIT_COMMIT_SHORT=${{ steps.git-info.outputs.commit-short-sha }} | |
| GIT_TAG=${{ steps.git-info.outputs.tag-name }} | |
| BUILD_DATE=${{ github.run_id }} | |
| BUILD_URL=${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| - name: Debug outputs | |
| run: | | |
| echo "=== Git Information ===" | |
| echo "Git Commit SHA: '${{ steps.git-info.outputs.commit-sha }}'" | |
| echo "Git Commit Short SHA: '${{ steps.git-info.outputs.commit-short-sha }}'" | |
| echo "Git Tag: '${{ steps.git-info.outputs.tag-name }}'" | |
| echo "Commit Message: '${{ steps.git-info.outputs.commit-message }}'" | |
| echo "" | |
| echo "=== Build Information ===" | |
| echo "Build Digest: '${{ steps.build.outputs.digest }}'" | |
| echo "Build ImageID: '${{ steps.build.outputs.imageid }}'" | |
| echo "Build Metadata: '${{ steps.build.outputs.metadata }}'" | |
| echo "Meta Digest: '${{ steps.meta.outputs.digest }}'" | |
| echo "Tags: '${{ steps.meta.outputs.tags }}'" | |
| echo "Image Name: '${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}'" | |
| - name: Generate artifact attestation | |
| if: steps.build.outputs.digest != '' | |
| uses: actions/attest-build-provenance@v1 | |
| with: | |
| subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
| subject-digest: ${{ steps.build.outputs.digest }} | |
| push-to-registry: true | |
| - name: Output image details | |
| run: | | |
| echo "Image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}" | |
| echo "Tags: ${{ steps.meta.outputs.tags }}" | |
| echo "Digest: ${{ steps.build.outputs.digest }}" | |
| echo "Triggered by tag: ${{ github.ref_name }}" | |
| echo "Git Commit: ${{ steps.git-info.outputs.commit-sha }}" | |
| echo "" | |
| echo "🚀 Docker image successfully built and pushed!" | |
| echo "📦 Registry: ${{ env.REGISTRY }}" | |
| echo "🏷️ Image: ${{ env.IMAGE_NAME }}" | |
| echo "🔖 Tags: ${{ steps.meta.outputs.tags }}" | |
| echo "🏷️ Triggered by tag: ${{ steps.git-info.outputs.tag-name }}" | |
| echo "📝 Git commit: ${{ steps.git-info.outputs.commit-short-sha }}" | |
| echo "🔗 Build URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" |