bug 1358601: set up CI builds and tests for DevEdition on mozilla-beta - add linux devedition builds draft
authorBen Hearsum <bhearsum@mozilla.com>
Thu, 27 Apr 2017 10:35:36 -0400
changeset 569573 f03f1a3566726334ead7c7f569a6789bd31cc5ab
parent 568807 a477e80f03b61be9961bc61770a2b55cce139b91
child 626254 49911affe0db8e88c1cfde7e6904b27ac1144f0e
push id56223
push userbmo:bhearsum@mozilla.com
push dateThu, 27 Apr 2017 17:14:21 +0000
bugs1358601
milestone55.0a1
bug 1358601: set up CI builds and tests for DevEdition on mozilla-beta - add linux devedition builds MozReview-Commit-ID: 9mghIaHomfs
taskcluster/ci/build/linux.yml
taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
taskcluster/taskgraph/transforms/task.py
testing/mozharness/configs/builds/releng_sub_linux_configs/32_devedition.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_devedition.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -65,16 +65,41 @@ linux64/debug:
             - builds/releng_base_linux_64_builds.py
             - balrog/production.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: debug
         tooltool-downloads: public
         need-xvfb: true
 
+linux64-devedition/opt:
+    description: "Linux64 devedition Opt"
+    index:
+        product: devedition
+        job-name: linux64-opt
+    treeherder:
+        platform: linux64-devedition/opt
+        symbol: tc(DE)
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        implementation: docker-worker
+        max-run-time: 36000
+    run:
+        using: mozharness
+        actions: [get-secrets build check-test generate-build-stats update]
+        config:
+            - builds/releng_base_linux_64_builds.py
+            - balrog/production.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        secrets: true
+        tooltool-downloads: public
+        need-xvfb: true
+        custom-build-variant-cfg: devedition
+    run-on-projects: [ 'mozilla-beta', ]
+
 linux/opt:
     description: "Linux32 Opt"
     index:
         product: firefox
         job-name: linux-opt
     treeherder:
         platform: linux32/opt
         symbol: tc(B)
@@ -139,16 +164,41 @@ linux/pgo:
         config:
             - builds/releng_base_linux_32_builds.py
             - balrog/production.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
 
+linux-devedition/opt:
+    description: "Linux32 devedition Opt"
+    index:
+        product: devedition
+        job-name: linux-opt
+    treeherder:
+        platform: linux32-devedition/opt
+        symbol: tc(DE)
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        implementation: docker-worker
+        max-run-time: 36000
+    run:
+        using: mozharness
+        actions: [get-secrets build check-test generate-build-stats update]
+        config:
+            - builds/releng_base_linux_32_builds.py
+            - balrog/production.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        secrets: true
+        tooltool-downloads: public
+        need-xvfb: true
+        custom-build-variant-cfg: devedition
+    run-on-projects: [ 'mozilla-beta', ]
+
 linux-nightly/opt:
     description: "Linux32 Nightly"
     attributes:
         nightly: true
     index:
         product: firefox
         job-name: linux-opt
         type: nightly
--- a/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
+++ b/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
@@ -18,27 +18,29 @@ from __future__ import absolute_import, 
 JOB_NAME_WHITELIST = set([
     'android-api-15-debug',
     'android-api-15-gradle-dependencies-opt',
     'android-api-15-gradle-opt',
     'android-api-15-opt',
     'android-x86-opt',
     'browser-haz-debug',
     'linux-debug',
+    'linux-devedition',
     'linux-opt',
     'linux-pgo',
     'linux-qr-debug',
     'linux-qr-opt',
     'linux64-add-on-devel',
     'linux64-artifact-opt',
     'linux64-asan-debug',
     'linux64-asan-opt',
     'linux64-ccov-opt',
     'linux64-clang-tidy',
     'linux64-debug',
+    'linux64-devedition',
     'linux64-jsdcov-opt',
     'linux64-opt',
     'linux64-pgo',
     'linux64-qr-debug',
     'linux64-qr-opt',
     'linux64-st-an-debug',
     'linux64-st-an-opt',
     'linux64-stylo-debug',
--- a/taskcluster/taskgraph/transforms/task.py
+++ b/taskcluster/taskgraph/transforms/task.py
@@ -87,17 +87,17 @@ task_description_schema = Schema({
         # treeherder environments (defaults to both staging and production)
         Required('environments', default=['production', 'staging']): ['production', 'staging'],
     },
 
     # information for indexing this build so its artifacts can be discovered;
     # if omitted, the build will not be indexed.
     Optional('index'): {
         # the name of the product this build produces
-        'product': Any('firefox', 'mobile', 'static-analysis'),
+        'product': Any('firefox', 'mobile', 'static-analysis', 'devedition'),
 
         # the names to use for this job in the TaskCluster index
         'job-name': basestring,
 
         # Type of gecko v2 index to use
         'type': Any('generic', 'nightly', 'l10n', 'nightly-with-multi-l10n'),
 
         # The rank that the task will receive in the TaskCluster
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_devedition.py
@@ -0,0 +1,8 @@
+import os
+
+MOZ_OBJDIR = 'obj-firefox'
+
+config = {
+    'src_mozconfig': 'browser/config/mozconfigs/linux32/devedition',
+    'base_name': 'Linux_%(branch)_devedition',
+}
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_devedition.py
@@ -0,0 +1,8 @@
+import os
+
+MOZ_OBJDIR = 'obj-firefox'
+
+config = {
+    'src_mozconfig': 'browser/config/mozconfigs/linux64/devedition',
+    'base_name': 'Linux_x86-64_%(branch)_devedition',
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -376,16 +376,17 @@ class BuildOptionParser(object):
         'android-checkstyle': 'builds/releng_sub_%s_configs/%s_checkstyle.py',
         'android-lint': 'builds/releng_sub_%s_configs/%s_lint.py',
         'android-findbugs': 'builds/releng_sub_%s_configs/%s_findbugs.py',
         'valgrind' : 'builds/releng_sub_%s_configs/%s_valgrind.py',
         'artifact': 'builds/releng_sub_%s_configs/%s_artifact.py',
         'debug-artifact': 'builds/releng_sub_%s_configs/%s_debug_artifact.py',
         'qr-debug': 'builds/releng_sub_%s_configs/%s_qr_debug.py',
         'qr-opt': 'builds/releng_sub_%s_configs/%s_qr_opt.py',
+        'devedition': 'builds/releng_sub_%s_configs/%s_devedition.py',
     }
     build_pool_cfg_file = 'builds/build_pool_specifics.py'
     branch_cfg_file = 'builds/branch_specifics.py'
 
     @classmethod
     def _query_pltfrm_and_bits(cls, target_option, options):
         """ determine platform and bits