Skip to content

Add shared Maven build workflow - #626

Open
msarahan wants to merge 2 commits into
mainfrom
codex/standardize-maven-workflow
Open

Add shared Maven build workflow#626
msarahan wants to merge 2 commits into
mainfrom
codex/standardize-maven-workflow

Conversation

@msarahan

@msarahan msarahan commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Why

Consolidates Java package build steps into a common workflow. Anticipated to be used for cuvs, cudf, cuopt and any other future Java packages.

Users of this script no longer configure:

  • compute-matrix.yaml directly.
  • strategy.matrix and fromJSON(...).
  • Repeated permissions and secrets: inherit for internal jobs.
  • Architecture forwarding.
  • CUDA-pinned image-tag construction.
  • CUDA-major deduplication.
  • Per-classifier artifact-name construction.
  • A second matrix definition for packaged-JAR testing.

They still own:

  • Which repository script builds each Maven coordinate.
  • Output file paths.
  • Dependencies between coordinates, such as cuvs-lucene needing cuvs-java.
  • Changed-file gating.
  • Maven-repository assembly and publication.

So the downstream configuration becomes declarative: “build this coordinate using this script and image family,” instead of reconstructing the matrix execution machinery in every repository. It also centralizes the correctness-sensitive rule that a cu12 artifact must actually run in a CUDA 12-pinned image.

Deliberate publication boundary

This workflow does not gather or publish artifacts. cuOpt currently produces roughly 405 MB per classifier, so four classifiers can exceed the Sonatype Portal 1 GB bundle limit. Keeping gathering separate lets smaller artifacts use one Maven-repository-layout bundle while larger projects can split publication without changing the build contract. Maven signing and Central staging remain the responsibility of the existing maven-publish.yaml workflow.

Related: NVIDIA/cuopt#1818, rapidsai/build-infra#379

@msarahan
msarahan requested a review from a team as a code owner September 2, 2026 16:51
@msarahan
msarahan requested review from gforsyth and removed request for a team September 2, 2026 16:51
@msarahan msarahan added feature request New feature or request non-breaking Introduces a non-breaking change labels Sep 2, 2026
@msarahan

msarahan commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

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

Labels

feature request New feature or request non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant