Skip to content

Commit d972c92

Browse files
use arm runners (#1230)
1 parent c2925eb commit d972c92

File tree

1 file changed

+23
-49
lines changed

1 file changed

+23
-49
lines changed

.github/workflows/build-package.yml

Lines changed: 23 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ jobs:
210210

211211
build_linux_apt:
212212
# 24.02 gives futex error during apt: https://github.com/actions/runner-images/issues/9977
213-
runs-on: ubuntu-22.04
213+
runs-on: ${{ (matrix.platform[1] == 'arm64' || matrix.platform[1] == 'arm32v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
214214
name: Build Linux ${{ matrix.platform[1] }} Debian
215215
strategy:
216216
fail-fast: false
@@ -238,9 +238,7 @@ jobs:
238238
path: |
239239
src/foundation
240240
241-
- name: Set up QEMU
242-
if: matrix.platform[1] != 'amd64'
243-
uses: docker/setup-qemu-action@v3
241+
# ARM32v7 runs natively on ARM64 runners - no QEMU needed
244242

245243
- uses: docker/setup-buildx-action@v3
246244
id: setup
@@ -466,7 +464,7 @@ jobs:
466464
467465
build_linux_apk:
468466
# 24.02 gives futex error during apt: https://github.com/actions/runner-images/issues/9977
469-
runs-on: ubuntu-22.04
467+
runs-on: ${{ (matrix.platform[1] == 'arm64' || matrix.platform[1] == 'arm32v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
470468
name: Build Linux ${{ matrix.platform[1] }} Alpine
471469
strategy:
472470
fail-fast: false
@@ -494,9 +492,7 @@ jobs:
494492
path: |
495493
src/foundation
496494
497-
- name: Set up QEMU
498-
if: matrix.platform[1] != 'amd64'
499-
uses: docker/setup-qemu-action@v3
495+
# ARM32v7 runs natively on ARM64 runners - no QEMU needed
500496

501497
- uses: docker/setup-buildx-action@v3
502498
id: setup
@@ -814,7 +810,7 @@ jobs:
814810
"arm/v7", # platform spec
815811
"arm32v7/", # image prefix
816812
]
817-
runs-on: ubuntu-22.04
813+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
818814
needs:
819815
- clone_linux_whl
820816
- clone_src_whl
@@ -860,9 +856,7 @@ jobs:
860856
# if: matrix.prop[1] != 'amd64'
861857
# uses: docker/setup-qemu-action@v3
862858

863-
- name: Set up QEMU
864-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
865-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
859+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
866860

867861
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
868862
if: steps.get_image.outputs.digest != ''
@@ -1022,7 +1016,7 @@ jobs:
10221016
"arm/v7", # platform spec
10231017
"arm32v7/", # image prefix
10241018
]
1025-
runs-on: ubuntu-22.04
1019+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
10261020
needs:
10271021
- clone_linux_whl
10281022
- clone_src_whl
@@ -1067,9 +1061,7 @@ jobs:
10671061
# if: matrix.prop[1] != 'amd64'
10681062
# uses: docker/setup-qemu-action@v3
10691063

1070-
- name: Set up QEMU
1071-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
1072-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
1064+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
10731065

10741066
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
10751067
if: steps.get_image.outputs.digest != ''
@@ -1387,7 +1379,7 @@ jobs:
13871379
"arm/v7", # platform spec
13881380
"arm32v7/", # image prefix
13891381
]
1390-
runs-on: ubuntu-22.04
1382+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
13911383
needs:
13921384
- build_linux_apt
13931385
# - build_linux_apk
@@ -1426,9 +1418,7 @@ jobs:
14261418
# if: matrix.prop[1] != 'amd64'
14271419
# uses: docker/setup-qemu-action@v3
14281420

1429-
- name: Set up QEMU
1430-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
1431-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
1421+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
14321422

14331423
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
14341424
if: steps.get_image.outputs.digest != ''
@@ -1577,7 +1567,7 @@ jobs:
15771567
"arm/v7", # platform spec
15781568
"arm32v7/", # image prefix
15791569
]
1580-
runs-on: ubuntu-22.04
1570+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
15811571
needs:
15821572
# - build_linux_apt
15831573
- build_linux_apk
@@ -1616,9 +1606,7 @@ jobs:
16161606
# if: matrix.prop[1] != 'amd64'
16171607
# uses: docker/setup-qemu-action@v3
16181608

1619-
- name: Set up QEMU
1620-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
1621-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
1609+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
16221610

16231611
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
16241612
if: steps.get_image.outputs.digest != ''
@@ -1764,7 +1752,7 @@ jobs:
17641752
"arm/v7", # platform spec
17651753
"arm32v7/", # image prefix
17661754
]
1767-
runs-on: ubuntu-22.04
1755+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
17681756
needs:
17691757
- build_linux_apt
17701758
# - build_linux_apk
@@ -1803,9 +1791,7 @@ jobs:
18031791
# if: matrix.prop[1] != 'amd64'
18041792
# uses: docker/setup-qemu-action@v3
18051793

1806-
- name: Set up QEMU
1807-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
1808-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
1794+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
18091795

18101796
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
18111797
if: steps.get_image.outputs.digest != ''
@@ -1952,7 +1938,7 @@ jobs:
19521938
"arm/v7", # platform spec
19531939
"arm32v7/", # image prefix
19541940
]
1955-
runs-on: ubuntu-22.04
1941+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
19561942
needs:
19571943
# - build_linux_apt
19581944
- build_linux_apk
@@ -1991,9 +1977,7 @@ jobs:
19911977
# if: matrix.prop[1] != 'amd64'
19921978
# uses: docker/setup-qemu-action@v3
19931979

1994-
- name: Set up QEMU
1995-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
1996-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
1980+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
19971981

19981982
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
19991983
if: steps.get_image.outputs.digest != ''
@@ -2232,7 +2216,7 @@ jobs:
22322216
"arm/v7", # platform spec
22332217
"arm32v7/", # image prefix
22342218
]
2235-
runs-on: ubuntu-22.04
2219+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
22362220
needs: [ build_docker ]
22372221
defaults:
22382222
run:
@@ -2301,9 +2285,7 @@ jobs:
23012285
# if: matrix.prop[1] != 'amd64'
23022286
# uses: docker/setup-qemu-action@v3
23032287

