Example #1
0
def register(graph_config):
    """
    Import all modules that are siblings of this one, triggering decorators in
    the process.
    """
    _import_modules(["job", "target_tasks", "worker_types"])
    extend_parameters_schema({
        Required("release_type", default=None): Any(text_type, None),
    })
Example #2
0
def register(graph_config):
    """
    Import all modules that are siblings of this one, triggering decorators in
    the process.
    """
    _import_modules(["job", "worker_types", "target_tasks"])
    extend_parameters_schema({
        Required("head_tag"): basestring,
    })
Example #3
0
def register(graph_config):
    """
    Import all modules that are siblings of this one, triggering decorators in
    the process.
    """
    _import_modules(["job", "worker_types", "routes", "target_tasks"])
    extend_parameters_schema({
        Required("head_tag"): text_type,
        Required("pull_request_number"): Any(All(int, Range(min=1)), None),
        Required("release_type"): text_type,
        Required("release_version"): text_type,
    })
Example #4
0
import os
import re

from six import text_type
from taskgraph.parameters import extend_parameters_schema
from voluptuous import All, Any, Optional, Range, Required

BETA_SEMVER = re.compile(r'^v\d+\.\d+\.\d+-beta\.\d+$')
RELEASE_SEMVER = re.compile(r'^v\d+\.\d+\.\d+(-rc\.\d+)?$')

extend_parameters_schema({
    Required("pull_request_number"):
    Any(All(int, Range(min=1)), None),
    Required("release_type"):
    text_type,
    Optional("shipping_phase"):
    Any('build', 'ship', None),
    Required("version"):
    text_type,
})


def get_decision_parameters(graph_config, parameters):
    head_tag = parameters["head_tag"].decode("utf-8")
    parameters["release_type"] = resolve_release_type(head_tag)
    parameters["version"] = head_tag[1:] if head_tag else ""

    pr_number = os.environ.get("MOBILE_PULL_REQUEST_NUMBER", None)
    parameters["pull_request_number"] = None if pr_number is None else int(
        pr_number)
Example #5
0
from __future__ import absolute_import, print_function, unicode_literals

from taskgraph.parameters import extend_parameters_schema
from voluptuous import (
    Any,
    Optional,
)

DEPLOYMENT_BRANCHES = ("dev", "production")

shipit_schema = {
    Optional("deployment_branch"): Any(basestring, None),
    Optional("deploy"): Any(True, False, None),
}

extend_parameters_schema(shipit_schema)


def get_decision_parameters(graph_config, parameters):
    """Add repo-specific decision parameters.
    """
    if parameters["tasks_for"] == "github-pull-request":
        parameters["deployment_branch"] = "github-pull-request"
    elif parameters["head_ref"].startswith("refs/heads/"):
        parameters["deployment_branch"] = parameters["head_ref"].replace(
            "refs/heads/", "")
        if parameters[
                "deployment_branch"] in DEPLOYMENT_BRANCHES and parameters[
                    "level"] == "3":
            parameters["deploy"] = True
Example #6
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/.

from taskgraph.parameters import extend_parameters_schema
from voluptuous import Any, Optional, Required

# Please keep this list sorted
xpi_schema = {
    Optional("additional_shipit_emails"): Any([str], None),
    Optional("shipping_phase"): Any("build", "promote", "ship", None),
    Optional("xpi_name"): Any(str, None),
    Optional("xpi_revision"): Any(str, None),
}

extend_parameters_schema(xpi_schema)
Example #7
0
# -*- coding: utf-8 -*-

# 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/.

from __future__ import absolute_import, print_function, unicode_literals

from taskgraph.parameters import extend_parameters_schema
from voluptuous import (
    Any,
    Optional,
    Required,
)

# Please keep this list sorted and in sync with taskcluster/docs/parameters.rst
adhoc_schema = {
    Optional('shipping_phase'): Any("build", "promote", None),
    Optional('adhoc_name'): Any(basestring, None),
    Optional('adhoc_revision'): Any(basestring, None),
}

extend_parameters_schema(adhoc_schema)
Example #8
0
from __future__ import absolute_import, print_function, unicode_literals

import os

from importlib import import_module
from mozilla_version.maven import MavenVersion
from taskgraph.parameters import extend_parameters_schema
from voluptuous import All, Any, Range, Required

from .build_config import get_components, get_version

extend_parameters_schema({
    Required("pull_request_number"):
    Any(All(int, Range(min=1)), None),
    Required("base_rev"):
    Any(basestring, None),
    Required("next_version"):
    Any(basestring, None),
    Required("version"):
    basestring,
})


def register(graph_config):
    """
    Import all modules that are siblings of this one, triggering decorators in
    the process.
    """
    _import_modules(
        ["job", "routes", "target_tasks", "worker_types", "release_promotion"])

# 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.parameters import extend_parameters_schema
from voluptuous import All, Any, Range, Required

extend_parameters_schema(
    {
        Required("pull_request_number"): Any(All(int, Range(min=1)), None),
        Required("version"): str,
    }
)


def get_decision_parameters(graph_config, parameters):
    head_tag = parameters["head_tag"]
    parameters["version"] = head_tag[1:] if head_tag else ""

    pr_number = os.environ.get("MOZILLAVPN_PULL_REQUEST_NUMBER", None)
    parameters["pull_request_number"] = None if pr_number is None else int(pr_number)
Example #10
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 os

from taskgraph.parameters import extend_parameters_schema
from voluptuous import All, Any, Optional, Range, Required

extend_parameters_schema({
    Required("pull_request_number"):
    Any(All(int, Range(min=1)), None),
    Required("release_type", default=""):
    str,
    Optional("shipping_phase"):
    Any("build", "ship", None),
    Required("version", default=""):
    str,
    Required("next_version", default=""):
    Any(None, str),
})


def get_decision_parameters(graph_config, parameters):
    parameters.setdefault("release_type", "")
    head_tag = parameters["head_tag"]
    parameters["version"] = head_tag[1:] if head_tag else ""

    pr_number = os.environ.get("MOBILE_PULL_REQUEST_NUMBER", None)
    parameters["pull_request_number"] = None if pr_number is None else int(
        pr_number)
PROJECT_SPECIFIC_PREFIXES = {
    "refs/heads/dev-": "dev",
    "refs/heads/production-": "production",
}

PUSH_TAGS = ("dev", "production")

scriptworker_schema = {
    Optional('docker_tag'): Any(basestring, None),
    Optional('push_docker_image'): Any(True, False, None),
    Optional('script_name'): Any(basestring, None),
    Optional('script_revision'): Any(basestring, None),
    Optional('shipping_phase'): Any("build", "promote", None),
}

extend_parameters_schema(scriptworker_schema)


def get_decision_parameters(graph_config, parameters):
    """Add repo-specific decision parameters.

    If we're on a production- or dev- branch, detect and set the `script_name`.

    """
    if parameters["tasks_for"] == "github-pull-request":
        parameters["docker_tag"] = "github-pull-request"
    elif parameters["head_ref"].startswith("refs/heads/"):
        parameters["docker_tag"] = parameters["head_ref"].replace(
            "refs/heads/", "")
        for prefix, tag in PROJECT_SPECIFIC_PREFIXES.items():
            if parameters["head_ref"].startswith(prefix):