Cockatrice/.github
Lukas Brübach dd639ed52c [CI] Run the suite once under ASan and UBSan
Adds --sanitize to .ci/compile.sh, mirroring --test, and turns it on for one entry of
the existing Linux Docker matrix: Ubuntu 26.04, which already had a test-enabled leg.
That reuses the image, the ccache layer and the existing step shape, so the CI diff is a
matrix key plus the argument plumbing. Debian 13 and Fedora 44 keep covering the
uninstrumented suite, so nothing is lost by instrumenting one leg.

Sanitizers stay off the release and package legs, which build with --release for
packaging: instrumenting those would change the shipped binaries' optimization profile
and build time for no benefit. macOS and Windows stay uninstrumented too, since ASan is
unreliable against the Qt build there and MSVC has no equivalent without /fsanitize=address.

--sanitize does not imply --test, so an instrumented build can be produced locally
without paying for ctest. When both are given, ctest runs with detect_leaks=0 because Qt
and the sanitizer runtimes both leak at exit by design and LeakSanitizer's default buries
real findings under hundreds of process-teardown reports, and with UBSan halt_on_error=0 so
one run collects many findings instead of stopping at the first. ASan keeps
abort_on_error=1, since a bad access leaves the process unusable and continuing only
produces a second, more confusing report from the wreckage.
2026-10-10 19:51:07 +02:00
..
ISSUE_TEMPLATE Add description for code docs (#6679) 2026-03-08 23:27:15 +01:00
workflows [CI] Run the suite once under ASan and UBSan 2026-10-10 19:51:07 +02:00
CONTRIBUTING.md [CI] Remove Qt5 (#7071) 2026-08-08 22:04:50 +02:00
dependabot.yml bump vcpkg to 2026.04.27 release (#6855) 2026-05-09 14:49:58 +02:00
FUNDING.yml Create FUNDING.yml 2019-11-02 23:52:14 -04:00
PULL_REQUEST_TEMPLATE.md comment explanation out (#3181) 2018-04-09 16:47:44 -04:00