зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1774834 - Use vendored treeherder util r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D149441
This commit is contained in:
Родитель
f29955e688
Коммит
3ab693b367
|
@ -26,5 +26,4 @@ subsuite = taskgraph
|
|||
[test_util_runnable_jobs.py]
|
||||
[test_util_schema.py]
|
||||
[test_util_templates.py]
|
||||
[test_util_treeherder.py]
|
||||
[test_util_verify.py]
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
# 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 unittest
|
||||
from gecko_taskgraph.util.treeherder import split_symbol, join_symbol, add_suffix
|
||||
from mozunit import main
|
||||
|
||||
|
||||
class TestSymbols(unittest.TestCase):
|
||||
def test_split_no_group(self):
|
||||
self.assertEqual(split_symbol("xy"), ("?", "xy"))
|
||||
|
||||
def test_split_with_group(self):
|
||||
self.assertEqual(split_symbol("ab(xy)"), ("ab", "xy"))
|
||||
|
||||
def test_join_no_group(self):
|
||||
self.assertEqual(join_symbol("?", "xy"), "xy")
|
||||
|
||||
def test_join_with_group(self):
|
||||
self.assertEqual(join_symbol("ab", "xy"), "ab(xy)")
|
||||
|
||||
def test_add_suffix_no_group(self):
|
||||
self.assertEqual(add_suffix("xy", 1), "xy1")
|
||||
|
||||
def test_add_suffix_with_group(self):
|
||||
self.assertEqual(add_suffix("ab(xy)", 1), "ab(xy1)")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
|
@ -8,16 +8,12 @@ Transform the per-locale balrog task into an actual task description.
|
|||
|
||||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.schema import (
|
||||
optionally_keyed_by,
|
||||
resolve_keyed_by,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import replace_group
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.schema import optionally_keyed_by, resolve_keyed_by
|
||||
from taskgraph.util.treeherder import replace_group
|
||||
from voluptuous import Optional
|
||||
|
||||
|
||||
balrog_description_schema = schema.extend(
|
||||
{
|
||||
# unique label to describe this balrog task, defaults to balrog-{dep.label}
|
||||
|
|
|
@ -6,8 +6,6 @@ Transform the beetmover task into an actual task description.
|
|||
"""
|
||||
|
||||
|
||||
from voluptuous import Optional, Required
|
||||
|
||||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
|
@ -15,11 +13,11 @@ from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
|||
from gecko_taskgraph.util.scriptworker import (
|
||||
generate_beetmover_artifact_map,
|
||||
generate_beetmover_upstream_artifacts,
|
||||
get_beetmover_bucket_scope,
|
||||
get_beetmover_action_scope,
|
||||
get_beetmover_bucket_scope,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import replace_group
|
||||
|
||||
from taskgraph.util.treeherder import replace_group
|
||||
from voluptuous import Optional, Required
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ Transform the checksums signing task into an actual task description.
|
|||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.beetmover import craft_release_properties
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.scriptworker import (
|
||||
generate_beetmover_artifact_map,
|
||||
|
@ -16,9 +17,8 @@ from gecko_taskgraph.util.scriptworker import (
|
|||
get_beetmover_action_scope,
|
||||
get_beetmover_bucket_scope,
|
||||
)
|
||||
from taskgraph.util.treeherder import replace_group
|
||||
from voluptuous import Optional, Required
|
||||
from gecko_taskgraph.util.treeherder import replace_group
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
|
||||
beetmover_checksums_description_schema = schema.extend(
|
||||
{
|
||||
|
|
|
@ -9,6 +9,7 @@ Transform release-beetmover-langpack-checksums into an actual task description.
|
|||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.beetmover import craft_release_properties
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.scriptworker import (
|
||||
generate_beetmover_artifact_map,
|
||||
|
@ -16,9 +17,8 @@ from gecko_taskgraph.util.scriptworker import (
|
|||
get_beetmover_action_scope,
|
||||
get_beetmover_bucket_scope,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from voluptuous import Required, Optional
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from voluptuous import Optional, Required
|
||||
|
||||
beetmover_checksums_description_schema = schema.extend(
|
||||
{
|
||||
|
|
|
@ -7,12 +7,10 @@ Transform the beetmover task into an actual task description.
|
|||
|
||||
import logging
|
||||
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
from voluptuous import Required, Optional
|
||||
|
||||
from gecko_taskgraph.loader.multi_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.beetmover import craft_release_properties
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.partials import (
|
||||
get_balrog_platform_name,
|
||||
|
@ -21,13 +19,14 @@ from gecko_taskgraph.util.partials import (
|
|||
)
|
||||
from gecko_taskgraph.util.scriptworker import (
|
||||
generate_beetmover_artifact_map,
|
||||
generate_beetmover_upstream_artifacts,
|
||||
generate_beetmover_partials_artifact_map,
|
||||
get_beetmover_bucket_scope,
|
||||
generate_beetmover_upstream_artifacts,
|
||||
get_beetmover_action_scope,
|
||||
get_beetmover_bucket_scope,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import replace_group, inherit_treeherder_from_dep
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep, replace_group
|
||||
from voluptuous import Optional, Required
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ Transform the signing task into an actual task description.
|
|||
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.treeherder import join_symbol
|
||||
from taskgraph.util.treeherder import join_symbol
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -7,15 +7,14 @@ kind.
|
|||
"""
|
||||
|
||||
|
||||
import logging
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import RELEASE_PROJECTS, is_try, release_level
|
||||
from gecko_taskgraph.util.schema import resolve_keyed_by
|
||||
from gecko_taskgraph.util.treeherder import add_suffix
|
||||
from gecko_taskgraph.util.workertypes import worker_type_implementation
|
||||
|
||||
from mozbuild.artifact_builds import JOB_CHOICES as ARTIFACT_JOBS
|
||||
|
||||
import logging
|
||||
from taskgraph.util.treeherder import add_suffix
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -6,29 +6,19 @@
|
|||
# it as task artifacts.
|
||||
|
||||
|
||||
import attr
|
||||
|
||||
from mozbuild.shellutil import quote as shell_quote
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
from voluptuous import (
|
||||
Optional,
|
||||
Required,
|
||||
Extra,
|
||||
Any,
|
||||
)
|
||||
|
||||
from mozpack import path as mozpath
|
||||
|
||||
import attr
|
||||
import gecko_taskgraph
|
||||
from mozbuild.shellutil import quote as shell_quote
|
||||
from mozpack import path as mozpath
|
||||
from taskgraph.util.treeherder import join_symbol
|
||||
from voluptuous import Any, Extra, Optional, Required
|
||||
|
||||
from .base import TransformSequence
|
||||
from ..util.cached_tasks import add_optimization
|
||||
from ..util.schema import Schema, validate_schema
|
||||
from ..util.treeherder import join_symbol
|
||||
|
||||
from .base import TransformSequence
|
||||
|
||||
CACHE_TYPE = "content.v1"
|
||||
|
||||
|
|
|
@ -9,28 +9,23 @@ Do transforms specific to l10n kind
|
|||
import copy
|
||||
import json
|
||||
|
||||
from mozbuild.chunkify import chunkify
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
from voluptuous import (
|
||||
Any,
|
||||
Optional,
|
||||
Required,
|
||||
)
|
||||
|
||||
from gecko_taskgraph.loader.multi_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.job import job_description_schema
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
copy_attributes_from_dependent_job,
|
||||
task_name,
|
||||
)
|
||||
from gecko_taskgraph.util.schema import (
|
||||
optionally_keyed_by,
|
||||
resolve_keyed_by,
|
||||
taskref_or_string,
|
||||
)
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
copy_attributes_from_dependent_job,
|
||||
task_name,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import add_suffix
|
||||
from gecko_taskgraph.transforms.job import job_description_schema
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from mozbuild.chunkify import chunkify
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
from taskgraph.util.treeherder import add_suffix
|
||||
from voluptuous import Any, Optional, Required
|
||||
|
||||
|
||||
def _by_platform(arg):
|
||||
|
|
|
@ -5,12 +5,10 @@
|
|||
Transform the mac notarization poller task into an actual task description.
|
||||
"""
|
||||
|
||||
from taskgraph.util.taskcluster import get_artifact_url
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.treeherder import add_suffix, join_symbol
|
||||
|
||||
from taskgraph.util.taskcluster import get_artifact_url
|
||||
from taskgraph.util.treeherder import add_suffix, join_symbol
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -5,22 +5,18 @@
|
|||
Transform the {partials,mar}-signing task into an actual task description.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
copy_attributes_from_dependent_job,
|
||||
sorted_unique_list,
|
||||
)
|
||||
from gecko_taskgraph.util.scriptworker import (
|
||||
get_signing_cert_scope_per_platform,
|
||||
)
|
||||
from gecko_taskgraph.util.partials import get_partials_artifacts_from_params
|
||||
from gecko_taskgraph.util.treeherder import join_symbol, inherit_treeherder_from_dep
|
||||
|
||||
import logging
|
||||
from gecko_taskgraph.util.scriptworker import get_signing_cert_scope_per_platform
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep, join_symbol
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ Transform the repackage signing task into an actual task description.
|
|||
|
||||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
from gecko_taskgraph.util.scriptworker import get_signing_cert_scope_per_platform
|
||||
from gecko_taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from voluptuous import Optional
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
Transform the partials task into an actual task description.
|
||||
"""
|
||||
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
import logging
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
|
@ -14,9 +14,8 @@ from gecko_taskgraph.util.attributes import (
|
|||
)
|
||||
from gecko_taskgraph.util.partials import get_builds
|
||||
from gecko_taskgraph.util.platforms import architecture
|
||||
from gecko_taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
|
||||
import logging
|
||||
from taskgraph.util.taskcluster import get_artifact_prefix
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -5,20 +5,14 @@ This transform passes options from `mach perftest` to the corresponding task.
|
|||
"""
|
||||
|
||||
|
||||
import json
|
||||
from copy import deepcopy
|
||||
from datetime import date, timedelta
|
||||
import json
|
||||
|
||||
from voluptuous import (
|
||||
Any,
|
||||
Optional,
|
||||
Extra,
|
||||
)
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.schema import optionally_keyed_by, resolve_keyed_by, Schema
|
||||
from gecko_taskgraph.util.treeherder import split_symbol, join_symbol
|
||||
|
||||
from gecko_taskgraph.util.schema import Schema, optionally_keyed_by, resolve_keyed_by
|
||||
from taskgraph.util.treeherder import join_symbol, split_symbol
|
||||
from voluptuous import Any, Extra, Optional
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -6,26 +6,26 @@ Transform the beetmover task into an actual task description.
|
|||
"""
|
||||
|
||||
|
||||
import copy
|
||||
import logging
|
||||
|
||||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.beetmover import craft_release_properties
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
copy_attributes_from_dependent_job,
|
||||
release_level,
|
||||
)
|
||||
from gecko_taskgraph.util.schema import optionally_keyed_by, resolve_keyed_by
|
||||
from gecko_taskgraph.util.scriptworker import (
|
||||
get_beetmover_bucket_scope,
|
||||
get_beetmover_action_scope,
|
||||
generate_beetmover_upstream_artifacts,
|
||||
generate_beetmover_artifact_map,
|
||||
generate_beetmover_upstream_artifacts,
|
||||
get_beetmover_action_scope,
|
||||
get_beetmover_bucket_scope,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from voluptuous import Required, Optional
|
||||
|
||||
import logging
|
||||
import copy
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from voluptuous import Optional, Required
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -8,13 +8,13 @@ Transform the release-sign-and-push task into an actual task description.
|
|||
|
||||
from gecko_taskgraph.loader.single_dep import schema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
copy_attributes_from_dependent_job,
|
||||
release_level,
|
||||
)
|
||||
from gecko_taskgraph.util.schema import resolve_keyed_by, optionally_keyed_by
|
||||
from gecko_taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from gecko_taskgraph.transforms.task import task_description_schema
|
||||
from gecko_taskgraph.util.schema import optionally_keyed_by, resolve_keyed_by
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep
|
||||
from voluptuous import Any, Required
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
|
|
@ -7,10 +7,10 @@ Adjust dependencies to not exceed MAX_DEPENDENCIES
|
|||
|
||||
from copy import deepcopy
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
import gecko_taskgraph.transforms.release_deps as release_deps
|
||||
from gecko_taskgraph.util.treeherder import add_suffix
|
||||
from gecko_taskgraph import MAX_DEPENDENCIES
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from taskgraph.util.treeherder import add_suffix
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
|||
from gecko_taskgraph.util.signed_artifacts import (
|
||||
generate_specifications_of_artifacts_to_sign,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import join_symbol
|
||||
from taskgraph.util.treeherder import join_symbol
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -10,24 +10,14 @@ treeherder configuration and attributes for that platform.
|
|||
import copy
|
||||
import os
|
||||
|
||||
from taskgraph.util.attributes import keymatch
|
||||
from voluptuous import (
|
||||
Any,
|
||||
Extra,
|
||||
Optional,
|
||||
Required,
|
||||
)
|
||||
|
||||
import gecko_taskgraph
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.job import job_description_schema
|
||||
from gecko_taskgraph.util.hg import get_json_automationrelevance
|
||||
from gecko_taskgraph.util.schema import (
|
||||
resolve_keyed_by,
|
||||
optionally_keyed_by,
|
||||
Schema,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import join_symbol, split_symbol
|
||||
from gecko_taskgraph.util.schema import Schema, optionally_keyed_by, resolve_keyed_by
|
||||
from taskgraph.util.attributes import keymatch
|
||||
from taskgraph.util.treeherder import join_symbol, split_symbol
|
||||
from voluptuous import Any, Extra, Optional, Required
|
||||
|
||||
source_test_description_schema = Schema(
|
||||
{
|
||||
|
|
|
@ -16,31 +16,28 @@ import time
|
|||
from copy import deepcopy
|
||||
|
||||
import attr
|
||||
from mozbuild.util import memoize
|
||||
from taskgraph.util.keyed_by import evaluate_keyed_by
|
||||
from taskgraph.util.time import value_of
|
||||
from voluptuous import Any, Required, Optional, Extra, Match, All, NotIn
|
||||
|
||||
from gecko_taskgraph import GECKO, MAX_DEPENDENCIES
|
||||
from gecko_taskgraph.optimize.schema import OptimizationSchema
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import TRUNK_PROJECTS, is_try, release_level
|
||||
from gecko_taskgraph.util.hash import hash_path
|
||||
from gecko_taskgraph.util.treeherder import split_symbol
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.partners import get_partners_to_be_published
|
||||
from gecko_taskgraph.util.schema import (
|
||||
validate_schema,
|
||||
Schema,
|
||||
optionally_keyed_by,
|
||||
resolve_keyed_by,
|
||||
taskref_or_string,
|
||||
validate_schema,
|
||||
)
|
||||
from gecko_taskgraph.optimize.schema import OptimizationSchema
|
||||
from gecko_taskgraph.util.partners import get_partners_to_be_published
|
||||
from gecko_taskgraph.util.scriptworker import (
|
||||
BALROG_ACTIONS,
|
||||
get_release_config,
|
||||
)
|
||||
from gecko_taskgraph.util.scriptworker import BALROG_ACTIONS, get_release_config
|
||||
from gecko_taskgraph.util.signed_artifacts import get_signed_artifacts
|
||||
from gecko_taskgraph.util.workertypes import worker_type_implementation
|
||||
from gecko_taskgraph import GECKO, MAX_DEPENDENCIES
|
||||
from mozbuild.util import memoize
|
||||
from taskgraph.util.keyed_by import evaluate_keyed_by
|
||||
from taskgraph.util.time import value_of
|
||||
from taskgraph.util.treeherder import split_symbol
|
||||
from voluptuous import All, Any, Extra, Match, NotIn, Optional, Required
|
||||
|
||||
from ..util import docker as dockerutil
|
||||
from ..util.workertypes import get_worker_type
|
||||
|
||||
|
|
|
@ -3,21 +3,19 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
import copy
|
||||
|
||||
from taskgraph.util.attributes import keymatch
|
||||
|
||||
import gecko_taskgraph
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import is_try
|
||||
from gecko_taskgraph.util.chunking import (
|
||||
DefaultLoader,
|
||||
chunk_manifests,
|
||||
get_manifest_loader,
|
||||
get_runtimes,
|
||||
guess_mozinfo_from_task,
|
||||
DefaultLoader,
|
||||
)
|
||||
from gecko_taskgraph.util.perfile import perfile_number_of_chunks
|
||||
from gecko_taskgraph.util.treeherder import split_symbol, join_symbol
|
||||
|
||||
from taskgraph.util.attributes import keymatch
|
||||
from taskgraph.util.treeherder import join_symbol, split_symbol
|
||||
|
||||
DYNAMIC_CHUNK_DURATION = 20 * 60 # seconds
|
||||
"""The approximate time each test chunk should take to run."""
|
||||
|
|
|
@ -6,24 +6,16 @@ import hashlib
|
|||
import json
|
||||
import re
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.test.variant import TEST_VARIANTS
|
||||
from gecko_taskgraph.util.platforms import platform_family
|
||||
from gecko_taskgraph.util.schema import Schema, resolve_keyed_by
|
||||
from mozbuild.schedules import INCLUSIVE_COMPONENTS
|
||||
from mozbuild.util import ReadOnlyDict
|
||||
from taskgraph.util.attributes import keymatch
|
||||
from taskgraph.util.keyed_by import evaluate_keyed_by
|
||||
from taskgraph.util.taskcluster import get_artifact_path, get_index_url
|
||||
from voluptuous import (
|
||||
Any,
|
||||
Optional,
|
||||
Required,
|
||||
)
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.test.variant import TEST_VARIANTS
|
||||
from gecko_taskgraph.util.platforms import platform_family
|
||||
from gecko_taskgraph.util.schema import (
|
||||
resolve_keyed_by,
|
||||
Schema,
|
||||
)
|
||||
from voluptuous import Any, Optional, Required
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
@ -109,7 +101,7 @@ def setup_browsertime_flag(config, tasks):
|
|||
|
||||
if task["treeherder-symbol"].startswith("Rap"):
|
||||
# The Rap group is subdivided as Rap{-fenix,-refbrow(...),
|
||||
# so `gecko_taskgraph.util.treeherder.replace_group` isn't appropriate.
|
||||
# so `taskgraph.util.treeherder.replace_group` isn't appropriate.
|
||||
task["treeherder-symbol"] = task["treeherder-symbol"].replace(
|
||||
"Rap", "Btime", 1
|
||||
)
|
||||
|
|
|
@ -5,16 +5,11 @@
|
|||
|
||||
from copy import deepcopy
|
||||
|
||||
from voluptuous import (
|
||||
Optional,
|
||||
Required,
|
||||
Extra,
|
||||
)
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.transforms.test import test_description_schema
|
||||
from gecko_taskgraph.util.schema import optionally_keyed_by, resolve_keyed_by, Schema
|
||||
from gecko_taskgraph.util.treeherder import split_symbol, join_symbol
|
||||
from gecko_taskgraph.util.schema import Schema, optionally_keyed_by, resolve_keyed_by
|
||||
from taskgraph.util.treeherder import join_symbol, split_symbol
|
||||
from voluptuous import Extra, Optional, Required
|
||||
|
||||
transforms = TransformSequence()
|
||||
task_transforms = TransformSequence()
|
||||
|
|
|
@ -3,22 +3,14 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
import copy
|
||||
|
||||
import jsone
|
||||
from taskgraph.util.yaml import load_yaml
|
||||
from voluptuous import (
|
||||
Any,
|
||||
Optional,
|
||||
Required,
|
||||
)
|
||||
|
||||
import gecko_taskgraph
|
||||
import jsone
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.schema import Schema, validate_schema
|
||||
from gecko_taskgraph.util.templates import merge
|
||||
from gecko_taskgraph.util.treeherder import split_symbol, join_symbol
|
||||
from gecko_taskgraph.util.schema import (
|
||||
validate_schema,
|
||||
Schema,
|
||||
)
|
||||
from taskgraph.util.treeherder import join_symbol, split_symbol
|
||||
from taskgraph.util.yaml import load_yaml
|
||||
from voluptuous import Any, Optional, Required
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ from copy import deepcopy
|
|||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import task_name
|
||||
from gecko_taskgraph.util.treeherder import add_suffix, inherit_treeherder_from_dep
|
||||
from taskgraph.util.treeherder import add_suffix, inherit_treeherder_from_dep
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
|
|
@ -7,13 +7,15 @@ taskcluster/ci/upload-symbols/job-template.yml into an actual task description.
|
|||
"""
|
||||
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import RELEASE_PROJECTS
|
||||
from gecko_taskgraph.util.treeherder import join_symbol, inherit_treeherder_from_dep
|
||||
from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
|
||||
|
||||
import logging
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
RELEASE_PROJECTS,
|
||||
copy_attributes_from_dependent_job,
|
||||
)
|
||||
from taskgraph.util.treeherder import inherit_treeherder_from_dep, join_symbol
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
# 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 re
|
||||
|
||||
_JOINED_SYMBOL_RE = re.compile(r"([^(]*)\(([^)]*)\)$")
|
||||
|
||||
|
||||
def split_symbol(treeherder_symbol):
|
||||
"""Split a symbol expressed as grp(sym) into its two parts. If no group is
|
||||
given, the returned group is '?'"""
|
||||
groupSymbol = "?"
|
||||
symbol = treeherder_symbol
|
||||
if "(" in symbol:
|
||||
match = _JOINED_SYMBOL_RE.match(symbol)
|
||||
if match:
|
||||
groupSymbol, symbol = match.groups()
|
||||
else:
|
||||
raise Exception(f"`{symbol}` is not a valid treeherder symbol.")
|
||||
return groupSymbol, symbol
|
||||
|
||||
|
||||
def join_symbol(group, symbol):
|
||||
"""Perform the reverse of split_symbol, combining the given group and
|
||||
symbol. If the group is '?', then it is omitted."""
|
||||
if group == "?":
|
||||
return symbol
|
||||
return f"{group}({symbol})"
|
||||
|
||||
|
||||
def add_suffix(treeherder_symbol, suffix):
|
||||
"""Add a suffix to a treeherder symbol that may contain a group."""
|
||||
group, symbol = split_symbol(treeherder_symbol)
|
||||
symbol += str(suffix)
|
||||
return join_symbol(group, symbol)
|
||||
|
||||
|
||||
def replace_group(treeherder_symbol, new_group):
|
||||
"""Add a suffix to a treeherder symbol that may contain a group."""
|
||||
_, symbol = split_symbol(treeherder_symbol)
|
||||
return join_symbol(new_group, symbol)
|
||||
|
||||
|
||||
def inherit_treeherder_from_dep(job, dep_job):
|
||||
"""Inherit treeherder defaults from dep_job"""
|
||||
treeherder = job.get("treeherder", {})
|
||||
|
||||
dep_th_platform = (
|
||||
dep_job.task.get("extra", {})
|
||||
.get("treeherder", {})
|
||||
.get("machine", {})
|
||||
.get("platform", "")
|
||||
)
|
||||
dep_th_collection = list(
|
||||
dep_job.task.get("extra", {}).get("treeherder", {}).get("collection", {}).keys()
|
||||
)[0]
|
||||
treeherder.setdefault("platform", f"{dep_th_platform}/{dep_th_collection}")
|
||||
treeherder.setdefault(
|
||||
"tier", dep_job.task.get("extra", {}).get("treeherder", {}).get("tier", 1)
|
||||
)
|
||||
# Does not set symbol
|
||||
treeherder.setdefault("kind", "build")
|
||||
return treeherder
|
|
@ -4,23 +4,19 @@
|
|||
|
||||
|
||||
import logging
|
||||
import re
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
import attr
|
||||
|
||||
from taskgraph.util.verify import (
|
||||
VerificationSequence,
|
||||
)
|
||||
|
||||
from gecko_taskgraph import GECKO
|
||||
from gecko_taskgraph.util.attributes import (
|
||||
RELEASE_PROJECTS,
|
||||
ALL_PROJECTS,
|
||||
RELEASE_PROJECTS,
|
||||
RUN_ON_PROJECT_ALIASES,
|
||||
)
|
||||
from gecko_taskgraph.util.treeherder import join_symbol
|
||||
from taskgraph.util.treeherder import join_symbol
|
||||
from taskgraph.util.verify import VerificationSequence
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
doc_base_path = os.path.join(GECKO, "taskcluster", "docs")
|
||||
|
|
Загрузка…
Ссылка в новой задаче