Bug 1286075: add l10n kind; r=Callek draft
authorDustin J. Mitchell <dustin@mozilla.com>
Fri, 09 Sep 2016 21:06:51 +0000
changeset 412747 35b5ce42081d8d353323cdf8b0eb6e199a687e2c
parent 412746 7eeadb6ae5481164fe2c06034b312c18cfe1d7d7
child 412748 03cd53775b2aec6385681a5a4f6165482e56873b
push id29252
push userdmitchell@mozilla.com
push dateMon, 12 Sep 2016 19:16:39 +0000
reviewersCallek
bugs1286075
milestone51.0a1
Bug 1286075: add l10n kind; r=Callek MozReview-Commit-ID: 3mR5AxWSk9P
taskcluster/ci/l10n/kind.yml
taskcluster/docs/kinds.rst
taskcluster/taskgraph/try_option_syntax.py
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/l10n/kind.yml
@@ -0,0 +1,111 @@
+# 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/.
+
+# NOTE: please write a description of this kind in taskcluster/docs/kinds.rst
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+   - taskgraph.transforms.build_attrs:transforms
+   - taskgraph.transforms.job:transforms
+   - taskgraph.transforms.task:transforms
+
+job-defaults:
+    index:
+        product: firefox
+    treeherder:
+        kind: build
+        tier: 2
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        implementation: docker-worker
+        docker-image: {in-tree: desktop-build}
+        max-run-time: 36000
+        env:
+            # NOTE: this should really be a different "using" since it's using
+            # build-l10n.sh instead of build-linux.sh.  Preferably, build-linux.sh
+            # and the mozharness run implementation should be modified to support
+            # the functionality that l10n needs
+
+            JOB_SCRIPT: "taskcluster/scripts/builder/build-l10n.sh"
+    when:
+        files-changed:
+            - browser/locales/all-locales
+            - python/compare-locales/**
+            - testing/mozharness/configs/single_locale/**
+            - testing/mozharness/mozharness/mozilla/l10n/locales.py
+            - testing/mozharness/scripts/desktop_l10n.py
+            - toolkit/locales/**
+            - toolkit/mozapps/installer/**
+
+jobs:
+    linux-l10n/opt:
+        description: "Localization"
+        index:
+            job-name:
+                gecko-v2: linux32-l10n-opt
+        treeherder:
+            platform: linux32/opt
+            symbol: tc(L10n)
+        run:
+            using: mozharness
+            script: mozharness/scripts/desktop_l10n.py
+            actions: [clone-locales list-locales setup repack summary]
+            config:
+                - single_locale/tc_linux32.py
+            options:
+                - environment-config=single_locale/production.py
+                - branch-config=single_locale/try.py # NOTE: this will need to be modified in a transform..
+                - platform-config=single_locale/linux32.py  # same
+                - total-chunks=1
+                - this-chunk=1
+            tooltool-downloads: public
+            need-xvfb: true
+
+    linux64-l10n/opt:
+        description: "Localization"
+        index:
+            job-name:
+                gecko-v2: linux64-l10n-opt
+        treeherder:
+            platform: linux64/opt
+            symbol: tc(L10n)
+        run:
+            using: mozharness
+            script: mozharness/scripts/desktop_l10n.py
+            actions: [clone-locales list-locales setup repack summary]
+            config:
+                - single_locale/tc_linux64.py
+            options:
+                - environment-config=single_locale/production.py
+                - branch-config=single_locale/try.py
+                - platform-config=single_locale/linux64.py
+                - total-chunks=1
+                - this-chunk=1
+            tooltool-downloads: public
+            need-xvfb: true
+
+    android-api-15-l10n/opt:
+        description: "Single Locale Repack"
+        index:
+            product: mobile
+            job-name:
+                gecko-v2: android-l10n-opt
+        treeherder:
+            platform: android-api-15/opt
+            symbol: tc(L10n)
+        worker-type: aws-provisioner-v1/android-api-15
+        worker:
+            max-run-time: 18000
+        run:
+            using: mozharness
+            script: mozharness/scripts/mobile_l10n.py
+            actions: [clone-locales list-locales setup repack upload-repacks summary]
+            config:  # NOTE: this will need to be modified in a transform..
+                - single_locale/try_android-api-15.py single_locale/tc_android-api-15.py
+            options:
+                - total-chunks=1
+                - this-chunk=1
+            tooltool-downloads: internal
+            need-xvfb: true
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -20,16 +20,21 @@ continue to work correctly.
 
 hazard
 ------
 
 Hazard builds are similar to "regular' builds, but use a compiler extension to
 extract a bunch of data from the build and then analyze that data looking for
 hazardous behaviors.
 
+l10n
+----
+
+TBD (Callek)
+
 Tests
 -----
 
 Test tasks for Gecko products are divided into several kinds, but share a
 common implementation.  The process goes like this, based on a set of YAML
 files named in ``kind.yml``:
 
  * For each build task, determine the related test platforms based on the build
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -21,16 +21,17 @@ BUILD_TYPE_ALIASES = {
     'd': 'debug'
 }
 
 # consider anything in this whitelist of kinds to be governed by -b/-p
 BUILD_KINDS = set([
     'build',
     'artifact-build',
     'hazard',
+    'l10n',
 ])
 
 # anything in this list is governed by -j
 JOB_KINDS = set([
 ])
 
 
 # mapping from shortcut name (usable with -u) to a boolean function identifying