fune/taskcluster/gecko_taskgraph/__init__.py
Cristian Tuns c1b52fd95e Backed out 5 changesets (bug 1811850) for causing linting bustages(bugzilla) CLOSED TREE
Backed out changeset e8fcfc7f8108 (bug 1811850)
Backed out changeset f8950d716c9e (bug 1811850)
Backed out changeset f650123cc188 (bug 1811850)
Backed out changeset d96f90c2c58b (bug 1811850)
Backed out changeset c3b0f9666183 (bug 1811850)
2023-03-16 22:16:30 -04:00

64 lines
2.3 KiB
Python

# 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 morph # noqa: trigger morph registration
from gecko_taskgraph import ( # noqa: trigger target task method 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()