From 00a126397cbaa24d1db3b660c7ded231529dd503 Mon Sep 17 00:00:00 2001 From: Adam Warner Date: Mon, 6 Oct 2025 21:22:44 +0100 Subject: [PATCH] Utilise YAML anchors to reduce repeats of certain steps Signed-off-by: Adam Warner --- .github/workflows/build-and-publish.yml | 66 +++++++------------------ 1 file changed, 18 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index f14c415..fa586ae 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -40,17 +40,20 @@ jobs: platform=${{ matrix.platform }} echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - - name: Checkout Repo + - &checkout-repo + name: Checkout Repo if: github.event_name != 'schedule' uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 - - name: Checkout dev branch if scheduled + - &checkout-dev + name: Checkout dev branch if scheduled if: github.event_name == 'schedule' uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 with: ref: development - - name: Docker meta + - &docker-meta + name: Docker meta id: meta uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f #v5.8.0 with: @@ -62,17 +65,18 @@ jobs: latest=${{ startsWith(github.ref, 'refs/tags/') }} tags: | type=schedule,pattern=nightly - type=ref,event=branch,enable=${{ github.event_name != 'schedule' }},pattern=nightly + type=raw,value=nightly,enable=${{ github.event_name == 'push' }} type=ref,event=tag - - + - &login-dockerhub name: Login to Docker Hub uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef #v3.6.0 with: registry: docker.io username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_PASS }} - - + + - &login-ghcr name: Login to GitHub Container Registry uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef #v3.6.0 with: @@ -85,7 +89,8 @@ jobs: with: platforms: ${{ matrix.platform}} - - name: Set up Docker Buildx + - &setup-buildx + name: Set up Docker Buildx uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 #v3.11.1 - name: Build container and push by digest @@ -126,15 +131,8 @@ jobs: needs: - build steps: - - name: Checkout Repo - if: github.event_name != 'schedule' - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 - - - name: Checkout dev branch if scheduled - if: github.event_name == 'schedule' - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 - with: - ref: development + - *checkout-repo + - *checkout-dev - name: Download digests uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 #v5.0.0 @@ -143,38 +141,10 @@ jobs: pattern: digests-* merge-multiple: true - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 #v3.11.1 - - - name: Docker meta - id: meta - uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f #v5.8.0 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - ${{ env.dockerhub }} - ${{ env.ghcr }} - flavor: | - latest=${{ startsWith(github.ref, 'refs/tags/') }} - tags: | - type=schedule,pattern=nightly - type=ref,event=branch,enable=${{ github.event_name != 'schedule' }},pattern=nightly - type=ref,event=tag - - - - name: Login to Docker Hub - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef #v3.6.0 - with: - registry: docker.io - username: ${{ secrets.DOCKERHUB_USER }} - password: ${{ secrets.DOCKERHUB_PASS }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef #v3.6.0 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} + - *setup-buildx + - *docker-meta + - *login-dockerhub + - *login-ghcr - name: Create manifest list and push (DockerHub and GitHub Container Registry) working-directory: /tmp/digests