Bug 1319230 - Add a Taskcluster job to build with the tup backend; r=nalexander
authorMike Shal <mshal@mozilla.com>
Thu, 22 Feb 2018 13:31:10 -0500
changeset 410788 18a14e2a17c6fb9d76355a665453bfcb2e08f1d2
parent 410787 cd453722f1348ba3a33512d9e1eaca65ba7fe876
child 410789 908749c3b8584dcbe7d4dcccf0f4c06921eee68d
push id33739
push usernbeleuzu@mozilla.com
push dateFri, 30 Mar 2018 21:47:45 +0000
treeherdermozilla-central@10c662d8416e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnalexander
bugs1319230
milestone61.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 1319230 - Add a Taskcluster job to build with the tup backend; r=nalexander MozReview-Commit-ID: H3ZmKxXk2NP
browser/config/mozconfigs/linux64/tup
taskcluster/ci/build/linux.yml
testing/mozharness/configs/builds/releng_sub_linux_configs/64_tup.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/tup
@@ -0,0 +1,16 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_INSTALLER=0
+MOZ_AUTOMATION_L10N_CHECK=0
+MOZ_AUTOMATION_PACKAGE=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_UPDATE_PACKAGING=0
+MOZ_AUTOMATION_UPLOAD=0
+MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
+
+TOOLTOOL_DIR=${TOOLTOOL_DIR:-$topsrcdir}
+export TUP=${TOOLTOOL_DIR}/tup/tup
+
+. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-build-backends=Tup
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -715,16 +715,48 @@ linux64-rusttests/debug:
         need-xvfb: true
     run-on-projects: ['trunk', 'try']
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-rust
         - linux64-sccache
 
+linux64-tup/opt:
+    description: "Linux64 Tup"
+    index:
+        product: firefox
+        job-name: linux64-tup-opt
+    treeherder:
+        platform: linux64/opt
+        symbol: Btup
+        tier: 2
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        max-run-time: 36000
+        env:
+            PERFHERDER_EXTRA_OPTIONS: tup
+    run:
+        using: mozharness
+        actions: [get-secrets build update]
+        config:
+            - builds/releng_base_firefox.py
+            - builds/releng_base_linux_64_builds.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        secrets: true
+        custom-build-variant-cfg: tup
+        tooltool-downloads: public
+        need-xvfb: true
+    toolchains:
+        - linux64-clang
+        - linux64-gcc
+        - linux64-rust
+        - linux64-sccache
+        - linux64-tup
+
 linux64-jsdcov/opt:
     description: "Linux64-JSDCov Opt"
     index:
         product: firefox
         job-name: linux64-jsdcov-opt
     treeherder:
         platform: linux64-jsdcov/opt
         symbol: B
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tup.py
@@ -0,0 +1,35 @@
+import os
+
+config = {
+    'default_actions': [
+        'clobber',
+        'build',
+        'update',  # decided by query_is_nightly()
+    ],
+    'stage_platform': 'linux64-tup-opt',
+    'enable_signing': False,
+    'enable_talos_sendchange': False,
+    'env': {
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'DISPLAY': ':2',
+        'HG_SHARE_BASE_DIR': '/builds/hg-shared',
+        'MOZ_OBJDIR': '%(abs_obj_dir)s',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'LC_ALL': 'C',
+        'XPCOM_DEBUG_BREAK': 'stack-and-abort',
+        # 64 bit specific
+        'PATH': '/usr/local/bin:/usr/lib64/ccache:/bin:\
+/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\
+/tools/python27-mercurial/bin:/home/cltbld/bin',
+        'LD_LIBRARY_PATH': '/tools/gcc-4.3.3/installed/lib64:%(abs_obj_dir)s/dist/bin',
+        'TINDERBOX_OUTPUT': '1',
+
+        # sccache doesn't work yet with tup due to the way the server is
+        # spawned, and because the server does the file I/O
+        'SCCACHE_DISABLE': '1',
+    },
+    'mozconfig_variant': 'tup',
+    'enable_count_ctors': False, # TODO: libxul.so needs to be linked for this to work
+    'disable_package_metrics': True, # TODO: the package needs to be created for this to work
+    'artifact_flag_build_variant_in_try': None,
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -441,16 +441,17 @@ class BuildOptionParser(object):
         'android-lint': 'builds/releng_sub_%s_configs/%s_lint.py',
         'android-findbugs': 'builds/releng_sub_%s_configs/%s_findbugs.py',
         'android-geckoview-docs': 'builds/releng_sub_%s_configs/%s_geckoview_docs.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',
         'devedition': 'builds/releng_sub_%s_configs/%s_devedition.py',
         'dmd': 'builds/releng_sub_%s_configs/%s_dmd.py',
+        'tup': 'builds/releng_sub_%s_configs/%s_tup.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