Change from get_task_definitions to get_task_graph, which also returns a TaskGraph object specifying dependencies needed between tasks.
Added create_inter_artifact_taskgraph, create_inter_session_taskgraph to return TaskGraphs associated with their corresponding breakdowns of per artifact and per session.
Moved dependencies to be attribute of ArtifactCollection instead of being passed in through writer.
This better matches with dependencies being an attribute of Pipeline and PipelineORM saving dependencies. These are clearly not mean to be write time (called during "export") type attributes and should be in Artifact Collection.
Add helper functions to TaskGraph as it is being used not just internally represent dependencies for NodeCollection but also by integration contributors now.
Added and updated tests
Update docs
Fixes LIN-705
Type of change
[X] Bug fix (non-breaking change which fixes an issue)
[X] This change requires a documentation update
How Has This Been Tested?
Added new diamond test which snapshotted should cover dependencies specified between artifacts in different sessions to point to the upstream root deps of the target artifact.
Specifically a >> a >> linear_first_for_artifact_linear_second_and_downstream even though the dependency is defined as {"linear_third": {"a"}}.
For more details refer to discussion in this thread.
Update snapshots and manually verify a few that they are correct for changes.
Description
get_task_definitions
toget_task_graph
, which also returns a TaskGraph object specifying dependencies needed between tasks.create_inter_artifact_taskgraph
,create_inter_session_taskgraph
to return TaskGraphs associated with their corresponding breakdowns of per artifact and per session.Fixes LIN-705
Type of change
How Has This Been Tested?
Added new diamond test which snapshotted should cover dependencies specified between artifacts in different sessions to point to the upstream root deps of the target artifact. Specifically
a >> a >> linear_first_for_artifact_linear_second_and_downstream
even though the dependency is defined as{"linear_third": {"a"}}
. For more details refer to discussion in this thread.Update snapshots and manually verify a few that they are correct for changes.