forked from mirrors/gecko-dev
This patch was generated via: $ pyupgrade --py36-plus $(find taskcluster/taskgraph -name "*.py" -type f) $ autoflake --remove-all-unused-imports -i $(find taskcluster/taskgraph -name "*.py" -type f) The same set of commands are being applied to standalone taskgraph as well so they remain in sync. Differential Revision: https://phabricator.services.mozilla.com/D123234
74 lines
2.9 KiB
Python
74 lines
2.9 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 re
|
|
|
|
from taskgraph.util.scriptworker import generate_beetmover_upstream_artifacts
|
|
|
|
|
|
_ARTIFACT_ID_PER_PLATFORM = {
|
|
"android-aarch64-opt": "geckoview-default-arm64-v8a",
|
|
"android-arm-opt": "geckoview-default-armeabi-v7a",
|
|
"android-x86-opt": "geckoview-default-x86",
|
|
"android-x86_64-opt": "geckoview-default-x86_64",
|
|
"android-geckoview-fat-aar-opt": "geckoview-default",
|
|
"android-aarch64-shippable": "geckoview{update_channel}-omni-arm64-v8a",
|
|
"android-aarch64-shippable-lite": "geckoview{update_channel}-arm64-v8a",
|
|
"android-arm-shippable": "geckoview{update_channel}-omni-armeabi-v7a",
|
|
"android-arm-shippable-lite": "geckoview{update_channel}-armeabi-v7a",
|
|
"android-x86-shippable": "geckoview{update_channel}-omni-x86",
|
|
"android-x86-shippable-lite": "geckoview{update_channel}-x86",
|
|
"android-x86_64-shippable": "geckoview{update_channel}-omni-x86_64",
|
|
"android-x86_64-shippable-lite": "geckoview{update_channel}-x86_64",
|
|
"android-geckoview-fat-aar-shippable": "geckoview{update_channel}-omni",
|
|
"android-geckoview-fat-aar-shippable-lite": "geckoview{update_channel}",
|
|
}
|
|
|
|
|
|
def get_geckoview_upstream_artifacts(config, job, platform=""):
|
|
if not platform:
|
|
platform = job["attributes"]["build_platform"]
|
|
upstream_artifacts = generate_beetmover_upstream_artifacts(
|
|
config,
|
|
job,
|
|
platform="",
|
|
**get_geckoview_template_vars(
|
|
config, platform, job["attributes"].get("update-channel")
|
|
),
|
|
)
|
|
return [
|
|
{key: value for key, value in upstream_artifact.items() if key != "locale"}
|
|
for upstream_artifact in upstream_artifacts
|
|
]
|
|
|
|
|
|
def get_geckoview_template_vars(config, platform, update_channel):
|
|
version_groups = re.match(r"(\d+).(\d+).*", config.params["version"])
|
|
if version_groups:
|
|
major_version, minor_version = version_groups.groups()
|
|
|
|
return {
|
|
"artifact_id": get_geckoview_artifact_id(
|
|
config,
|
|
platform,
|
|
update_channel,
|
|
),
|
|
"build_date": config.params["moz_build_date"],
|
|
"major_version": major_version,
|
|
"minor_version": minor_version,
|
|
}
|
|
|
|
|
|
def get_geckoview_artifact_id(config, platform, update_channel=None):
|
|
if update_channel == "release":
|
|
update_channel = ""
|
|
elif update_channel is not None:
|
|
update_channel = f"-{update_channel}"
|
|
else:
|
|
# For shippable builds, mozharness defaults to using
|
|
# "nightly-{project}" for the update channel. For other builds, the
|
|
# update channel is not set, but the value is not substituted.
|
|
update_channel = "-nightly-{}".format(config.params["project"])
|
|
return _ARTIFACT_ID_PER_PLATFORM[platform].format(update_channel=update_channel)
|