This is an automated email from the ASF dual-hosted git repository. raulcd pushed a commit to branch maint-26.0.x in repository https://gitbox.apache.org/repos/asf/arrow.git
commit d629fe91932ae8d8a2b5ef95df55f584ed8b6cbe Author: Curt Hagenlocher <[email protected]> AuthorDate: Sun Oct 18 17:51:42 2026 -0700 GH-54489: [CI][Integration] Install jpype1 from conda-forge in conda-integration image (#54490) ### Rationale for this change The `conda-integration` image doesn't pin Python, so it now gets Python 3.15. `ci/scripts/integration_arrow.sh` installs jpype1 with pip, and PyPI has no cp315 wheel for jpype1 yet. pip falls back to building from source, which fails because the image doesn't include Apache Ant. See #54489 for details. ### What changes are included in this PR? Install `jpype1` from conda-forge in `conda-integration.dockerfile`, as `conda-python-jpype.dockerfile` already does. conda-forge has builds for Python 3.15 on both linux-64 and linux-aarch64. `integration_arrow.sh` is unchanged: its `pip install jpype1` finds the conda package already installed and does nothing. It still installs jpype1 when the script runs outside this image. ### Are these changes tested? Yes. The Integration job in apache/arrow-dotnet builds this image from scratch and fails with the error above. I ran that job on a fork with the Arrow checkout pointed at this branch, and it got past the jpype1 installation that used to fail. When I opened this PR the run was still in progress: https://github.com/CurtHagenlocher/arrow-dotnet/actions/runs/39150917107 ### Are there any user-facing changes? No. ### Was AI used for this PR? In accordance to the [AI generation guidelines](https://arrow.apache.org/docs/dev/developers/overview.html#ai-generated-code), please disclose below whether and how AI was used in this PR. **PR code and description written by:** - [ ] Human - [x] AI **Reviewed before submission by:** - [ ] Human - [ ] AI - [ ] Not reviewed 🤖 Generated with [Claude Code](https://claude.com/claude-code) * GitHub Issue: #54489 Authored-by: Curt Hagenlocher <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]> --- ci/docker/conda-integration.dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ci/docker/conda-integration.dockerfile b/ci/docker/conda-integration.dockerfile index 517aea5c41..e9d5f143ef 100644 --- a/ci/docker/conda-integration.dockerfile +++ b/ci/docker/conda-integration.dockerfile @@ -28,6 +28,9 @@ ARG yarn=1.22 ARG jdk=17 # Install Archery and integration dependencies +# jpype1 is installed here rather than with pip in integration_arrow.sh, as +# PyPI may not yet have wheels for the Python version selected by conda +# and building jpype1 from source requires Apache Ant. COPY ci/conda_env_archery.txt /arrow/ci/ RUN mamba install -q -y \ @@ -35,6 +38,7 @@ RUN mamba install -q -y \ numpy \ compilers \ go-cgo \ + jpype1 \ maven=${maven} \ nodejs=${node} \ yarn=${yarn} \
