Skip to content

Commit edd8fc0

Browse files
committed
.
1 parent a9551b8 commit edd8fc0

File tree

1 file changed

+76
-42
lines changed

1 file changed

+76
-42
lines changed

.github/workflows/pysplashsurf_CI.yml

Lines changed: 76 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -37,26 +37,81 @@ jobs:
3737
name: pysplashsurf.pyi
3838
path: pysplashsurf/pysplashsurf/
3939

40+
# linux_wheels:
41+
# name: Build wheels for "${{ matrix.python-version }}"
42+
# needs: generate-stub
43+
# runs-on: ubuntu-24.04
44+
# strategy:
45+
# fail-fast: false
46+
# matrix:
47+
# include:
48+
# - python-version: "manylinux_x86_64"
49+
# archs: "x86_64"
50+
# enable_test: true
51+
# - python-version: "manylinux_i686"
52+
# archs: "i686"
53+
# enable_test: false
54+
# - python-version: "manylinux_aarch64"
55+
# archs: "aarch64"
56+
# enable_test: false
57+
# - python-version: "manylinux_armv7l"
58+
# archs: "armv7l"
59+
# enable_test: false
60+
# steps:
61+
# - uses: actions/checkout@v4
62+
# - name: Download stub artifact
63+
# uses: actions/download-artifact@v4
64+
# with:
65+
# name: pysplashsurf.pyi
66+
# path: pysplashsurf/pysplashsurf/
67+
# - uses: actions/setup-python@v5
68+
# with:
69+
# python-version: 3.12
70+
# # QEMU is required for non-native archs
71+
# # https://cibuildwheel.pypa.io/en/stable/faq/#emulation
72+
# - name: Set up QEMU
73+
# if: runner.os == 'Linux'
74+
# uses: docker/setup-qemu-action@v3
75+
# with:
76+
# platforms: all
77+
# - name: Install cibuildwheel
78+
# run: python -m pip install cibuildwheel==3.1.3
79+
# - name: Build wheels with tests
80+
# run: python -m cibuildwheel --output-dir wheelhouse pysplashsurf
81+
# if: matrix.enable_test == true
82+
# env:
83+
# CIBW_BUILD: ${{ format('cp312-{0}', matrix.python-version) }}
84+
# CIBW_ARCHS: ${{ matrix.archs }}
85+
# CIBW_BEFORE_ALL_LINUX: curl -sSf https://sh.rustup.rs | sh -s -- -y
86+
# CIBW_ENVIRONMENT_LINUX: "PATH=$HOME/.cargo/bin:$PATH"
87+
# CIBW_TEST_COMMAND: "cargo install --path {project}/splashsurf && pytest pysplashsurf/tests"
88+
# CIBW_TEST_SOURCES: "pysplashsurf/tests"
89+
# CIBW_TEST_REQUIRES: pytest meshio trimesh rtree scipy
90+
# - name: Build wheels without tests
91+
# run: python -m cibuildwheel --output-dir wheelhouse pysplashsurf
92+
# if: matrix.enable_test == false
93+
# env:
94+
# CIBW_BUILD: ${{ format('cp312-{0}', matrix.python-version) }}
95+
# CIBW_ARCHS: ${{ matrix.archs }}
96+
# CIBW_BEFORE_ALL_LINUX: curl -sSf https://sh.rustup.rs | sh -s -- -y
97+
# CIBW_ENVIRONMENT_LINUX: "PATH=$HOME/.cargo/bin:$PATH"
98+
# - name: Upload wheels
99+
# uses: actions/upload-artifact@v4
100+
# with:
101+
# name: wheels-${{ matrix.python-version }}
102+
# path: wheelhouse
103+
40104
linux_wheels:
41-
name: Build wheels for "${{ matrix.python-version }}"
105+
name: Build wheels for Linux ${{ matrix.target }}
42106
needs: generate-stub
43107
runs-on: ubuntu-24.04
44108
strategy:
45-
fail-fast: false
46109
matrix:
47110
include:
48-
- python-version: "manylinux_x86_64"
49-
archs: "x86_64"
50-
enable_test: true
51-
- python-version: "manylinux_i686"
52-
archs: "i686"
53-
enable_test: false
54-
- python-version: "manylinux_aarch64"
55-
archs: "aarch64"
56-
enable_test: false
57-
- python-version: "manylinux_armv7l"
58-
archs: "armv7l"
59-
enable_test: false
111+
- target: x86_64
112+
- target: x86
113+
- target: aarch64
114+
- target: armv7
60115
steps:
61116
- uses: actions/checkout@v4
62117
- name: Download stub artifact
@@ -67,38 +122,17 @@ jobs:
67122
- uses: actions/setup-python@v5
68123
with:
69124
python-version: 3.12
70-
# QEMU is required for non-native archs
71-
# https://cibuildwheel.pypa.io/en/stable/faq/#emulation
72-
- name: Set up QEMU
73-
if: runner.os == 'Linux'
74-
uses: docker/setup-qemu-action@v3
125+
- name: Build wheels
126+
uses: PyO3/maturin-action@v1
75127
with:
76-
platforms: all
77-
- name: Install cibuildwheel
78-
run: python -m pip install cibuildwheel==3.1.3
79-
- name: Build wheels with tests
80-
run: python -m cibuildwheel --output-dir wheelhouse pysplashsurf
81-
if: matrix.enable_test == true
82-
env:
83-
CIBW_BUILD: ${{ format('cp312-{0}', matrix.python-version) }}
84-
CIBW_ARCHS: ${{ matrix.archs }}
85-
CIBW_BEFORE_ALL_LINUX: curl -sSf https://sh.rustup.rs | sh -s -- -y
86-
CIBW_ENVIRONMENT_LINUX: "PATH=$HOME/.cargo/bin:$PATH"
87-
CIBW_TEST_COMMAND: "cargo install --path {project}/splashsurf && pytest pysplashsurf/tests"
88-
CIBW_TEST_SOURCES: "pysplashsurf/tests"
89-
CIBW_TEST_REQUIRES: pytest meshio trimesh rtree scipy
90-
- name: Build wheels without tests
91-
run: python -m cibuildwheel --output-dir wheelhouse pysplashsurf
92-
if: matrix.enable_test == false
93-
env:
94-
CIBW_BUILD: ${{ format('cp312-{0}', matrix.python-version) }}
95-
CIBW_ARCHS: ${{ matrix.archs }}
96-
CIBW_BEFORE_ALL_LINUX: curl -sSf https://sh.rustup.rs | sh -s -- -y
97-
CIBW_ENVIRONMENT_LINUX: "PATH=$HOME/.cargo/bin:$PATH"
128+
target: ${{ matrix.target }}
129+
args: --release --out wheelhouse --compatibility pypi -m pysplashsurf/Cargo.toml
130+
# sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
131+
manylinux: 2014
98132
- name: Upload wheels
99133
uses: actions/upload-artifact@v4
100134
with:
101-
name: wheels-${{ matrix.python-version }}
135+
name: wheels-linux-${{ matrix.target }}
102136
path: wheelhouse
103137

104138
macos_wheels:

0 commit comments

Comments
 (0)