Skip to content

Dependencies #791

@ZIJ

Description

@ZIJ

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).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions