1414 name : Lint & Format
1515 runs-on : ubuntu-latest
1616 steps :
17- - uses : actions/checkout@v4
17+ - uses : actions/checkout@v7
1818 - uses : ./.github/actions/setup-node
1919 - run : npm run format:check
2020 - run : npm run lint
@@ -23,22 +23,79 @@ jobs:
2323 name : Type Check
2424 runs-on : ubuntu-latest
2525 steps :
26- - uses : actions/checkout@v4
26+ - uses : actions/checkout@v7
2727 - uses : ./.github/actions/setup-node
2828 - run : npx tsc --noEmit
2929
3030 test :
3131 name : Tests
3232 runs-on : ubuntu-latest
3333 steps :
34- - uses : actions/checkout@v4
34+ - uses : actions/checkout@v7
3535 - uses : ./.github/actions/setup-node
3636 - run : npm test
3737
3838 audit :
3939 name : NPM Audit
4040 runs-on : ubuntu-latest
4141 steps :
42- - uses : actions/checkout@v4
42+ - uses : actions/checkout@v7
4343 - uses : ./.github/actions/setup-node
4444 - run : npx audit-ci --config audit-ci.json
45+
46+ mutation-frontend :
47+ name : Mutation Tests (Frontend)
48+ runs-on : ubuntu-latest
49+ steps :
50+ - uses : actions/checkout@v7
51+ - uses : ./.github/actions/setup-node
52+ - name : Run frontend mutation tests
53+ run : npx --yes @stryker-mutator/core@9.0.0 run --configFile stryker.conf.json
54+ continue-on-error : true
55+ - name : Upload mutation report
56+ uses : actions/upload-artifact@v4
57+ if : always()
58+ with :
59+ name : mutation-report-frontend
60+ path : reports/mutation/
61+ - name : Check mutation score
62+ run : node scripts/check-mutation-score.js --module=frontend
63+
64+ mutation-backend :
65+ name : Mutation Tests (Backend)
66+ runs-on : ubuntu-latest
67+ steps :
68+ - uses : actions/checkout@v7
69+ - uses : ./.github/actions/setup-node
70+ - name : Run backend mutation tests
71+ run : npx --yes @stryker-mutator/core@9.0.0 run --configFile stryker.backend.conf.json
72+ continue-on-error : true
73+ - name : Upload mutation report
74+ uses : actions/upload-artifact@v4
75+ if : always()
76+ with :
77+ name : mutation-report-backend
78+ path : reports/mutation-backend/
79+ - name : Check mutation score
80+ run : node scripts/check-mutation-score.js --module=backend
81+
82+ mutation-summary :
83+ name : Mutation Score Summary
84+ needs : [mutation-frontend, mutation-backend]
85+ runs-on : ubuntu-latest
86+ if : always()
87+ steps :
88+ - uses : actions/checkout@v7
89+ - uses : ./.github/actions/setup-node
90+ - name : Download frontend report
91+ uses : actions/download-artifact@v4
92+ with :
93+ name : mutation-report-frontend
94+ path : reports/mutation/
95+ - name : Download backend report
96+ uses : actions/download-artifact@v4
97+ with :
98+ name : mutation-report-backend
99+ path : reports/mutation-backend/
100+ - name : Generate mutation summary
101+ run : node scripts/check-mutation-score.js --summary
0 commit comments