From 90fc909d2c8a5165a5b0262696ec73ab47beccee Mon Sep 17 00:00:00 2001 From: pythoninthegrass <4097471+pythoninthegrass@users.noreply.github.com> Date: Tue, 15 Oct 2024 23:48:38 -0500 Subject: [PATCH] ci: use registry cache Reorder steps based on logical flow --- .github/workflows/docker.yml | 44 +++++++++++++++--------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a842dc51f..29d0acdc5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -33,12 +33,6 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Extract image name from Dockerfile - id: image_name - run: | - IMAGE=$(grep "LABEL org.opencontainers.image.title" Dockerfile | cut -d'"' -f2) - echo "IMAGE=$IMAGE" >> $GITHUB_OUTPUT - - name: Set password by container registry run: | case "${{ env.REGISTRY_URL }}" in @@ -55,6 +49,20 @@ jobs: ;; esac + - name: Log into container registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY_URL }} + username: ${{ env.REGISTRY_USER }} + password: ${{ env.REGISTRY_PASS }} + + - name: Extract image name from Dockerfile + id: image_name + run: | + IMAGE=$(grep "LABEL org.opencontainers.image.title" Dockerfile | cut -d'"' -f2) + echo "IMAGE=$IMAGE" >> $GITHUB_OUTPUT + - name: Docker meta id: meta uses: docker/metadata-action@v5 @@ -71,28 +79,12 @@ jobs: type=sha type=raw,value=latest,enable={{is_default_branch}} - - name: Set up QEMU + - name: Setup QEMU uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx + - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Login to container registry - if: github.event_name != 'pull_request' - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY_URL }} - username: ${{ env.REGISTRY_USER }} - password: ${{ env.REGISTRY_PASS }} - - - name: Set up Docker Buildx cache - uses: actions/cache@v4 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - name: Build and push uses: docker/build-push-action@v6 with: @@ -101,5 +93,5 @@ jobs: push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max + cache-from: type=registry,ref=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}:buildcache + cache-to: type=registry,ref=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}:buildcache,mode=max