Skip to content

[CI] Omit __pycache__ from spurious build checks. - #23416

Closed
hageboeck wants to merge 1 commit into
root-project:masterfrom
hageboeck:spurious_build_check_pycache
Closed

hageboeck wants to merge 1 commit into
root-project:masterfrom
hageboeck:spurious_build_check_pycache

Conversation

@hageboeck

@hageboeck hageboeck commented Sep 18, 2026 •

Copy link
Copy Markdown
Member

There were way too many CI failures due to pycache being rebuilt. This e.g. prevents the doxygen documentation from building.

I'm not sure why this is happening, but CMake definitely decided that the stamp file for the python sources was out of date and rebuilt it. This change will be unnecessary if the root cause is found.

https://github.com/root-project/root/actions/runs/35296070609/job/105536700225

There were way too many CI failures due to __pycache__ being rebuilt.
This e.g. prevents the doxygen documentation from building.
@hageboeck hageboeck self-assigned this Sep 18, 2026
@hageboeck
hageboeck requested a review from dpiparo as a code owner September 18, 2026 12:50
@hageboeck
hageboeck marked this pull request as draft September 18, 2026 13:05
@guitargeek

Copy link
Copy Markdown
Contributor

Thanks! But can we try #23411 first maybe? It's possible that copy_if_different gives false negatives because of files only differing in timestamp, and it's not really necessary in that ROOT_PYTHON_PACKAGE macro because the copy command is already wrapped in a add_custom_command that is only executed if the sources change (because it depends on DEPENDS ${py_sources_in_source_dir})

I didn't think that case through when introducing the ROOT_PYTHON_PACKAGE macro some months ago, but it can still be improved!

@hageboeck

Copy link
Copy Markdown
Member Author

It's possible that copy_if_different gives false negatives because of files only differing in timestamp, and it's not really necessary in that ROOT_PYTHON_PACKAGE macro because the copy command is already wrapped in a add_custom_command that is only executed if the sources change (because it depends on DEPENDS ${py_sources_in_source_dir})

It's doing what it promises it does, but indeed, since the subsequent command depends on files in the build tree, the copy command must update all files in the build tree. It looks like #23411 should indeed solve that!

@hageboeck hageboeck closed this Sep 18, 2026
@hageboeck
hageboeck deleted the spurious_build_check_pycache branch September 18, 2026 13:56
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