smartlyio/Find changed directories
Create matrix expression to build only changed packages
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| directory_containing | Find changes to directories containing a file with this name. This is mutually exclusive with the directory_levels option. | no | — |
| directory_levels | Find changes to directories nested to this level. e.g. "directory_levels: 1" will provide the first level (in the repository root) directories that contain changes, no matter how deeply nested the changed files are. This is mutually exclusive with the directory_containing option. | no | — |
| exclude | Exclude directories that match the pattern. If overriding, remember to include matching /^\\.github\\/.*/. Exclusion is applied after discovering changes based on the pattern. This should be a regular expression pattern. | no | ^\.github($|\/.*) |
| force_all_on_match | Regex to monitor for changes. If any of the directories matched by this have changes, all directories matchable by other inputs will be included in the output regardless of their change status. Useful for monorepos where changes to shared components (like common libraries or CI configs) should trigger builds of all packages. | no | "" |
Outputs
| name | description |
|---|---|
| matrix | Matrix to use in a downstream job |
| multivalue_matrix | Matrix in {directory, basename} format - new values can be added over time |
| matrix_empty | 'true' if there are no values in the matrix |
| changed_directories | List of directories containing changes |
| diff_base | Git commit used as the base for finding pull request changes |