mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-24 19:37:15 +00:00
Bug 1555032 - [taskgraph] Add ability to pass external optimize strategies via env, r=tomprince
This allows users to set TASKGRAPH_OPTIMIZE_STRATEGIES to a python_path.find_object string. E.g: TASKGRAPH_OPTIMIZE_STRATEGIES="module:strategies" ./mach taskgraph optimized This opens the door to swap in external strategies at runtime and will be used for back testing experimental strategies. Differential Revision: https://phabricator.services.mozilla.com/D33203 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
968b5fb44e
commit
9a419e5b3f
@ -323,10 +323,19 @@ class TaskGraphGenerator(object):
|
||||
do_not_optimize = set(parameters.get('do_not_optimize', []))
|
||||
if not parameters.get('optimize_target_tasks', True):
|
||||
do_not_optimize = set(target_task_set.graph.nodes).union(do_not_optimize)
|
||||
optimized_task_graph, label_to_taskid = optimize_task_graph(target_task_graph,
|
||||
parameters,
|
||||
do_not_optimize,
|
||||
existing_tasks=existing_tasks)
|
||||
|
||||
# this is used for testing experimental optimization strategies
|
||||
strategies = os.environ.get('TASKGRAPH_OPTIMIZE_STRATEGIES')
|
||||
if strategies:
|
||||
strategies = find_object(strategies)
|
||||
|
||||
optimized_task_graph, label_to_taskid = optimize_task_graph(
|
||||
target_task_graph,
|
||||
parameters,
|
||||
do_not_optimize,
|
||||
existing_tasks=existing_tasks,
|
||||
strategies=strategies,
|
||||
)
|
||||
|
||||
yield verifications('optimized_task_graph', optimized_task_graph, graph_config)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user