Trunk as early Beta: Force SM builds, twiddle mozharness to get PGO builds, beta update channel, and beta mozconfigs try: -b do -p all -u all -t all --no-retry --include-nightly draft
authorSebastian Hengst <archaeopteryx@coole-files.de>
Thu, 15 Feb 2018 21:59:10 +0200
changeset 1473110 44be5bcf262d
parent 1473109 36d2b37fa8a4
child 1473111 e148e9259dc2
push id262625
push userarchaeopteryx@coole-files.de
push dateWed, 04 Apr 2018 09:59:34 +0000
treeherdertry@44be5bcf262d [default view] [failures only]
milestone61.0
Trunk as early Beta: Force SM builds, twiddle mozharness to get PGO builds, beta update channel, and beta mozconfigs try: -b do -p all -u all -t all --no-retry --include-nightly
js/src/moz.build
mobile/android/config/mozconfigs/common
taskcluster/ci/artifact-build/kind.yml
taskcluster/ci/build/linux.yml
taskcluster/ci/build/macosx.yml
taskcluster/ci/build/windows.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/ci/test/web-platform.yml
testing/mozharness/configs/builds/branch_specifics.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -1,14 +1,16 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
+# Dummy change to js/src to get SM builds
+
 # Directory metadata
 component_engine = ('Core', 'JavaScript Engine')
 component_gc     = ('Core', 'JavaScript: GC')
 component_intl   = ('Core', 'JavaScript: Internationalization API')
 component_jit    = ('Core', 'JavaScript Engine: JIT')
 component_stl    = ('Core', 'JavaScript: Standard Library')
 
 FILES_PER_UNIFIED_FILE = 6
--- a/mobile/android/config/mozconfigs/common
+++ b/mobile/android/config/mozconfigs/common
@@ -27,63 +27,20 @@ if [ -z "$NO_NDK" ]; then
     ac_add_options --with-android-ndk="$topsrcdir/android-ndk"
 fi
 
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 ac_add_options --with-google-api-keyfile=/builds/gapi.data
 ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-fennec-geoloc-api.key
 
