Merge pull request #2516 from abrignoni/build/py315-windows-wheels · abrignoni/iLEAPP@13e8264 · GitHub
Skip to content

Commit 13e8264

Browse files
authored
Merge pull request #2516 from abrignoni/build/py315-windows-wheels
Ship Windows wheels for Python 3.15 and ARM64, and list 3.15 as supported
2 parents 38162ef + 7df4a17 commit 13e8264

22 files changed

Lines changed: 199 additions & 18 deletions
Lines changed: 111 additions & 0 deletions

‎.github/workflows/python_runtime_contract.yml‎

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,7 @@ jobs:
3131
strategy:
3232
fail-fast: false
3333
matrix:
34-
# The versions README.md tells users to run, plus 3.15 ahead of it.
35-
# README stays at 3.14 until 3.15 installs on Windows x64 without a
36-
# compiler: pyahocorasick and astc-decomp-faster publish no cp315
37-
# wheels yet, and whl_files has no cp315 pyliblzfse wheel.
34+
# The versions README.md tells users to run
3835
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.15']
3936

4037
steps:
@@ -58,3 +55,51 @@ jobs:
5855

5956
- name: Run admin compatibility tests
6057
run: python -m unittest discover -s admin/test/scripts -p 'test_*.py'
58+
59+
install:
60+
# README promises these versions. On Windows, x64 and ARM64, they must
61+
# install with no compiler: only the pure-Python packages that publish no
62+
# wheels may build from source, so a compiled package without a wheel on
63+
# PyPI or in whl_files fails here. Windows ARM64 Python starts at 3.11 in
64+
# setup-python. macOS installs as users do; pyliblzfse has no macOS wheels,
65+
# so a compiler is needed there on every version.
66+
runs-on: ${{ matrix.os }}
67+
strategy:
68+
fail-fast: false
69+
matrix:
70+
os: [windows-latest, macos-latest]
71+
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.15']
72+
include:
73+
- { os: windows-11-arm, python-version: '3.11' }
74+
- { os: windows-11-arm, python-version: '3.12' }
75+
- { os: windows-11-arm, python-version: '3.13' }
76+
- { os: windows-11-arm, python-version: '3.14' }
77+
- { os: windows-11-arm, python-version: '3.15' }
78+
79+
steps:
80+
- name: Checkout code
81+
uses: actions/checkout@v7
82+
with:
83+
sparse-checkout: |
84+
/*
85+
!/admin/test/cases/data
86+
sparse-checkout-cone-mode: false
87+
88+
- name: Set up Python
89+
uses: actions/setup-python@v7
90+
with:
91+
python-version: ${{ matrix.python-version }}
92+
93+
- name: Install runtime dependencies from wheels (Windows)
94+
if: runner.os == 'Windows'
95+
run: |
96+
python -m pip install --only-binary=:all: --no-binary=biplist,pgpy,nska-deserialize -r requirements.txt
97+
98+
- name: Install runtime dependencies (macOS)
99+
if: runner.os == 'macOS'
100+
run: |
101+
python -m pip install -r requirements.txt
102+
103+
- name: Import the compiled dependencies
104+
run: |
105+
python -c "import liblzfse, astc_decomp_faster, ahocorasick, numpy, pandas, PIL, pillow_heif, Crypto, mmh3; print('ok')"

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ Releases are the easiest way to run iLEAPP. Use source if you are developing mod
187187

188188
### Requirements
189189

190-
- Python 3.10 to 3.14
190+
- Python 3.10 to 3.15
191191
- Git
192192

193193
### Setup

‎requirements.txt‎

Lines changed: 38 additions & 13 deletions
71.7 KB
Binary file not shown.
71 KB
Binary file not shown.
71 KB
Binary file not shown.
74 KB
Binary file not shown.
78.6 KB
Binary file not shown.
74.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)