Bug 1319230 - Add a Taskcluster job to build with the tup backend; r?Build
MozReview-Commit-ID: H3ZmKxXk2NP
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