Skip to content

Commit 1169d84

Browse files
authored
Use cargo-zigbuild to link against old libc (#7480)
We can use zig and link directly without having to spin up old oses --------- Signed-off-by: Robert Kruszewski <github@robertk.io>
1 parent e03bd1d commit 1169d84

3 files changed

Lines changed: 34 additions & 44 deletions

File tree

.github/actions/prepare-java-linux/action.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/package.yml

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -106,35 +106,39 @@ jobs:
106106
if-no-files-found: error
107107

108108
prepare-java-linux:
109-
runs-on: ${{ matrix.target.runs-on }}
110-
container:
111-
image: "ubuntu:20.04"
112109
timeout-minutes: 30
113110
strategy:
114111
fail-fast: false
115112
matrix:
116-
target:
117-
- { os: ubuntu, runs-on: "ubuntu-24.04-arm", target: aarch64-unknown-linux-gnu }
118-
- { os: ubuntu, runs-on: "ubuntu-24.04", target: x86_64-unknown-linux-gnu }
113+
include:
114+
- target: x86_64-unknown-linux-gnu
115+
runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=prepare-java-linux-amd64
116+
- target: aarch64-unknown-linux-gnu
117+
runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/tag=prepare-java-linux-arm64
118+
runs-on: ${{ matrix.runner }}
119119
steps:
120+
- uses: runs-on/action@v2
121+
if: github.repository == 'vortex-data/vortex'
122+
with:
123+
sccache: s3
120124
- uses: actions/checkout@v6
121125
with:
122126
fetch-depth: 0
123-
- uses: ./.github/actions/prepare-java-linux
124127
- uses: actions/setup-java@v5
125128
with:
126129
distribution: "corretto"
127130
java-version: "17"
128-
- uses: ./.github/actions/setup-rust
131+
- uses: ./.github/actions/setup-prebuild
132+
- uses: mlugg/setup-zig@v2.2.1
133+
- name: Install cargo-zigbuild
134+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
129135
with:
130-
targets: ${{ matrix.target.target }}
131-
repo-token: ${{ secrets.GITHUB_TOKEN }}
132-
enable-sccache: "false"
133-
- run: cargo build --release --package vortex-jni
136+
tool: cargo-zigbuild
137+
- run: cargo zigbuild --release --target ${{ matrix.target }}.2.31 --package vortex-jni
134138
- uses: actions/upload-artifact@v7
135139
with:
136-
name: "libvortex_jni_${{ matrix.target.target }}.zip"
137-
path: "target/release/libvortex_jni.so"
140+
name: "libvortex_jni_${{ matrix.target }}.zip"
141+
path: "target/${{ matrix.target }}/release/libvortex_jni.so"
138142
retention-days: 7
139143
if-no-files-found: error
140144

.github/workflows/publish-dry-runs.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,31 +64,35 @@ jobs:
6464
working-directory: vortex-python/
6565

6666
check-java-publish-build:
67-
runs-on: ${{ matrix.target.runs-on }}
68-
container:
69-
image: "ubuntu:20.04"
7067
timeout-minutes: 30
7168
strategy:
7269
fail-fast: false
7370
matrix:
74-
target:
75-
- { os: ubuntu, runs-on: "ubuntu-24.04-arm", target: aarch64-unknown-linux-gnu }
76-
- { os: ubuntu, runs-on: "ubuntu-24.04", target: x86_64-unknown-linux-gnu }
71+
include:
72+
- target: x86_64-unknown-linux-gnu
73+
runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=check-java-publish-build-amd64
74+
- target: aarch64-unknown-linux-gnu
75+
runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/tag=check-java-publish-build-arm64
76+
runs-on: ${{ matrix.runner }}
7777
steps:
78+
- uses: runs-on/action@v2
79+
if: github.repository == 'vortex-data/vortex'
80+
with:
81+
sccache: s3
7882
- uses: actions/checkout@v6
7983
with:
8084
fetch-depth: 0
81-
- uses: ./.github/actions/prepare-java-linux
8285
- uses: actions/setup-java@v5
8386
with:
8487
distribution: "corretto"
8588
java-version: "17"
86-
- uses: ./.github/actions/setup-rust
89+
- uses: ./.github/actions/setup-prebuild
90+
- uses: mlugg/setup-zig@v2.2.1
91+
- name: Install cargo-zigbuild
92+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
8793
with:
88-
targets: ${{ matrix.target.target }}
89-
repo-token: ${{ secrets.GITHUB_TOKEN }}
90-
enable-sccache: "false"
91-
- run: cargo build --profile ci --package vortex-jni
94+
tool: cargo-zigbuild
95+
- run: cargo zigbuild --profile ci --target ${{ matrix.target }}.2.31 --package vortex-jni
9296

9397
compat-check:
9498
name: "Compat check"

0 commit comments

Comments
 (0)