-# MOZ_INSTALL_TRACKING does not guarantee MOZ_UPDATE_CHANNEL will be set so we
-# provide a default state. Currently, the default state provides a default
-# keyfile because an assertion will be thrown if MOZ_INSTALL_TRACKING is
-# specified but a keyfile is not. This assertion can catch if we misconfigure a
-# release or beta build and it does not have a valid keyfile.
-#
-# However, by providing a default keyfile, if we misconfigure beta or release,
-# the default keyfile may be used instead and the assertion won't catch the
-# error.  Therefore, it would be ideal to have MOZ_INSTALL_TRACKING guarantee
-# MOZ_UPDATE_CHANNEL was set so we can remove the default case. This may occur
-# when release promotion is implemented on Android.
-#
-# In all cases, we don't upload Adjust pings in automation.
-if test "$MOZ_UPDATE_CHANNEL" = "release" ; then
-    ac_add_options --with-adjust-sdk-keyfile=/builds/adjust-sdk.token
-elif test "$MOZ_UPDATE_CHANNEL" = "beta" ; then
-    ac_add_options --with-adjust-sdk-keyfile=/builds/adjust-sdk-beta.token
-else
-    ac_add_options --with-adjust-sdk-keyfile="$topsrcdir/mobile/android/base/adjust-sdk-sandbox.token"
-fi
-
-# MOZ_ANDROID_MMA depends on --with-leanplum-sdk-keyfile, and there's no default
-# keyfile set, so if we misconfigure beta or release, the builds will fail (at
-# configure time).
-if test "$MOZ_UPDATE_CHANNEL" = "release" ; then
-    ac_add_options --with-leanplum-sdk-keyfile=/builds/leanplum-sdk-release.token
-elif test "$MOZ_UPDATE_CHANNEL" = "beta" ; then
-    ac_add_options --with-leanplum-sdk-keyfile=/builds/leanplum-sdk-beta.token
-elif test "$MOZ_UPDATE_CHANNEL" = "nightly" ; then
-    ac_add_options --with-leanplum-sdk-keyfile=/builds/leanplum-sdk-nightly.token
-else
-    ac_add_options --with-leanplum-sdk-keyfile="$topsrcdir/mobile/android/base/leanplum-sdk-sandbox.token"
-fi
-
-# MOZ_ANDROID_POCKET depends on --with-pocket-api-keyfile, and will
-# fail if MOZ_ANDROID_POCKET is specified but a keyfile is not. There's no default
-# keyfile set, so if we misconfigure beta or release or nightly, the builds will
-# fail (at configure time).
-# Otherwise, Pocket is not a critical component so it can be built with a dummy key.
-if test "$MOZ_UPDATE_CHANNEL" = "release" ; then
-    ac_add_options --with-pocket-api-keyfile=/builds/pocket-api-release.token
-elif test "$MOZ_UPDATE_CHANNEL" = "beta" ; then
-    ac_add_options --with-pocket-api-keyfile=/builds/pocket-api-beta.token
-elif test "$MOZ_UPDATE_CHANNEL" = "nightly" ; then
-    ac_add_options --with-pocket-api-keyfile=/builds/pocket-api-nightly.token
-else
-    ac_add_options --with-pocket-api-keyfile="$topsrcdir/mobile/android/base/pocket-api-sandbox.token"
-fi
+# Try workers don't have access to the real API keys for these services, so just use the dummy
+# keys to avoid any bustage during configure.
+ac_add_options --with-adjust-sdk-keyfile="$topsrcdir/mobile/android/base/adjust-sdk-sandbox.token"
+ac_add_options --with-leanplum-sdk-keyfile="$topsrcdir/mobile/android/base/leanplum-sdk-sandbox.token"
+ac_add_options --with-pocket-api-keyfile="$topsrcdir/mobile/android/base/pocket-api-sandbox.token"
 
 # Package js shell.
 export MOZ_PACKAGE_JSSHELL=1
 
 . "$topsrcdir/build/unix/mozconfig.stdcxx"
 
 JS_BINARY="$topsrcdir/mobile/android/config/js_wrapper.sh"
--- a/taskcluster/ci/artifact-build/kind.yml
+++ b/taskcluster/ci/artifact-build/kind.yml
@@ -19,17 +19,17 @@ jobs:
         index:
             product: firefox
             job-name: linux64-artifact-opt
         treeherder:
             platform: linux64/opt
             kind: build
             symbol: AB
             tier: 2
-        run-on-projects: ['trunk', 'try']
+        run-on-projects: ['trunk']
         worker-type: aws-provisioner-v1/gecko-{level}-b-linux
         worker:
             max-run-time: 36000
         run:
             using: mozharness
             actions: [get-secrets build]
             config:
                 - builds/releng_base_firefox.py
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -75,16 +75,17 @@ linux64/pgo:
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_64_builds.py
             - builds/releng_sub_linux_configs/enable_count_ctors.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
+    run-on-projects: []
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-rust
         - linux64-sccache
 
 linux64-fuzzing/debug:
     description: "Linux64 Fuzzing Debug"
@@ -168,17 +169,17 @@ linux64-devedition-nightly/opt:
             - builds/releng_base_linux_64_builds.py
             - disable_signing.py
             - taskcluster_nightly.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']
+    run-on-projects: ['try', 'mozilla-beta']
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-rust
         - linux64-sccache
 
 linux64-base-toolchains/opt:
     description: "Linux64 base toolchains Opt"
@@ -316,16 +317,17 @@ linux/pgo:
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_32_builds.py
             - builds/releng_sub_linux_configs/enable_count_ctors.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
+    run-on-projects: []
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-rust
         - linux64-sccache
 
 linux-rusttests/opt:
     description: "Linux32 Rust tests Opt"
@@ -420,17 +422,17 @@ linux-devedition-nightly/opt:
             - builds/releng_base_linux_32_builds.py
             - disable_signing.py
             - taskcluster_nightly.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']
