From b12ff953bac5721c1d759f241c222122a7bccc1b Mon Sep 17 00:00:00 2001 From: fdarveau Date: Thu, 26 Sep 2024 15:05:30 -0400 Subject: [PATCH] split multiarch action into its own separate action that does not run on PRs --- .github/workflows/docker-image.multiarch.yml | 48 ++++++++++++++++++++ .github/workflows/docker-image.yml | 29 ++---------- 2 files changed, 52 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/docker-image.multiarch.yml diff --git a/.github/workflows/docker-image.multiarch.yml b/.github/workflows/docker-image.multiarch.yml new file mode 100644 index 0000000..99861bb --- /dev/null +++ b/.github/workflows/docker-image.multiarch.yml @@ -0,0 +1,48 @@ +name: Docker Image CI +on: + push: + branches: [ master ] +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Get current date + id: date + run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT" + + - name: Check out the repo + uses: actions/checkout@v2 + + - name: Prepare-multiarch + id: prep-multiarch + run: | + DOCKER_IMAGE=ghcr.io/${{ github.repository }} + VERSION=latest + if [[ '${{ github.head_ref }}' != '' ]]; then + VERSION=${{github.head_ref}} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}-multiarch,${DOCKER_IMAGE}:${{ steps.date.outputs.date }}-multiarch" + echo ${TAGS} + echo "tags-multiarch=${TAGS}" >> "$GITHUB_OUTPUT" + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Push multiarch to GitHub Packages + uses: docker/build-push-action@v6 + with: + context: . + file: ./.docker/Dockerfile + platforms: linux/amd64,linux/arm/v7,linux/arm64 + push: true + tags: ${{ steps.prep-multiarch.outputs.tags-multiarch }} diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 554b6ec..093443f 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -26,24 +26,12 @@ jobs: TAGS="${DOCKER_IMAGE}:${VERSION},${DOCKER_IMAGE}:${{ steps.date.outputs.date }}" echo ${TAGS} echo "tags=${TAGS}" >> "$GITHUB_OUTPUT" - - - name: Prepare-multiarch - id: prep-multiarch - run: | - DOCKER_IMAGE=ghcr.io/${{ github.repository }} - VERSION=latest - if [[ '${{ github.head_ref }}' != '' ]]; then - VERSION=${{github.head_ref}} - fi - TAGS="${DOCKER_IMAGE}:${VERSION}-multiarch,${DOCKER_IMAGE}:${{ steps.date.outputs.date }}-multiarch" - echo ${TAGS} - echo "tags-multiarch=${TAGS}" >> "$GITHUB_OUTPUT" - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry uses: docker/login-action@v3 @@ -53,18 +41,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Push to GitHub Packages - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v6 with: context: . file: ./.docker/Dockerfile push: true - tags: ${{ steps.prep.outputs.tags }} - - - name: Push multiarch to GitHub Packages - uses: docker/build-push-action@v2 - with: - context: . - file: ./.docker/Dockerfile - platforms: linux/amd64,linux/arm/v7,linux/arm64 - push: true - tags: ${{ steps.prep-multiarch.outputs.tags-multiarch }} + tags: ${{ steps.prep.outputs.tags }}