Skip to content

Commit bc064bb

Browse files
laurentgoclaude
andauthored
GH-1340: [CI][JNI] Always build the vcpkg-jni image and use the right cpp-jni base tag (#1341)
## What's Changed The Linux JNI jobs fail installing Archery with `Python < 3.11 is not supported`. `docker compose run vcpkg-jni` pulls a stale published image built on an old `apache/arrow` `cpp-jni` base that still had Python 3.10 first on `PATH`, and nothing rebuilds it because the image tag only depends on the `VCPKG` pin. - Run `docker compose build --pull vcpkg-jni` before `docker compose run vcpkg-jni`, so the image is always rebuilt on top of the current base image (using the published image as cache), as suggested in review. - Use apache/arrow's short architecture name (`ARCH_SHORT`: `amd64` / `arm64`) for the `cpp-jni` base image tag. apache/arrow switched its tags from `arm64v8-…` to `arm64-…` in apache/arrow#50125 (GH-32994); the old `arm64v8-cpp-jni-…` tag is a stale image (Python 3.10, built 2026-06-02) that was never updated again, so the aarch64 job kept using it. `ARCH` is unchanged, so our own tag naming and the `ubuntu` service (`${ARCH}/maven`) are not affected. The `VCPKG` pin is unchanged: it must stay in sync with apache/arrow, which only publishes `cpp-jni` images for its own pin (`9b965a1…`). AI assistance (Claude Code) was used during development; the complete diff was reviewed by the author. Closes #1340. Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
1 parent 1536b94 commit bc064bb

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

‎.github/workflows/rc.yml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,16 @@ jobs:
8989
- runs_on: ubuntu-latest
9090
arch: "x86_64"
9191
archery_arch: "amd64"
92+
archery_arch_short: "amd64"
9293
- runs_on: ubuntu-24.04-arm
9394
arch: "aarch_64"
9495
archery_arch: "arm64v8"
96+
archery_arch_short: "arm64"
9597
env:
9698
# architecture name used for archery build
9799
ARCH: ${{ matrix.platform.archery_arch }}
100+
# architecture name used for the apache/arrow base image tag
101+
ARCH_SHORT: ${{ matrix.platform.archery_arch_short }}
98102
DOCKER_VOLUME_PREFIX: .docker/
99103
permissions:
100104
contents: read
@@ -140,6 +144,7 @@ jobs:
140144
restore-keys: jni-linux-${{ matrix.platform.arch }}-
141145
- name: Build
142146
run: |
147+
docker compose build --pull vcpkg-jni
143148
docker compose run vcpkg-jni
144149
- name: Push Docker image
145150
if: success() && github.event_name == 'push' && github.repository == 'apache/arrow-java' && github.ref_name == 'main'

‎compose.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ services:
9999
cache_from:
100100
- ${REPO}:${ARCH}-vcpkg-jni-${VCPKG}
101101
args:
102-
base: ${ARROW_REPO}:${ARCH}-cpp-jni-${VCPKG}
102+
base: ${ARROW_REPO}:${ARCH_SHORT}-cpp-jni-${VCPKG}
103103
volumes:
104104
- .:/arrow-java:delegated
105105
- ${ARROW_REPO_ROOT}:/arrow:delegated

0 commit comments

Comments
 (0)