From f0dda499f84daad93ca4c831da09f8f34c978fad Mon Sep 17 00:00:00 2001 From: Andrew Reiter Date: Thu, 27 Jul 2023 12:41:41 -0400 Subject: [PATCH] Fix CI (#7303) * fixup! Split independent builds into parallel jobs * Combine caches within steps of same job * Remove Maintain Cache workflow Now that we're caching to ghcr instead of gha, we don't have to worry about gha's cache eviction after 7 days/10 GB. --- .github/actions/setup/action.yml | 6 +++--- .github/workflows/ci.yml | 10 ++++++---- .github/workflows/maintain_cache.yml | 28 ---------------------------- 3 files changed, 9 insertions(+), 35 deletions(-) delete mode 100644 .github/workflows/maintain_cache.yml diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 423655f18..c96102edb 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -5,7 +5,7 @@ inputs: required: true outputs: image-name: - value: ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }} + value: ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ steps.create-short-sha.outputs.SHORT_SHA }} cache-name: value: ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:cache runs: @@ -34,6 +34,6 @@ runs: - name: Create version file run: make version shell: bash - - name: Create short sha - run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV + - id: create-short-sha + run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT shell: bash diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1372d5a77..06f713d31 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,6 @@ jobs: target: frigate tags: ${{ steps.setup.outputs.image-name }}-amd64 cache-from: type=registry,ref=${{ steps.setup.outputs.cache-name }}-amd64 - cache-to: type=registry,ref=${{ steps.setup.outputs.cache-name }}-amd64,mode=max,compression=zstd - name: Build and push TensorRT (x86 GPU) uses: docker/bake-action@v3 with: @@ -46,6 +45,8 @@ jobs: files: docker/tensorrt/trt.hcl set: | tensorrt.tags=${{ steps.setup.outputs.image-name }}-tensorrt + *.cache-from=type=registry,ref=${{ steps.setup.outputs.cache-name }}-amd64 + *.cache-to=type=registry,ref=${{ steps.setup.outputs.cache-name }}-amd64,mode=max,compression=zstd arm64_build: runs-on: ubuntu-latest name: ARM Build @@ -67,8 +68,7 @@ jobs: target: frigate tags: | ${{ steps.setup.outputs.image-name }}-standard-arm64 - cache-from: type=registry,ref=${{ steps.setup.outputs.cache-name }}-standard-arm64 - cache-to: type=registry,ref=${{ steps.setup.outputs.cache-name }}-standard-arm64,mode=max,compression=zstd + cache-from: type=registry,ref=${{ steps.setup.outputs.cache-name }}-arm64 - name: Build and push RPi build uses: docker/bake-action@v3 with: @@ -77,6 +77,8 @@ jobs: files: docker/rpi/rpi.hcl set: | rpi.tags=${{ steps.setup.outputs.image-name }}-rpi + *.cache-from=type=registry,ref=${{ steps.setup.outputs.cache-name }}-arm64 + *.cache-to=type=registry,ref=${{ steps.setup.outputs.cache-name }}-arm64,mode=max,compression=zstd jetson_jp4_build: runs-on: ubuntu-latest name: Jetson Jetpack 4 @@ -152,7 +154,7 @@ jobs: run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV - uses: int128/docker-manifest-create-action@v1 with: - tags: ${{ steps.setup.outputs.image-name }} + tags: ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }} suffixes: | -amd64 -rpi diff --git a/.github/workflows/maintain_cache.yml b/.github/workflows/maintain_cache.yml deleted file mode 100644 index cd0462436..000000000 --- a/.github/workflows/maintain_cache.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Maintain Cache - -on: - schedule: - - cron: "13 0 * * 0,4" - -env: - PYTHON_VERSION: 3.9 - -jobs: - multi_arch_build: - runs-on: ubuntu-latest - name: Image Build - steps: - - name: Check out code - uses: actions/checkout@v3 - - name: Set up QEMU and Buildx - uses: ./.github/actions/setup - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: . - push: false - platforms: linux/amd64,linux/arm64 - target: frigate - cache-from: type=gha