+    run-on-projects: ['try', 'mozilla-beta']
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-rust
         - linux64-sccache
 
 linux-nightly/opt:
     description: "Linux32 Nightly"
--- a/taskcluster/ci/build/macosx.yml
+++ b/taskcluster/ci/build/macosx.yml
@@ -157,17 +157,17 @@ macosx64-devedition-nightly/opt:
             - builds/releng_base_firefox.py
             - builds/releng_base_mac_64_cross_builds.py
             - disable_signing.py
             - taskcluster_nightly.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: internal
         custom-build-variant-cfg: devedition
-    run-on-projects: ['mozilla-beta']
+    run-on-projects: ['try', 'mozilla-beta']
     toolchains:
         - linux64-cctools-port
         - linux64-clang
         - linux64-hfsplus
         - linux64-libdmg
         - linux64-llvm-dsymutil
         - linux64-rust-macos
         - linux64-sccache
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -103,16 +103,17 @@ win32/pgo:
         using: mozharness
         options: [enable-pgo, append-env-variables-from-configs]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win32.py
             - builds/taskcluster_sub_win32/opt.py
+    run-on-projects: []
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-sccache
 
 win64/debug:
     description: "Win64 Debug"
     index:
@@ -290,16 +291,17 @@ win64/pgo:
         using: mozharness
         options: [enable-pgo, append-env-variables-from-configs]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win64.py
             - builds/taskcluster_sub_win64/opt.py
+    run-on-projects: []
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-sccache
 
 win32-add-on-devel/opt:
     description: "Windows32 add-on-devel"
     index:
@@ -591,17 +593,17 @@ win32-devedition-nightly/opt:
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win32.py
             - builds/taskcluster_sub_win32/opt.py
             - disable_signing.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: devedition
-    run-on-projects: ['mozilla-beta']
+    run-on-projects: ['try', 'mozilla-beta']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-sccache
 
 win64-devedition-nightly/opt:
     description: "Win64 Dev Edition Nightly"
     index:
@@ -628,17 +630,17 @@ win64-devedition-nightly/opt:
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win64.py
             - builds/taskcluster_sub_win64/opt.py
             - disable_signing.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: devedition
-    run-on-projects: ['mozilla-beta']
+    run-on-projects: ['try', 'mozilla-beta']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-sccache
 
 win32-mingw32/opt:
     description: "Win32 MinGW Opt"
     index:
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -65,22 +65,22 @@ linux64-devedition/opt:
     build-platform: linux64-devedition-nightly/opt
     test-sets:
         - common-tests
         - web-platform-tests
         - opt-only-tests
         - desktop-screenshot-capture
 
 # TODO: use 'pgo' and 'asan' labels here, instead of -pgo/opt
-linux64-pgo/opt:
-    build-platform: linux64-pgo/opt
-    test-sets:
-        - common-tests
-        - web-platform-tests
-        - talos
+# linux64-pgo/opt:
+#     build-platform: linux64-pgo/opt
+#     test-sets:
+#         - common-tests
+#         - web-platform-tests
+#         - talos
 
 linux64-asan/opt:
     build-platform: linux64-asan/opt
     test-sets:
         - common-tests
 
 # Stylo sequential runs check memory and performance when using a single thread.
 linux64-stylo-sequential/opt:
@@ -99,27 +99,27 @@ linux64-qr/opt:
         - awsy
         - web-platform-tests
 linux64-qr/debug:
     build-platform: linux64/debug
     test-sets:
         - linux-qr-tests
         - web-platform-tests
 
-linux64-ccov/opt:
-    build-platform: linux64-ccov/opt
-    test-sets:
-        - common-tests
-        - web-platform-tests
-        - awsy
-        - talos
-linux64-jsdcov/opt:
-    build-platform: linux64-jsdcov/opt
-    test-sets:
-        - jsdcov-code-coverage-tests
+# linux64-ccov/opt:
+#    build-platform: linux64-ccov/opt
+#    test-sets:
+#        - common-tests
+#        - web-platform-tests
+#        - awsy
+#        - talos
+# linux64-jsdcov/opt:
+#    build-platform: linux64-jsdcov/opt
+#    test-sets:
+#        - jsdcov-code-coverage-tests
 
 ##
 # Windows platforms (matching /windows.*/)
 
 # win32
 windows7-32/debug:
     build-platform: win32/debug
     test-sets:
