Skip to content

Commit ea5209f

Browse files
authored
Merge pull request #77 from functionland/ci/pin-qemu-binfmt
ci: pin QEMU binfmt for the arm64 cross-build (pre-empt the blox-ai segfault)
2 parents 6099258 + e85bbba commit ea5209f

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

.github/workflows/docker-image.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@ jobs:
1717
with:
1818
username: ${{ secrets.DOCKERHUB_USERNAME }}
1919
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
20+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
21+
uses: docker/setup-qemu-action@v3
22+
with:
23+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
24+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
25+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
26+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
27+
# Pin a validated QEMU so the cross-build is reproducible.
28+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
2029
- name: Set up Docker Buildx
2130
uses: docker/setup-buildx-action@v3
2231
- name: Pull Watchtower Docker Image
@@ -69,6 +78,15 @@ jobs:
6978
with:
7079
username: ${{ secrets.DOCKERHUB_USERNAME }}
7180
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
81+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
82+
uses: docker/setup-qemu-action@v3
83+
with:
84+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
85+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
86+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
87+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
88+
# Pin a validated QEMU so the cross-build is reproducible.
89+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
7290
- name: Set up Docker Buildx
7391
uses: docker/setup-buildx-action@v3
7492
- name: Pull Kubo Docker Image
@@ -121,6 +139,15 @@ jobs:
121139
with:
122140
username: ${{ secrets.DOCKERHUB_USERNAME }}
123141
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
142+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
143+
uses: docker/setup-qemu-action@v3
144+
with:
145+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
146+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
147+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
148+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
149+
# Pin a validated QEMU so the cross-build is reproducible.
150+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
124151
- name: Set up Docker Buildx
125152
uses: docker/setup-buildx-action@v3
126153
- name: Build fxsupport
@@ -141,6 +168,15 @@ jobs:
141168
with:
142169
username: ${{ secrets.DOCKERHUB_USERNAME }}
143170
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
171+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
172+
uses: docker/setup-qemu-action@v3
173+
with:
174+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
175+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
176+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
177+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
178+
# Pin a validated QEMU so the cross-build is reproducible.
179+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
144180
- name: Set up Docker Buildx
145181
uses: docker/setup-buildx-action@v3
146182
- name: Build go-fula
@@ -163,6 +199,15 @@ jobs:
163199
with:
164200
username: ${{ secrets.DOCKERHUB_USERNAME }}
165201
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
202+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
203+
uses: docker/setup-qemu-action@v3
204+
with:
205+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
206+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
207+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
208+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
209+
# Pin a validated QEMU so the cross-build is reproducible.
210+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
166211
- name: Set up Docker Buildx
167212
uses: docker/setup-buildx-action@v3
168213
- name: Build ipfs-cluster
@@ -187,6 +232,15 @@ jobs:
187232
with:
188233
username: ${{ secrets.DOCKERHUB_USERNAME }}
189234
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
235+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
236+
uses: docker/setup-qemu-action@v3
237+
with:
238+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
239+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
240+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
241+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
242+
# Pin a validated QEMU so the cross-build is reproducible.
243+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
190244
- name: Set up Docker Buildx
191245
uses: docker/setup-buildx-action@v3
192246
- name: Build fula-pinning
@@ -207,6 +261,15 @@ jobs:
207261
with:
208262
username: ${{ secrets.DOCKERHUB_USERNAME }}
209263
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
264+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
265+
uses: docker/setup-qemu-action@v3
266+
with:
267+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
268+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
269+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
270+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
271+
# Pin a validated QEMU so the cross-build is reproducible.
272+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
210273
- name: Set up Docker Buildx
211274
uses: docker/setup-buildx-action@v3
212275
- name: Build fula-gateway
@@ -228,6 +291,15 @@ jobs:
228291
with:
229292
username: ${{ secrets.DOCKERHUB_USERNAME }}
230293
password: ${{ secrets.DOCKERHUB_ORG_TOKEN }}
294+
- name: Set up QEMU (pinned binfmt — avoids the arm64 dpkg/libc-bin QEMU segfault)
295+
uses: docker/setup-qemu-action@v3
296+
with:
297+
# ARCH_SUPPORT is linux/arm64-only, so every image is cross-built under
298+
# QEMU on the amd64 runner. The runner's default binfmt can segfault
299+
# ("qemu: uncaught target signal 11") emulating arm64 dpkg/libc-bin in
300+
# the fula-gateway apt-get layer (same failure blox-ai hit 2026-06-18).
301+
# Pin a validated QEMU so the cross-build is reproducible.
302+
image: tonistiigi/binfmt@sha256:400a4873b838d1b89194d982c45e5fb3cda4593fbfd7e08a02e76b03b21166f0
231303
- name: Set up Docker Buildx
232304
uses: docker/setup-buildx-action@v3
233305
- name: Tag all images for release

0 commit comments

Comments
 (0)