2017-11-02 20:37:20 +03:00
|
|
|
# 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/.
|
|
|
|
|
2022-09-13 17:47:57 +03:00
|
|
|
from taskgraph.util.schema import Schema, optionally_keyed_by
|
2022-12-16 14:14:02 +03:00
|
|
|
from voluptuous import Any, Optional, Required
|
2018-05-03 04:28:43 +03:00
|
|
|
|
2017-11-02 20:37:20 +03:00
|
|
|
graph_config_schema = Schema(
|
|
|
|
{
|
2017-11-10 03:15:29 +03:00
|
|
|
# The trust-domain for this graph.
|
|
|
|
# (See https://firefox-source-docs.mozilla.org/taskcluster/taskcluster/taskgraph.html#taskgraph-trust-domain) # noqa
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("trust-domain"): str,
|
2018-04-11 20:08:48 +03:00
|
|
|
# This specifes the prefix for repo parameters that refer to the project being built.
|
|
|
|
# This selects between `head_rev` and `comm_head_rev` and related paramters.
|
|
|
|
# (See http://firefox-source-docs.mozilla.org/taskcluster/taskcluster/parameters.html#push-information # noqa
|
|
|
|
# and http://firefox-source-docs.mozilla.org/taskcluster/taskcluster/parameters.html#comm-push-information) # noqa
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("project-repo-param-prefix"): str,
|
2018-09-29 23:53:10 +03:00
|
|
|
# This specifies the top level directory of the application being built.
|
|
|
|
# ie. "browser/" for Firefox, "comm/mail/" for Thunderbird.
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("product-dir"): str,
|
2019-03-19 22:13:56 +03:00
|
|
|
Required("treeherder"): {
|
2020-01-21 20:12:08 +03:00
|
|
|
# Mapping of treeherder group symbols to descriptive names
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("group-names"): {str: str}
|
Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 23:40:42 +03:00
|
|
|
},
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("index"): {Required("products"): [str]},
|
2018-12-27 12:30:52 +03:00
|
|
|
Required("try"): {
|
2020-01-21 20:12:08 +03:00
|
|
|
# We have a few platforms for which we want to do some "extra" builds, or at
|
|
|
|
# least build-ish things. Sort of. Anyway, these other things are implemented
|
|
|
|
# as different "platforms". These do *not* automatically ride along with "-p
|
2019-03-07 07:20:36 +03:00
|
|
|
# all"
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("ridealong-builds"): {str: [str]},
|
2020-10-26 21:34:53 +03:00
|
|
|
},
|
2018-05-30 10:16:41 +03:00
|
|
|
Required("release-promotion"): {
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("products"): [str],
|
2018-05-30 10:16:41 +03:00
|
|
|
Required("flavors"): {
|
2021-08-24 22:35:46 +03:00
|
|
|
str: {
|
|
|
|
Required("product"): str,
|
|
|
|
Required("target-tasks-method"): str,
|
2019-03-07 07:20:36 +03:00
|
|
|
Optional("is-rc"): bool,
|
2021-08-24 22:35:46 +03:00
|
|
|
Optional("rebuild-kinds"): [str],
|
2019-03-07 07:20:36 +03:00
|
|
|
Optional("version-bump"): bool,
|
|
|
|
Optional("partial-updates"): bool,
|
2020-10-26 21:34:53 +03:00
|
|
|
}
|
Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-22 00:27:27 +03:00
|
|
|
},
|
2020-10-26 21:34:53 +03:00
|
|
|
},
|
Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-22 00:27:27 +03:00
|
|
|
Required("merge-automation"): {
|
|
|
|
Required("behaviors"): {
|
2021-08-24 22:35:46 +03:00
|
|
|
str: {
|
|
|
|
Optional("from-branch"): str,
|
|
|
|
Required("to-branch"): str,
|
|
|
|
Optional("from-repo"): str,
|
|
|
|
Required("to-repo"): str,
|
2020-03-31 17:25:25 +03:00
|
|
|
Required("version-files"): [
|
2020-10-26 21:34:53 +03:00
|
|
|
{
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("filename"): str,
|
|
|
|
Optional("new-suffix"): str,
|
Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 23:40:42 +03:00
|
|
|
Optional("version-bump"): Any("major", "minor"),
|
2020-10-26 21:34:53 +03:00
|
|
|
}
|
|
|
|
],
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("replacements"): [[str]],
|
Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 23:40:42 +03:00
|
|
|
Required("merge-old-head"): bool,
|
2021-08-24 22:35:46 +03:00
|
|
|
Optional("base-tag"): str,
|
|
|
|
Optional("end-tag"): str,
|
|
|
|
Optional("fetch-version-from"): str,
|
2020-10-26 21:34:53 +03:00
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
2018-04-19 18:21:30 +03:00
|
|
|
Required("scriptworker"): {
|
2019-03-19 22:13:56 +03:00
|
|
|
# Prefix to add to scopes controlling scriptworkers
|
2021-08-24 22:35:46 +03:00
|
|
|
Required("scope-prefix"): str,
|
2020-10-26 21:34:53 +03:00
|
|
|
},
|
2019-03-07 07:20:36 +03:00
|
|
|
Required("task-priority"): optionally_keyed_by(
|
2020-10-26 21:34:53 +03:00
|
|
|
"project",
|
2020-03-31 17:25:25 +03:00
|
|
|
Any(
|
2020-10-26 21:34:53 +03:00
|
|
|
"highest",
|
|
|
|
"very-high",
|
|
|
|
"high",
|
|
|
|
"medium",
|
|
|
|
"low",
|
|
|
|
"very-low",
|
|
|
|
"lowest",
|
|
|
|
),
|
|
|
|
),
|
2018-12-27 12:30:52 +03:00
|
|
|
Required("partner-urls"): {
|
2019-03-07 07:20:36 +03:00
|
|
|
Required("release-partner-repack"): optionally_keyed_by(
|
2021-08-24 22:35:46 +03:00
|
|
|
"release-product", "release-level", "release-type", Any(str, None)
|
2020-10-26 21:34:53 +03:00
|
|
|
),
|
2020-03-31 17:25:25 +03:00
|
|
|
Optional("release-partner-attribution"): optionally_keyed_by(
|
2021-08-24 22:35:46 +03:00
|
|
|
"release-product", "release-level", "release-type", Any(str, None)
|
2020-10-26 21:34:53 +03:00
|
|
|
),
|
2020-03-31 17:25:25 +03:00
|
|
|
Required("release-eme-free-repack"): optionally_keyed_by(
|
2021-08-24 22:35:46 +03:00
|
|
|
"release-product", "release-level", "release-type", Any(str, None)
|
2020-10-26 21:34:53 +03:00
|
|
|
),
|
|
|
|
},
|
2018-05-30 10:16:41 +03:00
|
|
|
Required("workers"): {
|
2019-03-19 22:13:56 +03:00
|
|
|
Required("aliases"): {
|
2021-08-24 22:35:46 +03:00
|
|
|
str: {
|
|
|
|
Required("provisioner"): optionally_keyed_by("level", str),
|
|
|
|
Required("implementation"): str,
|
|
|
|
Required("os"): str,
|
2020-04-03 13:36:42 +03:00
|
|
|
Required("worker-type"): optionally_keyed_by(
|
2022-08-26 19:30:09 +03:00
|
|
|
"level", "release-level", "project", str
|
2020-04-03 13:36:42 +03:00
|
|
|
),
|
|
|
|
}
|
2020-02-25 13:48:54 +03:00
|
|
|
},
|
2020-10-24 03:36:18 +03:00
|
|
|
},
|
2018-01-09 20:44:04 +03:00
|
|
|
Required("mac-notarization"): {
|
2019-03-07 07:20:36 +03:00
|
|
|
Required("mac-behavior"): optionally_keyed_by(
|
|
|
|
"project",
|
2020-10-26 21:34:53 +03:00
|
|
|
"shippable",
|
2019-03-07 07:20:36 +03:00
|
|
|
Any("mac_notarize", "mac_geckodriver", "mac_sign", "mac_sign_and_pkg"),
|
2020-10-24 03:36:18 +03:00
|
|
|
),
|
2019-03-07 07:20:36 +03:00
|
|
|
Required("mac-entitlements"): optionally_keyed_by(
|
2021-08-24 22:35:46 +03:00
|
|
|
"platform", "release-level", str
|
2019-03-07 07:20:36 +03:00
|
|
|
),
|
2022-01-17 18:36:38 +03:00
|
|
|
Required("mac-requirements"): optionally_keyed_by("platform", str),
|
2020-10-24 03:36:18 +03:00
|
|
|
},
|
2019-03-19 22:13:56 +03:00
|
|
|
Required("taskgraph"): {
|
2020-01-23 20:09:41 +03:00
|
|
|
Optional(
|
|
|
|
"register",
|
2019-03-19 22:13:56 +03:00
|
|
|
description="Python function to call to register extensions.",
|
2021-08-24 22:35:46 +03:00
|
|
|
): str,
|
|
|
|
Optional("decision-parameters"): str,
|
2019-03-19 22:13:56 +03:00
|
|
|
},
|
2022-09-01 01:56:10 +03:00
|
|
|
Required("expiration-policy"): optionally_keyed_by("project", {str: str}),
|
2019-03-19 22:13:56 +03:00
|
|
|
}
|
2020-01-23 20:09:41 +03:00
|
|
|
)
|