| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- name: Validate Test Suites
- on:
- push:
- paths:
- - 'evals/agents/**/config/**/*.json'
- - 'evals/agents/**/tests/**/*.yaml'
- - 'scripts/validation/validate-test-suites.sh'
- - 'package.json'
- - 'pnpm-lock.yaml'
- - 'pnpm-workspace.yaml'
- - '.github/workflows/validate-test-suites.yml'
- pull_request:
- paths:
- - 'evals/agents/**/config/**/*.json'
- - 'evals/agents/**/tests/**/*.yaml'
- - 'scripts/validation/validate-test-suites.sh'
- - 'package.json'
- - 'pnpm-lock.yaml'
- - 'pnpm-workspace.yaml'
- - '.github/workflows/validate-test-suites.yml'
- workflow_dispatch:
- permissions:
- contents: read
- jobs:
- validate:
- name: Validate Test Suite Definitions
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout code
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- with:
- persist-credentials: false
-
- - name: Setup pnpm
- uses: pnpm/action-setup@b0f76dfb45f55f8421693e4803ac7bb65143bd34 # v6
- - name: Setup Node.js
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
- with:
- node-version: '20'
- cache: 'pnpm'
- cache-dependency-path: 'pnpm-lock.yaml'
-
- - name: Install workspace dependencies
- run: pnpm install --frozen-lockfile
-
- - name: Validate all test suites
- run: pnpm --dir evals/framework run validate:suites:all
-
- # NOTE: A "Comment on PR (if validation failed)" step was removed here.
- # It called github.rest.issues.createComment, which needs `issues: write`.
- # This workflow is fork-reachable (pull_request) and intentionally runs with
- # a read-only token, so the step would 403; and for fork PRs GitHub forces a
- # read-only token regardless, so it could never work there. A validation
- # failure is already surfaced as a failed check plus the uploaded report.
- - name: Upload validation report
- if: always()
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- with:
- name: suite-validation-report
- path: |
- evals/agents/**/config/**/*.json
- scripts/validation/validate-test-suites.sh
- retention-days: 7
|