@@ -130,24 +130,24 @@ windows7-32/opt:
     build-platform: win32/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - windows-reftest-gpu
         - windows-talos
         - windows-tests
 
-windows7-32-pgo/opt:
-    build-platform: win32-pgo/opt
-    test-sets:
-        - awsy
-        - desktop-screenshot-capture
-        - windows-reftest-gpu
-        - windows-talos
-        - windows-tests
+# windows7-32-pgo/opt:
+#    build-platform: win32-pgo/opt
+#    test-sets:
+#        - awsy
+#        - desktop-screenshot-capture
+#        - windows-reftest-gpu
+#        - windows-talos
+#        - windows-tests
 
 windows7-32-nightly/opt:
     build-platform: win32-nightly/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - windows-reftest-gpu
         - windows-tests
@@ -155,47 +155,47 @@ windows7-32-nightly/opt:
 windows7-32-devedition/opt:
     build-platform: win32-devedition-nightly/opt
     test-sets:
         - desktop-screenshot-capture
         - windows-reftest-gpu
         - windows-tests
 
 # win64
-windows10-64-ccov/debug:
-    build-platform: win64-ccov/debug
-    test-sets:
-        - awsy
-        - desktop-screenshot-capture
-        - windows-reftest-gpu
-        - windows-talos
-        - windows-tests
+# windows10-64-ccov/debug:
+#    build-platform: win64-ccov/debug
+#    test-sets:
+#        - awsy
+#        - desktop-screenshot-capture
+#        - windows-reftest-gpu
+#        - windows-talos
+#        - windows-tests
 
 windows10-64/debug:
     build-platform: win64/debug
     test-sets:
         - windows-tests
         - mochitest-headless
 
 windows10-64/opt:
     build-platform: win64/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - windows-talos
         - windows-tests
         - mochitest-headless
 
-windows10-64-pgo/opt:
-    build-platform: win64-pgo/opt
-    test-sets:
-        - awsy
-        - desktop-screenshot-capture
-        - windows-talos
-        - windows-tests
+# windows10-64-pgo/opt:
+#    build-platform: win64-pgo/opt
+#    test-sets:
+#        - awsy
+#        - desktop-screenshot-capture
+#        - windows-talos
+#        - windows-tests
 
 windows10-64-nightly/opt:
     build-platform: win64-nightly/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - desktop-instrumentation
         - windows-tests
--- a/taskcluster/ci/test/web-platform.yml
+++ b/taskcluster/ci/test/web-platform.yml
@@ -79,17 +79,17 @@ web-platform-tests-reftests:
             windows.*: 1
             default: 6
     e10s:
         by-test-platform:
             linux32/debug: both
             default: true
     run-on-projects:
         by-test-platform:
-            .*-qr/.*: ['trunk', 'try']  # exclude beta and project branches
+            .*-qr/.*: ['trunk']  # exclude beta and project branches
             default: built-projects
     mozharness:
         extra-options:
             - --test-type=reftest
 
 web-platform-tests-reftests-headless:
     description: "Web platform reftest headless run"
     suite: web-platform-tests-reftests
@@ -119,17 +119,17 @@ web-platform-tests-wdspec:
     description: "Web platform webdriver-spec run"
     suite: web-platform-tests-wdspec
     treeherder-symbol: W(Wd)
     mozharness:
         extra-options:
             - --test-type=wdspec
     run-on-projects:
         by-test-platform:
