CI Remove docker setup on windows in wheel workflow - #34777
Conversation
|
How do we check what the wheel build was checking (no dependency on DLLs that just happened to exist) if we don't use docker? Do we still need this check? |
We still have the check in scikit-learn-release (which is done is a less hacky way as well if you ask me but I am biased) see https://github.com/scikit-learn/scikit-learn-release/blob/7a27d9e4d6b2a83735333679b6e8f165464e4395/.github/workflows/wheels.yml#L185-L191 IIRC, we are one of the only project to do this Docker minimal image testing though. I am guessing other projects rely on standard tooling like delvewheel on Windows (the equivalent of auditwheel for Linux), instead of having some custom DLL vendoring code like we do. Anyway this kind of things is longer-term 😉. |
|
BTW I have seen a few hanging CI logs like this one https://github.com/scikit-learn/scikit-learn/actions/runs/32233324547/job/96008091616?pr=34777. We should limit the build to something reasonable like 30 minutes or maybe one hour to have some margin. PR more than welcome 😉. It seems like the default is 6 hours ... Not sure about the reason this one hangs during the playwright install for some reason: |
|
Thanks, @lesteve, for re-running the CI!
My understanding is: yes, we still need this check, and it already exists in Removing it here means we stop duplicating that same check on every scikit-learn PR, rather than dropping the check itself. |
|
Thanks for explaining. If there is a more standard way of doing this that seems like a good thing to switch to. |
|
LGTM, thanks! As a potential follow-up, here is a few differences I noticed between scikit-learn and scikit-learn-release wheels.yml quickly looking at the diff:
|
Reference Issues/PRs
Towards #34723.
Close #34569 (Windows Docker GHA intermittent error).
What does this implement/fix? Explain your changes.
This PR removes a Docker setup, duplicated in
scikit-learn-release, where the wheel builder used to spin up a minimal Windows Docker image (build_minimal_windows_image.sh+test_windows_wheels.sh) to check that the built wheel doesn't implicitly depend on DLLs that happen to be present on the GHA runner.Specifically, it drops the following Windows-specific overrides in
wheels.yml:CIBW_BEFORE_TEST_WINDOWSCIBW_TEST_REQUIRES_WINDOWSCIBW_TEST_COMMAND_WINDOWSand removes the now-unused scripts:
build_minimal_windows_image.shtest_windows_wheels.shAI usage disclosure
I used AI assistance for:
Any other comments?
Should resolve the intermittent Docker failures reported in #34569.