commonmark / cmark

CommonMark parsing and rendering library and program in C
Other
1.6k stars 527 forks source link

ci: Test with ASan and rework CI matrix #535

Closed nwellnhof closed 3 months ago

nwellnhof commented 3 months ago

Add CI tests with -fsanitize=address,undefined. This is a bit complicated since our tests run through Python FFI and we have to

Use a single matrix on POSIX with four human readable labels:

posix (os, compiler, build_type, sanitizers)

Disable gcc on macOS which is just an alias for clang.

Remove the valgrind leakcheck test. This should be covered now by testing with LeakSanitizer on static builds, including tests like spectest_executable. The full test suite is only available to shared library builds which have to run without leak checks for now.

Also rework the Windows matrix.

nwellnhof commented 3 months ago

Github action page: https://github.com/commonmark/cmark/actions/runs/8321937012

jgm commented 3 months ago

Great!