Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions .github/workflows/evals-guardian.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Guardian evals

permissions:
contents: read
checks: write

on:
pull_request:
Expand Down Expand Up @@ -77,20 +78,35 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-node-pnpm
- name: Run Guardian evals
id: run
continue-on-error: true
env:
VITEST_EVALS_OUTPUT_FILE: guardian-results.json
VITEST_EVALS_REPORT_LEVEL: info
run: pnpm --filter @sentry/junior-evals evals:guardian
- name: Require Guardian eval results
id: results
if: steps.run.conclusion != 'skipped'
run: |
set -euo pipefail
result_file="packages/junior-evals/guardian-results.json"
if [[ ! -f "$result_file" ]]; then
echo "::error::missing guardian eval results ($result_file). Treat setup/runtime crashes as hard failures."
exit 1
fi
- name: Publish Guardian eval summary
if: always() && !cancelled() && hashFiles('packages/junior-evals/guardian-results.json') != ''
if: steps.results.conclusion == 'success'
uses: getsentry/vitest-evals@v0.16.1
with:
results: packages/junior-evals/guardian-results.json
publish-check: true
check-name: guardian / score
fail-on-failures: true
- name: Upload Guardian eval results
if: always() && !cancelled()
if: steps.results.conclusion == 'success'
uses: actions/upload-artifact@v4
with:
name: guardian-evals
path: packages/junior-evals/guardian-results.json
if-no-files-found: warn
if-no-files-found: error

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Failed evals skip artifact upload

Medium Severity

fail-on-failures: true on the publish step exits non-zero when Guardian cases miss, and the upload step’s if still implies a prior success() status. Failed runs therefore never upload guardian-results.json, even though the results gate already passed. That drops the artifact in the failure case where it is most useful for debugging.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit afa1fe3. Configure here.

retention-days: 7
Loading