diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbadfed..e9c24c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -172,12 +172,14 @@ jobs: - name: Agent eval suite (Layer 2 thresholds) if: steps.eval_key.outputs.skip != 'true' + # GH Actions bash uses -e: pytest failure must not abort before we handle EXIT. + continue-on-error: ${{ vars.EVAL_GATE_ENFORCED != 'true' }} run: | mkdir -p eval-results - set -o pipefail + set +e PYTHONPATH=.:backend pytest tests/eval/ -v --tb=short -m "eval" \ | tee eval-results/eval.log - EXIT=$? + EXIT=${PIPESTATUS[0]} if [ "$EXIT" -ne 0 ]; then if [ "${EVAL_GATE_ENFORCED}" = "true" ]; then echo "::error::Agent eval below threshold — merge blocked (EVAL_GATE_ENFORCED=true)"