name: ai-evaluation-gate
on:
  pull_request:
    paths:
      - "prompts/**"
      - "tests/**"
      - "promptfooconfig.yaml"
      - "scripts/check-gate.js"
jobs:
  eval:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm
      - run: npm ci
      - name: Run Promptfoo
        run: npx promptfoo eval -c promptfooconfig.yaml -o artifacts/results.json
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}
          OPENAI_MODEL: ${{ vars.OPENAI_MODEL }}
      - name: Check quality gate
        run: node scripts/check-gate.js artifacts/results.json
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: ai-evaluation-results
          path: artifacts/results.json