@@ -20,11 +20,40 @@ name: Check Links
2020# "the anchors are fine". The fragment half is owned by `pnpm check:doc-anchors`
2121# in `lint.yml`, which is REQUIRED where this lane is advisory; `lychee.toml`'s
2222# `include_fragments` comment records why the enum is not the fix.
23+ #
24+ # `paths:` is what the two checks read: lychee's input globs in `LYCHEE_ARGS`
25+ # below (taken as whole `content/` and `docs/` trees, so an image or page a
26+ # link points at inside them counts too), its config, and the ADR step's
27+ # `docs/adr/**` and script. Measured on the last 49 landings of `main`
28+ # (6390fe52): 10 touched one of these, so the other 39 would not have run it.
29+ # ⚠️ The filter is blind to the TARGET side outside those trees: a PR that
30+ # only renames or deletes a file a doc links to (a `packages/*` directory
31+ # from CONTRIBUTING.md, `LICENSE` from LICENSING.md) skips this lane, and the
32+ # break shows on the next PR that touches a doc, or on a `workflow_dispatch`
33+ # run. Keep this list equal to `LYCHEE_ARGS`. ⛔ Promoting the lane into the
34+ # required set removes this filter in the same change: a required check
35+ # skipped by `paths:` never reports, the #6121 stall above.
2336on :
2437 workflow_dispatch :
2538 pull_request :
2639 branches :
2740 - main
41+ paths :
42+ - ' content/**'
43+ - ' docs/**'
44+ - ' README.md'
45+ - ' ARCHITECTURE.md'
46+ - ' CHANGELOG.md'
47+ - ' RELEASE_NOTES.md'
48+ - ' CONTRIBUTING.md'
49+ - ' ROADMAP.md'
50+ - ' LICENSING.md'
51+ - ' CODE_OF_CONDUCT.md'
52+ - ' lychee.toml'
53+ - ' .lycheeignore'
54+ - ' scripts/check-adr-links.mjs'
55+ - ' scripts/invoked-as.mjs'
56+ - ' .github/workflows/check-links.yml'
2857
2958# A newer run for the same pull request supersedes this one, so the older run is
3059# cancelled. The group key is ci.yml's shape; `cancel-in-progress` is true only on
0 commit comments