ci: add missing path filters so changed inputs trigger their jobs - #685
Merged
Conversation
✅ Deploy Preview for angry-raman-7c44f6 canceled.
|
Detect Changes gates the Rust and Docs jobs on path filters, but several
inputs those jobs actually depend on were not listed. Changing them ran
no jobs, so CI reported green without building anything. Three cases hit
this in the last day alone.
rust filter, additions:
ecosystem/morphir-rust
crates/morphir and crates/morphir-live path-depend on crates inside
this submodule, so a ref bump changes the source being compiled.
#677 only ran the Rust jobs because it also touched Cargo.lock; a
submodule-only bump would have run nothing.
.gitmodules
Same reasoning, for submodule wiring changes.
.config/mise/**
Pins the Rust toolchain the jobs build with. #675 moved rustc from
1.97.1 to 1.98.0 and both Rust jobs were skipped, so a compiler
upgrade landed with no compilation. New clippy lints ship with new
toolchains, which is exactly how the pager lints fixed in #679
reached main unnoticed.
docs filter, addition:
.config/mise/tasks/ci/validate_docs.py
The Docs job runs this script, but editing it triggered no job.
Verified the workflow parses, and that the filters block parses as
dorny/paths-filter itself parses it: 7 rust patterns, 5 docs patterns,
comments stripped.
No filter change is needed for the website. Netlify builds it:
netlify.toml runs `npm run build` in website/, with an ignore clause
that skips only when neither website/ nor docs/ changed. Rust-only PRs
showing "Deploy Preview canceled" are that skip working as designed,
not missing coverage.
DamianReeves
force-pushed
the
ci/add-missing-path-filters
branch
from
August 24, 2026 02:24
d3844c6 to
75e93e8
Compare
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.
Problem
Detect Changesgates the Rust and Docs jobs on path filters, but several inputs those jobs actually depend on weren't listed. Changing them ran no jobs, so CI reported green without building anything.Three cases hit this in the last day:
Cargo.lockA compiler upgrade landed with nothing compiled. That's the same class of blind spot that let the pager clippy lints sit on
mainunnoticed until #679 — new clippy lints ship with new toolchains.Changes
rustfilterecosystem/morphir-rust—crates/morphirandcrates/morphir-livepath-depend on crates inside this submodule, so a ref bump changes the source being compiled. A submodule-only bump previously ran nothing..gitmodules— same reasoning, for submodule wiring..config/mise/**— pins the toolchain the jobs build with.docsfilter- '.config/mise/tasks/ci/validate_docs.py'The Docs job runs this script, but editing it triggered no job.
Verification
Validated both levels — the workflow itself, and the
filtersblock as dorny/paths-filter parses it (it's a block scalar, so the#lines are YAML comments inside a string):{ "rust": ["Cargo.toml","Cargo.lock","crates/**","ecosystem/morphir-rust", ".gitmodules",".config/mise/**",".github/workflows/ci.yml"], "docs": ["website/**","docs/**","**/*.md", ".config/mise/tasks/ci/validate_docs.py",".github/workflows/ci.yml"] }7 rust patterns, 5 docs patterns, comments stripped correctly.
This PR touches
ci.yml, which is in both filters, so its own run exercises the change end to end.Note on the website
An earlier revision of this description claimed no job builds the website. That was wrong — Netlify does.
netlify.tomlruns the real Docusaurus build:The
ignoreclause skips the build only when neitherwebsite/nordocs/changed, which is why Rust-only PRs show "Deploy Preview canceled" — that's the skip working as designed, not missing coverage.So the website is covered; it's just covered by Netlify rather than by this workflow. No filter change is needed for it, and none is made here.