From c719bb974fdde78a93182d541512e10109f51da4 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 16 Jan 2026 17:05:36 +0000 Subject: [PATCH 1/2] Fix cla-check job not reporting status in merge queue The cla.yml workflow had two separate jobs with different names: - merge-queue-pass: ran in merge queue - cla-check: ran for PRs only When branch protection requires 'cla-check' to pass, the merge queue would wait indefinitely because only 'merge-queue-pass' was being reported as a status, not 'cla-check'. Consolidate into a single 'cla-check' job that runs for all event types, using step-level conditions to skip the actual CLA work in merge queue context (since CLA is already verified at PR time). --- .github/workflows/cla.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index fe382734..ac53fdaa 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -20,20 +20,19 @@ permissions: statuses: write jobs: - # Job for merge queue - always passes since CLA is checked at PR time - merge-queue-pass: + # Single job that handles all event types with consistent naming + # This ensures the 'cla-check' status is reported for both PRs and merge queue + cla-check: runs-on: ubuntu-latest - if: github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch' steps: - - name: CLA already verified at PR time + # For merge queue and workflow_dispatch: skip actual CLA check (already verified at PR time) + - name: Skip CLA for merge queue + if: github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch' run: echo "CLA check is performed on PRs, not in merge queue. Passing." - cla-check: - runs-on: ubuntu-latest - if: github.event_name != 'merge_group' && github.event_name != 'workflow_dispatch' - steps: + # For PRs and issue comments: run the actual CLA check - name: "CLA Assistant" - if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' + if: github.event_name != 'merge_group' && github.event_name != 'workflow_dispatch' && ((github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target') uses: contributor-assistant/github-action@v2.6.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -45,10 +44,10 @@ jobs: # Branch where CLA signatures will be stored branch: 'IMPT_cla_signatures' allowlist: 'dependabot[bot],github-actions[bot],claude,copilot,copilot-swe-agent[bot]' - + # Custom text for the CLA comment custom-pr-sign-comment: 'I have read the CLA Document and I hereby sign the CLA' custom-allsigned-prcomment: 'All contributors have signed the CLA. ✅' - + lock-pullrequest-aftermerge: false use-dco-flag: true From 6e1c900fdef1e593e7622dc5f7b52c7fb3638cff Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 16 Jan 2026 17:16:11 +0000 Subject: [PATCH 2/2] Remove branches filter from merge_group triggers The merge queue creates temporary refs like gh-readonly-queue/main/pr-N-xxx. The branches: [main] filter was preventing workflows from triggering because the ref name doesn't match the simple "main" glob pattern. Since merge queue is only enabled for specific branches via branch protection rules anyway, the branches filter on merge_group events is redundant and causes the workflows to never run. This fixes all 4 required checks (tests, claude-code-e2e, cla-check, validate-generation) not running in merge queue. --- .github/workflows/cla.yml | 3 ++- .github/workflows/claude-code-test.yml | 3 ++- .github/workflows/validate.yml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index ac53fdaa..4d6207d8 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -9,7 +9,8 @@ on: # Run in merge queue but skip the step (shows as passing check) merge_group: types: [checks_requested] - branches: [main] + # Note: Don't use branches filter here - merge queue refs like + # gh-readonly-queue/main/pr-N-xxx don't match simple branch globs workflow_dispatch: # Explicitly set permissions for the workflow diff --git a/.github/workflows/claude-code-test.yml b/.github/workflows/claude-code-test.yml index f1304664..3a2bb2e3 100644 --- a/.github/workflows/claude-code-test.yml +++ b/.github/workflows/claude-code-test.yml @@ -15,7 +15,8 @@ on: # Run in the merge queue to validate before merging merge_group: types: [checks_requested] - branches: [main] + # Note: Don't use branches filter here - merge queue refs like + # gh-readonly-queue/main/pr-N-xxx don't match simple branch globs # Ensure only one instance runs at a time per PR/branch concurrency: diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 2bc50f15..b90a4bac 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -5,7 +5,8 @@ on: branches: [main] merge_group: types: [checks_requested] - branches: [main] + # Note: Don't use branches filter here - merge queue refs like + # gh-readonly-queue/main/pr-N-xxx don't match simple branch globs workflow_dispatch: # Minimal permissions for this workflow