Skip to content

[CI] Set up a nightly pipeline to test XGBoost with latest CCCL/RMM#11863

Merged
hcho3 merged 1 commit into
masterfrom
nightly_cccl_test
Dec 12, 2025
Merged

[CI] Set up a nightly pipeline to test XGBoost with latest CCCL/RMM#11863
hcho3 merged 1 commit into
masterfrom
nightly_cccl_test

Conversation

@hcho3

@hcho3 hcho3 commented Dec 12, 2025

Copy link
Copy Markdown
Collaborator

Example CI run: https://github.com/dmlc/xgboost/actions/runs/20156973678, where the pipeline detects breakage with CCCL 3.2.0 RC1 and RMM 26.02 nightly.

There are two jobs in the pipeline:

  • test-latest-cccl builds XGBoost with the latest version of CCCL (RC included). RMM is turned off for this job. (This is to avoid incompatibilities between latest CCCL and latest RMM.)
  • test-latest-rmm builds XGBoost with the latest development version of RMM. The job uses the same CCCL version as rest of Rapids.

cc @csadorf @jakirkham @bdice

The pipeline will run on a nightly basis. In addition, it's also possible to manually trigger the pipeline via the workflow dispatch.

@trivialfis Eventually this testing will be moved to CCCL and cuML for the sake of better visibility. For now, we host it in the XGBoost repo. It is set up as a nightly pipeline so that it doesn't block daily development.

@bdice

bdice commented Dec 12, 2025

Copy link
Copy Markdown
Contributor

Great. Both of the failures seen right now can be fixed. The thrust::pair issues indicate a missing header, and you should migrate to cuda::std::pair as well. The RMM issues are from a movement in headers, to rmm/mr/per_device_resource.hpp. Happy to review fixes for those separately.

Is it possible to run these as optional PR CI jobs too (failure is okay)?

@hcho3

hcho3 commented Dec 12, 2025

Copy link
Copy Markdown
Collaborator Author

@trivialfis Hi, would you be okay if we added optional CI jobs to pull requests to check for CCCL compatibility? The CI job will be hosted as a separate workflow apart from other jobs.
Implication: we often won't see the "green check marks" when merging pull requests.
Any suggestion would be welcome.

@trivialfis

Copy link
Copy Markdown
Member

Eventually this testing will be moved to CCCL and cuML for the sake of better visibility.

Could you please help me catch up to speed? What happened with that conversation and what's changed? Why the change of plan?

@hcho3

hcho3 commented Dec 12, 2025

Copy link
Copy Markdown
Collaborator Author

Here is the detailed plan for integration testing.

I will be on vacation between Dec 13 - Jan 10 and wanted to get a CI running before heading off. If I were to try setting up CI pipelines in CCCL and cuML, I won't be able to get it done in time.


set -euo pipefail

tmpfile="$(mktemp /tmp/abc-script.XXXXXX)"

@trivialfis trivialfis Dec 12, 2025

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would like to work on simplifying the CI one day. The amount of bash scripts and their complexity is getting a bit too much now. Also, the failure rate of the CI is relatively high at the moment.

@hcho3
hcho3 merged commit 369c4c0 into master Dec 12, 2025
130 checks passed
@hcho3
hcho3 deleted the nightly_cccl_test branch December 12, 2025 20:04
@jakirkham

Copy link
Copy Markdown
Contributor

Thanks everyone! 🙏

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants