bug 1423081 - partner_repack support. r=callek
MozReview-Commit-ID: LgIKGfC4gN5
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack/kind.yml
@@ -0,0 +1,190 @@
+# 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.partner_repack:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+job-defaults:
+ description: Release Promotion partner repacks
+ worker-type: buildbot-bridge/buildbot-bridge
+ run-on-projects: []
+ shipping-product: firefox
+ shipping-phase: promote
+ run:
+ using: buildbot
+ release-promotion: true
+ product: firefox
+ 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: []
+ index:
+ type: release
+ product: firefox
+
+jobs:
+ firefox-linux:
+ label: firefox linux partner repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "git@github.com:mozilla-partners/repack-manifests.git"
+ mozilla-release: "git@github.com:mozilla-partners/repack-manifests.git"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-linux_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.partner_repacks.linux
+ - index.releases.v1.{branch}.latest.{product}.latest.partner_repacks.linux
+
+ firefox-linux64:
+ label: firefox linux64 partner repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "git@github.com:mozilla-partners/repack-manifests.git"
+ mozilla-release: "git@github.com:mozilla-partners/repack-manifests.git"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-linux64_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.partner_repacks.linux64
+ - index.releases.v1.{branch}.latest.{product}.latest.partner_repacks.linux64
+
+ firefox-macosx:
+ label: firefox macosx64 partner repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "git@github.com:mozilla-partners/repack-manifests.git"
+ mozilla-release: "git@github.com:mozilla-partners/repack-manifests.git"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-macosx64_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.partner_repacks.macosx64
+ - index.releases.v1.{branch}.latest.{product}.latest.partner_repacks.macosx64
+
+ firefox-win32:
+ label: firefox win32 partner repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "git@github.com:mozilla-partners/repack-manifests.git"
+ mozilla-release: "git@github.com:mozilla-partners/repack-manifests.git"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-win32_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.partner_repacks.win32
+ - index.releases.v1.{branch}.latest.{product}.latest.partner_repacks.win32
+
+ firefox-win64:
+ label: firefox win64 partner repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "git@github.com:mozilla-partners/repack-manifests.git"
+ mozilla-release: "git@github.com:mozilla-partners/repack-manifests.git"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-win64_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.partner_repacks.win64
+ - index.releases.v1.{branch}.latest.{product}.latest.partner_repacks.win64
+
+ firefox-macosx-eme-free:
+ label: firefox macosx64 EME-free repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "https://github.com/mozilla-partners/mozilla-EME-free-manifest"
+ mozilla-release: "https://github.com/mozilla-partners/mozilla-EME-free-manifest"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-macosx64_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.eme_free_repacks.macosx64
+ - index.releases.v1.{branch}.latest.{product}.latest.eme_free_repacks.macosx64
+
+ firefox-win32-eme-free:
+ label: firefox win32 EME-free repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "https://github.com/mozilla-partners/mozilla-EME-free-manifest"
+ mozilla-release: "https://github.com/mozilla-partners/mozilla-EME-free-manifest"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-win32_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.eme_free_repacks.win32
+ - index.releases.v1.{branch}.latest.{product}.latest.eme_free_repacks.win32
+
+ firefox-win64-eme-free:
+ label: firefox win64 EME-free repacks
+ worker:
+ properties:
+ repack_manifests_url:
+ by-project:
+ mozilla-beta: "https://github.com/mozilla-partners/mozilla-EME-free-manifest"
+ mozilla-release: "https://github.com/mozilla-partners/mozilla-EME-free-manifest"
+ default: "git@github.com:mozilla-releng/staging-repack-manifests.git"
+ run:
+ buildername: release-{branch}-firefox-win64_partner_repacks
+ routes:
+ - index.releases.v1.{branch}.{revision}.{product}.{underscore_version}.build{build_number}.eme_free_repacks.win64
+ - index.releases.v1.{branch}.latest.{product}.latest.eme_free_repacks.win64
new file mode 100644
--- /dev/null
+++ b/taskcluster/taskgraph/transforms/partner_repack.py
@@ -0,0 +1,23 @@
+# 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 partner repack task into an actual task description.
+"""
+
+from __future__ import absolute_import, print_function, unicode_literals
+
+from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.schema import resolve_keyed_by
+
+
+transforms = TransformSequence()
+
+
+@transforms.add
+def resolve_properties(config, tasks):
+ for task in tasks:
+ for property in ("repack_manifests_url", ):
+ property = "worker.properties.{}".format(property)
+ resolve_keyed_by(task, property, property, **config.params)
+ yield task