-
Notifications
You must be signed in to change notification settings - Fork 343
Description
The vulkan.cppm module needs more rigorous automated testing, CI and CD; there is currently only one test that doesn't exercise both the entirety of the module and potential compiler bugs that could be exposed with more testing (such as #1943 which is an MSVC-specific problem).
Of course, given the still-experimental status of C++ standard modules as a whole, any CI/CD failures shouldn't block merges, but regressions should.
Just for testing vulkan.cppm, I propose setting up Actions each with the latest possible compilers for maximum coverage:
- Windows 11
- Latest MSVC
- Latest LLVM/Clang for MSVC ABI
- macOS Sequoia
- Latest Xcode AppleClang
- Latest LLVM/Clang
- Linux
- Latest GCC
- Latest LLVM/Clang
I propose restricting to only the latest possible compilers as C++ standard modules are so new. As new compilers are released these environments should be periodically updated to follow new compiler version updates.
Next, I propose porting the existing tests in samples and tests as well as the entirety of Sascha Willems' Vulkan samples to use vulkan.cppm.
This will provide very comprehensive code and toolchain coverage.