X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e5490e96232e301e9eed971984bb75f2f87475b0..26de5f91c37b825214f4ee0a9096f1cd34212e76:/.github/workflows/docker.yml?ds=sidebyside

diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 40b3d07..a3106d0 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -3,31 +3,54 @@ name: docker
 on:
   push:
     branches:
-      - "master"
+      - "main"
+  release:
+    types: [published]
+
+permissions:
+  contents: read
 
 jobs:
   docker:
+    if: github.repository == 'psf/black'
     runs-on: ubuntu-latest
     steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
       - name: Set up QEMU
-        uses: docker/setup-qemu-action@v1
+        uses: docker/setup-qemu-action@v2
 
       - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
+        uses: docker/setup-buildx-action@v2
 
       - name: Login to DockerHub
-        uses: docker/login-action@v1
+        uses: docker/login-action@v2
         with:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_TOKEN }}
 
+      - name: Check + set version tag
+        run:
+          echo "GIT_TAG=$(git describe --candidates=0 --tags 2> /dev/null || echo
+          latest_non_release)" >> $GITHUB_ENV
+
       - name: Build and push
-        uses: docker/build-push-action@v2
+        uses: docker/build-push-action@v3
+        with:
+          context: .
+          platforms: linux/amd64,linux/arm64
+          push: true
+          tags: pyfound/black:latest,pyfound/black:${{ env.GIT_TAG }}
+
+      - name: Build and push latest_release tag
+        if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
+        uses: docker/build-push-action@v3
         with:
           context: .
           platforms: linux/amd64,linux/arm64
           push: true
-          tags: pyfound/black:latest
+          tags: pyfound/black:latest_release
 
       - name: Image digest
         run: echo ${{ steps.docker_build.outputs.digest }}