GH-47583: [CI][Python] Enable PyArrow RelWithDebInfo build with assertions on Windows CI job#50406
GH-47583: [CI][Python] Enable PyArrow RelWithDebInfo build with assertions on Windows CI job#50406raulcd wants to merge 3 commits into
Conversation
|
|
|
@pitrou the problem seems to be that Debug builds try to link On the Windows CI job we use actions/setup-python which do not allow to install CPython debug. I could try |
|
Ouch, I had missed that |
|
According to the discussion above, perhaps we should use |
We can of course do this, assuming we find a readily available debug build of CPython on Windows, but then some dependencies might need to be recompiled from source and we'd rather avoid that. |
|
This seems to be good, on this PR:
No Previously for Release
|
There was a problem hiding this comment.
Pull request overview
This PR updates the Windows PyArrow CI build configuration to use RelWithDebInfo while ensuring assertions remain enabled (avoiding a full Debug build that would require linking against CPython debug libraries).
Changes:
- Switch Windows C++ build type from
ReleasetoRelWithDebInfo. - Override MSVC
RelWithDebInfocompile flags to avoid definingNDEBUG(so assertions are exercised). - Pass the same CMake build type and flag overrides through the
pip installbuild configuration for PyArrow.
Rationale for this change
Running a PyArrow Windows build with Assertions enhances our coverage, keeping debug information can helps us on future investigations.
What changes are included in this PR?
Run Windows CI job PyArrow build with RelWithDebInfo but remove
NDEBUGso assertions are exercised.We can't use DEBUG directly because otherwise we require linking with CPython debug build (Py_Debug).
Are these changes tested?
Yes on CI, I've validated the flags for building are correct.
Are there any user-facing changes?
No, this is only for our CI job.