Files
algo/.github/workflows/test-effectiveness.yml
T
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
db2b99f071 Bump actions/checkout from 4 to 5 (#14819)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-16 02:53:17 -04:00

70 lines
2.1 KiB
YAML

---
name: Test Effectiveness Tracking
'on':
schedule:
- cron: '0 0 * * 0' # Weekly on Sunday
workflow_dispatch: # Allow manual runs
permissions:
contents: write
issues: write
pull-requests: read
actions: read
jobs:
track-effectiveness:
name: Analyze Test Effectiveness
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.11'
- name: Analyze test effectiveness
env:
GH_TOKEN: ${{ github.token }}
run: |
python scripts/track-test-effectiveness.py
- name: Upload metrics
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: test-effectiveness-metrics
path: .metrics/
- name: Create issue if tests are ineffective
env:
GH_TOKEN: ${{ github.token }}
run: |
# Check if we need to create an issue
if grep -q "⚠️" .metrics/test-effectiveness-report.md; then
# Check if issue already exists
existing=$(gh issue list --label "test-effectiveness" --state open --json number --jq '.[0].number')
if [ -z "$existing" ]; then
gh issue create \
--title "Test Effectiveness Review Needed" \
--body-file .metrics/test-effectiveness-report.md \
--label "test-effectiveness,maintenance"
else
# Update existing issue
gh issue comment $existing --body-file .metrics/test-effectiveness-report.md
fi
fi
- name: Commit metrics if changed
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
if [[ -n $(git status -s .metrics/) ]]; then
git add .metrics/
git commit -m "chore: Update test effectiveness metrics [skip ci]"
git push
fi