-            .*-qr/.*: ['trunk', 'try']  # exclude beta and project branches
+            .*-qr/.*: ['trunk']  # exclude beta and project branches
             default: built-projects
 
 web-platform-tests-wdspec-headless:
     description: "Web platform webdriver-spec headless run"
     suite: web-platform-tests-wdspec
     treeherder-symbol: W(WdH)
     run-on-projects: []  # disabled pending releng approval
     mozharness:
--- a/testing/mozharness/configs/builds/branch_specifics.py
+++ b/testing/mozharness/configs/builds/branch_specifics.py
@@ -198,16 +198,105 @@ config = {
         'repo_path': 'releases/mozilla-aurora',
         'update_channel': 'aurora',
         'branch_uses_per_checkin_strategy': True,
     },
     'try': {
         'repo_path': 'try',
         'branch_supports_uploadsymbols': False,
         'use_clobberer': False,
+        'update_channel': 'beta',
+        'branch_uses_per_checkin_strategy': True,
+        'platform_overrides': {
+            'linux': {
+                'mozconfig_variant': 'beta',
+                'nightly_build': True,
+            },
+            'linux64': {
+                'mozconfig_variant': 'beta',
+                'nightly_build': True,
+            },
+            'macosx64': {
+                'mozconfig_variant': 'beta',
+                'nightly_build': True,
+            },
+            'win32': {
+                'mozconfig_variant': 'beta',
+                'nightly_build': True,
+            },
+            'win64': {
+                'mozconfig_variant': 'beta',
+                'nightly_build': True,
+            },
+            'linux-devedition': {
+                'update_channel': 'aurora',
+                'nightly_build': True,
+            },
+            'linux64-devedition': {
+                'update_channel': 'aurora',
+                'nightly_build': True,
+            },
+            'macosx64-devedition': {
+                'update_channel': 'aurora',
+                'nightly_build': True,
+            },
+            'win32-devedition': {
+                'update_channel': 'aurora',
+                'nightly_build': True,
+            },
+            'win64-devedition': {
+                'update_channel': 'aurora',
+                'nightly_build': True,
+            },
+            'linux-debug': {
+                'update_channel': 'default',
+            },
+            'linux64-debug': {
+                'update_channel': 'default',
+            },
+            'linux64-asan-debug': {
+                'update_channel': 'default',
+            },
+            'linux64-asan': {
+                'update_channel': 'default',
+            },
+            'linux64-st-an-debug': {
+                'update_channel': 'default',
+            },
+            'linux64-st-an': {
+                'update_channel': 'default',
+            },
+            'linux64-add-on-devel': {
+                'update_channel': 'default',
+            },
+            'macosx64-debug': {
+                'update_channel': 'default',
+            },
+            'macosx64-st-an': {
+                'update_channel': 'default',
+            },
+            'macosx64-st-an-debug': {
+                'update_channel': 'default',
+            },
+            'macosx64-add-on-devel': {
+                'update_channel': 'default',
+            },
+            'win32-debug': {
+                'update_channel': 'default',
+            },
+            'win32-add-on-devel': {
+                'update_channel': 'default',
+            },
+            'win64-debug': {
+                'update_channel': 'default',
+            },
+            'win64-add-on-devel': {
+                'update_channel': 'default',
+            },
+        },
     },
 
     ### project branches
     #'fx-team': {},   #Bug 1296396
     'gum': {
         'branch_uses_per_checkin_strategy': True,
     },
     'mozilla-inbound': {
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -1309,17 +1309,17 @@ or run without that action (ie: --no-{ac
         base_work_dir = dirs['base_work_dir']
         objdir = dirs['abs_obj_dir']
         branch = self.branch
 
         # Building a nightly with the try repository fails because a
         # config-file does not exist for try. Default to mozilla-central
         # settings (arbitrarily).
         if branch == 'try':
-            branch = 'mozilla-central'
+            branch = 'mozilla-beta'
 
         # Some android versions share the same .json config - if
         # multi_locale_config_platform is set, use that the .json name;
         # otherwise, use the buildbot platform.
         default_platform = self.buildbot_config['properties'].get('platform',
                                                                   'android')
 
         multi_config_pf = self.config.get('multi_locale_config_platform',