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 GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 8, 2026
- License
- None
Pinned Snippet
uses: lfreleng-actions/change-isolation-action@5c2b23154b856dca369edb7667dd4a37211e3a34 # v0.2.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| paths | Newline-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-ref | Git 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. | no | HEAD~1 |
| fail-on-violation | When 'true' (default), exit with a non-zero status if isolation is violated. When 'false', report the violation as a warning without failing the step. | no | true |
Outputs
| name | description |
|---|---|
| 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). |
| scanned | Deprecated alias for 'triggered'; use 'triggered' instead. |
| violating-files | Newline-separated list of out-of-scope files that break isolation. |