File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed
self_taskgraph/transforms Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ loader: taskgraph.loader.transform:loader
10
10
transforms :
11
11
- taskgraph.transforms.docker_image:transforms
12
12
- taskgraph.transforms.cached_tasks:transforms
13
+ - self_taskgraph.transforms.add_pr_route
13
14
- taskgraph.transforms.task:transforms
14
15
15
16
# make a task for each docker-image we might want. For the moment, since we
Original file line number Diff line number Diff line change
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
+ """Taskgraph builds several docker-images that get used externally.
13
+
14
+ Indexing these images by pull request number, allows us to easily test them
15
+ in external repos using the `indexed-image` image definition type.
16
+ """
17
+ if not (pr_number := config .params .get ("pull_request_number" )):
18
+ yield from tasks
19
+ return
20
+
21
+ PR_ROUTE = (
22
+ "index.{trust-domain}.v2.{project}-pr.{pr-number}.latest.{kind}.{task-name}"
23
+ )
24
+ subs = {
25
+ "trust-domain" : config .graph_config ["trust-domain" ],
26
+ "project" : config .params ["project" ],
27
+ "pr-number" : pr_number ,
28
+ "kind" : config .kind ,
29
+ }
30
+
31
+ for task in tasks :
32
+ subs ["task-name" ] = task .get ("name" ) or task ["label" ][len (config .kind )+ 1 :]
33
+ routes = task .setdefault ("routes" , [])
34
+ routes .append (PR_ROUTE .format (** subs ))
35
+ yield task
You can’t perform that action at this time.
0 commit comments