bug 1398799: switch to in-tree mozharness update verify config creator. r=aki
authorBen Hearsum <bhearsum@mozilla.com>
Fri, 23 Feb 2018 06:03:27 -0500
changeset 449544 09fd35f1024fc030542e1d7b8b9f3c6998f63842
parent 449543 fd83ed92fe2530e80b442c0d0c2cbc03ca02aa91
child 449545 db5174f56c8c6d7950cdb2b07fd91f828f9c82bf
push id146
push userfmarier@mozilla.com
push dateFri, 02 Mar 2018 02:16:17 +0000
reviewersaki
bugs1398799
milestone60.0a1
bug 1398799: switch to in-tree mozharness update verify config creator. r=aki
taskcluster/ci/release-secondary-update-verify-config/kind.yml
taskcluster/ci/release-secondary-update-verify/kind.yml
taskcluster/ci/release-update-verify-config/kind.yml
taskcluster/ci/release-update-verify/kind.yml
taskcluster/docs/kinds.rst
taskcluster/taskgraph/target_tasks.py
taskcluster/taskgraph/transforms/update_verify.py
taskcluster/taskgraph/transforms/update_verify_config.py
taskcluster/taskgraph/util/scriptworker.py
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/release-secondary-update-verify-config/kind.yml
@@ -0,0 +1,125 @@
+# 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
+
+transforms:
+   - taskgraph.transforms.update_verify_config:transforms
+   - taskgraph.transforms.release_notifications:transforms
+   - taskgraph.transforms.job:transforms
+   - taskgraph.transforms.task:transforms
+
+job-defaults:
+   name: secondary-update-verify-config
+   run-on-projects: []  # to make sure this never runs as part of CI
+   shipping-product: firefox
+   shipping-phase: promote
+   worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+   worker:
+      docker-image:
+         in-tree: "update-verify"
+      max-run-time: 3600
+      artifacts:
+         - name: public/build/update-verify.cfg
+           path: /builds/worker/checkouts/gecko/update-verify.cfg
+           type: file
+   run:
+      using: run-task
+      sparse-profile: update-verify
+   extra:
+      app-name: browser
+      product: firefox
+      archive-prefix:
+         by-project:
+            birch: "http://ftp.stage.mozaws.net/pub"
+            default: "https://archive.mozilla.org/pub"
+      previous-archive-prefix:
+         by-project:
+            birch: "https://archive.mozilla.org/pub"
+            default: null
+      aus-server:
+         by-project:
+            birch: "https://aus4.stage.mozaws.net"
+            default: "https://aus5.mozilla.org"
+      include-version:
+         by-project:
+            birch: nonbeta
+            mozilla-release: nonbeta
+            default: null
+      last-watershed:
+         by-project:
+            birch: "57.0"
+            mozilla-release: "57.0"
+            default: null
+      mar-channel-id-override:
+         by-project:
+            birch: beta
+            mozilla-release: beta
+            default: null
+      channel:
+         by-project:
+            birch: "beta-localtest"
+            mozilla-release: "beta-localtest"
+            default: "default"
+
+jobs:
+   firefox-secondary-linux:
+      treeherder:
+         symbol: UVCS
+         platform: linux/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: linux
+      extra:
+         platform: linux-i686
+         updater-platform: linux-x86_64
+
+   firefox-secondary-linux64:
+      treeherder:
+         symbol: UVCS
+         platform: linux64/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: linux64
+      extra:
+         platform: linux-x86_64
+         updater-platform: linux-x86_64
+
+   firefox-secondary-macosx64:
+      treeherder:
+         symbol: UVCS
+         platform: macosx64/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: macosx64
+      extra:
+         platform: mac
+         updater-platform: linux-x86_64
+
+   firefox-secondary-win32:
+      treeherder:
+         symbol: UVCS
+         platform: win32/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: win32
+      extra:
+         platform: win32
+         updater-platform: linux-x86_64
+
+   firefox-secondary-win64:
+      treeherder:
+         symbol: UVCS
+         platform: win64/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: win64
+      extra:
+         platform: win64
+         updater-platform: linux-x86_64
--- a/taskcluster/ci/release-secondary-update-verify/kind.yml
+++ b/taskcluster/ci/release-secondary-update-verify/kind.yml
@@ -3,16 +3,17 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
    - post-balrog-dummy
    - post-beetmover-dummy
    - release-updates-builder
+   - release-secondary-update-verify-config
 
 transforms:
    - taskgraph.transforms.release_deps:transforms
    - taskgraph.transforms.update_verify:transforms
    - taskgraph.transforms.release_notifications:transforms
    - taskgraph.transforms.task:transforms
 
 job-defaults:
@@ -27,144 +28,71 @@ job-defaults:
          in-tree: "update-verify"
       max-run-time: 7200
       retry-exit-status:
          - 255
       env:
          NO_BBCONFIG: "1"
          BUILD_TOOLS_REPO:
             by-project:
+               birch: https://hg.mozilla.org/users/bhearsum_mozilla.com/tools
                jamun: https://hg.mozilla.org/users/stage-ffxbld/tools
                maple: https://hg.mozilla.org/users/asasaki_mozilla.com/tools
                default: https://hg.mozilla.org/build/tools
-         CHANNEL:
-            by-project:
-               mozilla-release: "beta-localtest"
-               default: "default"
+         CHANNEL: "beta-localtest"
    extra:
       chunks: 12
-   notifications:
-      completed:
-         subject: "COMPLETED: [{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]}] {task_def[metadata][name]} task"
-         message: "COMPLETED: [{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]}] {task_def[metadata][name]} task"
-         plugins:
-            by-project:
-               mozilla-beta: ["log_collect"]
-               mozilla-release: ["log_collect"]
-               default: []
-
-      failed:
-         subject: "FAILED: [{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]}] {task_def[metadata][name]} task"
-         message: "FAILED: [{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]}] {task_def[metadata][name]} task"
-         plugins:
-            by-project:
-               mozilla-beta: ["log_collect", "ses"]
-               mozilla-release: ["log_collect", "ses"]
-               default: ["ses"]
-         emails:
-            by-project:
-               mozilla-beta: ["release-automation-notifications@mozilla.com"]
-               mozilla-release: ["release-automation-notifications@mozilla.com"]
-               try: ["{task_def[metadata][owner]}"]
-               maple: ["release+tcstaging@mozilla.com"]
-               default: []
-
-      exception:
-         subject: "EXCEPTION: [{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]}] {task_def[metadata][name]} task"
-         message: "EXCEPTION: [{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]}] {task_def[metadata][name]} task"
-         plugins:
-            by-project:
-               mozilla-beta: ["log_collect", "ses"]
-               mozilla-release: ["log_collect", "ses"]
-               default: ["ses"]
-         emails:
-            by-project:
-               mozilla-beta: ["release-automation-notifications@mozilla.com"]
-               mozilla-release: ["release-automation-notifications@mozilla.com"]
-               try: ["{task_def[metadata][owner]}"]
-               maple: ["release+tcstaging@mozilla.com"]
-               default: []
 
 jobs:
    firefox-secondary-linux64:
       description: linux64 secondary channel update verify
       shipping-product: firefox
-      worker:
-         env:
-            VERIFY_CONFIG:
-               by-project:
-                  mozilla-release: "beta-firefox-linux64.cfg"
-                  default: "none"
       treeherder:
          symbol: UVS
          platform: linux64/opt
          kind: test
          tier: 1
       attributes:
          build_platform: linux64
 
    firefox-secondary-linux:
       description: linux secondary channel update verify
       shipping-product: firefox
-      worker:
-         env:
-            VERIFY_CONFIG:
-               by-project:
-                  mozilla-release: "beta-firefox-linux.cfg"
-                  default: "none"
       treeherder:
          symbol: UVS
          platform: linux/opt
          kind: test
          tier: 1
       attributes:
          build_platform: linux
 
    firefox-secondary-win64:
       description: win64 secondary channel update verify
       shipping-product: firefox
-      worker:
-         env:
-            VERIFY_CONFIG:
-               by-project:
-                  mozilla-release: "beta-firefox-win64.cfg"
-                  default: "none"
       treeherder:
          symbol: UVS
          platform: win64/opt
          kind: test
          tier: 1
       attributes:
          build_platform: win64
 
    firefox-secondary-win32:
       description: win32 secondary channel update verify
       shipping-product: firefox
-      worker:
-         env:
-            VERIFY_CONFIG:
-               by-project:
-                  mozilla-release: "beta-firefox-win32.cfg"
-                  default: "none"
       treeherder:
          symbol: UVS
          platform: win32/opt
          kind: test
          tier: 1
       attributes:
          build_platform: win32
 
    firefox-secondary-macosx64:
       description: macosx64 secondary channel update verify
       shipping-product: firefox
-      worker:
-         env:
-            VERIFY_CONFIG:
-               by-project:
-                  mozilla-release: "beta-firefox-macosx64.cfg"
-                  default: "none"
       treeherder:
          symbol: UVS
          platform: macosx64/opt
          kind: test
          tier: 1
       attributes:
          build_platform: macosx64
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/release-update-verify-config/kind.yml
@@ -0,0 +1,293 @@
+# 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
+
+transforms:
+   - taskgraph.transforms.update_verify_config:transforms
+   - taskgraph.transforms.release_notifications:transforms
+   - taskgraph.transforms.job:transforms
+   - taskgraph.transforms.task:transforms
+
+job-defaults:
+   name: update-verify-config
+   run-on-projects: []  # to make sure this never runs as part of CI
+   shipping-phase: promote
+   worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+   worker:
+      docker-image:
+         in-tree: "update-verify"
+      max-run-time: 3600
+      artifacts:
+         - name: public/build/update-verify.cfg
+           path: /builds/worker/checkouts/gecko/update-verify.cfg
+           type: file
+   run:
+      using: run-task
+      sparse-profile: update-verify
+   extra:
+      app-name: browser
+      archive-prefix:
+         by-project:
+            birch: "http://ftp.stage.mozaws.net/pub"
+            jamun: "http://ftp.stage.mozaws.net/pub"
+            maple: "http://ftp.stage.mozaws.net/pub"
+            default: "https://archive.mozilla.org/pub"
+      previous-archive-prefix:
+         by-project:
+            birch: "https://archive.mozilla.org/pub"
+            jamun: "https://archive.mozilla.org/pub"
+            maple: "https://archive.mozilla.org/pub"
+            default: null
+      aus-server:
+         by-project:
+            birch: "https://aus4.stage.mozaws.net"
+            jamun: "https://aus4.stage.mozaws.net"
+            maple: "https://aus4.stage.mozaws.net"
+            default: "https://aus5.mozilla.org"
+      # This is overridden for devedition to exclude 58.0b1
+      # because of the special case added by
+      # https://bugzilla.mozilla.org/show_bug.cgi?id=1419189
+      # The devedition override can be removed after 58.0b1
+      # is behind a watershed
+      include-version:
+         by-project:
+            birch: nonbeta
+            jamun: beta
+            maple: beta
+            mozilla-beta: beta
+            mozilla-release: nonbeta
+            default: null
+      last-watershed:
+         by-project:
+            # TODO: add esr here when setting up mozilla-esr60
+            # let's put mozilla-esr52 in this comment as well, in case
+            # somebody is grepping the tree for things they need to do.
+            birch: "57.0"
+            jamun: "56.0b10"
+            maple: "56.0b10"
+            mozilla-beta: "56.0b10"
+            mozilla-release: "57.0"
+            default: null
+
+jobs:
+   firefox-linux:
+      shipping-product: firefox
+      treeherder:
+         symbol: UVC
+         platform: linux/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: linux
+      extra:
+         product: firefox
+         platform: linux-i686
+         updater-platform: linux-x86_64
+         channel:
+            by-project:
+               birch: "release-localtest"
+               jamun: "beta-localtest"
+               maple: "beta-localtest"
+               mozilla-beta: "beta-localtest"
+               mozilla-release: "release-localtest"
+               mozilla-esr52: "esr-localtest"
+               default: "default"
+         mar-channel-id-override:
+            by-project:
+               maple: beta
+               mozilla-beta: beta
+               default: null
+
+   firefox-linux64:
+      shipping-product: firefox
+      treeherder:
+         symbol: UVC
+         platform: linux64/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: linux64
+      extra:
+         product: firefox
+         platform: linux-x86_64
+         updater-platform: linux-x86_64
+         channel:
+            by-project:
+               birch: "release-localtest"
+               jamun: "beta-localtest"
+               maple: "beta-localtest"
+               mozilla-beta: "beta-localtest"
+               mozilla-release: "release-localtest"
+               mozilla-esr52: "esr-localtest"
+               default: "default"
+         mar-channel-id-override:
+            by-project:
+               maple: beta
+               mozilla-beta: beta
+               default: null
+
+   firefox-macosx64:
+      shipping-product: firefox
+      treeherder:
+         symbol: UVC
+         platform: macosx64/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: macosx64
+      extra:
+         product: firefox
+         platform: mac
+         updater-platform: linux-x86_64
+         channel:
+            by-project:
+               birch: "release-localtest"
+               jamun: "beta-localtest"
+               maple: "beta-localtest"
+               mozilla-beta: "beta-localtest"
+               mozilla-release: "release-localtest"
+               mozilla-esr52: "esr-localtest"
+               default: "default"
+         mar-channel-id-override:
+            by-project:
+               maple: beta
+               mozilla-beta: beta
+               default: null
+
+   firefox-win32:
+      shipping-product: firefox
+      treeherder:
+         symbol: UVC
+         platform: win32/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: win32
+      extra:
+         product: firefox
+         platform: win32
+         updater-platform: linux-x86_64
+         channel:
+            by-project:
+               birch: "release-localtest"
+               jamun: "beta-localtest"
+               maple: "beta-localtest"
+               mozilla-beta: "beta-localtest"
+               mozilla-release: "release-localtest"
+               mozilla-esr52: "esr-localtest"
+               default: "default"
+         mar-channel-id-override:
+            by-project:
+               maple: beta
+               mozilla-beta: beta
+               default: null
+
+   firefox-win64:
+      shipping-product: firefox
+      treeherder:
+         symbol: UVC
+         platform: win64/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: win64
+      extra:
+         product: firefox
+         platform: win64
+         updater-platform: linux-x86_64
+         channel:
+            by-project:
+               birch: "release-localtest"
+               jamun: "beta-localtest"
+               maple: "beta-localtest"
+               mozilla-beta: "beta-localtest"
+               mozilla-release: "release-localtest"
+               mozilla-esr52: "esr-localtest"
+               default: "default"
+         mar-channel-id-override:
+            by-project:
+               maple: beta
+               mozilla-beta: beta
+               default: null
+
+   devedition-linux:
+      shipping-product: devedition
+      treeherder:
+         symbol: UVC
+         platform: linux-devedition/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: linux-devedition
+      extra:
+         product: firefox
+         platform: linux-i686
+         updater-platform: linux-x86_64
+         channel: "aurora-localtest"
+         include-version: devedition_hack
+
+   devedition-linux64:
+      shipping-product: devedition
+      treeherder:
+         symbol: UVC
+         platform: linux64-devedition/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: linux64-devedition
+      extra:
+         product: firefox
+         platform: linux-x86_64
+         updater-platform: linux-x86_64
+         channel: "aurora-localtest"
+         include-version: devedition_hack
+
+   devedition-macosx64:
+      shipping-product: devedition
+      treeherder:
+         symbol: UVC
+         platform: macosx64-devedition/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: macosx64-devedition
+      extra:
+         product: firefox
+         platform: mac
+         updater-platform: linux-x86_64
+         channel: "aurora-localtest"
+         include-version: devedition_hack
+
+   devedition-win32:
+      shipping-product: devedition
+      treeherder:
+         symbol: UVC
+         platform: win32-devedition/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: win32-devedition
+      extra:
+         product: firefox
+         platform: win32
+         updater-platform: linux-x86_64
+         channel: "aurora-localtest"
+         include-version: devedition_hack
+
+   devedition-win64:
+      shipping-product: devedition
+      treeherder:
+         symbol: UVC
+         platform: win64-devedition/opt
+         kind: test
+         tier: 1
+      attributes:
+         build_platform: win64-devedition
+      extra:
+         product: firefox
+         platform: win64
+         updater-platform: linux-x86_64
+         channel: "aurora-localtest"
+         include-version: devedition_hack
--- a/taskcluster/ci/release-update-verify/kind.yml
+++ b/taskcluster/ci/release-update-verify/kind.yml
@@ -3,16 +3,17 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
    - post-balrog-dummy
    - post-beetmover-dummy
    - release-updates-builder
