Commit a75bd5a4 authored by Andrew Halberstadt's avatar Andrew Halberstadt
Browse files

Bug 1733454 - Make sure we re-use the same default parameters in --diff mode,...

Bug 1733454 - Make sure we re-use the same default parameters in --diff mode, r=taskgraph-reviewers,aki

Previously we were defaulting the parameters option to '[None]'. This caused
the generator to re-compute the default values across revisions in --diff mode,
resulting in different parameters being used and a different resulting
taskgraph.

By instantiating the parameters up front in this case, we can ensure that the
same parameter set is being used across both revisions.

Differential Revision: https://phabricator.services.mozilla.com/D127160
parent 7588a257
Loading
Loading
Loading
Loading
+20 −18
Original line number Diff line number Diff line
@@ -119,6 +119,7 @@ def format_taskgraph(options, parameters, logfile=None):
    if options["fast"]:
        taskgraph.fast = True

    if isinstance(parameters, str):
        parameters = parameters_loader(
            parameters,
            overrides={"target-kind": options.get("target_kind")},
@@ -349,14 +350,15 @@ def show_taskgraph(options):
        )
        print(f"Generating {options['graph_attr']} @ {cur_ref}", file=sys.stderr)

    parameters: List[Any[str, None]] = options.pop("parameters")
    parameters: List[Any[str, Parameters]] = options.pop("parameters")
    if not parameters:
        parameters = [None]  # will use default values
        kwargs = {
            "target-kind": options.get("target_kind"),
        }
        parameters = [Parameters(strict=False, **kwargs)]  # will use default values

    for param in parameters[:]:
        if param is None or not os.path.isdir(param):
            continue

        if isinstance(param, str) and os.path.isdir(param):
            parameters.remove(param)
            parameters.extend(
                [