From fb8ac7455ec1f7c6acf5e2f5b104041f720d0970 Mon Sep 17 00:00:00 2001 From: Henry Park Date: Mon, 9 Mar 2026 15:33:15 -0700 Subject: [PATCH] fix(ci): handle "No issues found" comment + restore version-check [skip-regression-check] 1. Handle Claude's "No issues found" comment as a clean pass instead of treating empty BODY as blocking. Checks for this before looking for "Found N issues" comments. 2. Restore version-check to run on all PRs (not just staging-promotion). It's 4-8 seconds and catches missing version bumps early. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/staging-ci.yml | 9 +++++++++ .github/workflows/test.yml | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/staging-ci.yml b/.github/workflows/staging-ci.yml index d50db2b1..6164424a 100644 --- a/.github/workflows/staging-ci.yml +++ b/.github/workflows/staging-ci.yml @@ -298,6 +298,15 @@ jobs: exit 0 fi + # Check for "No issues found" first (clean pass) + NO_ISSUES=$(gh api "repos/${REPO}/issues/${PR_NUMBER}/comments" \ + --jq '[.[] | select(.user.login == "claude[bot]") | select(.body | test("No issues found"))] | length' 2>/dev/null || echo "0") + if [ "$NO_ISSUES" -gt 0 ]; then + echo "Claude review found no issues — gate passes" + echo "has_blocking=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + # Get the last Claude comment that contains findings JQ_FILTER='[.[] | select(.user.login == "claude[bot]") | select(.body | test("Found [0-9]+ issue"))] | last' BODY=$(gh api "repos/${REPO}/issues/${PR_NUMBER}/comments" \ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a37aaf70..e8894c1b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -117,9 +117,7 @@ jobs: version-check: name: Version Bump Check runs-on: ubuntu-latest - if: > - github.event_name == 'pull_request' && - contains(github.event.pull_request.labels.*.name, 'staging-promotion') + if: github.event_name == 'pull_request' steps: - name: Checkout repository uses: actions/checkout@v6