From af942c496477450fd361ec7debe8acfc0e9fad79 Mon Sep 17 00:00:00 2001 From: Dnomd343 Date: Sat, 5 Apr 2025 17:37:16 +0800 Subject: [PATCH] build: support publish latest image --- ...cker-build-push.yml => publish-latest.yml} | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) rename .github/workflows/{docker-build-push.yml => publish-latest.yml} (52%) diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/publish-latest.yml similarity index 52% rename from .github/workflows/docker-build-push.yml rename to .github/workflows/publish-latest.yml index a875a15..74685d2 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/publish-latest.yml @@ -1,26 +1,23 @@ -name: Build and Push Docker Image +name: Publish Latest Image on: push: branches: - master + paths-ignore: + - 'docs/**' + - 'README.md' + - '.gitignore' workflow_dispatch: jobs: - build-and-push: + publish-latest-image: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - - name: Extract Syncplay version from Dockerfile - id: get-version - run: | - syncplay_version=$(grep -oP '(?<=ENV SYNCPLAY=")[^"]+' Dockerfile) - echo "syncplay_version=${syncplay_version}" - echo "syncplay_version=${syncplay_version}" >> $GITHUB_OUTPUT - - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -30,17 +27,24 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} + username: ${{ vars.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v5 + - name: Login to GitHub Package Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and Push + uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7 - push: true tags: | - ${{ secrets.DOCKER_IMAGE }}:v${{ steps.get-version.outputs.syncplay_version }} - ${{ secrets.DOCKER_IMAGE }}:latest + ${{ vars.DOCKER_IMAGE }}:latest + ghcr.io/${{ vars.DOCKER_IMAGE }}:latest + push: true cache-from: type=gha cache-to: type=gha,mode=max