diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 94d644e42..d6c083abb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ on: branches: - dev - master + - community-boards # only run the latest commit to avoid cache overwrites concurrency: @@ -44,16 +45,30 @@ jobs: run: make version - name: Create short sha run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV - - name: Build and push main build + # The majority of users running arm64 are rpi users, so the rpi + # build should be the primary arm64 image + - name: Build and push amd64 standard build uses: docker/build-push-action@v4 with: context: . file: docker/main/Dockerfile push: true - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 target: frigate tags: | - ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }} + ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-amd64 + cache-from: type=gha + cache-to: type=gha,mode=max + - name: Build and push arm64 standard build + uses: docker/build-push-action@v4 + with: + context: . + file: docker/main/Dockerfile + push: true + platforms: linux/arm64 + target: frigate + tags: | + ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-standard-arm64 cache-from: type=gha cache-to: type=gha,mode=max - name: Build and push RPi build @@ -65,6 +80,13 @@ jobs: set: | rpi.tags=ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-rpi *.cache-from=type=gha + - name: Assemble and push default build + uses: int128/docker-manifest-create-action@v1 + with: + tags: ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }} + suffixes: | + -amd64 + -rpi - name: Build and push TensorRT uses: docker/bake-action@v3 with: