bug 1431799 - add RC secondary tasks. r=bhearsum

MozReview-Commit-ID: 2hq4K5QVbWy

--HG--
rename : taskcluster/ci/release-balrog-publishing/kind.yml => taskcluster/ci/release-secondary-balrog-publishing/kind.yml
rename : taskcluster/ci/release-notify-ship/kind.yml => taskcluster/ci/release-secondary-notify-ship/kind.yml
extra : rebase_source : 58a1297f50f182209290a1a968ece11eb8216e13
extra : source : 4887dd855680205a24f34f54a64a85de31d1bfa9
This commit is contained in:
Aki Sasaki 2018-01-29 16:19:52 -08:00
Родитель 5795b692ae
Коммит 86f7b2f5e3
4 изменённых файлов: 174 добавлений и 7 удалений

Просмотреть файл

@ -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.release_balrog_publishing:transforms
- taskgraph.transforms.job:transforms
- taskgraph.transforms.task:transforms
kind-dependencies:
- post-balrog-dummy
- post-beetmover-dummy
- release-updates-builder
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-secondary-rc:
name: release-firefox_schedule_publishing_in_balrog
shipping-product: firefox
run:
product: firefox
buildername: release-{branch}-firefox_schedule_publishing_in_balrog
channels:
by-project:
birch: beta
mozilla-release: beta
default: unknown
index:
product: firefox

Просмотреть файл

@ -0,0 +1,56 @@
# 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.task:transforms
kind-dependencies:
- release-secondary-balrog-publishing
job-defaults:
name: notify-release-drivers-ship
description: Sends email to release-drivers telling release was shipped.
run-on-projects: []
shipping-phase: ship
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
implementation: docker-worker
os: linux
docker-image: "ubuntu:16.10"
max-run-time: 600
command:
- /bin/bash
- -c
- echo "Dummy task"
notifications:
completed:
subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has shipped!"
message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has shipped!"
plugins: ["ses"]
emails:
by-project:
mozilla-beta: ["release-signoff@mozilla.org"]
mozilla-release: ["release-signoff@mozilla.org"]
try: ["{task_def[metadata][owner]}"]
maple: ["release+tcstaging@mozilla.com"]
default: []
routes:
- index.releases.v1.{branch}.{revision}.{product}-rc.{underscore_version}.build{build_number}.email-{channel}
- index.releases.v1.{branch}.latest.{product}-rc.latest.email-{channel}
index:
type: release
channel:
by-project:
mozilla-release: beta
birch: birch
default: unknown
jobs:
firefox-rc:
shipping-product: firefox
index:
product: firefox

Просмотреть файл

@ -255,6 +255,10 @@ release-notify-ship
----------------------
Notify when a release has been shipped.
release-secondary-notify-ship
----------------------
Notify when an RC release has been shipped to the beta channel.
release-notify-promote
----------------------
Notify when a release has been promoted.
@ -281,7 +285,11 @@ Verifies the contents and package of release update MARs.
release-secondary-final-verify
---------------------
Verifies the contents and package of release update MARs.
Verifies the contents and package of release update MARs for RC releases.
release-secondary-balrog-publishing
---------------------
Schedule an RC release to go live in Balrog. Usually this will happen on the beta channel, to a smaller audience, before the RC goes live on the release channel.
release-update-verify
---------------------

Просмотреть файл

@ -369,17 +369,34 @@ def target_tasks_push_firefox(full_task_graph, parameters, graph_config):
def target_tasks_ship_firefox(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to ship firefox.
Previous build deps will be optimized out via action task."""
filtered_for_candidates = target_tasks_push_firefox(
full_task_graph, parameters, graph_config,
)
is_rc = (parameters.get('desktop_release_type') == 'rc')
if is_rc:
# ship_firefox_rc runs after `promote` rather than `push`; include
# all promote tasks.
filtered_for_candidates = target_tasks_promote_firefox(
full_task_graph, parameters, graph_config,
)
else:
# ship_firefox runs after `push`; include all push tasks.
filtered_for_candidates = target_tasks_push_firefox(
full_task_graph, parameters, graph_config,
)
def filter(task):
# Include promotion tasks; these will be optimized out
if task.label in filtered_for_candidates:
return True
if task.attributes.get('shipping_product') == 'firefox' and \
task.attributes.get('shipping_phase') == 'ship':
return True
if task.attributes.get('shipping_product') != 'firefox' or \
task.attributes.get('shipping_phase') != 'ship':
return False
if task.kind in (
'release-secondary-balrog-publishing',
'release-secondary-notify-ship',
):
return is_rc
else:
return not is_rc
return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]