-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add Rocky 8 packaged-JAR Java CI and skip optional nvcomp #23646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
8619d03
dd57765
ee5859d
bdf3fc8
e2a1eec
74fedee
f59e0ff
68db0c1
7060987
3cdba59
979508b
a78bba3
b9f9bc4
928d8bb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| #!/bin/bash | ||
| # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| # CI entrypoint: static libcudf + classifier JAR for one matrix cell. | ||
| # | ||
| # Builds the static libcudf install tree and packages the matching classifier | ||
| # JAR, writing ./output_jars/<classifier>/ for the custom-job upload step. | ||
| # | ||
| # Inputs (environment variables): | ||
| # RAPIDS_CUDA_VERSION CUDA version, e.g. 12.9.2 (required). | ||
| # PARALLEL_LEVEL Build parallelism (default: nproc). | ||
| # CMAKE_CUDA_ARCHITECTURES Optional override for -DCMAKE_CUDA_ARCHITECTURES. | ||
| # JAVA_WORK_DIR Optional scratch dir (default: <repo>/.java-work). | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | ||
| cd "${REPO_ROOT}" | ||
|
|
||
| # shellcheck disable=SC1091 | ||
| . "${REPO_ROOT}/java/ci/ci_wheel_image.sh" | ||
| # shellcheck disable=SC1091 | ||
| . "${REPO_ROOT}/java/ci/java_classifier.sh" | ||
|
|
||
| if [[ -z ${RAPIDS_CUDA_VERSION:-} ]]; then | ||
| echo "Error: RAPIDS_CUDA_VERSION must be set" >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| RAPIDS_CUDA_VERSION="$(cudf_java_normalize_cuda_version "${RAPIDS_CUDA_VERSION}")" | ||
| export RAPIDS_CUDA_VERSION | ||
| CLASSIFIER="$(cudf_java_maven_classifier "${RAPIDS_CUDA_VERSION}")" | ||
|
|
||
| WORK_DIR="${JAVA_WORK_DIR:-${REPO_ROOT}/.java-work}" | ||
| LIBCUDF_DIR="${WORK_DIR}/libcudf" | ||
| CLASSIFIER_OUT="${REPO_ROOT}/output_jars/${CLASSIFIER}" | ||
|
|
||
| cleanup_scratch() { | ||
| # Do not delete a caller-provided JAVA_WORK_DIR. | ||
| if [[ -z ${JAVA_WORK_DIR:-} ]]; then | ||
| rm -rf "${WORK_DIR}" | ||
| else | ||
| rm -rf "${LIBCUDF_DIR}" "${BUILD_DIR}" | ||
| fi | ||
| } | ||
| trap cleanup_scratch EXIT | ||
|
|
||
| rm -rf "${LIBCUDF_DIR}" "${CLASSIFIER_OUT}" | ||
| mkdir -p "${LIBCUDF_DIR}" "${CLASSIFIER_OUT}" | ||
|
|
||
| export REPO_ROOT | ||
| export INSTALL_PREFIX="${LIBCUDF_DIR}" | ||
| export BUILD_DIR="${WORK_DIR}/libcudf-build" | ||
| export CUDF_INSTALL_DIR="${LIBCUDF_DIR}" | ||
| export OUTPUT_DIR="${CLASSIFIER_OUT}" | ||
|
|
||
| rapids-logger "Building static libcudf (${CLASSIFIER})" | ||
| bash "${REPO_ROOT}/java/ci/build_static_libcudf_in_container.sh" | ||
|
|
||
| rapids-logger "Packaging cuDF Java JAR (${CLASSIFIER})" | ||
| bash "${REPO_ROOT}/java/ci/build_cudf_java_jar_in_container.sh" | ||
|
|
||
| cudf_java_assert_classifier_artifacts "${CLASSIFIER_OUT}" "${CLASSIFIER}" | ||
| ls -la "${CLASSIFIER_OUT}" | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,50 @@ | ||||||||||||||||||||||||||||||
| #!/bin/bash | ||||||||||||||||||||||||||||||
| # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||||||||||||||||||||||||||||||
| # SPDX-License-Identifier: Apache-2.0 | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| # Run the Java tests against an already-packaged classifier JAR. | ||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||
| # Activates -Ppackaged-jar-tests so the surefire classpath uses the JAR at | ||||||||||||||||||||||||||||||
| # JAVA_JAR instead of a locally compiled target/classes tree. Caller places | ||||||||||||||||||||||||||||||
| # the JAR (e.g. via actions/download-artifact) before invoking this script. | ||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||
| # Inputs (environment variables): | ||||||||||||||||||||||||||||||
| # JAVA_JAR Absolute path to the classifier JAR (required). | ||||||||||||||||||||||||||||||
| # LIBCUDF_LARGE_STRINGS_ENABLED Optional; defaults to 0 (same as ci/test_java.sh). | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| set -euo pipefail | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | ||||||||||||||||||||||||||||||
| cd "${REPO_ROOT}" | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| if [[ -z ${JAVA_JAR:-} || ! -f ${JAVA_JAR} ]]; then | ||||||||||||||||||||||||||||||
| echo "Error: JAVA_JAR must point to an existing classifier JAR" >&2 | ||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| if ! command -v mvn >/dev/null 2>&1 || ! command -v java >/dev/null 2>&1; then | ||||||||||||||||||||||||||||||
| # shellcheck disable=SC1091 | ||||||||||||||||||||||||||||||
| . "${REPO_ROOT}/java/ci/setup_java_env.sh" | ||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||
|
Comment on lines
+25
to
+28
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win Define If Proposed fix+if ! command -v rapids-logger >/dev/null 2>&1; then
+ rapids-logger() {
+ echo ">>>> $*" >&2
+ }
+fi
+
if ! command -v mvn >/dev/null 2>&1 || ! command -v java >/dev/null 2>&1; then📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| # Match the existing conda Java test entrypoint in ci/test_java.sh. | ||||||||||||||||||||||||||||||
| export LIBCUDF_LARGE_STRINGS_ENABLED="${LIBCUDF_LARGE_STRINGS_ENABLED:-0}" | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| PRODUCT_JAR="$(cd "$(dirname "${JAVA_JAR}")" && pwd)/$(basename "${JAVA_JAR}")" | ||||||||||||||||||||||||||||||
| rapids-logger "Product JAR: ${PRODUCT_JAR}" | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| rapids-logger "Check GPU usage" | ||||||||||||||||||||||||||||||
| nvidia-smi | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| rm -rf "${REPO_ROOT}/java/target" | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| pushd "${REPO_ROOT}/java" >/dev/null | ||||||||||||||||||||||||||||||
| set +e | ||||||||||||||||||||||||||||||
| timeout 30m mvn -B test -Ppackaged-jar-tests \ | ||||||||||||||||||||||||||||||
| "-Dcudf.jar.path=${PRODUCT_JAR}" \ | ||||||||||||||||||||||||||||||
| "-DCUDF_JNI_ENABLE_PROFILING=OFF" | ||||||||||||||||||||||||||||||
| EXITCODE=$? | ||||||||||||||||||||||||||||||
| set -e | ||||||||||||||||||||||||||||||
| popd >/dev/null | ||||||||||||||||||||||||||||||
| rapids-logger "Java tests exit=${EXITCODE}" | ||||||||||||||||||||||||||||||
| exit "${EXITCODE}" | ||||||||||||||||||||||||||||||
|
coderabbitai[bot] marked this conversation as resolved.
|
||||||||||||||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.