Skip to content

Comprehensive testing, CI, and CD for vulkan.cppm #1993

@sharadhr

Description

@sharadhr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions