GitHub Actions (Quality Gate)
CI pipeline based on PIT: baseline comparison, automatic failure on regression, and reports available via artifacts. Completed as part of my Software Quality course (IFT3913).
Summary
Implemented a quality “gate” in GitHub Actions: the build fails if the PIT
mutation score decreases. A stable baseline is maintained and updated only
when master is green.
Links
What was added
PIT gate
Baseline vs current build comparison with immediate failure on decrease.
Stable baseline
Baseline persisted via cache and updated only on master.
Artifacts
PIT reports uploaded for debugging and inspection.
Dedicated script
Numeric (float) comparison isolated in a simple, testable script.
Scoped execution
PIT runs only on the core module to keep the pipeline efficient.
On failure
A (humorous) Rickroll is triggered when the pipeline fails.
Validation (scenarios)
Baseline (success on master)
When the build succeeds on master, the baseline is (re)generated
and saved, ensuring a reliable reference for future runs.
Regression (failure on branch)
On a branch, if a PIT regression is introduced, the comparison step fails and prevents the pipeline from passing.