Skip to content

ci(stb): make the required STB Tests check report on all PRs - #5527

Merged
norman-abramovitz merged 1 commit into
cloudfoundry:developfrom
nabramovitz:norm/fix/stb-tests-required-check
Jul 1, 2026
Merged

ci(stb): make the required STB Tests check report on all PRs#5527
norman-abramovitz merged 1 commit into
cloudfoundry:developfrom
nabramovitz:norm/fix/stb-tests-required-check

Conversation

@nabramovitz

Copy link
Copy Markdown
Contributor

Problem

STB Tests is a required status check on develop/main, but the workflow is paths-filtered (tools/stb/** + a few instrumented templates). GitHub never reports a required check that a PR's paths don't trigger, so every PR that doesn't touch stb (backend-only, most frontend) gets stuck indefinitely on:

STB Tests — Expected — Waiting for status to be reported

…and cannot be merged. (Live example: several open bug-fix PRs are blocked on this alone, with all 12 real checks green.)

Fix

Trigger the workflow on every PR to the protected branches, and decide internally whether to run the gate:

  • a dorny/paths-filter step sets an stb output from the same path list;
  • every real step (npm install, Playwright, typecheck, lint, tests, both drift lints) is gated on steps.changes.outputs.stb == 'true';
  • an else-branch step reports green when stb is untouched.

The job always runs, so the required check is always satisfied; real stb changes still run the full gate exactly as before.

Self-unblocking

pull_request runs the workflow as it exists in the PR's merge ref, so this PR's own modified workflow runs on it — STB Tests executes and passes here too.

Note

dorny/paths-filter@v3 is a third-party action (widely used across CNCF projects). If the org prefers to avoid non-GitHub actions, this can be swapped for a native git diff --name-only step — happy to change it.

STB Tests is a required status check on develop/main, but the workflow
was `paths`-filtered to tools/stb + instrumented templates. GitHub
never reports a required check that a PR's paths don't trigger, so every
PR that doesn't touch stb (backend-only, most frontend) got stuck on
"STB Tests — Expected — Waiting for status to be reported" and could
not merge.

Trigger the workflow on every PR to the protected branches and decide
internally whether to run the gate: a dorny/paths-filter step sets an
`stb` output, each real step is gated on it, and an else-branch step
reports green when stb is untouched. The job always runs, so the
required check is always satisfied; real stb changes still run the full
typecheck/lint/test/drift gate.

Self-unblocking: this PR modifies the workflow, and pull_request runs
the PR's own version, so STB Tests runs (and passes) on this PR too.

@norman-abramovitz norman-abramovitz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM - The STB optional gate is not implemented correctly. This is hopefully is a workaround for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants