No bug: [taskgraph] Be more explict about the type of config in taskgraph.decision; r=aki
authorTom Prince <mozilla@hocat.ca>
Thu, 03 Oct 2019 02:46:35 +0000
changeset 496229 d5fdd5665fed837e302e4f86ccbcccfe79ff86a0
parent 496228 dc0872f50a4424faf1a92f967e77ab2e7f2c8e39
child 496230 a41c5e860d7bea5be65786481a3fd5ac6e6b8f71
push id97110
push usermozilla@hocat.ca
push dateThu, 03 Oct 2019 18:13:13 +0000
treeherderautoland@d5fdd5665fed [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki
milestone71.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
No bug: [taskgraph] Be more explict about the type of config in taskgraph.decision; r=aki Differential Revision: https://phabricator.services.mozilla.com/D48001
taskcluster/taskgraph/decision.py
--- a/taskcluster/taskgraph/decision.py
+++ b/taskcluster/taskgraph/decision.py
@@ -183,17 +183,19 @@ def taskgraph_decision(options, paramete
 
      * processing decision task command-line options into parameters
      * running task-graph generation exactly the same way the other `mach
        taskgraph` commands do
      * generating a set of artifacts to memorialize the graph
      * calling TaskCluster APIs to create the graph
     """
 
-    parameters = parameters or (lambda config: get_decision_parameters(config, options))
+    parameters = parameters or (
+        lambda graph_config: get_decision_parameters(graph_config, options)
+    )
 
     # create a TaskGraphGenerator instance
     tgg = TaskGraphGenerator(
         root_dir=options.get('root'),
         parameters=parameters)
 
     # write out the parameters used to generate this graph
     write_artifact('parameters.yml', dict(**tgg.parameters))
@@ -218,23 +220,23 @@ def taskgraph_decision(options, paramete
     # and the map of labels to taskids
     write_artifact('task-graph.json', tgg.morphed_task_graph.to_json())
     write_artifact('label-to-taskid.json', tgg.label_to_taskid)
 
     # actually create the graph
     create_tasks(tgg.graph_config, tgg.morphed_task_graph, tgg.label_to_taskid, tgg.parameters)
 
 
-def get_decision_parameters(config, options):
+def get_decision_parameters(graph_config, options):
     """
     Load parameters from the command-line options for 'taskgraph decision'.
     This also applies per-project parameters, based on the given project.
 
     """
-    product_dir = config['product-dir']
+    product_dir = graph_config['product-dir']
 
     parameters = {n: options[n] for n in [
         'base_repository',
         'head_repository',
         'head_rev',
         'head_ref',
         'project',
         'pushlog_id',
@@ -311,17 +313,17 @@ def get_decision_parameters(config, opti
 
     # ..but can be overridden by the commit message: if it contains the special
     # string "DONTBUILD" and this is an on-push decision task, then use the
     # special 'nothing' target task method.
     if 'DONTBUILD' in commit_message and options['tasks_for'] == 'hg-push':
         parameters['target_tasks_method'] = 'nothing'
 
     if options.get('include_push_tasks'):
-        get_existing_tasks(options.get('rebuild_kinds', []), parameters, config)
+        get_existing_tasks(options.get('rebuild_kinds', []), parameters, graph_config)
 
     # If the target method is nightly, we should build partials. This means
     # knowing what has been released previously.
     # An empty release_history is fine, it just means no partials will be built
     parameters.setdefault('release_history', dict())
     if 'nightly' in parameters.get('target_tasks_method', ''):
         parameters['release_history'] = populate_release_history('Firefox', project)