You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remove 'set' versions of graph phases from top-level cli #612
Taskgraph allows you to run the generation locally by specifying a phase of the graph generation. Currently these are:
tasks
full
target
target-graph
optimized
morphed
I can't think of any benefit of the tasks or target phases over their counter parts with edges (full and target-graph respectively). So I propose we drop them as cli subcommands (and rename target-graph to target):
full
target
optimized
morphed
I think this would make the cli much less confusing without compromising any functionality. The only downside is that generation might take teeny tiny bit longer.
Or alternatively if the edges are unnecessary when running locally, we could drop full and target-graph, and then rename tasks to full (I feel pretty strongly that the subcommand names should match up to what we colloquially name the phases)
One gotcha here is that we apparently add always_target_tasks between the target_set and target_graph phases. This feels wrong as I feel like those should also be part of the target_set.. but always_target_tasks had a lot of subtle behaviour, so it's possible it needs to be where it is for some reason.
I'm unclear whether keeping the ability to distinguish with/without these tasks on the cli is important or not.. but it's something to consider.
FWIW I've used both target and target-graph in different cases. target to verify a target_tasks change was doing what I expected, and avoid noise from dependencies. target-graph when I wanted to include dependencies and see the whole thing to be scheduled.
Activity
ahal commentedon Dec 9, 2024
Or alternatively if the edges are unnecessary when running locally, we could drop
fullandtarget-graph, and then renametaskstofull(I feel pretty strongly that the subcommand names should match up to what we colloquially name the phases)ahal commentedon Dec 9, 2024
One gotcha here is that we apparently add
always_target_tasksbetween the target_set and target_graph phases. This feels wrong as I feel like those should also be part of the target_set.. butalways_target_taskshad a lot of subtle behaviour, so it's possible it needs to be where it is for some reason.I'm unclear whether keeping the ability to distinguish with/without these tasks on the cli is important or not.. but it's something to consider.
jcristau commentedon Dec 10, 2024
FWIW I've used both
targetandtarget-graphin different cases.targetto verify a target_tasks change was doing what I expected, and avoid noise from dependencies.target-graphwhen I wanted to include dependencies and see the whole thing to be scheduled.ahal commentedon Dec 11, 2024
That's a good point.. maybe we could keep
target-graphdue to that and my previous comment, and only droptasks