perf(ci): skip build checks for Markdown-only pull requests

Merged
VI
1mo ago
+118-3

Summary

Markdown-only pull requests currently install dependencies and run all three build/test jobs. Classify changed paths before those jobs and skip them when every changed path ends in .md.

pull request with only Markdown changes: skip build/test jobs
other changes, main pushes, manual runs, or detection failure: run full suite

Keep required check names stable and preserve PR title validation, dependency review, and GitHub-managed CodeQL. Disable rename detection so renaming code to Markdown still runs the full suite.

Evidence

  • Before: all three jobs ran unconditionally; the new workflow test failed because no changed-file detector existed.
  • After: npm run test:ci passes all 10 cases against temporary Git repositories, including mixed changes, renames, deletions, empty diffs, missing refs, and non-PR events.
  • npm run test:pr-title: 29 passing tests.
  • Targeted TypeScript checking, Biome lint, and git diff --check pass.
  • Full hosted CI and runtime savings are not yet verified. This PR changes executable files, so it runs the full suite.

Merge Danger

Door: two-way

Revert the workflow change to restore unconditional checks.

Blast Radius: CI

Markdown-only PRs skip build/test coverage. All other file types run the full suite; detector failures also run it. No branch-protection or CodeQL settings change.