+   - release-update-verify-config
 
 transforms:
    - taskgraph.transforms.release_deps:transforms
    - taskgraph.transforms.update_verify:transforms
    - taskgraph.transforms.release_notifications:transforms
    - taskgraph.transforms.task:transforms
 
 job-defaults:
@@ -27,304 +28,190 @@ job-defaults:
          in-tree: "update-verify"
       max-run-time: 7200
       retry-exit-status:
          - 255
       env:
          NO_BBCONFIG: "1"
          BUILD_TOOLS_REPO:
             by-project:
+               birch: https://hg.mozilla.org/users/bhearsum_mozilla.com/tools
                jamun: https://hg.mozilla.org/users/stage-ffxbld/tools
                maple: https://hg.mozilla.org/users/asasaki_mozilla.com/tools
                default: https://hg.mozilla.org/build/tools
    extra:
       chunks: 12
 
 jobs:
    firefox-linux64:
       description: linux64 update verify
       shipping-product: firefox
       worker:
          env:
             CHANNEL:
                by-project:
+                  birch: "release-localtest"
                   jamun: "beta-localtest"
                   maple: "beta-localtest"
                   mozilla-beta: "beta-localtest"
                   mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
                   default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "beta-firefox-linux64.cfg"
-                  maple: "beta-firefox-linux64.cfg"
-                  mozilla-beta: "beta-firefox-linux64.cfg"
-                  mozilla-release: "release-firefox-linux64.cfg"
-                  mozilla-esr52: "esr-firefox-linux64.cfg"
-                  default: "none"
       treeherder:
          symbol: UV
          platform: linux64/opt
          kind: test
          tier: 1
       attributes:
          build_platform: linux64
 
    firefox-linux:
       description: linux update verify
       shipping-product: firefox
       worker:
          env:
             CHANNEL:
                by-project:
+                  birch: "release-localtest"
                   jamun: "beta-localtest"
                   maple: "beta-localtest"
                   mozilla-beta: "beta-localtest"
                   mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
                   default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "beta-firefox-linux.cfg"
-                  maple: "beta-firefox-linux.cfg"
-                  mozilla-beta: "beta-firefox-linux.cfg"
-                  mozilla-release: "release-firefox-linux.cfg"
-                  mozilla-esr52: "esr-firefox-linux.cfg"
-                  default: "none"
       treeherder:
          symbol: UV
          platform: linux/opt
          kind: test
          tier: 1
       attributes:
          build_platform: linux
 
    firefox-win64:
       description: win64 update verify
       shipping-product: firefox
       worker:
          env:
             CHANNEL:
                by-project:
+                  birch: "release-localtest"
                   jamun: "beta-localtest"
                   maple: "beta-localtest"
                   mozilla-beta: "beta-localtest"
                   mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
                   default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "beta-firefox-win64.cfg"
-                  maple: "beta-firefox-win64.cfg"
-                  mozilla-beta: "beta-firefox-win64.cfg"
-                  mozilla-release: "release-firefox-win64.cfg"
-                  mozilla-esr52: "esr-firefox-win64.cfg"
-                  default: "none"
       treeherder:
          symbol: UV
          platform: win64/opt
          kind: test
          tier: 1
       attributes:
          build_platform: win64
 
    firefox-win32:
       description: win32 update verify
       shipping-product: firefox
       worker:
          env:
             CHANNEL:
                by-project:
+                  birch: "release-localtest"
                   jamun: "beta-localtest"
                   maple: "beta-localtest"
                   mozilla-beta: "beta-localtest"
                   mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
                   default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "beta-firefox-win32.cfg"
-                  maple: "beta-firefox-win32.cfg"
-                  mozilla-beta: "beta-firefox-win32.cfg"
-                  mozilla-release: "release-firefox-win32.cfg"
-                  mozilla-esr52: "esr-firefox-win32.cfg"
-                  default: "none"
       treeherder:
          symbol: UV
          platform: win32/opt
          kind: test
          tier: 1
       attributes:
          build_platform: win32
 
    firefox-macosx64:
       description: macosx64 update verify
       shipping-product: firefox
       worker:
          env:
             CHANNEL:
                by-project:
+                  birch: "release-localtest"
                   jamun: "beta-localtest"
                   maple: "beta-localtest"
                   mozilla-beta: "beta-localtest"
                   mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
                   default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "beta-firefox-macosx64.cfg"
-                  maple: "beta-firefox-macosx64.cfg"
-                  mozilla-beta: "beta-firefox-macosx64.cfg"
-                  mozilla-release: "release-firefox-macosx64.cfg"
-                  mozilla-esr52: "esr-firefox-macosx64.cfg"
-                  default: "none"
       treeherder:
          symbol: UV
          platform: macosx64/opt
          kind: test
          tier: 1
       attributes:
          build_platform: macosx64
 
    devedition-linux64:
       description: linux64 update verify
       shipping-product: devedition
       worker:
          env:
-            CHANNEL:
-               by-project:
-                  jamun: "aurora-localtest"
-                  maple: "aurora-localtest"
-                  mozilla-beta: "aurora-localtest"
-                  mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
-                  default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "aurora-devedition-linux64.cfg"
-                  maple: "aurora-devedition-linux64.cfg"
-                  mozilla-beta: "aurora-devedition-linux64.cfg"
-                  mozilla-release: "release-devedition-linux64.cfg"
-                  mozilla-esr52: "esr-devedition-linux64.cfg"
-                  default: "none"
+            CHANNEL: "aurora-localtest"
       treeherder:
          symbol: UV
          platform: linux64-devedition/opt
          kind: test
          tier: 1
       attributes:
          build_platform: linux64-devedition
 
    devedition-linux:
       description: linux update verify
       shipping-product: devedition
       worker:
          env:
-            CHANNEL:
-               by-project:
-                  jamun: "aurora-localtest"
-                  maple: "aurora-localtest"
-                  mozilla-beta: "aurora-localtest"
-                  mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
-                  default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "aurora-devedition-linux.cfg"
-                  maple: "aurora-devedition-linux.cfg"
-                  mozilla-beta: "aurora-devedition-linux.cfg"
-                  mozilla-release: "release-devedition-linux.cfg"
-                  mozilla-esr52: "esr-devedition-linux.cfg"
-                  default: "none"
+            CHANNEL: "aurora-localtest"
       treeherder:
          symbol: UV
          platform: linux-devedition/opt
          kind: test
          tier: 1
       attributes:
          build_platform: linux-devedition
 
    devedition-win64:
       description: win64 update verify
       shipping-product: devedition
       worker:
          env:
-            CHANNEL:
-               by-project:
-                  jamun: "aurora-localtest"
-                  maple: "aurora-localtest"
-                  mozilla-beta: "aurora-localtest"
-                  mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
-                  default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "aurora-devedition-win64.cfg"
-                  maple: "aurora-devedition-win64.cfg"
-                  mozilla-beta: "aurora-devedition-win64.cfg"
-                  mozilla-release: "release-devedition-win64.cfg"
-                  mozilla-esr52: "esr-devedition-win64.cfg"
-                  default: "none"
+            CHANNEL: "aurora-localtest"
       treeherder:
          symbol: UV
          platform: win64-devedition/opt
          kind: test
          tier: 1
       attributes:
          build_platform: win64-devedition
 
    devedition-win32:
       description: win32 update verify
       shipping-product: devedition
       worker:
          env:
-            CHANNEL:
-               by-project:
-                  jamun: "aurora-localtest"
-                  maple: "aurora-localtest"
-                  mozilla-beta: "aurora-localtest"
-                  mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
-                  default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "aurora-devedition-win32.cfg"
-                  maple: "aurora-devedition-win32.cfg"
-                  mozilla-beta: "aurora-devedition-win32.cfg"
-                  mozilla-release: "release-devedition-win32.cfg"
-                  mozilla-esr52: "esr-devedition-win32.cfg"
-                  default: "none"
+            CHANNEL: "aurora-localtest"
       treeherder:
          symbol: UV
          platform: win32-devedition/opt
          kind: test
          tier: 1
       attributes:
          build_platform: win32-devedition
 
    devedition-macosx64:
       description: macosx64 update verify
       shipping-product: devedition
       worker:
          env:
-            CHANNEL:
-               by-project:
-                  jamun: "aurora-localtest"
-                  maple: "aurora-localtest"
-                  mozilla-beta: "aurora-localtest"
-                  mozilla-release: "release-localtest"
-                  mozilla-esr52: "esr-localtest"
-                  default: "default"
-            VERIFY_CONFIG:
-               by-project:
-                  jamun: "aurora-devedition-macosx64.cfg"
-                  maple: "aurora-devedition-macosx64.cfg"
-                  mozilla-beta: "aurora-devedition-macosx64.cfg"
-                  mozilla-release: "release-devedition-macosx64.cfg"
-                  mozilla-esr52: "esr-devedition-macosx64.cfg"
-                  default: "none"
+            CHANNEL: "aurora-localtest"
       treeherder:
          symbol: UV
          platform: macosx64-devedition/opt
          kind: test
          tier: 1
       attributes:
          build_platform: macosx64-devedition
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -298,16 +298,24 @@ Schedule an RC release to go live in Bal
 release-update-verify
 ---------------------
 Verifies the contents and package of release update MARs.
 
 release-secondary-update-verify
 ---------------------
 Verifies the contents and package of release update MARs.
 
+release-update-verify-config
+----------------------------
+Creates configs for release-update-verify tasks
+
+release-secondary-update-verify-config
+--------------------------------------
+Creates configs for release-secondary-update-verify tasks
+
 release-updates-builder
 -----------------------
 Top level Balrog blob submission & patcher/update verify config updates.
 
 release-version-bump
 --------------------
 Bumps to the next version.
 
--- a/taskcluster/taskgraph/target_tasks.py
+++ b/taskcluster/taskgraph/target_tasks.py
@@ -329,16 +329,17 @@ def target_tasks_promote_firefox(full_ta
         # shipping_product matches.
         if task.label in beta_release_tasks:
             return True
 
         # 'secondary' update/final verify tasks only run for
         # RCs
         if parameters.get('release_type') != 'rc':
             if task.kind in ('release-secondary-update-verify',
+                             'release-secondary-update-verify-config',
                              'release-secondary-final-verify'):
                 return False
 
         if task.attributes.get('shipping_product') == 'firefox' and \
                 task.attributes.get('shipping_phase') == 'promote':
             return True
 
     return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
--- a/taskcluster/taskgraph/transforms/update_verify.py
+++ b/taskcluster/taskgraph/transforms/update_verify.py
@@ -6,48 +6,54 @@ Transform the beetmover task into an act
 """
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 from copy import deepcopy
 
 from taskgraph.transforms.base import TransformSequence
 from taskgraph.util.schema import resolve_keyed_by
-from taskgraph.util.scriptworker import get_release_config
+from taskgraph.util.taskcluster import get_taskcluster_artifact_prefix
 
 transforms = TransformSequence()
 
 
 @transforms.add
 def add_command(config, tasks):
     for task in tasks:
         total_chunks = task["extra"]["chunks"]
-        release_config = get_release_config(config)
-        release_tag = "{}_{}_RELEASE_RUNTIME".format(
-            task["shipping-product"].upper(),
-            release_config["version"].replace(".", "_")
-        )
 
         for this_chunk in range(1, total_chunks+1):
             chunked = deepcopy(task)
             chunked["treeherder"]["symbol"] += str(this_chunk)
             chunked["label"] = "release-update-verify-{}-{}/{}".format(
                 chunked["name"], this_chunk, total_chunks
             )
             if not chunked["worker"].get("env"):
                 chunked["worker"]["env"] = {}
             chunked["worker"]["command"] = [
                 "/bin/bash",
                 "-c",
-                "hg clone $BUILD_TOOLS_REPO tools && cd tools && " +
-                "hg up -r {} && cd .. && ".format(
-                    release_tag,
-                ) +
+                "hg clone $BUILD_TOOLS_REPO tools && " +
                 "tools/scripts/release/updates/chunked-verify.sh " +
                 "UNUSED UNUSED {} {}".format(
                     total_chunks,
                     this_chunk,
                 )
             ]
             for thing in ("CHANNEL", "VERIFY_CONFIG", "BUILD_TOOLS_REPO"):
                 thing = "worker.env.{}".format(thing)
                 resolve_keyed_by(chunked, thing, thing, **config.params)
+
+            update_verify_config = None
+            for upstream in chunked.get("dependencies", {}).keys():
+                if 'update-verify-config' in upstream:
+                    update_verify_config = "{}update-verify.cfg".format(
+                        get_taskcluster_artifact_prefix("<{}>".format(upstream))
+                    )
+            if not update_verify_config:
+                raise Exception("Couldn't find upate verify config")
+
+            chunked["worker"]["env"]["TASKCLUSTER_VERIFY_CONFIG"] = {
+                "task-reference": update_verify_config
+            }
+
             yield chunked
new file mode 100644
--- /dev/null
+++ b/taskcluster/taskgraph/transforms/update_verify_config.py
@@ -0,0 +1,103 @@
+# 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/.
+"""
+Transform the beetmover task into an actual task description.
+"""
+
+from __future__ import absolute_import, print_function, unicode_literals
+
+import urlparse
+
+from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.schema import resolve_keyed_by
+from taskgraph.util.scriptworker import get_release_config
+
+transforms = TransformSequence()
+
+
+# The beta regexes do not match point releases.
+# In the rare event that we do ship a point
+# release to beta, we need to either:
+# 1) update these regexes to match that specific version
+# 2) pass a second include version that matches that specifivc version
+INCLUDE_VERSION_REGEXES = {
+    "beta": r"'^(\d+\.\d+(b\d+)?)$'",
+    "nonbeta": r"'^\d+\.\d+(\.\d+)?$'",
+    # Same as beta, except excludes 58.0b1 due to issues with it not being able
+    # to update to latest
+    "devedition_hack": r"'^((?!58\.0b1$)\d+\.\d+(b\d+)?)$'",
+}
+
+MAR_CHANNEL_ID_OVERRIDE_REGEXES = {
+    "beta": r"'^\d+\.\d+(\.\d+)?$$,firefox-mozilla-beta,firefox-mozilla-release'",
+}
+
+
+@transforms.add
+def add_command(config, tasks):
+    keyed_by_args = [
+        "channel",
+        "archive-prefix",
+        "previous-archive-prefix",
+        "aus-server",
+        "include-version",
+        "mar-channel-id-override",
+        "last-watershed",
+    ]
+    optional_args = [
+        "updater-platform",
+    ]
+
+    for task in tasks:
+        release_config = get_release_config(config)
+        task["description"] = "generate update verify config for {}".format(
+            task["attributes"]["build_platform"]
+        )
+
+        command = [
+            "cd", "/builds/worker/checkouts/gecko", "&&"
+            "./mach", "python",
+            "testing/mozharness/scripts/release/update-verify-config-creator.py",
+            "--config", "internal_pypi.py",
+            "--product", task["extra"]["product"],
+            "--stage-product", task["shipping-product"],
+            "--app-name", task["extra"]["app-name"],
+            "--platform", task["extra"]["platform"],
+            "--to-version", release_config["version"],
+            "--to-app-version", release_config["appVersion"],
+            "--to-build-number", str(release_config["build_number"]),
+            "--to-buildid", config.params["moz_build_date"],
+            "--to-revision", config.params["head_rev"],
+            "--output-file", "update-verify.cfg",
+        ]
+
+        repo_path = urlparse.urlsplit(config.params["head_repository"]).path.lstrip("/")
+        command.extend(["--repo-path", repo_path])
+
+        if release_config.get("partial_versions"):
+            for partial in release_config["partial_versions"].split(","):
+                command.extend(["--partial-version", partial.split("build")[0]])
+
+        for arg in optional_args:
+            if task["extra"].get(arg):
+                command.append("--{}".format(arg))
+                command.append(task["extra"][arg])
+
+        for arg in keyed_by_args:
+            thing = "extra.{}".format(arg)
+            resolve_keyed_by(task, thing, thing, **config.params)
+            # ignore things that resolved to null
+            if not task["extra"].get(arg):
+                continue
+            if arg == "include-version":
+                task["extra"][arg] = INCLUDE_VERSION_REGEXES[task["extra"][arg]]
+            if arg == "mar-channel-id-override":
+                task["extra"][arg] = MAR_CHANNEL_ID_OVERRIDE_REGEXES[task["extra"][arg]]
+
+            command.append("--{}".format(arg))
+            command.append(task["extra"][arg])
+
+        task["run"]["command"] = " ".join(command)
+
+        yield task
--- a/taskcluster/taskgraph/util/scriptworker.py
+++ b/taskcluster/taskgraph/util/scriptworker.py
@@ -452,16 +452,18 @@ def get_release_config(config):
             update `task.payload`.
     """
     release_config = {}
 
     partial_updates = os.environ.get("PARTIAL_UPDATES", "")
     if partial_updates != "" and config.kind in ('release-bouncer-sub',
                                                  'release-bouncer-check',
                                                  'release-updates-builder',
+                                                 'release-update-verify-config',
+                                                 'release-secondary-update-verify-config',
                                                  ):
         partial_updates = json.loads(partial_updates)
         release_config['partial_versions'] = ', '.join([
             '{}build{}'.format(v, info['buildNumber'])
             for v, info in partial_updates.items()
         ])
         if release_config['partial_versions'] == "{}":
             del release_config['partial_versions']