From 41d4bf6cd2b8cc6be06ff50e6e8f661f402940fe Mon Sep 17 00:00:00 2001 From: Robert Kruszewski Date: Thu, 16 Apr 2026 15:35:48 +0100 Subject: [PATCH 1/2] Use cargo-zigbuild to link against old libc Signed-off-by: Robert Kruszewski --- .github/actions/prepare-java-linux/action.yml | 18 --------- .github/workflows/package.yml | 37 ++++++++++++------- .github/workflows/publish-dry-runs.yml | 33 +++++++++++------ 3 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 .github/actions/prepare-java-linux/action.yml diff --git a/.github/actions/prepare-java-linux/action.yml b/.github/actions/prepare-java-linux/action.yml deleted file mode 100644 index 06c51d5245a..00000000000 --- a/.github/actions/prepare-java-linux/action.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: "Prepare vortex dependencies for java" -description: "Install required packages for vortex java build" -runs: - using: "composite" - steps: - - shell: bash - run: | - apt update - apt install -y wget curl build-essential unzip clang - - name: Print GLIBC version - shell: bash - run: ldd --version - - name: Verify GLIBC version - shell: bash - run: | - set -eux - - ldd --version | grep 'GLIBC 2.31' diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index e137726b26c..f4b193854b1 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -106,35 +106,44 @@ jobs: if-no-files-found: error prepare-java-linux: - runs-on: ${{ matrix.target.runs-on }} - container: - image: "ubuntu:20.04" timeout-minutes: 30 strategy: fail-fast: false matrix: - target: - - { os: ubuntu, runs-on: "ubuntu-24.04-arm", target: aarch64-unknown-linux-gnu } - - { os: ubuntu, runs-on: "ubuntu-24.04", target: x86_64-unknown-linux-gnu } + include: + - target: x86_64-unknown-linux-gnu + runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=prepare-java-linux-amd64 + fallback_runner: ubuntu-24.04 + - target: aarch64-unknown-linux-gnu + runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/tag=prepare-java-linux-arm64 + fallback_runner: ubuntu-24.04-arm + runs-on: >- + ${{ github.repository == 'vortex-data/vortex' + && matrix.runner + || matrix.fallback_runner }} steps: + - uses: runs-on/action@v2 + if: github.repository == 'vortex-data/vortex' + with: + sccache: s3 - uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: ./.github/actions/prepare-java-linux - uses: actions/setup-java@v5 with: distribution: "corretto" java-version: "17" - - uses: ./.github/actions/setup-rust + - uses: ./.github/actions/setup-prebuild + - uses: mlugg/setup-zig@v2.2.1 + - name: Install cargo-zigbuild + uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995 with: - targets: ${{ matrix.target.target }} - repo-token: ${{ secrets.GITHUB_TOKEN }} - enable-sccache: "false" - - run: cargo build --release --package vortex-jni + tool: cargo-zigbuild + - run: cargo zigbuild --release --target ${{ matrix.target }}.2.31 --package vortex-jni - uses: actions/upload-artifact@v7 with: - name: "libvortex_jni_${{ matrix.target.target }}.zip" - path: "target/release/libvortex_jni.so" + name: "libvortex_jni_${{ matrix.target }}.zip" + path: "target/${{ matrix.target }}/release/libvortex_jni.so" retention-days: 7 if-no-files-found: error diff --git a/.github/workflows/publish-dry-runs.yml b/.github/workflows/publish-dry-runs.yml index bea9f4e9b02..b1d8574fe98 100644 --- a/.github/workflows/publish-dry-runs.yml +++ b/.github/workflows/publish-dry-runs.yml @@ -64,31 +64,40 @@ jobs: working-directory: vortex-python/ check-java-publish-build: - runs-on: ${{ matrix.target.runs-on }} - container: - image: "ubuntu:20.04" timeout-minutes: 30 strategy: fail-fast: false matrix: - target: - - { os: ubuntu, runs-on: "ubuntu-24.04-arm", target: aarch64-unknown-linux-gnu } - - { os: ubuntu, runs-on: "ubuntu-24.04", target: x86_64-unknown-linux-gnu } + include: + - target: x86_64-unknown-linux-gnu + runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=check-java-publish-build-amd64 + fallback_runner: ubuntu-24.04 + - target: aarch64-unknown-linux-gnu + runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/tag=check-java-publish-build-arm64 + fallback_runner: ubuntu-24.04-arm + runs-on: >- + ${{ github.repository == 'vortex-data/vortex' + && matrix.runner + || matrix.fallback_runner }} steps: + - uses: runs-on/action@v2 + if: github.repository == 'vortex-data/vortex' + with: + sccache: s3 - uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: ./.github/actions/prepare-java-linux - uses: actions/setup-java@v5 with: distribution: "corretto" java-version: "17" - - uses: ./.github/actions/setup-rust + - uses: ./.github/actions/setup-prebuild + - uses: mlugg/setup-zig@v2.2.1 + - name: Install cargo-zigbuild + uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995 with: - targets: ${{ matrix.target.target }} - repo-token: ${{ secrets.GITHUB_TOKEN }} - enable-sccache: "false" - - run: cargo build --profile ci --package vortex-jni + tool: cargo-zigbuild + - run: cargo zigbuild --profile ci --target ${{ matrix.target }}.2.31 --package vortex-jni compat-check: name: "Compat check" From 39b66246091e5c2bced83fd5f9ba26a7570c2004 Mon Sep 17 00:00:00 2001 From: Robert Kruszewski Date: Thu, 16 Apr 2026 15:40:05 +0100 Subject: [PATCH 2/2] no fallbacks Signed-off-by: Robert Kruszewski --- .github/workflows/package.yml | 7 +------ .github/workflows/publish-dry-runs.yml | 7 +------ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index f4b193854b1..36e251d1fb6 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -113,14 +113,9 @@ jobs: include: - target: x86_64-unknown-linux-gnu runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=prepare-java-linux-amd64 - fallback_runner: ubuntu-24.04 - target: aarch64-unknown-linux-gnu runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/tag=prepare-java-linux-arm64 - fallback_runner: ubuntu-24.04-arm - runs-on: >- - ${{ github.repository == 'vortex-data/vortex' - && matrix.runner - || matrix.fallback_runner }} + runs-on: ${{ matrix.runner }} steps: - uses: runs-on/action@v2 if: github.repository == 'vortex-data/vortex' diff --git a/.github/workflows/publish-dry-runs.yml b/.github/workflows/publish-dry-runs.yml index b1d8574fe98..3e5b6d32868 100644 --- a/.github/workflows/publish-dry-runs.yml +++ b/.github/workflows/publish-dry-runs.yml @@ -71,14 +71,9 @@ jobs: include: - target: x86_64-unknown-linux-gnu runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=check-java-publish-build-amd64 - fallback_runner: ubuntu-24.04 - target: aarch64-unknown-linux-gnu runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/tag=check-java-publish-build-arm64 - fallback_runner: ubuntu-24.04-arm - runs-on: >- - ${{ github.repository == 'vortex-data/vortex' - && matrix.runner - || matrix.fallback_runner }} + runs-on: ${{ matrix.runner }} steps: - uses: runs-on/action@v2 if: github.repository == 'vortex-data/vortex'