chore(deps): update docker/build-push-action action to v6.13.0
[ArchiSteamFarm.git] / .github / workflows / docker-publish-released.yml
blobb33d7ce3acb53e3962a8120d7e8323108d0e1a8f
1 name: ASF-docker-publish-released
3 on:
4   push:
5     tags:
6     - '*'
8 env:
9   PLATFORMS: linux/amd64,linux/arm,linux/arm64
10   TAG: released
12 permissions:
13   packages: write
15 jobs:
16   main:
17     environment: release-docker
18     runs-on: ubuntu-latest
20     steps:
21     - name: Checkout code
22       uses: actions/checkout@v4.2.2
23       with:
24         show-progress: false
25         submodules: recursive
27     - name: Set up Docker Buildx
28       uses: docker/setup-buildx-action@v3.8.0
30     - name: Login to ghcr.io
31       uses: docker/login-action@v3.3.0
32       with:
33         registry: ghcr.io
34         username: ${{ github.actor }}
35         password: ${{ secrets.GITHUB_TOKEN }}
37     - name: Login to DockerHub
38       uses: docker/login-action@v3.3.0
39       with:
40         username: ${{ secrets.DOCKERHUB_USERNAME }}
41         password: ${{ secrets.DOCKERHUB_TOKEN }}
43     - name: Prepare environment outputs
44       shell: sh
45       run: |
46         set -eu
48         echo "FIXED_TAG=$(echo ${{ github.ref }} | cut -d '/' -f 3)" >> "$GITHUB_ENV"
49         echo "DATE_ISO8601=$(date --iso-8601=seconds --utc)" >> "$GITHUB_ENV"
50         echo "GHCR_REPOSITORY=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_ENV"
51         echo "DH_REPOSITORY=$(echo ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_ENV"
53     - name: Build and publish Docker image from Dockerfile
54       uses: docker/build-push-action@v6.13.0
55       with:
56         context: .
57         platforms: ${{ env.PLATFORMS }}
58         provenance: true
59         sbom: true
60         secrets: |
61           ASF_PRIVATE_SNK=${{ secrets.ASF_PRIVATE_SNK }}
62           STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
63         labels: |
64           org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
65           org.opencontainers.image.version=${{ env.FIXED_TAG }}
66           org.opencontainers.image.revision=${{ github.sha }}
67         tags: |
68           ghcr.io/${{ env.GHCR_REPOSITORY }}:${{ env.TAG }}
69           ghcr.io/${{ env.GHCR_REPOSITORY }}:${{ env.FIXED_TAG }}
70           ${{ env.DH_REPOSITORY }}:${{ env.TAG }}
71           ${{ env.DH_REPOSITORY }}:${{ env.FIXED_TAG }}
72         push: true