Skip to content

Commit dbe350b

Browse files
committed
[CI] Add manual wheel workflow
1 parent 31bab4d commit dbe350b

1 file changed

Lines changed: 95 additions & 0 deletions

File tree

.github/workflows/wheel.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Wheel
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
strategy:
9+
max-parallel: 4
10+
# let some wheels complete even if others fail
11+
fail-fast: false
12+
matrix:
13+
os: [ubuntu-latest]
14+
#os: [ubuntu-latest, windows-latest, macos-14, macos-15-intel]
15+
#python_version: ['3.9', '3.10', '3.11', '3.12', '3.13']
16+
python_version: ['3.9']
17+
18+
include:
19+
20+
- os: ubuntu-latest
21+
platform_id: manylinux_x86_64
22+
manylinux_image: manylinux2014
23+
#- os: windows-latest
24+
# platform_id: win_amd64
25+
## macos x86_64 (intel)
26+
#- os: macos-15-intel
27+
# platform_id: macosx_x86_64
28+
## macos arm64 (apple silicon)
29+
#- os: macos-14
30+
# platform_id: macosx_arm64
31+
32+
#- python_version: '3.8'
33+
# python: 38
34+
# cibuildwheel: "cibuildwheel<3"
35+
- python_version: '3.9'
36+
python: 39
37+
cibuildwheel: "cibuildwheel<3"
38+
#- python_version: '3.10'
39+
# python: 310
40+
# cibuildwheel: "cibuildwheel<3"
41+
#- python_version: '3.11'
42+
# python: 311
43+
# cibuildwheel: "cibuildwheel<4"
44+
#- python_version: '3.12'
45+
# python: 312
46+
# cibuildwheel: "cibuildwheel<4"
47+
#- python_version: '3.13'
48+
# python: 313
49+
# cibuildwheel: "cibuildwheel<4"
50+
51+
runs-on: ${{ matrix.os }}
52+
53+
steps:
54+
- uses: actions/checkout@v4
55+
56+
- name: Setup Java JDK
57+
if: ${{ matrix.os != 'ubuntu-latest' }}
58+
uses: actions/setup-java@v3
59+
with:
60+
distribution: "temurin"
61+
java-version: "11.0.20+8" # The JDK version to make available on the path.
62+
java-package: jdk
63+
architecture: x64
64+
65+
- name: Setup Python ${{ matrix.python_version }}
66+
uses: actions/setup-python@v5
67+
with:
68+
python-version: ${{ matrix.python_version }}
69+
70+
- name: Installation
71+
run:
72+
|
73+
python -m pip install --upgrade pip
74+
pip install "cython<3.0"
75+
pip install "numpy<2"
76+
pip install -e .
77+
78+
- name: Install cibuildwheel
79+
run: python -m pip install "${{ matrix.cibuildwheel }}"
80+
81+
- name: Build wheels
82+
run: python -m cibuildwheel --output-dir wheelhouse
83+
env:
84+
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
85+
CIBW_ARCHS: all
86+
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }}
87+
CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux_image }}
88+
CIBW_BEFORE_ALL_LINUX: |
89+
yum install -y java-11-openjdk-devel && echo $JAVA_HOME && env
90+
91+
- name: Store artifacts
92+
uses: actions/upload-artifact@v4
93+
with:
94+
name: cibw-wheels-cp${{ matrix.python }}-${{ matrix.platform_id }}
95+
path: ./wheelhouse/*.whl

0 commit comments

Comments
 (0)