Skip to content

Commit 99840c4

Browse files
committed
ci: add route to index docker-images by PR number
1 parent bd7a351 commit 99840c4

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

taskcluster/kinds/docker-image/kind.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ loader: taskgraph.loader.transform:loader
1010
transforms:
1111
- taskgraph.transforms.docker_image:transforms
1212
- taskgraph.transforms.cached_tasks:transforms
13+
- self_taskgraph.transforms.add_pr_route
1314
- taskgraph.transforms.task:transforms
1415

1516
# make a task for each docker-image we might want. For the moment, since we
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# This Source Code Form is subject to the terms of the Mozilla Public
2+
# License, v. 2.0. If a copy of the MPL was not distributed with this
3+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4+
5+
from taskgraph.transforms.base import TransformSequence
6+
7+
transforms = TransformSequence()
8+
9+
10+
@transforms.add
11+
def add_pr_route(config, tasks):
12+
"""Adds pull request index routes when applicable."""
13+
if not (pr_number := config.params.get("pull_request_number")):
14+
yield from tasks
15+
return
16+
17+
PR_ROUTE = (
18+
"index.{trust-domain}.v2.{project}-pr.{pr-number}.latest.{kind}.{task-name}"
19+
)
20+
subs = {
21+
"trust-domain": config.graph_config["trust-domain"],
22+
"project": config.params["project"],
23+
"pr-number": pr_number,
24+
"kind": config.kind,
25+
}
26+
27+
for task in tasks:
28+
subs["task-name"] = task.get("name") or task["label"][len(config.kind) + 1 :]
29+
routes = task.setdefault("routes", [])
30+
routes.append(PR_ROUTE.format(**subs))
31+
yield task

0 commit comments

Comments
 (0)