Skip to content

mutation

mutation #49

Workflow file for this run

name: mutation
on:
schedule:
- cron: "0 4 * * *" # nightly at 04:00 UTC
workflow_dispatch:
permissions:
contents: read
jobs:
gremlins:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.x"
check-latest: true
- name: Install gremlins
run: go install github.com/go-gremlins/gremlins/cmd/gremlins@v0.6.0
- name: Mutation test the deterministic core
# `gremlins unleash` takes a single package path, so invoke it once per
# package. .gremlins.yaml sets the efficacy 90 threshold; gremlins exits
# non-zero (10) when it is not met. Run every package (so the nightly
# report always covers both) and fail the job if any misses threshold.
run: |
rc=0
for pkg in ./internal/policy/ ./internal/meter/; do
gremlins unleash "$pkg" || rc=$?
done
exit $rc