@@ -412,7 +412,7 @@ jobs:
412
412
if-no-files-found : " error"
413
413
compression-level : 0
414
414
415
- macos_arm64 :
415
+ macos_aarch64 :
416
416
runs-on : macos-15
417
417
timeout-minutes : 10
418
418
strategy :
@@ -481,7 +481,7 @@ jobs:
481
481
- name : Store wheels
482
482
uses : actions/upload-artifact@v4
483
483
with :
484
- name : orjson_arm64_ ${{ matrix.python.version }}
484
+ name : orjson_macos_aarch64_ ${{ matrix.python.version }}
485
485
path : target/wheels
486
486
overwrite : true
487
487
retention-days : 1
@@ -561,7 +561,7 @@ jobs:
561
561
- name : Store wheels
562
562
uses : actions/upload-artifact@v4
563
563
with :
564
- name : orjson_arm64_aarch64_ ${{ matrix.python.version }}
564
+ name : orjson_universal2_aarch64_ ${{ matrix.python.version }}
565
565
path : target/wheels
566
566
overwrite : true
567
567
retention-days : 1
@@ -690,7 +690,7 @@ jobs:
690
690
cargo fetch --target "${{ matrix.platform.target }}" &
691
691
692
692
python.exe -m pip install --upgrade pip "maturin>=1,<2" wheel
693
- python.exe -m pip install -r test\requirements.txt -r integration\requirements.txt
693
+ python.exe -m pip install -r test\requirements.txt
694
694
695
695
mkdir .cargo
696
696
cp ci\config.toml .cargo\config.toml
@@ -714,12 +714,79 @@ jobs:
714
714
if-no-files-found : " error"
715
715
compression-level : 0
716
716
717
+ windows_aarch64 :
718
+ runs-on : windows-11-arm
719
+ timeout-minutes : 10
720
+ strategy :
721
+ fail-fast : false
722
+ matrix :
723
+ python : [
724
+ { version: '3.13' },
725
+ { version: '3.12' },
726
+ { version: '3.11' },
727
+ ]
728
+ env :
729
+ CFLAGS : " -O2"
730
+ LDFLAGS : " -Wl,--as-needed"
731
+ RUSTFLAGS : " -Z mir-opt-level=4 -D warnings"
732
+ TARGET : " aarch64-pc-windows-msvc"
733
+ steps :
734
+
735
+ - name : CPU info
736
+ shell : pwsh
737
+ run : Get-WmiObject -Class Win32_Processor -ComputerName. | Select-Object -Property Name, NumberOfCores, NumberOfLogicalProcessors
738
+
739
+ - uses : actions/checkout@v4
740
+
741
+ - uses : actions/setup-python@v5
742
+ with :
743
+ python-version : " ${{ matrix.python.version }}"
744
+ architecture : " arm64"
745
+
746
+ # from maturin
747
+ - shell : pwsh
748
+ run : |
749
+ Invoke-WebRequest -Uri "https://static.rust-lang.org/rustup/dist/$env:TARGET/rustup-init.exe" -OutFile rustup-init.exe
750
+ .\rustup-init.exe --default-toolchain "$env:RUST_TOOLCHAIN-$env:TARGET" --profile minimal --component rust-src -y
751
+ "$env:USERPROFILE\.cargo\bin" | Out-File -Append -Encoding ascii $env:GITHUB_PATH
752
+ "CARGO_HOME=$env:USERPROFILE\.cargo" | Out-File -Append -Encoding ascii $env:GITHUB_ENV
753
+
754
+ - name : Build environment
755
+ run : |
756
+ cargo fetch --target "$" &
757
+
758
+ python.exe -m sysconfig
759
+ python.exe -m pip install --upgrade pip "maturin>=1,<2" wheel
760
+ python.exe -m pip install -r test\requirements.txt
761
+
762
+ mkdir .cargo
763
+ cp ci\config.toml .cargo\config.toml
764
+
765
+ - name : maturin
766
+ run : |
767
+ maturin.exe build --release --strip --features=generic_simd --target="$env:TARGET"
768
+ python.exe -m pip install orjson --no-index --find-links target\wheels
769
+
770
+ - run : python.exe -m pytest -s -rxX -v test
771
+ env :
772
+ PYTHONMALLOC : " debug"
773
+
774
+ - name : Store wheels
775
+ uses : actions/upload-artifact@v4
776
+ with :
777
+ name : orjson_windows_aarch64_${{ matrix.python.version }}
778
+ path : target\wheels
779
+ overwrite : true
780
+ retention-days : 1
781
+ if-no-files-found : " error"
782
+ compression-level : 0
783
+
717
784
pypi :
718
785
name : PyPI
719
786
runs-on : ubuntu-24.04
720
787
timeout-minutes : 10
721
788
needs : [
722
- macos_arm64 ,
789
+ macos_aarch64 ,
723
790
macos_universal2_aarch64,
724
791
macos_universal2_amd64,
725
792
manylinux_aarch64,
@@ -728,6 +795,7 @@ jobs:
728
795
musllinux_aarch64,
729
796
musllinux_amd64,
730
797
sdist,
798
+ windows_aarch64,
731
799
windows_amd64,
732
800
]
733
801
environment :
0 commit comments