lfreleng-actions/🔒 Change Isolation

Verify a change isolates modifications to a set of gitignore-style paths, failing when in-scope files are combined with out-of-scope files.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 8, 2026
License
None

Pinned Snippet

workflow.ymlSHA-pinned
uses: lfreleng-actions/change-isolation-action@5c2b23154b856dca369edb7667dd4a37211e3a34 # v0.2.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
pathsNewline-separated gitignore-style patterns describing the in-scope paths that must be isolated. A leading '/' anchors to the repository root (e.g. '/INFO.yaml'); a bare name matches at any depth; '**' matches across directories (e.g. '.github/**'). '!' negation is supported. yes—
base-refGit reference to diff HEAD against. Defaults to 'HEAD~1' (the parent of a single-commit change). Supply a branch such as 'origin/main' for pull-request style comparisons. The reference must exist in local history; increase the checkout fetch-depth if it does not. noHEAD~1
fail-on-violationWhen 'true' (default), exit with a non-zero status if isolation is violated. When 'false', report the violation as a warning without failing the step. notrue
namedescription
isolated'true' if the change is isolated, otherwise 'false'.
triggered'true' if at least one changed file matched the in-scope patterns, otherwise 'false' (the no-op case).
scannedDeprecated alias for 'triggered'; use 'triggered' instead.
violating-filesNewline-separated list of out-of-scope files that break isolation.