Skip to content

Backport #23646, #23732, #23714: Fix cudf-java native load - #23766

Draft
paul-aiyedun wants to merge 6 commits into
NVIDIA:release/26.08from
paul-aiyedun:hotfix/26.08.01
Draft

Backport #23646, #23732, #23714: Fix cudf-java native load#23766
paul-aiyedun wants to merge 6 commits into
NVIDIA:release/26.08from
paul-aiyedun:hotfix/26.08.01

Conversation

@paul-aiyedun

Copy link
Copy Markdown
Contributor

Description

  • Rebuild classifier JARs on RAPIDS ci-wheel (Rocky 8) so the bundled
    JNI library links against a libstdc++ ABI that Ubuntu 22.04 and Rocky
    Linux 8 can satisfy.

  • Skip optional nvcomp in NativeDepsLoader when its native resource
    is absent.

  • Run the existing Java suite against the packaged classifier JAR in PR
    and nightly CI so tests cover the published artifact.

  • Add a tag-gated java-publish job that uploads the gathered Maven
    repo to Maven Central.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

* Move `java-build` onto RAPIDS `ci-wheel` (Rocky 8) via `custom-job` and the shared `conda-cpp-build` matrix, replacing the previous host-side ci-conda docker wrappers.

* Add `java-build` and `java-tests` jobs that run the existing suite against the uploaded classifier JAR.

* Introduce `-Ppackaged-jar-tests` so Surefire uses the packaged JAR instead of `target/classes`, with `PackagedJarOriginCheck` to fail fast if classes load from the wrong place.

* Factor classifier/image/env helpers (`java_classifier.sh`, `ci_wheel_image.sh`, `setup_java_env.sh`) and in-container entrypoints so local wrappers and CI share one packaging path.

* Skip optional `nvcomp` in `NativeDepsLoader` when its native resource is absent, filtering that stage out of the load order by name. Static classifier JARs embed nvcomp in `libcudf.so` and ship no separate `libnvcomp.so`, which previously broke packaged-JAR startup with `UnsatisfiedLinkError`.

Closes NVIDIA#23563

Authors:
  - https://github.com/paul-aiyedun

Approvers:
  - Bradley Dice (https://github.com/bdice)
  - Tim Liu (https://github.com/NvTimLiu)
  - MithunR (https://github.com/mythrocks)

URL: NVIDIA#23646
(cherry picked from commit 7c536bf)
* Move the `java-build` artifact download into `ci/test_packaged_java.sh` so PR and nightly runs call the same script.

* Download `cudf_java_$(arch)_cu$(cuda_major)` via `rapids-download-from-github`.

* Replace the inline `pr.yaml` `java-tests` job with `shared-workflows/custom-job.yaml`.

* Add` java-build-matrix` and `java-tests` to `test.yaml`.

Authors:
  - https://github.com/paul-aiyedun

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: NVIDIA#23732
(cherry picked from commit 30fa357)
* Add a tag-gated `java-publish` job that deploys the gathered
  maven repo as an RC through shared-workflows, with GPG signing and
  Sonatype staging for manual Central publish.

* On release-tag builds, strip `-SNAPSHOT` and rewrite `java/pom.xml`
  so packaged artifacts use the release version.

* Copy the `cuda12` classifier JAR as the unclassified primary so
  consumers of `ai.rapids:cudf` without a classifier still resolve.

* Forward `GITHUB_REF` into the jar-build container so the release-tag
  check can see it and switch on release versioning.

* Make `HOST_UID`/`HOST_GID` required and always chown outputs on EXIT.

* Update `java/ci/README.md` for release vs SNAPSHOT versioning,
  sources/javadoc jars, and the unclassified primary layout.

Authors:
  - https://github.com/paul-aiyedun

Approvers:
  - Tim Liu (https://github.com/NvTimLiu)
  - Bradley Dice (https://github.com/bdice)

URL: NVIDIA#23714
(cherry picked from commit e36fd8a)
@copy-pr-bot

copy-pr-bot Bot commented Aug 22, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions github-actions Bot added the Java Affects Java cuDF API. label Aug 22, 2026
@paul-aiyedun

Copy link
Copy Markdown
Contributor Author

/ok to test 3685dc5

@github-actions github-actions Bot added libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API. CMake CMake build issue labels Aug 22, 2026
@paul-aiyedun

Copy link
Copy Markdown
Contributor Author

/ok to test a0be043

@paul-aiyedun paul-aiyedun added bug Something isn't working ! - Hotfix Hotfix is a bug that affects the majority of users for which there is no reasonable workaround non-breaking Non-breaking change ci and removed libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API. CMake CMake build issue labels Aug 22, 2026
Fix the checks job’s pre-commit failure by pinning
Cython to the version used in the 26.08 CI.
@github-actions github-actions Bot added libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API. CMake CMake build issue labels Aug 23, 2026
@paul-aiyedun

Copy link
Copy Markdown
Contributor Author

/ok to test 1ca0d20

@paul-aiyedun

Copy link
Copy Markdown
Contributor Author

/ok to test 3fb18bc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

! - Hotfix Hotfix is a bug that affects the majority of users for which there is no reasonable workaround bug Something isn't working ci CMake CMake build issue Java Affects Java cuDF API. libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change Python Affects Python cuDF API.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant