Bug 1641131 - [taskgraph] Fix the 'push-interval-*' schema to not require an argument, r=jmaher
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Fri, 05 Jun 2020 15:38:24 +0000
changeset 598249 01507268c72f1806fab6217671cad2ce0dd8e548
parent 598248 cdf7aeb1e18179f12b32136166a890d7bfc64861
child 598250 c5e87f7e82af91994d4c9641ccf19e5ed207b2ae
push id13310
push userffxbld-merge
push dateMon, 29 Jun 2020 14:50:06 +0000
treeherdermozilla-beta@15a59a0afa5c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1641131
milestone79.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 1641131 - [taskgraph] Fix the 'push-interval-*' schema to not require an argument, r=jmaher The Backstop optimization doesn't take any arguments, yet the schema for 'push-optimization-*' requires a 'schedules-component' that goes ignored. Fix this. Differential Revision: https://phabricator.services.mozilla.com/D77058
taskcluster/ci/build/android.yml
taskcluster/ci/build/linux.yml
taskcluster/ci/build/macosx.yml
taskcluster/ci/build/windows-mingw.yml
taskcluster/ci/build/windows.yml
taskcluster/ci/diffoscope/kind.yml
taskcluster/ci/source-test/jsshell.yml
taskcluster/ci/test/browsertime-mobile.yml
taskcluster/ci/test/raptor-gve.yml
taskcluster/ci/valgrind/kind.yml
taskcluster/ci/visual-metrics-dep/kind.yml
taskcluster/taskgraph/util/schema.py
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/ci/build/android.yml
@@ -358,18 +358,17 @@ android-api-16-gcp/debug:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: api-16-debug
     fetches:
         toolchain:
             - linux64-clang
             - linux64-sccache
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 
 android-x86-gcp/opt:
     description: "Android 4.2 x86 Opt - built on GCP"
     index:
         job-name: android-x86-gcp-opt
     attributes:
         enable-full-crashsymbols: true
@@ -386,18 +385,17 @@ android-x86-gcp/opt:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: x86
     fetches:
         toolchain:
             - linux64-clang
             - linux64-sccache
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 android-api-16-gcp/opt:
     description: "Android 4.0 api-16+ Opt - built on GCP"
     index:
         job-name: android-api-16-gcp-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
@@ -413,18 +411,17 @@ android-api-16-gcp/opt:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: api-16
     fetches:
         toolchain:
             - linux64-clang
             - linux64-sccache
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 android-aarch64-gcp/opt:
     description: "Android 5.0 AArch64 Opt - built on GCP"
     index:
         job-name: android-aarch64-gcp-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
@@ -440,18 +437,17 @@ android-aarch64-gcp/opt:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: aarch64
     fetches:
         toolchain:
             - linux64-clang
             - linux64-sccache
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 android-aarch64-gcp/debug:
     description: "Android 5.0 AArch64 Debug - built on GCP"
     index:
         job-name: android-aarch64-gcp-debug
     attributes:
         enable-full-crashsymbols: true
     treeherder:
@@ -467,18 +463,17 @@ android-aarch64-gcp/debug:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: aarch64-debug
     fetches:
         toolchain:
             - linux64-clang
             - linux64-sccache
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 android-x86_64-gcp/opt:
     description: "Android 5.0 x86-64 Opt - built on GCP"
     index:
         job-name: android-x86_64-gcp-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
@@ -494,18 +489,17 @@ android-x86_64-gcp/opt:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: x86_64
     fetches:
         toolchain:
             - linux64-clang
             - linux64-sccache
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 android-x86_64-gcp/debug:
     description: "Android 5.0 x86-64 Debug - built on GCP"
     index:
         job-name: android-x86_64-gcp-debug
     attributes:
         enable-full-crashsymbols: true
     treeherder:
@@ -520,18 +514,17 @@ android-x86_64-gcp/debug:
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: x86_64-debug
     fetches:
         toolchain:
             - linux64-clang
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 android-x86_64-asan-fuzzing/opt:
     description: "Android 5.0 x86-64 Fuzzing Opt ASAN"
     index:
         job-name: android-x86_64-fuzzing-asan
     treeherder:
         platform: android-5-0-x86_64/asan
         symbol: Bof
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -75,18 +75,17 @@ linux64-plain/opt:
             - linux64-clang
             - linux64-rust
             - linux64-nasm
             - linux64-node
             - linux64-cbindgen
             - linux64-lucetc
             - wasi-sysroot
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
 
 linux64-fuzzing/debug:
     description: "Linux64 Fuzzing Debug"
     index:
         product: firefox
         job-name: linux64-fuzzing-debug
     attributes:
         enable-full-crashsymbols: true
