Skip to content

Commit 43a447f

Browse files
authored
Improvements inspired by latest datafusion-python build file. (#117)
1 parent 0e837ae commit 43a447f

1 file changed

Lines changed: 28 additions & 32 deletions

File tree

.github/workflows/publish.yml

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,7 @@ jobs:
5050
matrix:
5151
os: [ macos-latest, macos-15-intel, windows-latest ]
5252
steps:
53-
- uses: actions/checkout@v5
54-
55-
- name: Get tags
56-
run: git fetch --tags origin --force # force needed to make re-releases
53+
- uses: actions/checkout@v6
5754

5855
- uses: dtolnay/rust-toolchain@stable
5956

@@ -74,70 +71,60 @@ jobs:
7471
uv sync --dev --no-install-package xarray-sql
7572
uv run --no-project maturin build --release --strip
7673
77-
- uses: actions/upload-artifact@v4
74+
- uses: actions/upload-artifact@v6
7875
with:
7976
name: dist-${{ matrix.os }}
8077
path: target/wheels/*
8178

8279
build-artifacts-manylinux-x86_64:
8380
runs-on: ubuntu-latest
8481
steps:
85-
- uses: actions/checkout@v5
86-
87-
- name: Get tags
88-
run: git fetch --tags origin --force # force needed to make re-releases
82+
- uses: actions/checkout@v6
8983

9084
- name: Build wheels for manylinux x86_64
9185
uses: PyO3/maturin-action@v1
9286
env:
9387
RUST_BACKTRACE: 1
9488
with:
9589
rust-toolchain: stable
96-
target: x86_64
97-
manylinux: 2014
90+
target: x86_64-unknown-linux-gnu
91+
manylinux: 2_28
9892
rustup-components: rust-std rustfmt
9993
sccache: 'true'
100-
args: --release
94+
args: --release --strip --out dist -i python3.10 python3.11 python3.12 python3.13
10195

102-
- uses: actions/upload-artifact@v4
96+
- uses: actions/upload-artifact@v6
10397
with:
10498
name: dist-manylinux-x86_64
105-
path: target/wheels/*
99+
path: dist/*
106100

107101
build-artifacts-manylinux-arm64:
108-
runs-on: ubuntu-latest
102+
runs-on: ubuntu-24.04-arm
109103
steps:
110-
- uses: actions/checkout@v5
111-
112-
- name: Get tags
113-
run: git fetch --tags origin --force # force needed to make re-releases
104+
- uses: actions/checkout@v6
114105

115106
- name: Build wheels for manylinux arm64
116107
uses: PyO3/maturin-action@v1
117108
env:
118109
RUST_BACKTRACE: 1
119110
with:
120111
rust-toolchain: stable
121-
target: aarch64
122-
# Use manylinux_2_28-cross because the manylinux2014-cross has GCC 4.8.5, which causes the build to fail
112+
target: aarch64-unknown-linux-gnu
123113
manylinux: 2_28
124114
rustup-components: rust-std rustfmt
125115
sccache: 'true'
126-
args: --release -i python3.10 python3.11 python3.12 python3.13
116+
args: --release --strip --out dist -i python3.10 python3.11 python3.12 python3.13
127117

128-
- uses: actions/upload-artifact@v4
118+
- uses: actions/upload-artifact@v6
129119
with:
130120
name: dist-manylinux-aarch64
131-
path: target/wheels/*
121+
path: dist/*
132122

133123
build-sdist:
134124
name: Source distribution
135125
runs-on: ubuntu-latest
136126
steps:
137-
- uses: actions/checkout@v5
138-
139-
- name: Get tags
140-
run: git fetch --tags origin --force # force needed to make re-releases
127+
- uses: actions/checkout@v6
141128

142129
- name: Build sdist
143130
uses: PyO3/maturin-action@v1
@@ -147,7 +134,16 @@ jobs:
147134
rustup-components: rust-std rustfmt
148135
args: --release --sdist --out dist
149136

150-
- uses: actions/upload-artifact@v4
137+
- name: Assert sdist build does not generate wheels
138+
run: |
139+
if [ -d "target/wheels" ] && [ "$(ls -A target/wheels)" ]; then
140+
echo "Error: Sdist build generated wheels"
141+
exit 1
142+
else
143+
echo "Directory is clean"
144+
fi
145+
146+
- uses: actions/upload-artifact@v6
151147
with:
152148
name: dist-sdist
153149
path: dist/*
@@ -161,7 +157,7 @@ jobs:
161157
- build-sdist
162158
steps:
163159
- name: Merge Build Artifacts
164-
uses: actions/upload-artifact/merge@v4
160+
uses: actions/upload-artifact/merge@v6
165161
with:
166162
name: dist
167163
pattern: dist-*
@@ -170,7 +166,7 @@ jobs:
170166
needs: merge-build-artifacts
171167
runs-on: ubuntu-latest
172168
steps:
173-
- uses: actions/download-artifact@v4
169+
- uses: actions/download-artifact@v6
174170
with:
175171
name: dist
176172
path: dist
@@ -193,7 +189,7 @@ jobs:
193189
needs: verify-built-dist
194190
runs-on: ubuntu-latest
195191
steps:
196-
- uses: actions/download-artifact@v4
192+
- uses: actions/download-artifact@v6
197193
with:
198194
name: dist
199195
path: dist

0 commit comments

Comments
 (0)