Skip to content

Commit ed744ed

Browse files
authored
Add Windows Arm64 build & drop 3.9 builds (#234)
* Add Windows Arm64 build & drop 3.9 builds * Switch to macos-15 * Fixup: macos-15 skip non-native install/tests
1 parent bff061d commit ed744ed

2 files changed

Lines changed: 19 additions & 13 deletions

File tree

.github/workflows/CI.yml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ jobs:
6969
strategy:
7070
fail-fast: ${{ !( startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/tags/') ) }}
7171
matrix:
72-
python-version:
73-
- '3.9'
72+
python-version:
7473
- '3.10'
7574
- '3.11'
7675
- '3.12'
@@ -91,13 +90,20 @@ jobs:
9190
- { os: ubuntu-latest, target: ppc64le, target-triple: powerpc64le-unknown-linux-gnu, manylinux: auto }
9291
# - { os: ubuntu-latest, target: ppc64le, target-triple: powerpc64le-unknown-linux-musleabihf, manylinux: musllinux_1_1 } # no target musl for ppc64le
9392

94-
- { os: macos-13, target: x86_64, target-triple: x86_64-apple-darwin }
95-
- { os: macos-13, target: aarch64, target-triple: aarch64-apple-darwin }
96-
- { os: macos-13, target: universal2, target-triple: x86_64-apple-darwin }
93+
- { os: macos-15, target: x86_64, target-triple: x86_64-apple-darwin }
94+
- { os: macos-15, target: aarch64, target-triple: aarch64-apple-darwin }
95+
- { os: macos-15, target: universal2, target-triple: x86_64-apple-darwin }
9796

9897
- { os: windows-latest, target: x86_64, target-triple: x86_64-pc-windows-msvc, python-architecture: x64 }
9998
- { os: windows-latest, target: i686, target-triple: i686-pc-windows-msvc, python-architecture: x86 }
10099

100+
- { os: windows-11-arm, target: aarch64, target-triple: aarch64-pc-windows-msvc, python-architecture: arm64 }
101+
102+
# Python 3.10 has no native ARM64 Windows installer
103+
exclude:
104+
- python-version: '3.10'
105+
conf: { os: windows-11-arm }
106+
101107
include:
102108
# Windows x86_64 pypy
103109
- conf: { os: windows-latest, target: x86_64, target-triple: x86_64-pc-windows-msvc }
@@ -118,21 +124,21 @@ jobs:
118124
python-version: pypy3.11
119125

120126
# OSX x86_64 pypy
121-
- conf: { os: macos-13, target: x86_64, target-triple: x86_64-apple-darwin }
127+
- conf: { os: macos-15, target: x86_64, target-triple: x86_64-apple-darwin }
122128
python-version: pypy3.10
123-
- conf: { os: macos-13, target: x86_64, target-triple: x86_64-apple-darwin }
129+
- conf: { os: macos-15, target: x86_64, target-triple: x86_64-apple-darwin }
124130
python-version: pypy3.11
125131

126132
# OSX universal2 pypy
127-
- conf: { os: macos-13, target: universal2, target-triple: x86_64-apple-darwin }
133+
- conf: { os: macos-15, target: universal2, target-triple: x86_64-apple-darwin }
128134
python-version: pypy3.10
129-
- conf: { os: macos-13, target: universal2, target-triple: x86_64-apple-darwin }
135+
- conf: { os: macos-15, target: universal2, target-triple: x86_64-apple-darwin }
130136
python-version: pypy3.11
131137

132138
# OSX arm pypy
133-
- conf: { os: macos-13, target: aarch64, target-triple: aarch64-apple-darwin }
139+
- conf: { os: macos-15, target: aarch64, target-triple: aarch64-apple-darwin }
134140
python-version: pypy3.10
135-
- conf: { os: macos-13, target: aarch64, target-triple: aarch64-apple-darwin }
141+
- conf: { os: macos-15, target: aarch64, target-triple: aarch64-apple-darwin }
136142
python-version: pypy3.11
137143

138144
steps:
@@ -177,7 +183,7 @@ jobs:
177183
if: |
178184
!startsWith(matrix.conf.manylinux, 'musl') &&
179185
!( matrix.python-version == 'pypy3.10' && runner.os == 'Windows' ) &&
180-
( matrix.conf.target == 'x86_64' || matrix.conf.target == 'universal2' )
186+
( matrix.conf.target == 'universal2' || (matrix.conf.target == 'aarch64' && runner.os == 'Windows') || (matrix.conf.target == 'x86_64' && runner.os != 'macOS') )
181187
run: |
182188
# Second install guarantees it's going to install from local dir w/ --no-index
183189
# use first to get in dev dependencies

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "cramjam"
33
version = "2.12.0-rc1"
44
keywords = ["compression", "decompression", "snappy", "zstd", "bz2", "gzip", "lz4", "brotli", "deflate", "blosc2"]
5-
requires-python = ">=3.9"
5+
requires-python = ">=3.10"
66
license = { file = "LICENSE" }
77

88
[project.urls]

0 commit comments

Comments
 (0)