Skip to content

Test shared Maven workflow for Java builds - #2545

Draft
msarahan wants to merge 2 commits into
NVIDIA:mainfrom
msarahan:codex/test-shared-maven-workflow
Draft

Test shared Maven workflow for Java builds#2545
msarahan wants to merge 2 commits into
NVIDIA:mainfrom
msarahan:codex/test-shared-maven-workflow

Conversation

@msarahan

@msarahan msarahan commented Sep 2, 2026

Copy link
Copy Markdown
Member

Posted by Codex (GPT-5) on behalf of @msarahan. Treat this message as LLM-generated.

Why

cuVS currently reconstructs the Java build matrix and invokes shared-workflows/custom-job.yaml separately for cuvs-java and cuvs-lucene. This draft exercises the shared Maven build contract proposed in rapidsai/shared-workflows#626 and shows the downstream configuration reduction for a repository with two ordered Maven coordinates.

This is an integration experiment, not a merge-ready production change. PR CI is intentionally reduced to the two Maven builds so it does not spend capacity rebuilding unrelated C++, Python, wheel, Rust, Go, documentation, or devcontainer outputs while the shared contract is being evaluated.

What changes

  • Replace the production build workflow Java matrix and direct custom-job calls with one shared Maven workflow call for cuvs-java and a dependent call for cuvs-lucene.
  • Pin both calls to the exact current head of shared-workflows#626: 1fc50a1789a34a4e7b67ae23af71fc041067a1af.
  • Standardize build artifacts as cuvs_java_amd64_cu and cuvs_lucene_amd64_cu.
  • Let the Lucene build derive and download the matching cuvs-java artifact when the workflow does not pass a name explicitly.
  • Add an opt-in path for Java builds to resolve an already-published libcuvs Conda package instead of requiring a C++ artifact from the same run. The existing in-run C++ channel remains the default outside this draft PR CI.
  • Run Maven packaging on CPU runners. The previous PR jobs used GPU L4 runners only because their test scripts rebuild and test in one job. GPU testing of prebuilt JARs remains follow-up work under [Tracking] Separate Java build and test in CI #868.

Deliberate test scope

The production build workflow keeps all existing non-Java deliverables and dependencies. Only this draft PR workflow is reduced to Java and Lucene, using published libcuvs packages so no C++ or Python package build is required.

Validation

The full pre-commit suite passes with Rust 1.95, including ruff, mypy, dependency-file generation, ShellCheck, yamllint, and zizmor. The cmake hooks passed while noting that no local rapids-cmake formatting configuration was present; no CMake files are changed.

DO NOT MERGE: this PR exists to validate rapidsai/shared-workflows#626 and review the downstream interface.

@copy-pr-bot

copy-pr-bot Bot commented Sep 2, 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.

@msarahan

msarahan commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

/ok to test b7c0f0b

@msarahan

msarahan commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

/ok to test 3a76e60

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant