Bug 1469803 Separate bouncer-check for cron tests r=mtabara
authorSimon Fraser <sfraser@mozilla.com>
Wed, 27 Jun 2018 07:34:19 +0000
changeset 423952 a37e6ed0f4e72d47ca666fd1385d156d461c005e
parent 423951 91b8bd385fad6dc6be373ae6b3397a6537b6c51a
child 423953 ec11cc05b66710ce094679cfab92ab8149fde069
push id34197
push usercsabou@mozilla.com
push dateThu, 28 Jun 2018 09:44:02 +0000
treeherdermozilla-central@db455160668d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmtabara
bugs1469803
milestone63.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 1469803 Separate bouncer-check for cron tests r=mtabara We shouldn't run this on central, as it falls back to the dev configs, and fails. It should be fine on beta/release/esr60. I had to move this version of the check to its own kind to avoid the dependency tree bringing in the entire build process. Perhaps we can refactor later to avoid duplication Differential Revision: https://phabricator.services.mozilla.com/D1765
.cron.yml
taskcluster/ci/bouncer-check/kind.yml
taskcluster/ci/release-bouncer-check/kind.yml
taskcluster/docs/kinds.rst
taskcluster/taskgraph/target_tasks.py
--- a/.cron.yml
+++ b/.cron.yml
@@ -97,16 +97,38 @@ jobs:
           target-tasks-method: searchfox_index
       run-on-projects:
           - mozilla-central
       when:
           by-project:
               mozilla-central: [{hour: 10, minute: 30}]
               # No default
 
+    - name: bouncer-check
+      job:
+          type: decision-task
+          treeherder-symbol: Rel
+          target-tasks-method: bouncer_check
+      run-on-projects:
+          - mozilla-beta
+          - mozilla-release
+          - mozilla-esr60
+      when:
+          by-project:
+              # No default branch
+              mozilla-beta:
+                  - {hour: 7, minute: 0}
+                  - {hour: 19, minute: 0}
+              mozilla-release:
+                  - {hour: 7, minute: 0}
+                  - {hour: 19, minute: 0}
+              mozilla-esr60:
+                  - {hour: 7, minute: 0}
+                  - {hour: 19, minute: 0}
+
     - name: periodic-update
       job:
           type: decision-task
           treeherder-symbol: Nfile
           target-tasks-method: file_update
       run-on-projects:
           - mozilla-central
           - mozilla-beta
copy from taskcluster/ci/release-bouncer-check/kind.yml
copy to taskcluster/ci/bouncer-check/kind.yml
--- a/taskcluster/ci/release-bouncer-check/kind.yml
+++ b/taskcluster/ci/bouncer-check/kind.yml
@@ -1,19 +1,15 @@
 # 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/.
 
 loader: taskgraph.loader.transform:loader
 
-kind-dependencies:
-    - release-beetmover-push-to-release
-
 transforms:
-    - taskgraph.transforms.release_deps:transforms
     - taskgraph.transforms.bouncer_check:transforms
     - taskgraph.transforms.job:transforms
     - taskgraph.transforms.task:transforms
 
 job-defaults:
     name: bouncer-check
     description: bouncer check
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -24,17 +20,17 @@ job-defaults:
         docker-image: {in-tree: "update-verify"}
     run:
         using: run-task
         sparse-profile: mozharness
     attributes:
         build_platform: linux64
         build_type: opt
     treeherder:
-        symbol: Rel(BncChk)
+        symbol: Rel(ckbouncer)
         kind: test
         tier: 1
 
 jobs:
     firefox:
         shipping-product: firefox
         index:
             product: firefox
--- a/taskcluster/ci/release-bouncer-check/kind.yml
+++ b/taskcluster/ci/release-bouncer-check/kind.yml
@@ -9,18 +9,18 @@ kind-dependencies:
 
 transforms:
     - taskgraph.transforms.release_deps:transforms
     - taskgraph.transforms.bouncer_check:transforms
     - taskgraph.transforms.job:transforms
     - taskgraph.transforms.task:transforms
 
 job-defaults:
-    name: bouncer-check
-    description: bouncer check
+    name: release-bouncer-check
+    description: release bouncer check
     run-on-projects: []  # to make sure this never runs as part of CI
     shipping-phase: push
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         max-run-time: 1200
         docker-image: {in-tree: "update-verify"}
     run:
         using: run-task
@@ -33,17 +33,17 @@ job-defaults:
         kind: test
         tier: 1
 
 jobs:
     firefox:
         shipping-product: firefox
         index:
             product: firefox
-            job-name: firefox-bouncer-check
+            job-name: firefox-release-bouncer-check
         run:
             config:
                 by-project:
                     mozilla-beta:
                         - releases/bouncer_firefox_beta.py
                     mozilla-release:
                         - releases/bouncer_firefox_release.py
                     mozilla-esr60:
@@ -54,17 +54,17 @@ jobs:
                         - releases/dev_bouncer_firefox_beta.py
         treeherder:
             platform: firefox-release/opt
 
     devedition:
         shipping-product: devedition
         index:
             product: devedition
-            job-name: devedition-bouncer-check
+            job-name: devedition-release-bouncer-check
         run:
             config:
                 by-project:
                     mozilla-beta:
                         - releases/bouncer_firefox_devedition.py
                     default:
                         - releases/dev_bouncer_firefox_devedition.py
         treeherder:
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -301,19 +301,23 @@ Submits bouncer updates for releases.
 release-mark-as-shipped
 -----------------------
 Marks releases as shipped in Ship-It.
 
 release-bouncer-aliases
 -----------------------
 Update Bouncer's (download.mozilla.org) "latest" aliases.
 
+bouncer-check
+-------------
+Checks Bouncer (download.mozilla.org) uptake.
+
 release-bouncer-check
 ---------------------
-Checks Bouncer (download.mozilla.org) uptake.
+Checks Bouncer (download.mozilla.org) uptake as part of the release tasks.
 
 release-generate-checksums
 --------------------------
 Generate the per-release checksums along with the summaries
 
 release-generate-checksums-signing
 ----------------------------------
 Sign the pre-release checksums produced by the above task
--- a/taskcluster/taskgraph/target_tasks.py
+++ b/taskcluster/taskgraph/target_tasks.py
@@ -573,8 +573,18 @@ def target_tasks_searchfox(full_task_gra
 @_target_task('file_update')
 def target_tasks_file_update(full_task_graph, parameters, graph_config):
     """Select the set of tasks required to perform nightly in-tree file updates
     """
     def filter(task):
         # For now any task in the repo-update kind is ok
         return task.kind in ['repo-update']
     return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
+
+
+@_target_task('bouncer_check')
+def target_tasks_bouncer_check(full_task_graph, parameters, graph_config):
+    """Select the set of tasks required to perform bouncer version verification.
+    """
+    def filter(task):
+        # For now any task in the repo-update kind is ok
+        return task.kind in ['bouncer-check']
+    return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]