Skip to content

Linux CI runs:

  • normal Release and Debug builds
  • AddressSanitizer with UndefinedBehaviorSanitizer
  • ThreadSanitizer

MemorySanitizer is available for manual builds but is excluded from CI because trustworthy results require an instrumented C library and dependency stack. The Linux workflow uses stock distribution packages rather than such a stack.

What this means for contributors:

  • GALANTHUS_SANITIZER=memory enables the manual MemorySanitizer configuration
  • MemorySanitizer results depend on an appropriately instrumented dependency environment
  • the CI promise covers the sanitizer jobs listed above

If you are updating sanitizer support, keep the workflow, this policy, and cmake/CompilerSettings.cmake aligned.