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