Skip to content

Code Quality never starts for some PRs — and an unrun workflow reads as a green PR #456

Description

@rubenvdlinde

On two repos the Code Quality workflow never started for a pull request, and the PR looked healthy while it happened.

gh pr checks reported four green entries — CodeQL, Analyze (actions), Analyze (javascript-typescript), Analyze (go) — and nothing red. That is indistinguishable at a glance from a passing PR, but the quality workflow (34–35 jobs: lint, build, PHPUnit matrix, gates) had not run at all.

Observed on:

both with head branch feat/eslint-10 and base development.

What did and did not work

  • Opening the PR: no Code Quality run.
  • Pushing an empty commit to re-fire pull_request: still no run.
  • gh workflow run code-quality.yml --ref feat/eslint-10 (workflow_dispatch): ran fine — 34 and 35 jobs, zero failures. But a dispatched run does not attach to the PR, so the PR's checks stayed at four.
  • Pushing a merge commit (after merging development in) finally produced a normal pull_request run.

Note on the branch-name filter

The push trigger is:

push:
  branches: [main, development, feature/**, bugfix/**, hotfix/**]

feat/** is not in that list — only feature/** — so a feat/… branch gets no push run either. doriath already has an open branch named ci/close-branch-trigger-gap, so this is partly known. Adding feat/** (and probably fix/**, chore/**, ci/**) would close the push half.

The pull_request half is the more serious one, because the base-branch filter ([main, master, development, beta]) does match and it still did not fire.

Why it matters

A workflow that never ran is indistinguishable from one that passed if you only read the PR's check list. Anything that merges on "no failures" will merge unmeasured code. Worth a guard that fails a PR carrying zero quality / check runs, rather than treating their absence as success.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions