tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

code_review.py (1334B)


      1 # This Source Code Form is subject to the terms of the Mozilla Public
      2 # License, v. 2.0. If a copy of the MPL was not distributed with this
      3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      4 """
      5 Add soft dependencies and configuration to code-review tasks.
      6 """
      7 
      8 from taskgraph.transforms.base import TransformSequence
      9 
     10 transforms = TransformSequence()
     11 
     12 
     13 @transforms.add
     14 def add_dependencies(config, jobs):
     15    for job in jobs:
     16        job.setdefault("soft-dependencies", [])
     17        job["soft-dependencies"] += [
     18            dep_task.label
     19            for dep_task in config.kind_dependencies_tasks.values()
     20            if dep_task.attributes.get("code-review") is True
     21        ]
     22        yield job
     23 
     24 
     25 @transforms.add
     26 def add_phabricator_config(config, jobs):
     27    for job in jobs:
     28        diff = config.params.get("phabricator_diff")
     29        if diff is not None:
     30            code_review = job.setdefault("extra", {}).setdefault("code-review", {})
     31            code_review["phabricator-diff"] = diff
     32        yield job
     33 
     34 
     35 @transforms.add
     36 def add_github_config(config, jobs):
     37    for job in jobs:
     38        github = config.params.get("try_task_config", {}).get("github")
     39        if github:
     40            code_review = job.setdefault("extra", {}).setdefault("code-review", {})
     41            code_review["github"] = github
     42        yield job