Skip to content

ci: ASan + UBSan unit-test job - #5

Merged
geisten merged 1 commit into
mainfrom
ci/asan
Jun 23, 2026
Merged

geisten merged 1 commit into
mainfrom
ci/asan

Conversation

@geisten

@geisten geisten commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Builds MODE=asan (-fsanitize=address,undefined) and runs the model-free unit suite on Linux, enforcing AGENT.md's ASan/UBSan-friendly requirement. UBSAN_OPTIONS=halt_on_error=1 makes UB a hard failure (UBSan only logs by default → would pass CI). Leak detection off for now. Locally clean (15 pass / 14 skip / 0 fail, clang-asan); CI runs gcc-asan.

AGENT.md requires the code to be ASan/UBSan-friendly but nothing enforced it, so
memory bugs (use-after-free, overflow, UB) in the kernels + engine could merge
unseen. Add a Linux job that builds MODE=asan (-fsanitize=address,undefined) and
runs the model-free unit suite. UBSAN_OPTIONS=halt_on_error=1 makes UB a hard
failure (UBSan only logs by default, which would pass CI); leak detection is off
for now (short-lived test binaries don't free at exit). Locally clean
(15 pass / 14 skip / 0 fail under clang-asan); CI runs gcc-asan.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@geisten
geisten merged commit 1182d66 into main Jun 23, 2026
5 checks passed
@geisten
geisten deleted the ci/asan branch June 23, 2026 10:27
geisten pushed a commit that referenced this pull request Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant