tor-browser

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

platforms.py (1450B)


      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 from taskgraph.transforms.base import TransformSequence
      6 from taskgraph.util.schema import resolve_keyed_by
      7 
      8 transforms = TransformSequence()
      9 
     10 
     11 @transforms.add
     12 def resolve_platform_differences(config, tasks):
     13    for task in tasks:
     14        for key in ("worker-type", "run.command", "scopes", "worker.artifacts", "worker.taskcluster-proxy", "worker.max-run-time"):
     15            resolve_keyed_by(task, key, task["name"], platform=task["attributes"]["build_platform"])
     16        yield task
     17 
     18 
     19 @transforms.add
     20 def add_env_vars(config, tasks):
     21    for task in tasks:
     22        env = task["worker"].setdefault("env", {})
     23        if task["attributes"]["build_platform"].startswith(("mac", "windows")):
     24            env.update({"DOMSUF": "localdomain", "HOST": "localhost"})
     25 
     26        if task["attributes"]["build_platform"].startswith("mac"):
     27            env.update({"NSS_TASKCLUSTER_MAC": "1"})
     28 
     29        if config.params["try_options"].get("nspr_patch"):
     30            env.update({"ALLOW_NSPR_PATCH": "1"})
     31 
     32        yield task
     33 
     34 
     35 @transforms.add
     36 def remove_docker_image_for_gw(config, tasks):
     37    for task in tasks:
     38        if task["attributes"]["build_platform"].startswith(("mac", "windows")):
     39            task["worker"].pop("docker-image", None)
     40        yield task