-
Notifications
You must be signed in to change notification settings - Fork 156
41 lines (34 loc) · 1.09 KB
/
Copy pathflaky-test-detection.yml
File metadata and controls
41 lines (34 loc) · 1.09 KB
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
33
34
35
36
37
38
39
40
41
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."