-
Notifications
You must be signed in to change notification settings - Fork 17
Fix windows 3.13t wheels #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
568b2cf
d4db26f
ce73691
1cba10f
83374d4
7e238c0
3656139
a289610
d5c17b4
5d1d017
83d47ec
22f0195
21a152a
86876d5
30a1472
8fc1f79
2ef5f0a
6d307a8
ecc58c1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ name: dists | |
on: | ||
pull_request: | ||
push: | ||
branches: '**' # not tags | ||
branches: [master] | ||
release: | ||
types: [released, prereleased] | ||
workflow_dispatch: # allows running workflow manually from the Actions tab | ||
|
@@ -14,58 +14,82 @@ concurrency: # https://stackoverflow.com/questions/66335225#comment133398800_72 | |
|
||
jobs: | ||
wheel: | ||
name: ${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux || 'auto' }} | ||
name: ${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- { os: macos-latest, target: x86_64 } | ||
- { os: macos-latest, target: aarch64 } | ||
- { os: ubuntu-latest, target: x86_64 } | ||
- { os: ubuntu-latest, target: aarch64 } | ||
- { os: ubuntu-latest, target: i686 } | ||
- { os: ubuntu-latest, target: armv7 } | ||
- { os: ubuntu-latest, target: ppc64le } | ||
- { os: ubuntu-latest, target: s390x } | ||
- { os: ubuntu-latest, target: x86_64, manylinux: musllinux_1_1 } | ||
- { os: ubuntu-latest, target: aarch64, manylinux: musllinux_1_1 } | ||
- { os: windows-latest, target: x86_64 } | ||
- { os: windows-latest, target: i686 } | ||
- { os: macos-15, target: x86_64, manylinux: auto} | ||
- { os: macos-15, target: aarch64, manylinux: auto} | ||
- { os: ubuntu-24.04, target: x86_64, manylinux: auto} | ||
- { os: ubuntu-24.04, target: aarch64, manylinux: auto} | ||
- { os: ubuntu-24.04, target: i686, manylinux: auto} | ||
- { os: ubuntu-24.04, target: armv7, manylinux: auto} | ||
- { os: ubuntu-24.04, target: ppc64le, manylinux: auto} | ||
- { os: ubuntu-24.04, target: s390x, manylinux: auto} | ||
- { os: ubuntu-24.04, target: x86_64, manylinux: musllinux_1_1 } | ||
- { os: ubuntu-24.04, target: aarch64, manylinux: musllinux_1_1 } | ||
- { os: windows-2025, target: x86_64, manylinux: auto} | ||
- { os: windows-2025, target: i686, manylinux: auto} | ||
|
||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
# keep python versions in sync with tests.yml | ||
# all python versions need to be present for linking to succeed | ||
- uses: actions/setup-python@v5 | ||
with: | ||
# pin to the latest supported python version | ||
python-version: "3.13" | ||
# x86 python needs to be available for the win32 wheel | ||
architecture: ${{ ( matrix.os == 'windows-latest' && matrix.target == 'i686' ) && 'x86' || null }} | ||
python-version: '3.8' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.9' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.10' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.12' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.13' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
- uses: Quansight-Labs/setup-python@v5 # 3.13t support not yet merged ref https://github.com/actions/setup-python/pull/973#issuecomment-2495900996 | ||
with: | ||
python-version: '3.13t' | ||
architecture: ${{ ( startsWith(matrix.os, 'windows') && matrix.target == 'i686' ) && 'x86' || null }} | ||
|
||
- uses: PyO3/maturin-action@v1 | ||
- uses: PyO3/maturin-action@v1.45.0 | ||
with: | ||
target: ${{ matrix.target }} | ||
manylinux: ${{ matrix.manylinux || 'auto' }} | ||
# Keep in sync with tests.yml | ||
manylinux: ${{ matrix.manylinux }} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just so I follow, what's the reason for this change? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah I was experimenting with furthet breaking up the matrix, one Python version at a time. To keep that simple, I wrote out the full matrix, including the |
||
# keep python versions in sync with tests.yml | ||
args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.13t' | ||
rust-toolchain: stable | ||
docker-options: -e CI | ||
|
||
- run: ${{ (matrix.os == 'windows-latest' && 'dir') || 'ls -ltra' }} dist/ | ||
- run: ${{ (startsWith(matrix.os, 'windows') && 'dir') || 'ls -ltra' }} dist/ | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: dist-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux || 'auto' }} | ||
name: dist-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux }} | ||
path: dist | ||
|
||
sdist: | ||
name: sdist | ||
runs-on: ubuntu-latest | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: PyO3/maturin-action@v1 | ||
- uses: PyO3/maturin-action@v1.45.0 | ||
with: | ||
command: sdist | ||
args: --out dist | ||
|
@@ -79,7 +103,7 @@ jobs: | |
publish: | ||
if: github.event_name == 'release' | ||
needs: [wheel, sdist] | ||
runs-on: ubuntu-latest | ||
runs-on: ubuntu-24.04 | ||
|
||
permissions: | ||
contents: write # softprops/action-gh-release | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do like being able to run CI on my branches without creating a PR. Does the
'**'
setting cause any problems?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the setting causes duplicate jobs for every commit pushed to a PR. i think what you're looking for is
on: workflow_dispatch
. we already added it in a previous PR: it adds a Run Workflow button on the right hand side here, where you can run CI manually on any branch without creating a PRThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it.