2304-
- name: Set up QEMU
2305-
if: steps.reload_docker.outcome != 'failure' && matrix.prop[1] != 'amd64'
2306-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
2288+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
23072289

23082290
- name: Run test on ${{ matrix.prop[1] }}
23092291
if: steps.reload_docker.outcome != 'failure'
@@ -2442,7 +2424,7 @@ jobs:
24422424
"arm/v7", # platform spec
24432425
"arm32v7/", # image prefix
24442426
]
2445-
runs-on: ubuntu-22.04
2427+
runs-on: ${{ (matrix.prop[1] == 'arm64' || matrix.prop[1] == 'arm/v7') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
24462428
needs: [ build_npm ]
24472429
defaults:
24482430
run:
@@ -2528,9 +2510,7 @@ jobs:
25282510
env:
25292511
NODE_AUTH_TOKEN: "fake"
25302512

2531-
- name: Set up QEMU
2532-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
2533-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
2513+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
25342514

25352515
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
25362516
if: steps.get_image.outputs.digest != ''
@@ -2767,9 +2747,7 @@ jobs:
27672747
env:
27682748
NODE_AUTH_TOKEN: "fake"
27692749

2770-
- name: Set up QEMU
2771-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
2772-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
2750+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
27732751

27742752
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
27752753
if: steps.get_image.outputs.digest != ''
@@ -2977,9 +2955,7 @@ jobs:
29772955
env:
29782956
NODE_AUTH_TOKEN: "fake"
29792957

2980-
- name: Set up QEMU
2981-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
2982-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
2958+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
29832959

29842960
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
29852961
if: steps.get_image.outputs.digest != ''
@@ -3194,9 +3170,7 @@ jobs:
31943170
env:
31953171
NODE_AUTH_TOKEN: "fake"
31963172

3197-
- name: Set up QEMU
3198-
if: steps.get_image.outputs.digest != '' && matrix.prop[1] != 'amd64'
3199-
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
3173+
# ARM runs natively on ubuntu-22.04-arm runners - no QEMU needed
32003174

32013175
- name: Run test for ${{ matrix.prop[2] }}${{ matrix.image[1] }} on ${{ matrix.prop[1] }}
32023176
if: steps.get_image.outputs.digest != ''

0 commit comments

Comments
 (0)