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/.
5 Apply some defaults and minor modifications to the jobs defined in the build
9 from __future__
import absolute_import
, print_function
, unicode_literals
11 from taskgraph
.transforms
.base
import TransformSequence
12 from taskgraph
.util
.schema
import resolve_keyed_by
15 transforms
= TransformSequence()
19 def resolve_keys(config
, tasks
):
21 for key
in ("run-on-tasks-for",):
25 item_name
=task
["name"],
27 'build-type': task
["attributes"]["build-type"],
28 'level': config
.params
["level"],
29 'tasks-for': config
.params
["tasks_for"],
35 def set_worker_type(config
, tasks
):
37 worker_type
= "dep-signing"
39 str(config
.params
["level"]) == "3"
40 and task
["attributes"]["build-type"]
41 in ("nightly", "beta", "release", "android-test-nightly")
42 and config
.params
["tasks_for"] in ("cron", "github-release", "action")
44 worker_type
= "signing"
45 task
["worker-type"] = worker_type
50 def set_signing_type(config
, tasks
):
52 signing_type
= "dep-signing"
54 str(config
.params
["level"]) == "3"
55 and config
.params
["tasks_for"] in ("cron", "github-release", "action")
57 if task
["attributes"]["build-type"] in ("beta", "release"):
58 signing_type
= "fennec-production-signing"
59 elif task
["attributes"]["build-type"] in ("nightly", "android-test-nightly"):
60 signing_type
= "production-signing"
61 task
.setdefault("worker", {})["signing-type"] = signing_type
66 def set_index(config
, tasks
):
70 config
.params
["tasks_for"] in ("cron", "github-release", "action")
71 and task
["attributes"]["build-type"]
72 in ("nightly", "debut", "nightly-simulation", "beta", "release")
74 index
["type"] = "signing"
80 def set_signing_attributes(config
, tasks
):
82 task
["attributes"]["signed"] = True
87 def set_signing_format(config
, tasks
):
89 signing_format
= task
.pop("signing-format")
90 for upstream_artifact
in task
["worker"]["upstream-artifacts"]:
91 upstream_artifact
["formats"] = [signing_format
]