| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- name: Validate Test Suites
- on:
- push:
- paths:
- - 'evals/agents/*/config/**/*.json'
- - 'evals/agents/*/tests/**/*.yaml'
- - 'scripts/validation/validate-test-suites.sh'
- - '.github/workflows/validate-test-suites.yml'
- pull_request:
- paths:
- - 'evals/agents/*/config/**/*.json'
- - 'evals/agents/*/tests/**/*.yaml'
- - 'scripts/validation/validate-test-suites.sh'
- - '.github/workflows/validate-test-suites.yml'
- workflow_dispatch:
- jobs:
- validate:
- name: Validate Test Suite Definitions
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '20'
- cache: 'npm'
- cache-dependency-path: 'package-lock.json'
-
- - name: Install dependencies
- run: |
- npm ci
-
- - name: Validate all test suites
- run: |
- cd evals/framework
- npm run validate:suites:all
-
- - name: Comment on PR (if validation failed)
- if: failure() && github.event_name == 'pull_request'
- uses: actions/github-script@v7
- with:
- script: |
- github.rest.issues.createComment({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- body: '❌ **Test Suite Validation Failed**\n\nPlease check the test suite JSON files for errors. Run `npm run validate:suites` locally to see details.'
- })
-
- - name: Upload validation report
- if: always()
- uses: actions/upload-artifact@v4
- with:
- name: suite-validation-report
- path: |
- evals/agents/*/config/**/*.json
- scripts/validation/validate-test-suites.sh
- retention-days: 7
|