-
Notifications
You must be signed in to change notification settings - Fork 561
Open
Description
Our dependencies / include patterns implementation only conciders "static" graph based on folder structure. This leads to following problems:
- downstream dependencies triggering when there is no actual change affecting them. Noise and extra Action minutes spent.
- duplicate effort in case of module imports (need to specify dependencies in 2 places)
We probably want to:
- calculate dependencies on the actual import graph (or terragrunt graph)
- optionally limit it to inputs - so that even if dependency changes, downstream isn't triggered unless its outputs change
- further optionally, limit to specific outputs (as in the description of the issue
Considerations for limiting to inputs / outputs
- Only trigger downstream dependent projects if certain outputs change in the upstream (not all). Similar to stack dependencies in Spacelift. From user feedback 16.11.2023 (Alexander F)
- First step is likely switching the way dependencies work from simple graph of projects to a graph of outputs, so that downstream projects are triggered based on changes in outputs of their dependencies (all outputs)
- Second step is to limit scope to only certain outputs (as the user suggests).
guidola and rv-nkoehne