@@ -409,17 +409,18 @@ jobs:
409409 fail-fast : false
410410 matrix :
411411 os : [linux, macos, windows]
412- target : [x86_64, aarch64 ]
412+ target : [undefined ]
413413 manylinux : [auto]
414414 include :
415- # manylinux for various platforms, plus pypy and graalpy on major architectures
415+ # manylinux for various platforms
416+ # x86_64 and aarch64 are PGO optimized below
416417 - os : linux
417418 manylinux : auto
418419 target : i686
419420 - os : linux
420421 manylinux : auto
421422 target : aarch64
422- interpreter : 3.9 3.10 3.11 3.12 3.13 3.14 pypy3.10 pypy3.11 graalpy3.11 graalpy3.12
423+ interpreter : 3.9 3.10 3.11 3.12 3.13 3.14
423424 - os : linux
424425 manylinux : auto
425426 target : armv7
@@ -437,6 +438,16 @@ jobs:
437438 target : x86_64
438439 interpreter : pypy3.10 pypy3.11 graalpy3.11 graalpy3.12
439440
441+ # manylinux pypy and graalpy on major architectures
442+ - os : linux
443+ manylinux : auto
444+ target : x86_64
445+ interpreter : graalpy3.11 graalpy3.12
446+ - os : linux
447+ manylinux : auto
448+ target : aarch64
449+ interpreter : graalpy3.11 graalpy3.12
450+
440451 # musllinux
441452 - os : linux
442453 manylinux : musllinux_1_1
@@ -461,7 +472,7 @@ jobs:
461472 # windows;
462473 # x86_64 pypy builds are not PGO optimized
463474 # i686 not supported by pypy
464- # aarch64 only 3.11 and up, also not PGO optimized
475+ # windows 11 arm supports 3.11 and up, not PGO optimized for now
465476 - os : windows
466477 target : x86_64
467478 interpreter : pypy3.10 pypy3.11
@@ -471,14 +482,14 @@ jobs:
471482 interpreter : 3.9 3.10 3.11 3.12 3.13 3.14
472483 - os : windows
473484 target : aarch64
474- interpreter : 3.11 3.12 3.13 3.14
485+ runs-on : windows-11-arm
486+ interpreter : " 3.11 3.12 3.13 3.13t 3.14 3.14t"
475487
476488 exclude :
477- # See above; disabled for now.
478- - os : windows
479- target : aarch64
489+ # was just a dummy variable to set a default value for target
490+ - target : undefined
480491
481- runs-on : ${{ ( matrix.os == 'linux' && 'ubuntu') || matrix.os }}-latest
492+ runs-on : ${{ matrix.runs-on || format('{0}-latest', matrix.os) }}
482493 steps :
483494 - uses : actions/checkout@v5
484495
@@ -509,30 +520,28 @@ jobs:
509520 path : dist
510521
511522 build-pgo :
512- name : build pgo-optimized on ${{ matrix.os }} / ${{ matrix.interpreter }}
523+ name : build pgo-optimized on ${{ matrix.platform. os }} / ${{ matrix.interpreter }}
513524 # only run on push to main and on release
514525 if : startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'Full Build')
515526 strategy :
516527 fail-fast : false
517528 matrix :
518- os : [linux, windows, macos]
529+ platform :
530+ [
531+ { os: linux, runs-on: ubuntu-latest },
532+ { os: linux_aarch64, runs-on: ubuntu-24.04-arm },
533+ { os: windows, runs-on: windows-latest },
534+ { os: macos, runs-on: macos-latest },
535+ ]
519536 interpreter :
520537 ["3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t"]
521- include :
522- # standard runners with override for macos arm
523- - os : linux
524- runs-on : ubuntu-latest
525- - os : windows
526- ls : dir
527- runs-on : windows-latest
528- - os : macos
529- runs-on : macos-latest
530538 exclude :
531539 # macos arm only supported from 3.10 and up
532- - os : macos
540+ - platform :
541+ os : macos
533542 interpreter : " 3.9"
534543
535- runs-on : ${{ matrix.runs-on }}
544+ runs-on : ${{ matrix.platform. runs-on }}
536545 steps :
537546 - uses : actions/checkout@v5
538547
@@ -555,11 +564,11 @@ jobs:
555564 interpreter : ${{ matrix.interpreter }}
556565 rust-toolchain : ${{ steps.rust-toolchain.outputs.name }}
557566
558- - run : ${{ matrix.ls || 'ls -lh' }} dist/
567+ - run : ${{ (startsWith( matrix.platform.os, 'windows') && 'dir') || 'ls -lh' }} dist/
559568
560569 - uses : actions/upload-artifact@v4
561570 with :
562- name : pypi_files_${{ matrix.os }}_${{ matrix.interpreter }}
571+ name : pypi_files_${{ matrix.platform. os }}_${{ matrix.interpreter }}
563572 path : dist
564573
565574 inspect-pypi-assets :
0 commit comments