@@ -257,18 +256,17 @@ linux64-plain/debug:
             - linux64-clang
             - linux64-rust
             - linux64-nasm
             - linux64-node
             - linux64-cbindgen
             - linux64-lucetc
             - wasi-sysroot
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
 
 linux64-devedition/opt:
     description: "Linux64 devedition (shippable)"
     use-pgo: linux64-shippable/opt
     attributes:
         shippable: true
         enable-full-crashsymbols: true
     shipping-phase: build
@@ -355,18 +353,17 @@ linux64-base-toolchains/debug:
     description: "Linux64 base toolchains Debug"
     index:
         product: firefox
         job-name: linux64-base-toolchains-debug
     treeherder:
         platform: linux64/debug
         symbol: Bb
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
     worker-type: b-linux
     worker:
         docker-image: {in-tree: debian8-amd64-build-base}
         max-run-time: 7200
         env:
             MOZ_LOW_PARALLELISM_BUILD: '1'
             PERFHERDER_EXTRA_OPTIONS: base-toolchains
             FORCE_GCC: '1'
@@ -439,18 +436,17 @@ linux64-base-toolchains-clang/debug:
     description: "Linux64 base toolchains clang Debug"
     index:
         product: firefox
         job-name: linux64-base-toolchains-clang-debug
     treeherder:
         platform: linux64/debug
         symbol: Bbc
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
     worker-type: b-linux
     worker:
         docker-image: {in-tree: debian8-amd64-build-base}
         max-run-time: 5400
         env:
             PERFHERDER_EXTRA_OPTIONS: base-toolchains-clang
             DISABLE_CLANG_PLUGIN: '1'
     run:
@@ -1124,18 +1120,17 @@ linux64-asan/debug:
             - linux64-node
             - linux64-lucetc
             - wasi-sysroot
             # `fix-stacks` is needed because xpcshell self tests run as part of
             # the build step. Once bug 1614626 moves them to the xpcshell task,
             # this dependency can be removed.
             - linux64-fix-stacks
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
 
 linux64-shippable/opt:
     description: "Linux64 Shippable"
     use-pgo: true
     attributes:
         shippable: true
         enable-full-crashsymbols: true
     shipping-phase: build
@@ -1418,18 +1413,17 @@ linux64-aarch64/opt:
             - linux64-rust
             - linux64-rust-size
             - linux64-cbindgen
             - linux64-sccache
             - linux64-node
             - linux64-lucetc
             - wasi-sysroot
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
 
 linux-gcp/debug:
     description: "Linux32 Debug - built on GCP"
     index:
         product: firefox
         job-name: linux-gcp-debug
     attributes:
         enable-full-crashsymbols: true
@@ -1468,18 +1462,17 @@ linux-gcp/debug:
             - linux64-node
             - linux64-lucetc
             - wasi-sysroot
             # `fix-stacks` is needed because xpcshell self tests run as part of
             # the build step. Once bug 1614626 moves them to the xpcshell task,
             # this dependency can be removed.
             - linux64-fix-stacks
     optimization:
-        push-interval-25:
-            - linux
+        push-interval-25: null
 
 linux-gcp/opt:
     description: "Linux32 Opt - built on GCP"
     index:
         product: firefox
         job-name: linux-gcp-opt
     attributes:
         enable-full-crashsymbols: true
@@ -1557,18 +1550,17 @@ linux64-gcp/debug:
             - linux64-node
             - linux64-lucetc
             - wasi-sysroot
             # `fix-stacks` is needed because xpcshell self tests run as part of
             # the build step. Once bug 1614626 moves them to the xpcshell task,
             # this dependency can be removed.
             - linux64-fix-stacks
     optimization:
-        push-interval-25:
-            - linux
+        push-interval-25: null
 
 linux64-gcp/opt:
     description: "Linux64 Opt - built on GCP"
     index:
         product: firefox
         job-name: linux64-gcp-opt
     attributes:
         enable-full-crashsymbols: true
--- a/taskcluster/ci/build/macosx.yml
+++ b/taskcluster/ci/build/macosx.yml
@@ -453,18 +453,17 @@ macosx64-gcp/debug:
             - linux64-rust-size
             - linux64-cbindgen
             - linux64-sccache
             - linux64-nasm
             - linux64-node
             - linux64-lucetc
             - wasi-sysroot
     optimization:
-        push-interval-25:
-            - macosx
+        push-interval-25: null
 
 macosx64-gcp/opt:
     description: "MacOS X x64 Cross-compile - built on GCP"
     index:
         product: firefox
         job-name: macosx64-gcp-opt
     attributes:
         enable-full-crashsymbols: true
