Bug 1352113 - Shippable Builds - Switch l10n jobs to be based on shippable builds. r=aki
☠☠ backed out by aea38cfc632a ☠ ☠
authorJustin Wood <Callek@gmail.com>
Tue, 26 Mar 2019 01:36:37 +0000
changeset 466148 694eac65a72e135feffe27ad9bc1fb51b9a244ef
parent 466147 6044aedac9c4ea5e3c04cdec5dfefa9ee14d374a
child 466149 b31cbe91bdf78a50a13d897356a8004b632b5fb9
push id35762
push usercsabou@mozilla.com
push dateWed, 27 Mar 2019 04:44:00 +0000
treeherdermozilla-central@bc572aee49b6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki
bugs1352113
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1352113 - Shippable Builds - Switch l10n jobs to be based on shippable builds. r=aki Differential Revision: https://phabricator.services.mozilla.com/D23123
taskcluster/ci/l10n/kind.yml
taskcluster/ci/repackage-signing/kind.yml
taskcluster/ci/repackage/kind.yml
taskcluster/taskgraph/transforms/l10n.py
--- a/taskcluster/ci/l10n/kind.yml
+++ b/taskcluster/ci/l10n/kind.yml
@@ -16,22 +16,22 @@ kind-dependencies:
     - build
     - build-signing
     - repackage
     - toolchain
 
 primary-dependency: build
 
 only-for-build-platforms:
-    - linux64-pgo/opt
-    - linux/opt
     - android-api-16/opt
-    - macosx64/opt
-    - win32-pgo/opt
-    - win64-pgo/opt
+    - linux64-shippable/opt
+    - linux-shippable/opt
+    - macosx64-shippable/opt
+    - win32-shippable/opt
+    - win64-shippable/opt
 
 job-template:
     description:
         by-build-platform:
             default: Localization
             android-api-16: Single Locale Repack
     locales-file:
         by-build-platform:
@@ -50,17 +50,17 @@ job-template:
             default: null
     secrets:
         by-build-platform:
             default: false
             android-api-16: true
     toolchains:
         by-build-platform:
             default: []
-            macosx64:
+            macosx64.*:
                 - linux64-libdmg
                 - linux64-hfsplus
             android-api-16:
                 - android-gradle-dependencies
                 - android-sdk-linux
     tooltool:
         by-build-platform:
             default: internal
@@ -68,19 +68,19 @@ job-template:
     index:
         type: l10n
         product:
             by-build-platform:
                 default: firefox
                 android-api-16: mobile
         job-name:
             by-build-platform:
-                linux: linux-opt
+                linux(?!64).*: linux-opt
                 linux64.*: linux64-opt
-                macosx64: macosx64-opt
+                macosx64.*: macosx64-opt
                 win32.*: win32-opt
                 win64.*: win64-opt
                 android-api-16: android-api-16-opt
     run-on-projects: ['all']
     worker-type:
         by-build-platform:
             default: aws-provisioner-v1/gecko-{level}-b-linux
             android-api-16: aws-provisioner-v1/gecko-{level}-b-android
@@ -90,55 +90,60 @@ job-template:
         tier:
             by-build-platform:
                 default: 1
                 android-api-16: 2
         platform:
             by-build-platform:
                 linux64: linux64/opt
                 linux64-pgo: linux64-pgo/opt
+                linux64-shippable: linux64-shippable/opt
                 linux: linux32/opt
+                linux-shippable: linux32-shippable/opt
                 macosx64: osx-cross/opt
+                macosx64-shippable: osx-shippable/opt
                 win32: windows2012-32/opt
                 win32-pgo: windows2012-32-pgo/opt
+                win32-shippable: windows2012-32-shippable/opt
                 win64: windows2012-64/opt
                 win64-pgo: windows2012-64-pgo/opt
+                win64-shippable: windows2012-64-shippable/opt
                 android-api-16: android-4-0-armv7-api16/opt
     env:
         by-build-platform:
             linux.*:    # linux64 and 32 get same treatment here
                 EN_US_PACKAGE_NAME: target.tar.bz2
                 EN_US_BINARY_URL:
                     artifact-reference: <build-signing/{artifact_prefix}>
