Problem
The project currently lacks Continuous Integration / Deployment (CI/CD) workflows and static analysis checks. This increases risk of regressions, undetected errors, and inconsistent code quality. Without CI:
- Pull requests can accidentally break critical paths (parser, renderer, build pipeline)
- Bugs in C code (buffer overflows, undefined behavior) remain undetected
- Formatting, lint, and code health are not enforced
- Fuzz regression and e2e tests are not automated
Proposed Solution
- Add a GitHub Actions workflow for PRs and pushes:
- Build for all major platforms (Linux, macOS)
- Run static analysis (clang-tidy, cppcheck, etc.)
- Run all existing (and newly created) tests (fuzz, regression, e2e)
- Optionally check formatting (clang-format)
- Add status badge to README
- Document the pipeline for contributors
Acceptance Criteria
- PRs fail if any test or analysis fails
- CI jobs cover all core C source and test code
- Static analysis issues are surfaced before merge
References
Problem
The project currently lacks Continuous Integration / Deployment (CI/CD) workflows and static analysis checks. This increases risk of regressions, undetected errors, and inconsistent code quality. Without CI:
Proposed Solution
Acceptance Criteria
References