Repository navigation
ci: skip heavy CI work on docs-only pull requests - #26
Merged
Merged
Conversation
Add a changes job that marks a pull request docs-only when every changed path is docs (**/*.md, docs/**, LICENSE*, .github/ISSUE_TEMPLATE/**, .github/pull_request_template.md). Required jobs still run and report, with their heavy steps gated on it; push, schedule and dispatch runs, and any error, run in full.
Contributor
Author
|
Impact: no database changes. No live/runtime code changes: CI workflows and helper scripts only. Production impact: none. |
ahsanalidotme
marked this pull request as ready for review
October 27, 2026 21:51
No GitHub-hosted minutes: the new docs-only changes job runs on [self-hosted, macOS] like the rest of the org's CI.
The runner plan changed: public repos stay on GitHub-hosted runners (free for public repos), so the changes job goes back to ubuntu-latest and needs no fork guard.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes: no issue (requested directly).
What
Stop spending Actions minutes on docs-only pull requests: CI skips its heavy steps when a PR only touches docs, while the required checks still report success.
How
changesjob in each PR-triggered workflow. It diffs the PR against its base (git diff --name-only --no-renames origin/<base>...HEAD) and pipes it throughscripts/docs-only-changes.sh, which outputsdocs_only=trueonly when every path matches**/*.md,docs/**,LICENSE*,.github/ISSUE_TEMPLATE/**,.github/pull_request_template.md.ci.yml:Lint · Typecheck · Build · CodegenandExample · JS + Android buildkeep running and report, every step gated.ios.yml:Build example (iOS simulator)(not required, macOS) is skipped at job level.paths-ignore: required checks must still report. Each gated job hasneeds: changesandif: ${{ !cancelled() }}, and every heavy step hasif: needs.changes.outputs.docs_only != 'true', plus a first step that logsdocs-only change — skipped.pull_requestrun can skip; these always run in full: push to main. A git error, an empty diff or a failingchangesjob leaves the output empty, so everything runs.Production impact
CI-only. No runtime code changes; nothing ships to users.
Tests
actionlinton every changed workflow: no new findings.Docs script checked against README / nested
.md/docs//LICENSE*/ PR template / code / empty input.This PR changes workflows and scripts, so its own CI runs in full.
Preview
None (CI only).
Details (optional)
How to verify the skip after merge:
docs-only change — skippednotice, and thechangesjob log listing the files.Links
e2e.ymlchangesjob,scripts/docs-only-changes.sh).