Bug 1208794 - Add support for MacOSX64 Static Analysis opt builds using TaskCluster; r=ted,dustin
authorEhsan Akhgari <ehsan@mozilla.com>
Sun, 13 Sep 2015 12:16:47 -0400
changeset 266993 b07364d8053fd8ab7af61fd16e44e48a4250f023
parent 266992 c66bf1d6890b605846f5a3dd49d7e1aad4563bbb
child 266994 fd660e3112d6f2f1d9d121450eaff6ed1ac31a76
push id29504
push usercbook@mozilla.com
push dateFri, 09 Oct 2015 09:43:23 +0000
treeherdermozilla-central@d01dd42e654b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted, dustin
bugs1208794
milestone44.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 1208794 - Add support for MacOSX64 Static Analysis opt builds using TaskCluster; r=ted,dustin
browser/config/mozconfigs/macosx64/opt-static-analysis
testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
testing/taskcluster/tasks/branches/base_job_flags.yml
testing/taskcluster/tasks/branches/base_jobs.yml
testing/taskcluster/tasks/branches/try/job_flags.yml
testing/taskcluster/tasks/builds/opt_macosx64_st-an.yml
testing/taskcluster/tasks/builds/opt_macosx64_st-an_clobber.yml
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/opt-static-analysis
@@ -0,0 +1,19 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. $topsrcdir/build/macosx/mozconfig.common
+
+ac_add_options --disable-debug
+ac_add_options --enable-optimize
+ac_add_options --enable-dmd
+
+# Treat warnings as errors (modulo ALLOW_COMPILER_WARNINGS).
+ac_add_options --enable-warnings-as-errors
+
+ac_add_options --enable-clang-plugin
+
+. "$topsrcdir/build/macosx/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
+
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py
@@ -0,0 +1,40 @@
+import os
+
+MOZ_OBJDIR = 'obj-firefox'
+
+config = {
+    'default_actions': [
+        'clobber',
+        'clone-tools',
+        'checkout-sources',
+        # 'setup-mock',
+        'build',
+    ],
+    'stage_platform': 'macosx64-st-an',
+    'debug_build': False,
+    'objdir': 'obj-firefox',
+    'enable_talos_sendchange': False,
+    #### 64 bit build specific #####
+    'env': {
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'MOZ_AUTOMATION': '1',
+        'HG_SHARE_BASE_DIR': '/builds/hg-shared',
+        'MOZ_OBJDIR': 'obj-firefox',
+        'TINDERBOX_OUTPUT': '1',
+        'TOOLTOOL_CACHE': '/builds/tooltool_cache',
+        'TOOLTOOL_HOME': '/builds',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'CCACHE_DIR': '/builds/ccache',
+        'CCACHE_COMPRESS': '1',
+        'CCACHE_UMASK': '002',
+        'LC_ALL': 'C',
+        'XPCOM_DEBUG_BREAK': 'stack-and-abort',
+        ## 64 bit specific
+        'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
+                '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
+        ##
+    },
+    'src_mozconfig': 'browser/config/mozconfigs/macosx64/opt-static-analysis',
+    'purge_minsize': 10,
+    #######################
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -305,16 +305,17 @@ class BuildOptionParser(object):
     # against the current platform and bits.
     # *It will warn and fail if there is not a config for the current
     # platform/bits
     build_variants = {
         'asan': 'builds/releng_sub_%s_configs/%s_asan.py',
         'tsan': 'builds/releng_sub_%s_configs/%s_tsan.py',
         'b2g-debug': 'b2g/releng_sub_%s_configs/%s_debug.py',
         'cross-debug': 'builds/releng_sub_%s_configs/%s_cross_debug.py',
+        'cross-opt': 'builds/releng_sub_%s_configs/%s_cross_opt.py',
         'debug': 'builds/releng_sub_%s_configs/%s_debug.py',
         'asan-and-debug': 'builds/releng_sub_%s_configs/%s_asan_and_debug.py',
         'stat-and-debug': 'builds/releng_sub_%s_configs/%s_stat_and_debug.py',
         'mulet': 'builds/releng_sub_%s_configs/%s_mulet.py',
         'code-coverage': 'builds/releng_sub_%s_configs/%s_code_coverage.py',
         'graphene': 'builds/releng_sub_%s_configs/%s_graphene.py',
         'horizon': 'builds/releng_sub_%s_configs/%s_horizon.py',
         'source': 'builds/releng_sub_%s_configs/%s_source.py',
--- a/testing/taskcluster/tasks/branches/base_job_flags.yml
+++ b/testing/taskcluster/tasks/branches/base_job_flags.yml
@@ -36,16 +36,17 @@ flags:
     - aries-dogfood
     - android-api-11
     - android-partner-sample1
     - android-b2gdroid
     - linux
     - linux64
     - linux64-st-an
     - macosx64
+    - macosx64-st-an
 
   tests:
     - cppunit
     - crashtest
     - crashtest-ipc
     - gaia-build
     - gaia-build-unit
     - gaia-js-integration
--- a/testing/taskcluster/tasks/branches/base_jobs.yml
+++ b/testing/taskcluster/tasks/branches/base_jobs.yml
@@ -153,16 +153,22 @@ builds:
       opt:
         task: tasks/builds/opt_linux64_st-an.yml
   macosx64:
     platforms:
       - MacOSX64
     types:
       debug:
         task: tasks/builds/dbg_macosx64.yml
+  macosx64-st-an:
+    platforms:
+      - MacOSX64 Static Analysis
+    types:
+      opt:
+        task: tasks/builds/opt_macosx64_st-an.yml
   android-b2gdroid:
     platforms:
       - Android
     types:
       opt:
         task: tasks/builds/android_api_11_b2gdroid.yml
 
 tests:
--- a/testing/taskcluster/tasks/branches/try/job_flags.yml
+++ b/testing/taskcluster/tasks/branches/try/job_flags.yml
@@ -210,16 +210,22 @@ builds:
       opt:
         task: tasks/builds/opt_linux64_st-an_clobber.yml
   macosx64:
     platforms:
       - MacOSX64
     types:
       debug:
         task: tasks/builds/dbg_macosx64_clobber.yml
+  macosx64-st-an:
+    platforms:
+      - MacOSX64 Static Analysis
+    types:
+      opt:
+        task: tasks/builds/opt_macosx64_st-an_clobber.yml
 
 post-build:
   upload-symbols:
     allowed_build_tasks:
       - tasks/builds/opt_linux64.yml
       - tasks/builds/opt_linux64_st-an.yml
       - tasks/builds/dbg_linux64.yml
       - tasks/builds/android_api_11.yml
new file mode 100644
--- /dev/null
+++ b/testing/taskcluster/tasks/builds/opt_macosx64_st-an.yml
@@ -0,0 +1,28 @@
+$inherits:
+  from: 'tasks/builds/opt_macosx64_clobber.yml'
+  variables:
+    build_name: 'macosx64-st-an'
+task:
+  metadata:
+      name: '[TC] MacOSX64 Static Analysis Opt'
+      description: 'MacOSX64 Static Analysis Opt'
+
+  scopes:
+    - 'docker-worker:cache:build-macosx64-st-an-workspace'
+
+  routes:
+    - 'index.buildbot.branches.{{project}}.macosx64-st-an'
+    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.macosx64-st-an'
+
+  payload:
+    cache:
+      build-macosx64-st-an-workspace: '/home/worker/workspace'
+    env:
+      MH_CUSTOM_BUILD_VARIANT_CFG: 'cross-opt'
+      DIST_UPLOADS: ''
+      DIST_TARGET_UPLOADS: ''
+  extra:
+    treeherder:
+      groupSymbol: "?"
+      groupName: Submitted by taskcluster
+      symbol: S
new file mode 100644
--- /dev/null
+++ b/testing/taskcluster/tasks/builds/opt_macosx64_st-an_clobber.yml
@@ -0,0 +1,23 @@
+$inherits:
+  from: 'tasks/builds/opt_macosx64_clobber.yml'
+  variables:
+    build_name: 'macosx64-st-an'
+task:
+  metadata:
+      name: '[TC] MacOSX64 Static Analysis Opt'
+      description: 'MacOSX64 Static Analysis Opt'
+
+  routes:
+    - 'index.buildbot.branches.{{project}}.macosx64-st-an'
+    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.macosx64-st-an'
+
+  payload:
+    env:
+      MH_CUSTOM_BUILD_VARIANT_CFG: 'cross-opt'
+      DIST_UPLOADS: ''
+      DIST_TARGET_UPLOADS: ''
+  extra:
+    treeherder:
+      groupSymbol: "?"
+      groupName: Submitted by taskcluster
+      symbol: S