Skip to content

Commit 0f4f9e1

Browse files
committed
Testing wheel generation
1 parent d63718f commit 0f4f9e1

3 files changed

Lines changed: 375 additions & 130 deletions

File tree

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
name: Testing wheels
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [opened, reopened, synchronize, labeled]
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: false
11+
12+
permissions:
13+
contents: read
14+
15+
defaults:
16+
run:
17+
working-directory: ./icechunk-python
18+
19+
env:
20+
CARGO_INCREMENTAL: 0
21+
CARGO_NET_RETRY: 10
22+
CI: 1
23+
RUST_BACKTRACE: short
24+
RUSTFLAGS: "-D warnings -W unreachable-pub -W bare-trait-objects"
25+
RUSTUP_MAX_RETRIES: 10
26+
RUST_CHANNEL: '1.86.0'
27+
28+
jobs:
29+
linux:
30+
runs-on: ${{ matrix.platform.runner }}
31+
strategy:
32+
matrix:
33+
platform:
34+
- runner: ubuntu-22.04
35+
target: x86_64
36+
- runner: ubuntu-22.04
37+
target: x86
38+
- runner: ubuntu-22.04
39+
target: aarch64
40+
- runner: ubuntu-22.04
41+
target: armv7
42+
steps:
43+
- uses: actions/checkout@v4
44+
- uses: actions/setup-python@v5
45+
with:
46+
python-version: 3.x
47+
- name: Build wheels
48+
uses: PyO3/maturin-action@v1
49+
with:
50+
working-directory: icechunk-python
51+
target: ${{ matrix.platform.target }}
52+
args: --release --out dist --find-interpreter
53+
sccache: 'true'
54+
manylinux: ${{ matrix.platform.manylinux }} # https://github.com/PyO3/maturin-action/issues/245
55+
- name: Upload wheels
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: wheels-linux-${{ matrix.platform.target }}
59+
path: icechunk-python/dist
60+
61+
musllinux:
62+
runs-on: ${{ matrix.platform.runner }}
63+
strategy:
64+
fail-fast: false
65+
matrix:
66+
platform:
67+
- runner: ubuntu-22.04
68+
target: x86_64
69+
- runner: ubuntu-22.04
70+
target: x86
71+
- runner: ubuntu-22.04
72+
target: aarch64
73+
- runner: ubuntu-22.04
74+
target: armv7
75+
steps:
76+
- uses: actions/checkout@v4
77+
- uses: actions/setup-python@v5
78+
with:
79+
python-version: 3.x
80+
- name: Build wheels
81+
uses: PyO3/maturin-action@v1
82+
with:
83+
working-directory: icechunk-python
84+
target: ${{ matrix.platform.target }}
85+
args: --release --out dist --find-interpreter
86+
sccache: 'true'
87+
manylinux: musllinux_1_2
88+
docker-options: -e BINDGEN_EXTRA_CLANG_ARGS=-I"/usr/include/x86_64-linux-gnu"
89+
#before-script-linux: |
90+
# cargo install --force --locked bindgen-cli
91+
92+
windows:
93+
runs-on: ${{ matrix.platform.runner }}
94+
strategy:
95+
matrix:
96+
platform:
97+
- runner: windows-latest
98+
target: x64
99+
- runner: windows-latest
100+
target: x86
101+
steps:
102+
- uses: actions/checkout@v4
103+
- uses: actions/setup-python@v5
104+
with:
105+
python-version: 3.x
106+
architecture: ${{ matrix.platform.target }}
107+
- name: Build wheels
108+
uses: PyO3/maturin-action@v1
109+
with:
110+
working-directory: icechunk-python
111+
target: ${{ matrix.platform.target }}
112+
args: --release --out dist --find-interpreter
113+
sccache: 'true'
114+
# - name: Upload wheels
115+
# uses: actions/upload-artifact@v4
116+
# with:
117+
# name: wheels-windows-${{ matrix.platform.target }}
118+
# path: icechunk-python/dist
119+
120+
macos:
121+
runs-on: ${{ matrix.platform.runner }}
122+
strategy:
123+
matrix:
124+
platform:
125+
- runner: macos-13
126+
target: x86_64
127+
- runner: macos-14
128+
target: aarch64
129+
steps:
130+
- uses: actions/checkout@v4
131+
- uses: actions/setup-python@v5
132+
with:
133+
python-version: 3.x
134+
- name: Build wheels
135+
uses: PyO3/maturin-action@v1
136+
with:
137+
working-directory: icechunk-python
138+
target: ${{ matrix.platform.target }}
139+
args: --release --out dist --find-interpreter
140+
sccache: 'true'
141+
# - name: Upload wheels
142+
# uses: actions/upload-artifact@v4
143+
# with:
144+
# name: wheels-macos-${{ matrix.platform.target }}
145+
# path: icechunk-python/dist
146+
#
147+
# sdist:
148+
# runs-on: ubuntu-latest
149+
# steps:
150+
# - uses: actions/checkout@v4
151+
# - name: Build sdist
152+
# uses: PyO3/maturin-action@v1
153+
# with:
154+
# working-directory: icechunk-python
155+
# command: sdist
156+
# args: --out dist
157+
# - name: Upload sdist
158+
# uses: actions/upload-artifact@v4
159+
# with:
160+
# name: wheels-sdist
161+
# path: icechunk-python/dist
162+
#
163+
# release:
164+
# name: Release
165+
# runs-on: ubuntu-latest
166+
# permissions:
167+
# id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
168+
# if: ${{ github.event_name == 'workflow_dispatch' }}
169+
# needs: [linux, musllinux, windows, macos, sdist]
170+
# steps:
171+
# - uses: actions/download-artifact@v4
172+
# - name: Publish to PyPI
173+
# uses: PyO3/maturin-action@v1
174+
# with:
175+
# command: upload
176+
# args: --non-interactive --skip-existing wheels-*/*
177+

0 commit comments

Comments
 (0)