Bug 1522380: [win64-aarch64] Don't beetmove win64-aarch64 installers on release branches; r=nthomas
authorTom Prince <mozilla@hocat.ca>
Fri, 25 Jan 2019 16:07:31 +0000
changeset 515633 717d18b6def1cbff0cd07459675ff84efde251c5
parent 515632 b2a72b5a7d2e6ba66c619f96c4ec6e5d7f5b49c6
child 515634 c7319aa82972b04272719c172e83fdf6e61d9d5a
push id1953
push userffxbld-merge
push dateMon, 11 Mar 2019 12:10:20 +0000
treeherdermozilla-release@9c35dcbaa899 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnthomas
bugs1522380
milestone66.0
Bug 1522380: [win64-aarch64] Don't beetmove win64-aarch64 installers on release branches; r=nthomas These builds aren't ready for general availability, so we don't want to publish them. But we want to start building them now. Differential Revision: https://phabricator.services.mozilla.com/D17453
taskcluster/taskgraph/transforms/beetmover_repackage.py
--- a/taskcluster/taskgraph/transforms/beetmover_repackage.py
+++ b/taskcluster/taskgraph/transforms/beetmover_repackage.py
@@ -241,17 +241,19 @@ def make_task_description(config, jobs):
             'treeherder': treeherder,
             'shipping-phase': job['shipping-phase'],
             'shipping-product': job.get('shipping-product'),
         }
 
         yield task
 
 
-def generate_upstream_artifacts(job, dependencies, platform, locale=None, project=None):
+def generate_upstream_artifacts(
+    config, job, dependencies, platform, locale=None, project=None
+):
 
     build_mapping = UPSTREAM_ARTIFACT_UNSIGNED_PATHS
     build_signing_mapping = UPSTREAM_ARTIFACT_SIGNED_PATHS
     repackage_mapping = UPSTREAM_ARTIFACT_REPACKAGE_PATHS
     repackage_signing_mapping = UPSTREAM_ARTIFACT_SIGNED_REPACKAGE_PATHS
     msi_signing_mapping = UPSTREAM_ARTIFACT_SIGNED_MSI_PATHS
     mar_signing_mapping = UPSTREAM_ARTIFACT_SIGNED_MAR_PATHS
 
@@ -261,16 +263,22 @@ def generate_upstream_artifacts(job, dep
         platform = "{}-l10n".format(platform)
 
     upstream_artifacts = []
 
     for task_type, mapping in [
         ("build", build_mapping),
         ("signing", build_signing_mapping),
     ]:
+        # Bug 1522380: We want to build but not publish win64-aarch64 builds on release branches
+        if (
+            platform.startswith("win64-aarch64-nightly")
+            and config.params["release_type"] != "nightly"
+        ):
+            continue
         platform_was_previously_matched_by_regex = None
         for platform_regex, paths in mapping.iteritems():
             if platform_regex.match(platform) is not None:
                 _check_platform_matched_only_one_regex(
                     task_type, platform, platform_was_previously_matched_by_regex, platform_regex
                 )
                 platform_was_previously_matched_by_regex = platform_regex
                 if paths:
@@ -297,16 +305,24 @@ def generate_upstream_artifacts(job, dep
         ('repackage', 'repackage', repackage_mapping),
         ('repackage-signing', 'repackage', repackage_signing_mapping),
         ('repackage-signing-msi', 'repackage', msi_signing_mapping),
         ('mar-signing', 'signing', mar_signing_mapping),
     ]:
         if task_type not in dependencies:
             continue
 
+        # Bug 1522380: We want to build but not publish win64-aarch64 builds on release branches
+        if (
+            platform.startswith("win64-aarch64-nightly")
+            and config.params["release_type"] != "nightly"
+            and task_type != "mar-signing"
+        ):
+            continue
+
         paths = ["{}/{}".format(artifact_prefix, path) for path in paths]
         paths = [
             path for path in paths
             if path in dependencies[task_type].release_artifacts]
 
         if not paths:
             continue
 
@@ -351,17 +367,17 @@ least 2 regular expressions. First match
 
 @transforms.add
 def make_task_worker(config, jobs):
     for job in jobs:
         locale = job["attributes"].get("locale")
         platform = job["attributes"]["build_platform"]
 
         upstream_artifacts = generate_upstream_artifacts(
-            job, job['dependencies'], platform, locale,
+            config, job, job['dependencies'], platform, locale,
             project=config.params['project']
         )
 
         worker = {
             'implementation': 'beetmover',
             'release-properties': craft_release_properties(config, job),
             'upstream-artifacts': upstream_artifacts,
         }