mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-05 21:20:45 +00:00
Bug 1808607 - part 2: Migrate notify tasks
(cherry picked from commit bbe9c25ce54c89d095d76abdcd0136a9a7bd315b)
This commit is contained in:
parent
81f0977288
commit
4d3d22d167
@ -1,44 +0,0 @@
|
||||
# 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:
|
||||
- fenix_taskgraph.transforms.release_deps:transforms
|
||||
- taskgraph.transforms.release_notifications:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
kind-dependencies:
|
||||
- push-apk
|
||||
|
||||
primary-dependency: push-apk
|
||||
|
||||
group-by: build-type
|
||||
|
||||
only-for-build-types:
|
||||
- beta
|
||||
- release
|
||||
|
||||
task-defaults:
|
||||
attributes:
|
||||
shipping_phase: promote
|
||||
name: notify-release-drivers-promote
|
||||
description: Sends email to release-drivers telling release was promoted.
|
||||
worker-type: succeed
|
||||
worker:
|
||||
implementation: succeed
|
||||
notifications:
|
||||
subject: "{config[params][project]} {config[params][version]} build{config[params][build_number]} has been pushed to the closed testing track on Google Play"
|
||||
emails:
|
||||
by-level:
|
||||
'3': ["release-signoff@mozilla.org"]
|
||||
default: ["{config[params][owner]}"]
|
||||
|
||||
tasks:
|
||||
beta:
|
||||
attributes:
|
||||
release-type: beta
|
||||
release:
|
||||
attributes:
|
||||
release-type: release
|
@ -1,47 +0,0 @@
|
||||
# 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:
|
||||
- fenix_taskgraph.transforms.release_deps:transforms
|
||||
- taskgraph.transforms.release_notifications:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
kind-dependencies:
|
||||
- push-apk
|
||||
- github-release
|
||||
- version-bump
|
||||
- mark-as-shipped
|
||||
|
||||
primary-dependency: push-apk
|
||||
|
||||
group-by: build-type
|
||||
|
||||
only-for-build-types:
|
||||
- beta
|
||||
- release
|
||||
|
||||
task-defaults:
|
||||
attributes:
|
||||
shipping_phase: ship
|
||||
name: notify-release-drivers-ship
|
||||
description: Sends email to release-drivers telling release was shipped.
|
||||
worker-type: succeed
|
||||
worker:
|
||||
implementation: succeed
|
||||
notifications:
|
||||
subject: "{config[params][project]} {config[params][version]} build{config[params][build_number]} has been tagged in GitHub"
|
||||
emails:
|
||||
by-level:
|
||||
'3': ["release-signoff@mozilla.org"]
|
||||
default: ["{config[params][owner]}"]
|
||||
|
||||
tasks:
|
||||
beta:
|
||||
attributes:
|
||||
release-type: beta
|
||||
release:
|
||||
attributes:
|
||||
release-type: release
|
@ -1,36 +0,0 @@
|
||||
# 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/.
|
||||
"""
|
||||
Handle notifications like emails.
|
||||
"""
|
||||
|
||||
from taskgraph.transforms.base import TransformSequence
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
||||
@transforms.add
|
||||
def add_notify_email(config, tasks):
|
||||
for task in tasks:
|
||||
notify = task.pop("notify", {})
|
||||
email_config = notify.get("email")
|
||||
if email_config:
|
||||
extra = task.setdefault("extra", {})
|
||||
notify = extra.setdefault("notify", {})
|
||||
notify["email"] = {
|
||||
"content": email_config["content"],
|
||||
"subject": email_config["subject"],
|
||||
"link": email_config.get("link", None),
|
||||
}
|
||||
|
||||
routes = task.setdefault("routes", [])
|
||||
routes.extend(
|
||||
[
|
||||
"notify.email.{}.on-{}".format(address, reason)
|
||||
for address in email_config["to-addresses"]
|
||||
for reason in email_config["on-reasons"]
|
||||
]
|
||||
)
|
||||
|
||||
yield task
|
@ -1,45 +0,0 @@
|
||||
# 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/.
|
||||
"""
|
||||
Add dependencies to release tasks.
|
||||
"""
|
||||
|
||||
from taskgraph.transforms.base import TransformSequence
|
||||
|
||||
PHASES = ["build", "promote", "push", "ship"]
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
||||
@transforms.add
|
||||
def add_dependencies(config, tasks):
|
||||
for task in tasks:
|
||||
dependencies = {}
|
||||
# Add any kind_dependencies_tasks with matching release_type as dependencies
|
||||
release_type = task["attributes"].get("release-type")
|
||||
phase = task["attributes"].get("shipping_phase")
|
||||
if release_type is None:
|
||||
continue
|
||||
|
||||
for dep_task in config.kind_dependencies_tasks.values():
|
||||
# Weed out unwanted tasks.
|
||||
# XXX we have run-on-projects which specifies the on-push behavior;
|
||||
# we need another attribute that specifies release promotion,
|
||||
# possibly which action(s) each task belongs in.
|
||||
|
||||
# We can only depend on tasks in the current or previous phases
|
||||
dep_phase = dep_task.attributes.get("shipping_phase")
|
||||
if dep_phase and PHASES.index(dep_phase) > PHASES.index(phase):
|
||||
continue
|
||||
|
||||
# Add matching release_type tasks to deps
|
||||
if (
|
||||
dep_task.task.get("release-type") == release_type
|
||||
or dep_task.attributes.get("release-type") == release_type
|
||||
):
|
||||
dependencies[dep_task.label] = dep_task.label
|
||||
|
||||
task.setdefault("dependencies", {}).update(dependencies)
|
||||
|
||||
yield task
|
Loading…
Reference in New Issue
Block a user