diff --git a/.github/workflows/e2e-api.yml b/.github/workflows/e2e-api.yml index 30356d40..e880845d 100644 --- a/.github/workflows/e2e-api.yml +++ b/.github/workflows/e2e-api.yml @@ -66,9 +66,18 @@ jobs: echo "api=${{ steps.filter.outputs.api }}" >> "$GITHUB_OUTPUT" fi + # Same `name:` as the real job below so the check-run produced by the + # no-op path is indistinguishable from the real one for branch + # protection purposes. Without this, the real job was always skipped on + # paths-filtered commits → branch protection on `main` saw "E2E API + # Smoke Test" as a missing required check → auto-promote-staging's + # `git push origin main` got rejected with GH006. Observed 2026-04-28 + # 00:22 UTC blocking the staging→main promote despite all gates + # actually passing at the workflow level. no-op: needs: detect-changes if: needs.detect-changes.outputs.api != 'true' + name: E2E API Smoke Test runs-on: ubuntu-latest steps: - run: | diff --git a/.github/workflows/e2e-staging-canvas.yml b/.github/workflows/e2e-staging-canvas.yml index 01e94690..28d650f3 100644 --- a/.github/workflows/e2e-staging-canvas.yml +++ b/.github/workflows/e2e-staging-canvas.yml @@ -82,9 +82,14 @@ jobs: echo "canvas=${{ steps.filter.outputs.canvas }}" >> "$GITHUB_OUTPUT" fi + # Same `name:` as the playwright job below so the check-run is + # indistinguishable from the real one for branch protection. Mirrors + # the e2e-api.yml fix in the same PR — see that file for the + # 2026-04-28 incident reference. no-op: needs: detect-changes if: needs.detect-changes.outputs.canvas != 'true' + name: Canvas tabs E2E runs-on: ubuntu-latest steps: - run: |