-            macosx64:
+            macosx64.*:
                 EN_US_PACKAGE_NAME: target.dmg
                 EN_US_BINARY_URL:
                     artifact-reference: <repackage/{artifact_prefix}>
             win.*:
                 EN_US_PACKAGE_NAME: target.zip
                 EN_US_BINARY_URL:
                     artifact-reference: <build-signing/{artifact_prefix}>
             android-api-16:
                 EN_US_PACKAGE_NAME: target.apk
                 EN_US_BINARY_URL:
                     artifact-reference: <build/{artifact_prefix}>
     mozharness:
         config:
             by-build-platform:
-                linux:
+                linux(?!64).*:
                     - single_locale/firefox.py
                     - single_locale/linux32.py
                     - single_locale/tc_common.py
                     - single_locale/tc_linux_common.py
                 linux64.*:
                     - single_locale/firefox.py
                     - single_locale/linux64.py
                     - single_locale/tc_common.py
                     - single_locale/tc_linux_common.py
-                macosx64:
+                macosx64.*:
                     - single_locale/firefox.py
                     - single_locale/macosx64.py
                     - single_locale/tc_common.py
                     - single_locale/tc_macosx64.py
                 win32.*:
                     - single_locale/firefox.py
                     - single_locale/win32.py
                     - single_locale/tc_common.py
--- a/taskcluster/ci/repackage-signing/kind.yml
+++ b/taskcluster/ci/repackage-signing/kind.yml
@@ -12,14 +12,17 @@ transforms:
 
 kind-dependencies:
    - repackage
 
 only-for-build-platforms:
    - win32-nightly/opt
    - win32-devedition-nightly/opt
    - win32-pgo/opt
+   - win32-shippable/opt
    - win64-nightly/opt
    - win64-devedition-nightly/opt
    - win64-pgo/opt
+   - win64-shippable/opt
    - win64-aarch64-nightly/opt
+   - win64-aarch64-shippable/opt
    - win64-aarch64-devedition-nightly/opt
    - win64-asan-reporter-nightly/opt
--- a/taskcluster/ci/repackage/kind.yml
+++ b/taskcluster/ci/repackage/kind.yml
@@ -12,33 +12,39 @@ transforms:
     - taskgraph.transforms.job:transforms
     - taskgraph.transforms.task:transforms
 
 kind-dependencies:
     - build-signing
     - toolchain
 
 only-for-build-platforms:
+    - linux-shippable/opt
     - linux-nightly/opt
     - linux-devedition-nightly/opt
     - linux/opt
+    - linux64-shippable/opt
     - linux64-nightly/opt
     - linux64-devedition-nightly/opt
     - linux64-asan-reporter-nightly/opt
     - linux64/opt
     - linux64-pgo/opt
+    - macosx64-shippable/opt
     - macosx64-nightly/opt
     - macosx64-devedition-nightly/opt
     - macosx64/opt
+    - win32-shippable/opt
     - win32-nightly/opt
     - win32-devedition-nightly/opt
     - win32/opt
     - win32-pgo/opt
+    - win64-shippable/opt
     - win64-nightly/opt
     - win64-devedition-nightly/opt
+    - win64-aarch64-shippable/opt
     - win64-aarch64-nightly/opt
     - win64-aarch64-devedition-nightly/opt
     - win64/opt
     - win64-pgo/opt
     - win64-asan-reporter-nightly/opt
 
 job-template:
     mozharness:
--- a/taskcluster/taskgraph/transforms/l10n.py
+++ b/taskcluster/taskgraph/transforms/l10n.py
@@ -272,17 +272,18 @@ def handle_artifact_prefix(config, jobs)
                         artifact_prefix=artifact_prefix
                     )
         yield job
 
 
 @transforms.add
 def all_locales_attribute(config, jobs):
     for job in jobs:
-        locales_platform = job['attributes']['build_platform'].replace("-nightly", "")
+        locales_platform = job['attributes']['build_platform'].replace("-shippable", "")
+        locales_platform = locales_platform.replace("-nightly", "")
         locales_platform = locales_platform.replace("-pgo", "")
         locales_with_changesets = parse_locales_file(job["locales-file"],
                                                      platform=locales_platform)
         locales_with_changesets = _remove_locales(locales_with_changesets,
                                                   to_remove=job['ignore-locales'])
 
         locales = sorted(locales_with_changesets.keys())
         attributes = job.setdefault('attributes', {})