Skip to content

Detect Flaky Tests

Detect Flaky Tests #31

name: Detect Flaky Tests
on:
schedule:
- cron: '0 2 * * *' # Run daily at 2 AM
workflow_dispatch: # Allow manual triggering
permissions:
contents: read
issues: write
jobs:
detect-flaky-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run tests and detect flakiness
id: flaky_detection
run: node .github/scripts/detect-flaky-tests.js
- name: File Issue for Flaky Tests
if: steps.flaky_detection.outputs.flaky_found == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh issue create \
--title "⚠️ Flaky tests detected in scheduled run" \
--body-file flaky-report.md \
--label "bug,flaky-test" \
--repo ${{ github.repository }} || echo "Failed to create issue, maybe it already exists or missing permissions."