Skip to content

Commit cbcf78c

Browse files
committed
[HSTACK] Enable build action run
1 parent 3be6774 commit cbcf78c

File tree

1 file changed

+61
-8
lines changed

1 file changed

+61
-8
lines changed

.github/workflows/build.yml

Lines changed: 61 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@
1717

1818
name: Python Release Build
1919
on:
20-
pull_request:
21-
branches: ["main"]
2220
push:
23-
tags: ["*-rc*"]
24-
branches: ["branch-*"]
21+
branches: ["main*"]
2522

2623
jobs:
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

Comments
 (0)