Skip to content

Mutation Testing

Mutation Testing #6

name: Mutation Testing
on:
schedule:
# Run weekly on Sundays at 02:00 UTC
- cron: '0 2 * * 0'
workflow_dispatch:
# Allow manual triggering
jobs:
mutation-test:
name: Mutation Testing
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run mutation testing
run: pnpm run test:mutation
- name: Upload mutation report
uses: actions/upload-artifact@v4
if: always()
with:
name: mutation-report
path: reports/mutation/
retention-days: 90
- name: Check mutation score
run: |
echo "Mutation testing complete. Check artifacts for detailed report."
echo "Target: ≥80% mutation score"