Bug 1522111 - disable opt builds/tests when we have pgo builds/tests for integration branches. r=ahal
☠☠ backed out by 6a145b0bf8e4 ☠ ☠
authorjmaher <jmaher@mozilla.com>
Fri, 15 Feb 2019 15:36:36 +0000
changeset 459549 6fbfc8bc2388a3ee3d7c18fd20fe5e87670bb26f
parent 459548 2d5fbe3bb7f6773ec20384c23178515a9013ad17
child 459550 cc97d772a8db8e54197250fd585ab3863b920542
push id35563
push userccoroiu@mozilla.com
push dateSat, 16 Feb 2019 09:36:04 +0000
treeherdermozilla-central@1cfd69d05aa1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersahal
bugs1522111
milestone67.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 1522111 - disable opt builds/tests when we have pgo builds/tests for integration branches. r=ahal Differential Revision: https://phabricator.services.mozilla.com/D18104
taskcluster/ci/build/linux.yml
taskcluster/ci/build/windows.yml
taskcluster/taskgraph/util/seta.py
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -16,16 +16,17 @@ linux64/opt:
         actions: [get-secrets, build, check-test]
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_64_builds.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
+    run-on-projects: ['mozilla-central', 'try']
     toolchains:
         - linux64-binutils
         - linux64-clang
         - linux64-rust
         - linux64-rust-size
         - linux64-cbindgen
         - linux64-sccache
         - linux64-node
@@ -50,17 +51,17 @@ linux64-plain/opt:
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_64_builds.py
         script: mozharness/scripts/fx_desktop_build.py
         tooltool-downloads: public
         extra-config:
             disable_package_metrics: true
         mozconfig-variant: plain-opt
-    run-on-projects: [trunk]
+    run-on-projects: ['mozilla-central', 'try']
     toolchains:
         - linux64-binutils
         - linux64-clang
         - linux64-rust
         - linux64-node
         - linux64-cbindgen
 
 linux64/pgo:
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -57,16 +57,17 @@ win32/opt:
         options: [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
         extra-config:
             stage_platform: win32
+    run-on-projects: ['mozilla-central', 'try']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-rust-size
         - win64-cbindgen
         - win64-sccache
         - win64-nasm
         - win64-node
@@ -196,17 +197,17 @@ win64-plain/debug:
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win64.py
         extra-config:
             disable_package_metrics: true
             stage_platform: win64
         mozconfig-variant: plain-debug
-    run-on-projects: [trunk]
+    run-on-projects: ['trunk']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-node
         - win64-nasm
         - win64-cbindgen
 
 win64/opt:
@@ -229,16 +230,17 @@ win64/opt:
         options: [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
         extra-config:
             stage_platform: win64
+    run-on-projects: ['mozilla-central', 'try']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-rust-size
         - win64-cbindgen
         - win64-sccache
         - win64-nasm
         - win64-node
@@ -265,17 +267,17 @@ win64-plain/opt:
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win64.py
         extra-config:
             disable_package_metrics: true
             stage_platform: win64
         mozconfig-variant: plain-opt
-    run-on-projects: [trunk]
+    run-on-projects: ['mozilla-central', 'try']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-nasm
         - win64-node
         - win64-cbindgen
 
 win32-nightly/opt:
@@ -418,17 +420,17 @@ win32-add-on-devel/opt:
         script: "mozharness/scripts/fx_desktop_build.py"
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win32.py
         extra-config:
             stage_platform: win32-add-on-devel
         mozconfig-variant: add-on-devel
-    run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr45']
+    run-on-projects: ['mozilla-beta', 'mozilla-release']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-rust-size
         - win64-cbindgen
         - win64-sccache
         - win64-nasm
         - win64-node
@@ -452,17 +454,17 @@ win64-add-on-devel/opt:
         script: "mozharness/scripts/fx_desktop_build.py"
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win64.py
         extra-config:
             stage_platform: win64-on-devel
         mozconfig-variant: add-on-devel
-    run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr45']
+    run-on-projects: ['mozilla-beta', 'mozilla-release']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-rust-size
         - win64-cbindgen
         - win64-sccache
         - win64-nasm
         - win64-node
--- a/taskcluster/taskgraph/util/seta.py
+++ b/taskcluster/taskgraph/util/seta.py
@@ -71,18 +71,30 @@ class SETA(object):
             if type(task_list) == dict and len(task_list) > 0:
                 if type(task_list.values()[0]) == list and len(task_list.values()[0]) > 0:
                     low_value_tasks = task_list.values()[0]
                     # bb job types return a list instead of a single string,
                     # convert to a single string to match tc tasks format
                     if type(low_value_tasks[0]) == list:
                         low_value_tasks = [self._get_task_string(x) for x in low_value_tasks]
 
+            # hack seta tasks to run 'opt' jobs on 'pgo' builds - see Bug 1522111
+            def opt_to_pgo(label):
+                opt = ['test-windows10-64/opt',
+                       'test-windows7-32/opt',
+                       'test-linux64/opt']
+                pgo = ['test-windows10-64-pgo/opt',
+                       'test-windows7-32-pgo/opt',
+                       'test-linux64-pgo/opt']
+                for iter in range(0, len(opt)):
+                    if label.startswith(opt[iter]):
+                        label = label.replace(opt[iter], pgo[iter])
+
             # ensure no build tasks slipped in, we never want to optimize out those
-            low_value_tasks = [x for x in low_value_tasks if 'build' not in x.lower()]
+            low_value_tasks = [opt_to_pgo(x) for x in low_value_tasks if 'build' not in x]
 
         # In the event of request times out, requests will raise a TimeoutError.
         except exceptions.Timeout:
             logger.warning("SETA timeout, we will treat all test tasks as high value.")
 
         # In the event of a network problem (e.g. DNS failure, refused connection, etc),
         # requests will raise a ConnectionError.
         except exceptions.ConnectionError: