Bug 1381577 - Part AA; Enable windows beetmover for en-US and l10n, side affect of enabling balrog for windows nightlies. r=kmoir
Land date changes to support windows nightlies onto central
MozReview-Commit-ID: CHUMWUxbyqt
--- a/taskcluster/ci/beetmover-repackage/kind.yml
+++ b/taskcluster/ci/beetmover-repackage/kind.yml
@@ -9,8 +9,10 @@ transforms:
- taskgraph.transforms.beetmover_repackage:transforms
- taskgraph.transforms.task:transforms
kind-dependencies:
- repackage-signing
only-for-build-platforms:
- macosx64-nightly/opt
+ - win32-nightly/opt
+ - win64-nightly/opt
--- a/taskcluster/taskgraph/transforms/beetmover.py
+++ b/taskcluster/taskgraph/transforms/beetmover.py
@@ -152,26 +152,35 @@ UPSTREAM_ARTIFACT_UNSIGNED_PATHS = {
'android-aarch64-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'android-api-15-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'android-x86-old-id-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'android-api-15-old-id-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'macosx64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
"host/bin/mar",
"host/bin/mbsdiff",
],
-
+ 'win32-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
+ "host/bin/mar.exe",
+ "host/bin/mbsdiff.exe",
+ ],
+ 'win64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
+ "host/bin/mar.exe",
+ "host/bin/mbsdiff.exe",
+ ],
'linux64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
'linux-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
'android-x86-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
'android-x86-old-id-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
'android-aarch64-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
'android-api-15-nightly-l10n': ["balrog_props.json"],
'android-api-15-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
'android-api-15-old-id-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
'macosx64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
+ 'win32-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
+ 'win64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
}
# Until bug 1331141 is fixed, if you are adding any new artifacts here that
# need to be transfered to S3, please be aware you also need to follow-up
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
UPSTREAM_ARTIFACT_SIGNED_PATHS = {
'linux64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [
"target.tar.bz2",
@@ -193,17 +202,22 @@ UPSTREAM_ARTIFACT_SIGNED_PATHS = {
'android-aarch64-nightly': ["en-US/target.apk"],
'android-api-15-nightly': ["en-US/target.apk"],
'android-x86-old-id-nightly': ["en-US/target.apk"],
'android-api-15-old-id-nightly': ["en-US/target.apk"],
'macosx64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [
"target.dmg",
"target.dmg.asc",
],
-
+ 'win32-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [
+ "target.zip",
+ ],
+ 'win64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [
+ "target.zip",
+ ],
'linux64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_L10N + [
"target.tar.bz2",
"target.tar.bz2.asc",
],
'linux-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_L10N + [
"target.tar.bz2",
"target.tar.bz2.asc",
],
@@ -212,16 +226,22 @@ UPSTREAM_ARTIFACT_SIGNED_PATHS = {
'android-aarch64-nightly-multi': ["target.apk"],
'android-api-15-nightly-l10n': ["target.apk"],
'android-api-15-nightly-multi': ["target.apk"],
'android-api-15-old-id-nightly-multi': ["target.apk"],
'macosx64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_L10N + [
"target.dmg",
"target.dmg.asc",
],
+ 'win32-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_L10N + [
+ "target.zip",
+ ],
+ 'win64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_L10N + [
+ "target.zip",
+ ],
}
# Voluptuous uses marker objects as dictionary *keys*, but they are not
# comparable, so we cast all of the keys back to regular strings
task_description_schema = {str(k): v for k, v in task_description_schema.schema.iteritems()}
transforms = TransformSequence()
--- a/taskcluster/taskgraph/transforms/beetmover_repackage.py
+++ b/taskcluster/taskgraph/transforms/beetmover_repackage.py
@@ -13,16 +13,22 @@ from taskgraph.util.schema import valida
from taskgraph.util.scriptworker import (get_beetmover_bucket_scope,
get_beetmover_action_scope)
from taskgraph.transforms.task import task_description_schema
from voluptuous import Any, Required, Optional
import logging
logger = logging.getLogger(__name__)
+
+_WINDOWS_BUILD_PLATFORMS = [
+ 'win64-nightly',
+ 'win32-nightly'
+]
+
# Until bug 1331141 is fixed, if you are adding any new artifacts here that
# need to be transfered to S3, please be aware you also need to follow-up
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
_DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US = [
"balrog_props.json",
"target.common.tests.zip",
"target.cppunittest.tests.zip",
@@ -57,38 +63,66 @@ logger = logging.getLogger(__name__)
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
UPSTREAM_ARTIFACT_UNSIGNED_PATHS = {
'macosx64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
"host/bin/mar",
"host/bin/mbsdiff",
],
'macosx64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
+ 'win64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
+ "host/bin/mar.exe",
+ "host/bin/mbsdiff.exe",
+ ],
+ 'win64-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
+ 'win32-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
+ "host/bin/mar.exe",
+ "host/bin/mbsdiff.exe",
+ ],
+ 'win32-nightly-l10n': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_L10N,
}
+
# Until bug 1331141 is fixed, if you are adding any new artifacts here that
# need to be transfered to S3, please be aware you also need to follow-up
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
UPSTREAM_ARTIFACT_SIGNED_PATHS = {
+ 'win64-nightly': ['target.zip'],
+ 'win64-nightly-l10n': ['target.zip'],
+ 'win32-nightly': ['target.zip'],
+ 'win32-nightly-l10n': ['target.zip'],
}
+
# Until bug 1331141 is fixed, if you are adding any new artifacts here that
# need to be transfered to S3, please be aware you also need to follow-up
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
UPSTREAM_ARTIFACT_REPACKAGE_PATHS = {
'macosx64-nightly': ['target.dmg'],
'macosx64-nightly-l10n': ['target.dmg'],
}
# Until bug 1331141 is fixed, if you are adding any new artifacts here that
# need to be transfered to S3, please be aware you also need to follow-up
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
UPSTREAM_ARTIFACT_SIGNED_REPACKAGE_PATHS = {
'macosx64-nightly': ['target.complete.mar'],
'macosx64-nightly-l10n': ['target.complete.mar'],
+ 'win64-nightly': ['target.complete.mar', 'target.installer.exe'],
+ 'win64-nightly-l10n': ['target.complete.mar', 'target.installer.exe'],
+ 'win32-nightly': [
+ 'target.complete.mar',
+ 'target.installer.exe',
+ 'target.stub-installer.exe'
+ ],
+ 'win32-nightly-l10n': [
+ 'target.complete.mar',
+ 'target.installer.exe',
+ 'target.stub-installer.exe'
+ ],
}
# Voluptuous uses marker objects as dictionary *keys*, but they are not
# comparable, so we cast all of the keys back to regular strings
task_description_schema = {str(k): v for k, v in task_description_schema.schema.iteritems()}
transforms = TransformSequence()
@@ -238,17 +272,22 @@ def generate_upstream_artifacts(build_ta
"locale": locale or "en-US",
})
return upstream_artifacts
def is_valid_beetmover_job(job):
# windows builds don't have docker-image, so fewer dependencies
- return (len(job["dependencies"]) == 5 and
+ if any(b in job['attributes']['build_platform'] for b in _WINDOWS_BUILD_PLATFORMS):
+ expected_dep_count = 4
+ else:
+ expected_dep_count = 5
+
+ return (len(job["dependencies"]) == expected_dep_count and
any(['repackage' in j for j in job['dependencies']]))
@transforms.add
def make_task_worker(config, jobs):
for job in jobs:
if not is_valid_beetmover_job(job):
raise NotImplementedError("Beetmover_repackage must have five dependencies.")
--- a/taskcluster/taskgraph/util/scriptworker.py
+++ b/taskcluster/taskgraph/util/scriptworker.py
@@ -94,16 +94,17 @@ BEETMOVER_RELEASE_TARGET_TASKS = set([
This is a list of list-pairs, for ordering.
"""
BEETMOVER_SCOPE_ALIAS_TO_TARGET_TASK = [[
'all-nightly-tasks', set([
'nightly_fennec',
'nightly_linux',
'nightly_macosx',
+ 'nightly_win',
'mozilla_beta_tasks',
'mozilla_release_tasks',
])
], [
'all-release-tasks', BEETMOVER_RELEASE_TARGET_TASKS
]]
"""Map the beetmover scope aliases to the actual scopes.