Skip to content

Conversation

guitargeek
Copy link
Contributor

In commit 042f698, I removed the usage of the tmva10*.py wild card for vetoing if xgboost is not found, because it caused false positives: the tmva100_DataPreparation tutorial is actually not using xgboost at all.

But now we see in the nightlies that this tutorial crashes on Windows, so it needs to be vetoed in that case.

Also, in a separate commit, move import xgboost inside the main function of the tmva101 tutorial, such that other tutorials that use the tmva101 tutorial as a library don't inherit this dependency

@guitargeek guitargeek self-assigned this Aug 10, 2025
Copy link

github-actions bot commented Aug 10, 2025

Test Results

    21 files      21 suites   3d 7h 20m 34s ⏱️
 3 250 tests  3 249 ✅ 0 💤 1 ❌
66 531 runs  66 528 ✅ 0 💤 3 ❌

For more details on these failures, see this check.

Results for commit c93aa93.

♻️ This comment has been updated with latest results.

@hahnjo
Copy link
Member

hahnjo commented Aug 11, 2025

#19579 found this during testing, but was unfortunately merged before the CI could complete...

Copy link
Member

@hahnjo hahnjo left a comment

Choose a reason for hiding this comment

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

LGTM with one comment about vetoing without dataframe

Like this, we make sure that other tutorials that import helper
functions from the tmva101_Training tutorial don't unnecessarily inherit
a dependency on xgboost.

The problem that xgboost could not be imported before ROOT was also
fixed upstream in LLVM.
In commit 042f698, I removed the usage of the `tmva10*.py` wild card for
vetoing if xgboost is not found, because it caused false positives: the
`tmva100_DataPreparation` tutorial is actually not using xgboost at all.

But now we see in the nightlies that this tutorial crashes on Windows,
so it needs to be vetoed in that case.
The problem with gracefully exiting in case of missing input is that
when using the tutorial as a unit test is that it will apparently pass
while it didn't even run.

This was the case for the `tmva102_Testing` tutorial, which depends on a
model generated by `tmva101_Training`.

The input file check should be removed, and the tutorial correctly
added correctly to the veto list if `tmva101_Training.py` is also
disabled.
The tmva101 and tmva102 tutorials sequentially depend on tmva100, which
depends on RDataFrame. So if RDataFrame is switched off, these tutorials
need to be disabled too.
@guitargeek guitargeek merged commit 22aa6d6 into root-project:master Aug 11, 2025
22 of 25 checks passed
@guitargeek guitargeek deleted the root_fixes branch August 11, 2025 16:12
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.

2 participants