--- a/taskcluster/ci/build/windows-mingw.yml
+++ b/taskcluster/ci/build/windows-mingw.yml
@@ -8,18 +8,17 @@ job-defaults:
         docker-image: {in-tree: mingw32-build}
         max-run-time: 7200
     run:
         using: mozharness
         actions: [build]
         script: mozharness/scripts/fx_desktop_build.py
         need-xvfb: false
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win32-mingwclang/opt:
     description: "Win32 MinGW-Clang Opt"
     index:
         product: firefox
         job-name: win32-mingwclang-opt
     treeherder:
         platform: windows-mingw32/all
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -240,18 +240,17 @@ win64-plain/debug:
         toolchain:
             - win64-clang-cl
             - win64-rust
             - win64-node
             - win64-nasm
             - win64-cbindgen
             - win64-winchecksec
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64/opt:
     description: "Win64 Opt"
     index:
         product: firefox
         job-name: win64-opt
     attributes:
         enable-build-signing: true
@@ -336,18 +335,17 @@ win64-plain/opt:
         toolchain:
             - win64-clang-cl
             - win64-rust
             - win64-nasm
             - win64-node
             - win64-cbindgen
             - win64-winchecksec
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win32-shippable/opt:
     description: "Win32 Opt Shippable"
     use-pgo: true
     index:
         product: firefox
         job-name: win32-opt
         type: shippable
@@ -895,18 +893,17 @@ win64-asan/debug:
             - win64-nasm
             - win64-node
             # `fix-stacks` is needed because xpcshell self tests run as part of
             # the build step. Once bug 1614626 moves them to the xpcshell task,
             # this dependency can be removed.
             - win32-fix-stacks
             - win64-winchecksec
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64-asan/opt:
     description: "Win64 Opt ASAN"
     index:
         product: firefox
         job-name: win64-asan-opt
     treeherder:
         platform: windows2012-64/asan
@@ -1199,18 +1196,17 @@ win64-aarch64/debug:
             - linux64-dump-syms
             - linux64-wine
             - linux64-liblowercase
             - linux64-winchecksec
         fetch:
             - nsis-3.01-win
             - upx-3.95-win
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64-aarch64/opt:
     description: "AArch64 Win64 Opt"
     index:
         product: firefox
         job-name: win64-aarch64-opt
     attributes:
         enable-build-signing: true
@@ -1258,18 +1254,17 @@ win64-aarch64/opt:
             - linux64-dump-syms
             - linux64-wine
             - linux64-liblowercase
             - linux64-winchecksec
         fetch:
             - nsis-3.01-win
             - upx-3.95-win
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64-aarch64-eme/opt:
     description: "AArch64 Win64 Opt w/ EME"
     index:
         product: firefox
         job-name: win64-aarch64-eme-opt
     treeherder:
         platform: windows2012-aarch64/opt
@@ -1302,18 +1297,17 @@ win64-aarch64-eme/opt:
     fetches:
         toolchain:
             - linux64-node
             - linux64-wine
         fetch:
             - nsis-3.01-win
             - upx-3.95-win
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64-aarch64-shippable/opt:
     description: "AArch64 Win64 Shippable"
     index:
         product: firefox
         job-name: win64-aarch64-opt
         type: shippable
     attributes:
@@ -1402,18 +1396,17 @@ win64-aarch64-shippable/opt:
               dest: ../artifacts
         toolchain:
             - linux64-node
             - linux64-wine
         fetch:
             - nsis-3.01-win
             - upx-3.95-win
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64-aarch64-shippable-no-eme/opt:
     description: "AArch64 Win64 Shippable w/o EME"
     use-pgo: win64-shippable/opt
     index:
         product: firefox
         job-name: win64-aarch64-no-eme-opt
         type: shippable
@@ -1465,18 +1458,17 @@ win64-aarch64-shippable-no-eme/opt:
             - linux64-dump-syms
             - linux64-wine
             - linux64-liblowercase
             - linux64-winchecksec
         fetch:
             - nsis-3.01-win
             - upx-3.95-win
     optimization:
-        push-interval-10:
-            - windows
+        push-interval-10: null
 
 win64-aarch64-devedition/opt:
     description: "AArch64 Win64 Dev Edition (shippable)"
     index:
         product: devedition
         job-name: win64-aarch64-opt
         type: shippable
     attributes:
--- a/taskcluster/ci/diffoscope/kind.yml
+++ b/taskcluster/ci/diffoscope/kind.yml
@@ -56,18 +56,17 @@ jobs:
         #   not reproducible.
         extra-args: >-
             --exclude-directory-metadata=recursive
             --exclude b/firefox/chrome/toolkit/content/global/buildconfig.html
             --exclude b/firefox/uninstall/helper.exe
         # This is necessary to avoid building `build-win64-aarch64` on every push on autoland
         # A more robust fix for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1643346
         optimization:
-            push-interval-10:
-                - windows
+            push-interval-10: null
 
     reproducible-linux32:
         symbol: Linux32
         new: build-linux-reproduced/opt
         original: build-linux-shippable/opt
         fail-on-diff: true
         run-on-projects: ['mozilla-central']  # Do not run linux32 on autoland, Bug 1599197
 
--- a/taskcluster/ci/source-test/jsshell.yml
+++ b/taskcluster/ci/source-test/jsshell.yml
@@ -39,18 +39,17 @@ job-defaults:
                     (linux|windows|macos)(?!.*shippable).*: []
                     default: ['mozilla-central', 'try']
     fetches:
         build:
             - target.jsshell.zip
         toolchain:
             - linux64-custom-v8
     optimization:
-        push-interval-10:
-            - linux
+        push-interval-10: null
 
 bench-ares6:
     description: Ares6 JavaScript shell benchmark suite
     shell: ['sm', 'v8']
     test: ares6
     treeherder:
         symbol: ares6
 
--- a/taskcluster/ci/test/browsertime-mobile.yml
+++ b/taskcluster/ci/test/browsertime-mobile.yml
@@ -60,18 +60,17 @@ job-defaults:
             default: None
     mozharness:
         script: raptor_script.py
         config:
             - raptor/android_hw_config.py
         extra-options:
             - --browsertime
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 browsertime-tp6m:
     description: "Raptor (browsertime) tp6 page-load tests on android"
     raptor-test: tp6m
     raptor-subtests:
         by-app:
             fennec:
                 - amazon
--- a/taskcluster/ci/test/raptor-gve.yml
+++ b/taskcluster/ci/test/raptor-gve.yml
@@ -24,18 +24,17 @@ job-defaults:
     target: geckoview_example.apk
     tier: 1
     virtualization: hardware
     mozharness:
         script: raptor_script.py
         config:
             - raptor/android_hw_config.py
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
 
 raptor-tp6m-1-geckoview:
     description: "Raptor tp6m-1 on GeckoView"
     try-name: raptor-tp6m-1-geckoview
     treeherder-symbol: Rap(tp6m-1)
     mozharness:
         extra-options:
             - --test=raptor-tp6m-1
--- a/taskcluster/ci/valgrind/kind.yml
+++ b/taskcluster/ci/valgrind/kind.yml
@@ -53,10 +53,9 @@ jobs:
                 - linux64-rust-1.41
                 - linux64-cbindgen
                 - linux64-sccache
                 - linux64-nasm
                 - linux64-node
                 - linux64-lucetc
                 - wasi-sysroot
         optimization:
-            push-interval-10:
-                - linux
+            push-interval-10: null
--- a/taskcluster/ci/visual-metrics-dep/kind.yml
+++ b/taskcluster/ci/visual-metrics-dep/kind.yml
@@ -37,10 +37,9 @@ job-template:
     fetches:
         fetch:
             - visual-metrics
     run:
         using: run-task
         command: /builds/worker/bin/run-visual-metrics.py -- --orange --perceptual --contentful --force --renderignore 5 --json --viewport
         checkout: false
     optimization:
-        push-interval-25:
-            - android
+        push-interval-25: null
--- a/taskcluster/taskgraph/util/schema.py
+++ b/taskcluster/taskgraph/util/schema.py
@@ -203,18 +203,18 @@ OptimizationSchema = voluptuous.Any(
     {'always': None},
     # optimize strategy aliases for build kind
     {'build': list(schedules.ALL_COMPONENTS)},
     {'build-optimized': list(schedules.ALL_COMPONENTS)},
     {'build-fuzzing': None},
     # search the index for the given index namespaces, and replace this task if found
     # the search occurs in order, with the first match winning
     {'index-search': [text_type]},
-    {'push-interval-10': list(schedules.ALL_COMPONENTS)},
-    {'push-interval-25': list(schedules.ALL_COMPONENTS)},
+    {'push-interval-10': None},
+    {'push-interval-25': None},
     # consult SETA and skip this task if it is low-value
     {'seta': None},
     # skip this task if none of the given file patterns match
     {'skip-unless-changed': [text_type]},
     # skip this task if unless the change files' SCHEDULES contains any of these components
     {'skip-unless-schedules': list(schedules.ALL_COMPONENTS)},
     # optimize strategy aliases for the test kind
     {'test': (list(schedules.ALL_COMPONENTS), dict)},