[build] Fix Windows build, run Windows test CI job in release configuration#6452
[build] Fix Windows build, run Windows test CI job in release configuration#6452
Conversation
There was a problem hiding this comment.
I'm Bonk, and I've done a quick review of your PR.
This PR switches Windows CI from the windows_no_dbg configuration to the release_windows configuration, and adds -fno-inline workarounds for two files to work around test failures caused by optimized builds.
Issues (ranked by severity):
- [MEDIUM] The
-fno-inlineworkaround is merged without understanding the root cause. ATODO: Why does this cause test failures?in production build config is concerning — if the test failures are caused by undefined behavior that only surfaces with inlining, disabling inlining masks the real bug rather than fixing it. The comment should at least describe which tests fail and how they fail, to aid future investigation. - [LOW] The commented-out old config line adds noise. If the intent is to switch permanently, remove it.
- [LOW] The
per_file_coptregex patterns are broader than necessary —"src/workerd/server/server"also matchesserver-test.c++andserver.h.
These comments were generated by an AI code review assistant and may not be perfect.
|
I've posted a review on PR #6452 with 4 inline comments covering 3 findings:
|
This should avoid Windows release CI failures in the future
17bf0e2 to
9442534
Compare
I disagree with the LLM suggestions, the overrides without file extension are easier to read and we don't care all that much if we disable optimizations slightly more widely than we'd need to on Windows. |
This should avoid Windows release CI failures from now on.
Since I don't have a Windows system available and only found this workaround through many rounds of manually bisecting changes, I don't have a good understanding of which commit introduced these issues or what's causing the test failures that happen when worker-interface gets optimized.
It turns out the capnp/rpc.c++ workaround is no longer needed with clang-cl 20, so we can drop it.