bug 1423081 - Add balrog publishing task. r=callek draft
authorJohan Lorenzo <jlorenzo@mozilla.com>
Wed, 13 Dec 2017 11:42:58 -0600
changeset 711451 ab5190c7b53c485db7e8f369201883ee8f59bd8c
parent 711450 2879a9e1ea1b207b4a13064097c333a1854cc73f
child 743809 eecc276488c73834da57963fde45ab0474f98301
push id93069
push userasasaki@mozilla.com
push dateWed, 13 Dec 2017 22:57:07 +0000
reviewerscallek
bugs1423081
milestone59.0a1
bug 1423081 - Add balrog publishing task. r=callek MozReview-Commit-ID: 3FF9KI0JUYN
taskcluster/ci/release-balrog-publishing/kind.yml
taskcluster/ci/release-mark-as-shipped/kind.yml
taskcluster/ci/release-notify-ship/kind.yml
taskcluster/docs/kinds.rst
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/release-balrog-publishing/kind.yml
@@ -0,0 +1,86 @@
+# 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.release_deps:transforms
+   - taskgraph.transforms.job:transforms
+   - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+   - release-uptake-monitoring
+
+job-defaults:
+   description: Schedule publishing in balrog
+   worker-type: buildbot-bridge/buildbot-bridge
+   run-on-projects: []
+   shipping-phase: ship
+   run:
+      using: buildbot
+      release-promotion: true
+   index:
+      type: release
+   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: []
+   routes:
+      - index.releases.v1.{branch}.latest.{product}.latest.schedule_publishing_in_balrog
+      - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.schedule_publishing_in_balrog
+
+jobs:
+   firefox:
+      name: release-firefox_schedule_publishing_in_balrog
+      shipping-product: firefox
+      run:
+         product: firefox
+         buildername: release-{branch}-firefox_schedule_publishing_in_balrog
+      index:
+         product: firefox
+   devedition:
+      name: release-devedition_schedule_publishing_in_balrog
+      shipping-product: devedition
+      run:
+         product: devedition
+         buildername: release-{branch}-devedition_schedule_publishing_in_balrog
+      index:
+         product: devedition
--- a/taskcluster/ci/release-mark-as-shipped/kind.yml
+++ b/taskcluster/ci/release-mark-as-shipped/kind.yml
@@ -6,16 +6,17 @@ loader: taskgraph.loader.transform:loade
 
 transforms:
    - taskgraph.transforms.release_deps:transforms
    - taskgraph.transforms.job:transforms
    - taskgraph.transforms.task:transforms
 
 kind-dependencies:
    - push-apk
+   - release-balrog-publishing
    - release-bouncer-aliases
    - release-version-bump
 
 job-defaults:
    description: mark release as shipped in Ship-It
    worker-type: buildbot-bridge/buildbot-bridge
    run-on-projects: []
    shipping-phase: ship
--- a/taskcluster/ci/release-notify-ship/kind.yml
+++ b/taskcluster/ci/release-notify-ship/kind.yml
@@ -5,16 +5,17 @@
 loader: taskgraph.loader.transform:loader
 
 transforms:
    - taskgraph.transforms.release_deps:transforms
    - taskgraph.transforms.task:transforms
 
 kind-dependencies:
    - push-apk
+   - release-balrog-publishing
    - release-bouncer-aliases
    - release-version-bump
    - release-mark-as-shipped
 
 job-defaults:
    name: notify-release-drivers-ship
    description: Sends email to release-drivers telling release was shipped.
    run-on-projects: []
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -224,16 +224,20 @@ kind depend on all the signed multi-loca
 in order to make the decision.
 
 push-apk
 --------
 PushApk publishes Android packages onto Google Play Store. Jobs of this kind take
 all the signed multi-locales (aka "multi") APKs for a given release and upload them
 all at once. They also depend on the breakpoint.
 
+release-balrog-publishing
+----------------------
+Schedule a release to go live in Balrog.
+
 release-binary-transparency
 ---------------------------
 Binary transparency creates a publicly verifiable log of binary shas for downstream
 release auditing. https://wiki.mozilla.org/Security/Binary_Transparency
 
 release-snap
 ------------
 Generate an installer using Ubuntu's Snap format.