-
Notifications
You must be signed in to change notification settings - Fork 1
32 lines (29 loc) · 977 Bytes
/
Copy pathmutation.yml
File metadata and controls
32 lines (29 loc) · 977 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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