From 379e85895217c53e8f050904a58c73a78d6b0b74 Mon Sep 17 00:00:00 2001 From: Kishor Prins Date: Sun, 29 Jun 2025 11:13:03 -0700 Subject: [PATCH] Split up builds into a matrix --- .github/workflows/release.yml | 5 ++++- docker-bake.hcl | 14 +++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1fa02f1..ad0a6ee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,6 +35,9 @@ jobs: BUILDKIT_STEP_LOG_MAX_SIZE: 10485760 # This environment variable will override the VERSION variable in docker-bake.hcl VERSION: ${{ needs.prepare-release.outputs.version_tag }} # Use tag version (vX.Y.Z) for bake + strategy: + matrix: + build_target: ["cpu", "gpu", "rocm"] steps: - name: Checkout repository uses: actions/checkout@v4 @@ -86,7 +89,7 @@ jobs: run: | echo "Building and pushing images for version ${{ needs.prepare-release.outputs.version_tag }}" # The VERSION env var above sets the tag for the bake file targets - docker buildx bake --push + docker buildx bake ${{} matrix.build_target }} --push create-release: needs: [prepare-release, build-images] diff --git a/docker-bake.hcl b/docker-bake.hcl index 5c0ef6d..ac2a825 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -76,9 +76,17 @@ target "rocm" { ] } -# Default group to build both CPU and GPU versions -group "default" { - targets = ["cpu", "gpu", "rocm"] +# Build groups for parallel builds +group "cpu" { + targets = ["cpu"] +} + +group "gpu" { + targets = ["gpu"] +} + +group "rocm" { + targets = ["rocm"] } # Development targets for faster local builds