Build CI images in parallel (#7296)

* Factor out common setup steps

* Re-order

* Split independent builds into parallel jobs

* Cache jetson builds

* Use zstd compression

* Switch from gha cache to registry cache

A CI run (four images cached with mode-max) populates the cache with 295
cache entries totalling 23.44 GB. This exceeds gha's 10GB limit, causing
trashing. Try with a registry instead.

* Enable manual CI runs
This commit is contained in:
Andrew Reiter
2023-07-27 08:56:12 -04:00
committed by GitHub
parent 961ce03835
commit a96602f3f5
3 changed files with 125 additions and 70 deletions

View File

@@ -12,29 +12,12 @@ jobs:
runs-on: ubuntu-latest
name: Image Build
steps:
- name: Remove unnecessary files
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
- id: lowercaseRepo
uses: ASzc/change-string-case-action@v5
with:
string: ${{ github.repository }}
- name: Check out code
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to the Container registry
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc
- name: Set up QEMU and Buildx
uses: ./.github/actions/setup
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create version file
run: make version
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with: