Skip to content

Commit 0f95f6f

Browse files
committed
try to fix pypi publishing take 2
Unfortunately, maturin produces metadata 2.4, and pypi upload only works up to version 2.3 apparently.
1 parent 8d130cd commit 0f95f6f

3 files changed

Lines changed: 58 additions & 19 deletions

File tree

.github/workflows/wheels.yml

Lines changed: 56 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,47 @@ on:
77
workflow_dispatch:
88

99
jobs:
10-
linux-x86-wheels:
10+
linux-many-x86-wheels:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
1414
container:
15-
- "quay.io/pypa/musllinux_1_2_x86_64"
1615
- "quay.io/pypa/manylinux_2_28_x86_64"
1716
container: ${{ matrix.container }}
1817
steps:
1918
- uses: actions/checkout@v4
2019
- name: Build wheels
2120
run: |
2221
bash .github/workflows/build-wheels.sh
23-
- uses: actions/upload-artifact@v3
22+
- uses: actions/upload-artifact@v4
2423
with:
25-
name: wheels
24+
name: wheels-linux-many-x86
2625
path: wheelhouse
2726
if-no-files-found: error
2827

29-
linux-aarch-wheels:
28+
linux-musl-x86-wheels:
29+
runs-on: ubuntu-latest
30+
strategy:
31+
matrix:
32+
container:
33+
- "quay.io/pypa/musllinux_1_2_x86_64"
34+
container: ${{ matrix.container }}
35+
steps:
36+
- uses: actions/checkout@v4
37+
- name: Build wheels
38+
run: |
39+
bash .github/workflows/build-wheels.sh
40+
- uses: actions/upload-artifact@v4
41+
with:
42+
name: wheels-linux-musl-x86
43+
path: wheelhouse
44+
if-no-files-found: error
45+
46+
linux-many-aarch-wheels:
3047
runs-on: ubuntu-latest
3148
strategy:
3249
matrix:
3350
container:
34-
- "quay.io/pypa/musllinux_1_2_aarch64"
3551
- "quay.io/pypa/manylinux_2_28_aarch64"
3652
steps:
3753
- uses: actions/checkout@v4
@@ -41,9 +57,29 @@ jobs:
4157
- name: Build wheels
4258
run: |
4359
docker run --platform linux/arm64 --workdir /src -v ${PWD}:/src ${{ matrix.container }} /bin/bash .github/workflows/build-wheels.sh
44-
- uses: actions/upload-artifact@v3
60+
- uses: actions/upload-artifact@v4
4561
with:
46-
name: wheels
62+
name: wheels-linux-many-aarch
63+
path: wheelhouse
64+
if-no-files-found: error
65+
66+
linux-musl-aarch-wheels:
67+
runs-on: ubuntu-latest
68+
strategy:
69+
matrix:
70+
container:
71+
- "quay.io/pypa/musllinux_1_2_aarch64"
72+
steps:
73+
- uses: actions/checkout@v4
74+
- name: Install QEMU
75+
run: |
76+
docker run --privileged --rm tonistiigi/binfmt --install arm64
77+
- name: Build wheels
78+
run: |
79+
docker run --platform linux/arm64 --workdir /src -v ${PWD}:/src ${{ matrix.container }} /bin/bash .github/workflows/build-wheels.sh
80+
- uses: actions/upload-artifact@v4
81+
with:
82+
name: wheels-linux-musl-aarch
4783
path: wheelhouse
4884
if-no-files-found: error
4985

@@ -69,9 +105,9 @@ jobs:
69105
maturin build --release --strip --target universal2-apple-darwin
70106
python3 -m pip install kmedoids --no-index --find-links target/wheels
71107
cd tests && python3 -m unittest discover && cd ..
72-
- uses: actions/upload-artifact@v3
108+
- uses: actions/upload-artifact@v4
73109
with:
74-
name: wheels
110+
name: wheels-macos-${{ matrix.python-version }}
75111
path: target/wheels
76112
if-no-files-found: error
77113

@@ -95,15 +131,15 @@ jobs:
95131
maturin build --release --strip
96132
python -m pip install kmedoids --no-index --find-links target/wheels
97133
cd tests && python -m unittest discover && cd ..
98-
- uses: actions/upload-artifact@v3
134+
- uses: actions/upload-artifact@v4
99135
with:
100-
name: wheels
136+
name: wheels-windows-${{ matrix.python-version }}
101137
path: target/wheels
102138
if-no-files-found: error
103139

104140
upload-wheels:
105141
name: Upload wheels to PyPI
106-
needs: [linux-x86-wheels, linux-aarch-wheels, osx-wheels, windows-wheels]
142+
needs: [linux-many-x86-wheels, linux-musl-x86-wheels, linux-many-aarch-wheels, linux-musl-aarch-wheels, osx-wheels, windows-wheels]
107143
runs-on: ubuntu-latest
108144
environment:
109145
name: pypi
@@ -112,16 +148,19 @@ jobs:
112148
id-token: write
113149
steps:
114150
- name: Collect artifacts
115-
uses: actions/download-artifact@v3
151+
uses: actions/download-artifact@v4
116152
with:
117-
name: wheels
153+
pattern: wheels-*
154+
merge-multiple: true
118155
path: wheels/
119156
- name: List contents
120157
run: ls -R
121158
working-directory: wheels/
122159
- name: Publish to PyPI
123160
uses: pypa/gh-action-pypi-publish@release/v1
124161
with:
125-
packages_dir: wheels/
126-
skip_existing: true
162+
packages-dir: wheels/
163+
skip-existing: true
127164
verbose: true
165+
verify-metadata: false
166+

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["maturin>=1.4,<2"]
2+
requires = ["maturin>=1.7,<1.76"]
33
build-backend = "maturin"
44

55
[project]

requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
pytest>=3.5.0
22
pip>=21.3
3-
maturin>=0.12
3+
maturin==1.7.5

0 commit comments

Comments
 (0)