@@ -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