Skip to content

Commit 58f4e75

Browse files
committed
duplicate build & upload tasks as docker type in buildx outputs is incompatible with multi-platform images
1 parent 9e016e7 commit 58f4e75

File tree

1 file changed

+48
-8
lines changed

1 file changed

+48
-8
lines changed

.github/workflows/reusable-precommit.yml

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ jobs:
206206
cp log4j2.yaml assets
207207
- name: Set up Docker Buildx
208208
uses: docker/setup-buildx-action@v2
209-
- name: Build
209+
- name: Build for amd64
210210
uses: docker/build-push-action@v3
211211
with:
212212
push: false
@@ -216,13 +216,32 @@ jobs:
216216
labels: |
217217
org.batfish.batfish-tag=${{ needs.bf_version.outputs.bf_sha }}
218218
org.batfish.batfish-version=${{ needs.bf_version.outputs.bf_version }}
219-
outputs: type=docker,dest=/tmp/bf.tar
219+
platforms: linux/amd64
220+
outputs: type=docker,dest=/tmp/bf-amd64.tar
220221
context: .
221-
- name: Upload docker image
222+
- name: Upload linux/amd64 docker image
222223
uses: actions/upload-artifact@v3
223224
with:
224225
name: bf_image
225-
path: /tmp/bf.tar
226+
path: /tmp/bf-amd64.tar
227+
- name: Build for arm64
228+
uses: docker/build-push-action@v3
229+
with:
230+
push: false
231+
file: batfish.dockerfile
232+
build-args: ASSETS=./assets
233+
tags: batfish/batfish:test-${{ needs.bf_version.outputs.bf_version }}
234+
labels: |
235+
org.batfish.batfish-tag=${{ needs.bf_version.outputs.bf_sha }}
236+
org.batfish.batfish-version=${{ needs.bf_version.outputs.bf_version }}
237+
platforms: linux/arm64
238+
outputs: type=docker,dest=/tmp/bf-arm64.tar
239+
context: .
240+
- name: Upload linux/arm64 docker image
241+
uses: actions/upload-artifact@v3
242+
with:
243+
name: bf_image
244+
path: /tmp/bf-arm64.tar
226245
allinone_image_build:
227246
runs-on: ubuntu-latest
228247
needs:
@@ -266,7 +285,27 @@ jobs:
266285
cp wrapper.sh assets
267286
- name: Set up Docker Buildx
268287
uses: docker/setup-buildx-action@v2
269-
- name: Build
288+
- name: Build for linux/amd64
289+
uses: docker/build-push-action@v3
290+
with:
291+
push: false
292+
file: allinone.dockerfile
293+
build-args: ASSETS=./assets
294+
tags: batfish/allinone:test-${{ needs.bf_version.outputs.bf_version }}
295+
labels: |
296+
org.batfish.allinone-tag=${{ needs.bf_version.outputs.bf_sha }}_${{ needs.bf_version.outputs.pybf_sha }}
297+
org.batfish.batfish-tag=${{ needs.bf_version.outputs.bf_sha }}
298+
org.batfish.pybatfish-tag=${{ needs.bf_version.outputs.pybf_sha }}
299+
org.batfish.batfish-version=${{ needs.bf_version.outputs.bf_version }}
300+
platforms: linux/amd64
301+
outputs: type=docker,dest=/tmp/allinone-amd64.tar
302+
context: .
303+
- name: Upload linux/amd64 docker image
304+
uses: actions/upload-artifact@v3
305+
with:
306+
name: allinone_image
307+
path: /tmp/allinone-amd64.tar
308+
- name: Build for linux/arm64
270309
uses: docker/build-push-action@v3
271310
with:
272311
push: false
@@ -278,10 +317,11 @@ jobs:
278317
org.batfish.batfish-tag=${{ needs.bf_version.outputs.bf_sha }}
279318
org.batfish.pybatfish-tag=${{ needs.bf_version.outputs.pybf_sha }}
280319
org.batfish.batfish-version=${{ needs.bf_version.outputs.bf_version }}
281-
outputs: type=docker,dest=/tmp/allinone.tar
320+
platforms: linux/arm64
321+
outputs: type=docker,dest=/tmp/allinone-arm64.tar
282322
context: .
283-
- name: Upload docker image
323+
- name: Upload linux/arm64 docker image
284324
uses: actions/upload-artifact@v3
285325
with:
286326
name: allinone_image
287-
path: /tmp/allinone.tar
327+
path: /tmp/allinone-arm64.tar

0 commit comments

Comments
 (0)