fix(ci): test multi-arch Docker build in preflight before releasing

Previously, preflight only built amd64 images, so multi-arch failures
(like the QEMU timeout in 5.0.5) weren't caught until after the
release was published.

Now preflight builds linux/amd64,linux/arm64 staging images. If
multi-arch build fails, the release pipeline stops before publishing.

Combined with the Dockerfile fix (forcing amd64 for build stages),
this ensures Docker build issues are caught early.
This commit is contained in:
rcourtman
2025-12-27 13:25:01 +00:00
parent f4cf28e75d
commit e0325e5cf9

View File

@@ -170,12 +170,12 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push staging Docker images
- name: Build and push staging Docker images (multi-arch)
uses: docker/build-push-action@v6
with:
context: .
target: runtime
platforms: linux/amd64 # amd64-only for faster preflight; multi-arch happens in release job
platforms: linux/amd64,linux/arm64 # Multi-arch to catch build issues before release
push: true
provenance: false
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/pulse:buildcache
@@ -185,13 +185,13 @@ jobs:
tags: |
ghcr.io/${{ github.repository_owner }}/pulse:staging-${{ needs.extract_version.outputs.tag }}
- name: Build and push staging Docker agent image
- name: Build and push staging Docker agent image (multi-arch)
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
target: agent_runtime
platforms: linux/amd64 # amd64-only for faster preflight; multi-arch happens in release job
platforms: linux/amd64,linux/arm64 # Multi-arch to catch build issues before release
push: true
provenance: false
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/pulse-docker-agent:buildcache