Name Description Size 0 Determine whether the given set of task attributes matches. The conditions are given as keyword arguments, where each keyword names an attribute. The keyword value can be a literal, a set, or a callable. A literal must match the attribute exactly. Given a set, the attribute value must be in the set. A callable is called with the attribute value. If an attribute is specified as a keyword argument but not present in the attributes, the result is False. 4654 Determines whether the given parameters represent a backstop push. Args: push_interval (int): Number of pushes time_interval (int): Minutes between forced schedules. Use 0 to disable. trust_domain (str): "gecko" for Firefox, "comm" for Thunderbird integration_projects (set): project that uses backstop optimization Returns: bool: True if this is a backstop, otherwise False. 2830 3118 Allow the results of this task to be cached. This adds index routes to the task so it can be looked up for future runs, and optimization hints so that cached artifacts can be found. Exactly one of `digest` and `digest_data` must be passed. :param TransformConfig config: The configuration for the kind being transformed. :param dict taskdesc: The description of the current task. :param str cache_type: The type of task result being cached. :param str cache_name: The name of the object being cached. :param digest: A unique string indentifying this version of the artifacts being generated. Typically this will be the hash of inputs to the task. :type digest: bytes or None :param digest_data: A list of bytes representing the inputs of this task. They will be concatenated and hashed to create the digest for this task. :type digest_data: list of bytes or None 3188 Utility functions to handle test chunking. 9272 2983 POSTs a tar file to a given docker API path. The tar argument can be anything that can be passed to as data (e.g. iterator or file object). The extra keyword arguments are passed as arguments to the docker API. 11554 Hash a single file. Returns the SHA-256 hash in hex form. 1596 Given the parameters for this action and a revision, find the pushlog_id of the revision. 4205 For values which can either accept a literal value, or be keyed by some attributes, perform that lookup and return the result. For example, given item:: by-test-platform: macosx-10.11/debug: 13 win.*: 6 default: 12 a call to `evaluate_keyed_by(item, 'thing-name', {'test-platform': 'linux96')` would return `12`. Items can be nested as deeply as desired:: by-test-platform: win.*: by-project: ash: .. cedar: .. linux: 13 default: 12 Args: value (str): Name of the value to perform evaluation on. item_name (str): Used to generate useful error messages. attributes (dict): Dictionary of attributes used to lookup 'by-<key>' with. defer (list): Allows evaluating a by-* entry at a later time. In the example above it's possible that the project attribute hasn't been set yet, in which case we'd want to stop before resolving that subkey and then call this function again later. This can be accomplished by setting `defer=["project"]` in this example. enforce_single_match (bool): If True (default), each task may only match a single arm of the evaluation. 3419 Resolve all instances of `{'relative-datestamp': '..'}` in the given task definition 3188 Convert build platform names into balrog platform names. Remove known values instead to catch aarch64 and other platforms that may be added. 10609 LOGIN_QUERY, MANIFEST_QUERY, and REPACK_CFG_QUERY are all written to the Github v4 API, which users GraphQL. See 19547 3605 Given a build platform, return the platform family (linux, macosx, etc.) 1674 Find a Python object given a path of the form <modulepath>:<objectpath>. Conceptually equivalent to def find_object(modulepath, objectpath): import <modulepath> as mod return mod.<objectpath> 1577 Validate that object satisfies schema. If not, generate a useful exception beginning with msg_prefix. 7718 Make scriptworker.cot.verify more user friendly by making scopes dynamic. Scriptworker uses certain scopes to determine which sets of credentials to use. Certain scopes are restricted by branch in chain of trust verification, and are checked again at the script level. This file provides functions to adjust these scopes automatically by project; this makes pushing to try, forking a project branch, and merge day uplifts more user friendly. In the future, we may adjust scopes by other settings as well, e.g. different scopes for `push-to-candidates` rather than `push-to-releases`, even if both happen on mozilla-beta and mozilla-release. Additional configuration is found in the :ref:`graph config <taskgraph-graph-config>`. 26883 Defines artifacts to sign before repackage. 6765 Get the current TASKCLUSTER_ROOT_URL. When running in a task, this must come from $TASKCLUSTER_ROOT_URL; when run on the command line, we apply a defualt that points to the production deployment of Taskcluster. If use_proxy is set, this attempts to get TASKCLUSTER_PROXY_URL instead, failing if it is not set. 13184 Tools for interacting with existing taskgraphs. 1705 Merge dict and arrays (override scalar values) Keys from source override keys from dest, and elements from lists in source are appended to lists in dest. :param dict source: to copy from :param dict dest: to copy to (modified in place) 1668 Convert a string to a json date in the future :param str input_str: (ex: 1d, 2d, 6years, 2 seconds) :returns: Unit given in seconds 3490 Split a symbol expressed as grp(sym) into its two parts. If no group is given, the returned group is '?' 2138 Container for a sequence of verifications over a TaskGraph. Each verification is represented as a callable taking (task, taskgraph, scratch_pad), called for each task in the taskgraph, and one more time with no task but with the taskgraph and the same scratch_pad that was passed for each task. 17123 Get the configuration for this worker_type alias: {provisioner, worker-type, implementation, os} 3284 Parse the first YAML document in a stream and produce the corresponding Python object. 990