From 850dc1c95548846fa7be943ff748d12bc62daa77 Mon Sep 17 00:00:00 2001 From: jaronoff97 Date: Mon, 1 Jun 2026 14:16:14 -0400 Subject: [PATCH] ci(release): run binary + docker builds on Blacksmith MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Scoped replacement for #8. Only `tero-release.yaml` is touched — the upstream-Vector CI workflows stay on standard runners so future syncs don't conflict on every file. Heavy compile jobs get the bigger runner; docker assembly stays on 4vcpu. - build-binary matrix: blacksmith-8vcpu-ubuntu-2404 / -arm - build-docker matrix: blacksmith-4vcpu-ubuntu-2404 / -arm - merge-docker-manifest: blacksmith-4vcpu-ubuntu-2404 - docker/setup-buildx-action -> useblacksmith/setup-docker-builder - docker/build-push-action -> useblacksmith/build-push-action (drops manual cache-from/to: type=gha; Blacksmith's colocated layer cache is handled by the builder automatically) Untouched: prepare, upload-release-assets, summary — they don't build anything, so they stay on ubuntu-24.04. actions/cache@v4 is also left alone; it auto-interacts with Blacksmith's cache backend when the job runs on a Blacksmith runner. --- .github/workflows/tero-release.yaml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tero-release.yaml b/.github/workflows/tero-release.yaml index 33071a99251d6..6e4354925f34d 100644 --- a/.github/workflows/tero-release.yaml +++ b/.github/workflows/tero-release.yaml @@ -76,10 +76,10 @@ jobs: matrix: include: - arch: amd64 - runner: ubuntu-24.04 + runner: blacksmith-8vcpu-ubuntu-2404 triple: x86_64-unknown-linux-gnu - arch: arm64 - runner: arm-4-core + runner: blacksmith-8vcpu-ubuntu-2404-arm triple: aarch64-unknown-linux-gnu steps: - name: Checkout @@ -189,10 +189,10 @@ jobs: matrix: include: - arch: amd64 - runner: ubuntu-24.04 + runner: blacksmith-4vcpu-ubuntu-2404 platform: linux/amd64 - arch: arm64 - runner: ubuntu-24.04-arm + runner: blacksmith-4vcpu-ubuntu-2404-arm platform: linux/arm64 steps: - name: Checkout @@ -209,8 +209,11 @@ jobs: chmod +x "${{ matrix.arch }}/vector" ls -la "${{ matrix.arch }}/" - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Set up Blacksmith Docker builder + # Blacksmith's setup-docker-builder wraps buildx and points the build + # cache at Blacksmith's colocated layer cache, so we drop the manual + # `cache-from`/`cache-to: type=gha` below — it's handled automatically. + uses: useblacksmith/setup-docker-builder@v1 - name: Log in to Container Registry if: ${{ !inputs.dry_run }} @@ -222,14 +225,12 @@ jobs: - name: Build and push by digest id: build - uses: docker/build-push-action@v6 + uses: useblacksmith/build-push-action@v2 with: context: . file: distribution/docker/tero/Dockerfile platforms: ${{ matrix.platform }} outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=${{ !inputs.dry_run }} - cache-from: type=gha,scope=${{ matrix.arch }} - cache-to: type=gha,mode=max,scope=${{ matrix.arch }} - name: Export digest if: ${{ !inputs.dry_run }} @@ -250,7 +251,7 @@ jobs: merge-docker-manifest: name: Merge Docker manifests - runs-on: ubuntu-24.04 + runs-on: blacksmith-4vcpu-ubuntu-2404 needs: [prepare, build-docker] if: ${{ !inputs.dry_run }} steps: @@ -261,8 +262,8 @@ jobs: pattern: digests-* merge-multiple: true - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Set up Blacksmith Docker builder + uses: useblacksmith/setup-docker-builder@v1 - name: Log in to Container Registry uses: docker/login-action@v3