1717
1818name : Python Release Build
1919on :
20- pull_request :
21- branches : ["main"]
2220 push :
23- tags : ["*-rc*"]
24- branches : ["branch-*"]
21+ branches : ["main*"]
2522
2623jobs :
2724 build :
@@ -43,10 +40,10 @@ jobs:
4340 run : uv sync --dev --no-install-package datafusion
4441
4542 # Update output format to enable automatic inline annotations.
46- - name : Run Ruff
47- run : |
48- uv run --no-project ruff check --output-format=github python/
49- uv run --no-project ruff format --check python/
43+ # - name: Run Ruff
44+ # run: |
45+ # uv run --no-project ruff check --output-format=github python/
46+ # uv run --no-project ruff format --check python/
5047
5148 generate-license :
5249 runs-on : ubuntu-latest
@@ -174,6 +171,10 @@ jobs:
174171 runs-on : ubuntu-latest
175172 steps :
176173 - uses : actions/checkout@v4
174+ - uses : awalsh128/cache-apt-pkgs-action@latest
175+ with :
176+ packages : libssl3 openssl
177+ version : 1.0
177178 - run : rm LICENSE.txt
178179 - name : Download LICENSE.txt
179180 uses : actions/download-artifact@v4
@@ -189,6 +190,20 @@ jobs:
189190 rust-toolchain : nightly
190191 target : x86_64
191192 manylinux : auto
193+ before-script-linux : |
194+ # If we're running on rhel centos, install needed packages.
195+ if command -v yum &> /dev/null; then
196+ yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic
197+
198+ # If we're running on i686 we need to symlink libatomic
199+ # in order to build openssl with -latomic flag.
200+ if [[ ! -d "/usr/lib64" ]]; then
201+ ln -s /usr/lib/libatomic.so.1 /usr/lib/libatomic.so
202+ fi
203+ else
204+ # If we're running on debian-based system.
205+ apt update -y && apt-get install -y libssl-dev openssl pkg-config
206+ fi
192207 rustup-components : rust-std rustfmt # Keep them in one line due to https://github.com/PyO3/maturin-action/issues/153
193208 args : --release --manylinux 2014 --features protoc,substrait
194209 - name : Archive wheels
@@ -203,6 +218,10 @@ jobs:
203218 runs-on : ubuntu-latest
204219 steps :
205220 - uses : actions/checkout@v4
221+ - uses : awalsh128/cache-apt-pkgs-action@latest
222+ with :
223+ packages : libssl3 openssl
224+ version : 1.0
206225 - run : rm LICENSE.txt
207226 - name : Download LICENSE.txt
208227 uses : actions/download-artifact@v4
@@ -219,6 +238,22 @@ jobs:
219238 target : aarch64
220239 # Use manylinux_2_28-cross because the manylinux2014-cross has GCC 4.8.5, which causes the build to fail
221240 manylinux : 2_28
241+ container : " ghcr.io/rust-cross/manylinux_2_28-cross:aarch64"
242+ docker-options : " --platform linux/arm64"
243+ before-script-linux : |
244+ # If we're running on rhel centos, install needed packages.
245+ if command -v yum &> /dev/null; then
246+ yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic
247+
248+ # If we're running on i686 we need to symlink libatomic
249+ # in order to build openssl with -latomic flag.
250+ if [[ ! -d "/usr/lib64" ]]; then
251+ ln -s /usr/lib/libatomic.so.1 /usr/lib/libatomic.so
252+ fi
253+ else
254+ # If we're running on debian-based system.
255+ apt update -y && apt-get install -y libssl-dev openssl pkg-config
256+ fi
222257 rustup-components : rust-std rustfmt # Keep them in one line due to https://github.com/PyO3/maturin-action/issues/153
223258 args : --release --features protoc,substrait
224259 - name : Archive wheels
@@ -233,6 +268,10 @@ jobs:
233268 runs-on : ubuntu-latest
234269 steps :
235270 - uses : actions/checkout@v4
271+ - uses : awalsh128/cache-apt-pkgs-action@latest
272+ with :
273+ packages : libssl3 openssl
274+ version : 1.0
236275 - run : rm LICENSE.txt
237276 - name : Download LICENSE.txt
238277 uses : actions/download-artifact@v4
@@ -245,6 +284,20 @@ jobs:
245284 with :
246285 rust-toolchain : stable
247286 manylinux : auto
287+ before-script-linux : |
288+ # If we're running on rhel centos, install needed packages.
289+ if command -v yum &> /dev/null; then
290+ yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic
291+
292+ # If we're running on i686 we need to symlink libatomic
293+ # in order to build openssl with -latomic flag.
294+ if [[ ! -d "/usr/lib64" ]]; then
295+ ln -s /usr/lib/libatomic.so.1 /usr/lib/libatomic.so
296+ fi
297+ else
298+ # If we're running on debian-based system.
299+ apt update -y && apt-get install -y libssl-dev openssl pkg-config
300+ fi
248301 rustup-components : rust-std rustfmt
249302 args : --release --sdist --out dist --features protoc,substrait
250303 - name : Assert sdist build does not generate wheels
0 commit comments