diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /taskcluster/gecko_taskgraph/__init__.py | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'taskcluster/gecko_taskgraph/__init__.py')
-rw-r--r-- | taskcluster/gecko_taskgraph/__init__.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/taskcluster/gecko_taskgraph/__init__.py b/taskcluster/gecko_taskgraph/__init__.py new file mode 100644 index 0000000000..1346bf3c33 --- /dev/null +++ b/taskcluster/gecko_taskgraph/__init__.py @@ -0,0 +1,64 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import os + +from taskgraph import config as taskgraph_config +from taskgraph import morph as taskgraph_morph +from taskgraph.util import schema +from taskgraph.util import taskcluster as tc_util + +from gecko_taskgraph.config import graph_config_schema + +GECKO = os.path.normpath(os.path.realpath(os.path.join(__file__, "..", "..", ".."))) + +# Maximum number of dependencies a single task can have +# https://firefox-ci-tc.services.mozilla.com/docs/reference/platform/queue/task-schema +# specifies 100, but we also optionally add the decision task id as a dep in +# taskgraph.create, so let's set this to 99. +MAX_DEPENDENCIES = 99 + +# Overwrite Taskgraph's default graph_config_schema with a custom one. +taskgraph_config.graph_config_schema = graph_config_schema + +# Don't use any of the upstream morphs. +# TODO Investigate merging our morphs with upstream. +taskgraph_morph.registered_morphs = [] + +# Default rootUrl to use if none is given in the environment; this should point +# to the production Taskcluster deployment used for CI. +tc_util.PRODUCTION_TASKCLUSTER_ROOT_URL = "https://firefox-ci-tc.services.mozilla.com" + +# Schemas for YAML files should use dashed identifiers by default. If there are +# components of the schema for which there is a good reason to use another format, +# exceptions can be added here. +schema.EXCEPTED_SCHEMA_IDENTIFIERS.extend( + [ + "test_name", + "json_location", + "video_location", + ] +) + + +def register(graph_config): + """Used to register Gecko specific extensions. + + Args: + graph_config: The graph configuration object. + """ + from taskgraph import generator + + from gecko_taskgraph import ( # noqa: trigger target task method registration + morph, # noqa: trigger morph registration + target_tasks, + ) + from gecko_taskgraph.parameters import register_parameters + from gecko_taskgraph.util.verify import verifications + + # Don't use the upstream verifications, and replace them with our own. + # TODO Investigate merging our verifications with upstream. + generator.verifications = verifications + + register_parameters() |