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