Skip to content

Commit 22ecc60

Browse files
committed
Testing wheel generation
1 parent d63718f commit 22ecc60

3 files changed

Lines changed: 400 additions & 130 deletions

File tree

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
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-latest
35+
# target: x86_64
36+
# manylinux: auto
37+
# # - runner: ubuntu-latest
38+
# # target: x86
39+
# - runner: ubuntu-latest
40+
# target: aarch64
41+
# manylinux: 2_28
42+
# - runner: ubuntu-latest
43+
# target: armv7
44+
# manylinux: 2_28
45+
# steps:
46+
# - uses: actions/checkout@v4
47+
# - name: Stand up docker services
48+
# run: |
49+
# docker compose up -d
50+
# - name: Wait for MinIO to be ready
51+
# run: |
52+
# for _ in {1..10}; do
53+
# if curl --silent --fail http://minio:9000/minio/health/live; then
54+
# break
55+
# fi
56+
# sleep 3
57+
# done
58+
# docker compose exec -T minio mc alias set minio http://minio:9000 minio123 minio123
59+
# - uses: actions/setup-python@v5
60+
# with:
61+
# python-version: '3.11'
62+
# - name: Build wheels
63+
# uses: PyO3/maturin-action@v1
64+
# with:
65+
# working-directory: icechunk-python
66+
# target: ${{ matrix.platform.target }}
67+
# args: --release --out dist --find-interpreter
68+
# sccache: 'true'
69+
# manylinux: ${{ matrix.platform.manylinux }} # https://github.com/PyO3/maturin-action/issues/245
70+
# - name: Upload wheels
71+
# uses: actions/upload-artifact@v4
72+
# with:
73+
# name: wheels-linux-${{ matrix.platform.target }}
74+
# path: icechunk-python/dist
75+
76+
musllinux:
77+
runs-on: ${{ matrix.platform.runner }}
78+
strategy:
79+
fail-fast: false
80+
matrix:
81+
platform:
82+
- runner: ubuntu-latest
83+
target: x86_64
84+
- runner: ubuntu-latest
85+
target: x86
86+
- runner: ubuntu-latest
87+
target: aarch64
88+
- runner: ubuntu-latest
89+
target: armv7
90+
steps:
91+
- uses: actions/checkout@v4
92+
- uses: actions/setup-python@v5
93+
with:
94+
python-version: 3.x
95+
#- name: Install Rust toolchain
96+
# run: |
97+
# rustup update --no-self-update ${{ env.RUST_CHANNEL }}
98+
# rustup component add --toolchain ${{ env.RUST_CHANNEL }} rustfmt rust-src clippy
99+
# rustup default ${{ env.RUST_CHANNEL }}
100+
#- name: Install bindgen-cli
101+
# run: |
102+
# cargo install --force --locked bindgen-cli
103+
- name: Build wheels
104+
uses: PyO3/maturin-action@v1
105+
with:
106+
working-directory: icechunk-python
107+
target: ${{ matrix.platform.target }}
108+
args: --release --out dist --find-interpreter
109+
sccache: 'true'
110+
manylinux: musllinux_1_2
111+
#before-script-linux: |
112+
# cargo install --force --locked bindgen-cli
113+
114+
# windows:
115+
# runs-on: ${{ matrix.platform.runner }}
116+
# strategy:
117+
# matrix:
118+
# platform:
119+
# - runner: windows-latest
120+
# target: x64
121+
# - runner: windows-latest
122+
# target: x86
123+
# steps:
124+
# - uses: actions/checkout@v4
125+
# - uses: actions/setup-python@v5
126+
# with:
127+
# python-version: 3.x
128+
# architecture: ${{ matrix.platform.target }}
129+
# - name: Build wheels
130+
# uses: PyO3/maturin-action@v1
131+
# with:
132+
# working-directory: icechunk-python
133+
# target: ${{ matrix.platform.target }}
134+
# args: --release --out dist --find-interpreter
135+
# sccache: 'true'
136+
# - name: Upload wheels
137+
# uses: actions/upload-artifact@v4
138+
# with:
139+
# name: wheels-windows-${{ matrix.platform.target }}
140+
# path: icechunk-python/dist
141+
#
142+
# macos:
143+
# runs-on: ${{ matrix.platform.runner }}
144+
# strategy:
145+
# matrix:
146+
# platform:
147+
# - runner: macos-13
148+
# target: x86_64
149+
# - runner: macos-14
150+
# target: aarch64
151+
# steps:
152+
# - uses: actions/checkout@v4
153+
# - uses: actions/setup-python@v5
154+
# with:
155+
# python-version: 3.x
156+
# - name: Build wheels
157+
# uses: PyO3/maturin-action@v1
158+
# with:
159+
# working-directory: icechunk-python
160+
# target: ${{ matrix.platform.target }}
161+
# args: --release --out dist --find-interpreter
162+
# sccache: 'true'
163+
# - name: Upload wheels
164+
# uses: actions/upload-artifact@v4
165+
# with:
166+
# name: wheels-macos-${{ matrix.platform.target }}
167+
# path: icechunk-python/dist
168+
#
169+
# sdist:
170+
# runs-on: ubuntu-latest
171+
# steps:
172+
# - uses: actions/checkout@v4
173+
# - name: Build sdist
174+
# uses: PyO3/maturin-action@v1
175+
# with:
176+
# working-directory: icechunk-python
177+
# command: sdist
178+
# args: --out dist
179+
# - name: Upload sdist
180+
# uses: actions/upload-artifact@v4
181+
# with:
182+
# name: wheels-sdist
183+
# path: icechunk-python/dist
184+
#
185+
# release:
186+
# name: Release
187+
# runs-on: ubuntu-latest
188+
# permissions:
189+
# id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
190+
# if: ${{ github.event_name == 'workflow_dispatch' }}
191+
# needs: [linux, musllinux, windows, macos, sdist]
192+
# steps:
193+
# - uses: actions/download-artifact@v4
194+
# - name: Publish to PyPI
195+
# uses: PyO3/maturin-action@v1
196+
# with:
197+
# command: upload
198+
# args: --non-interactive --skip-existing wheels-*/*
199+

0 commit comments

Comments
 (0)