Skip to content

ci: skip the jobs a change gives nothing to read - #96

Merged
hughgrigg merged 1 commit into
mainfrom
claude/gha-skip-tests-non-testable-35303f
Aug 28, 2026
Merged

ci: skip the jobs a change gives nothing to read#96
hughgrigg merged 1 commit into
mainfrom
claude/gha-skip-tests-non-testable-35303f

Conversation

@hughgrigg

Copy link
Copy Markdown
Contributor

Every pull request spends four runners whatever it changed, and some of those runners have nothing to read. A changed job now lists the pull request's files once and sorts each into one of three buckets, then turns off the jobs below it that would have no opinion. A change to .idea/, .gitignore, .coderabbit.yaml, .github/dependabot.yml or the pull request template skips all three. A documentation change still runs Lint and Build, because docs:check reads every docs/ page and pack:check reads the seven it names along with README.md and LICENSE, and only the test matrix has nothing to say about it. Anything the job does not recognise counts as code and runs everything, so skipping takes a deliberate entry on a list. The gate is a job-level if rather than a paths-ignore: on the trigger, because that filter stops the run happening at all and leaves main's required checks pending forever, while a job turned off by an if still reports under its usual name with a skipped conclusion.

Two things worth a reviewer's eye. The claim that a ruleset accepts a skipped check in place of a passing one is the load-bearing one here, and it wants confirming on the first documentation-only pull request that Test (Node 22.x) and Test (Node 26.x) both appear as skipped rather than missing. And the files endpoint stops at 3000 and reports the truncation nowhere, so the job compares its own count against the event payload's and runs everything when the two disagree. The branch name is not conventional and there is no user-facing behaviour to document, hence the two unticked boxes.

  • Conventional commit message, used as the title

  • Conventional branch name, like feat/concise-description

  • Full check with pnpm run check passed

  • Rebased off latest main

  • User-facing behaviour is documented in docs/

Every pull request spent four runners, whatever it changed. A change to
`.idea/` or the dependabot config gives Lint, Test and Build nothing to
read, and a documentation change gives the test matrix nothing.

A `changed` job now reads the diff once and sorts each file into one of
three buckets. Anything this file does not recognise counts as code and
runs everything, so skipping a job takes a deliberate list entry.

Documentation still runs Lint and Build, because `docs:check` reads every
`docs/` page and `pack:check` reads the seven it names along with
README.md and LICENSE. Only the test matrix has nothing to say about it.

The gate is a job with an `if`, not a `paths-ignore:` on the trigger.
That filter stops the run happening at all, which leaves main's required
checks pending forever and blocks the merge. A job skipped by an `if`
still reports under its usual name with a `skipped` conclusion, which a
ruleset accepts.
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 8 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 90 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6cd50241-484c-4e70-8957-15ee2abb19c6

📥 Commits

Reviewing files that changed from the base of the PR and between 6c2683e and 8f1298f.

📒 Files selected for processing (1)
  • .github/workflows/pr.yml

Comment @coderabbitai help to get the list of available commands.

@hughgrigg
hughgrigg enabled auto-merge (squash) August 28, 2026 19:34
@hughgrigg
hughgrigg merged commit 7640a12 into main Aug 28, 2026
8 checks passed
@hughgrigg
hughgrigg deleted the claude/gha-skip-tests-non-testable-35303f branch August 28, 2026 19:36
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.

1 participant