Browse code

Add poule.yml

Add configuration for `poule` (https://github.com/icecrime/poule) to
manage GitHub automations.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>

Arnaud Porterie (icecrime) authored on 2016/11/08 10:05:48
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,81 @@
0
+# Add a "status/0-triage" to every newly opened pull request.
1
+- triggers:
2
+      pull_request: [ opened ]
3
+  operations:
4
+      - type:       label
5
+        settings: {
6
+            patterns: {
7
+                status/0-triage:     [ ".*" ],
8
+            }
9
+        }
10
+
11
+# For every newly created or modified issue, assign label based on matching regexp using the `label`
12
+# operation, as well as an Engine-specific version label using `version-label`.
13
+- triggers:
14
+      issues:       [ edited, opened, reopened ]
15
+  operations:
16
+      - type:       label
17
+        settings: {
18
+            patterns: {
19
+                area/builder:        [ "dockerfile", "docker build" ],
20
+                area/distribution:   [ "docker login", "docker logout", "docker pull", "docker push", "docker search" ],
21
+                area/plugins:        [ "docker plugin" ],
22
+                area/networking:     [ "docker network", "ipvs", "vxlan" ],
23
+                area/runtime:        [ "oci runtime error" ],
24
+                area/security/trust: [ "docker_content_trust" ],
25
+                area/swarm:          [ "docker node", "docker service", "docker swarm" ],
26
+                platform/desktop:    [ "docker for mac", "docker for windows" ],
27
+                platform/freebsd:    [ "freebsd" ],
28
+                platform/windows:    [ "nanoserver", "windowsservercore", "windows server" ],
29
+            }
30
+        }
31
+      - type:       version-label
32
+
33
+# When a pull request is closed, attach it to the currently active milestone.
34
+- triggers:
35
+      pull_request: [ closed ]
36
+  operations:
37
+      - type:       version-milestone
38
+
39
+# Labeling a PR with `rebuild/<configuration>` triggers a rebuild job for the associated
40
+# configuration. The label is automatically removed after the rebuild is initiated. There's no such
41
+# thing as "templating" in this configuration, so we need one operation for each type of
42
+# configuration that can be triggered.
43
+- triggers:
44
+      pull_request: [ labeled ]
45
+  operations:
46
+      - type:       rebuild
47
+        settings: {
48
+            configurations: [ arm ],
49
+            label:          "rebuild/arm",
50
+        }
51
+      - type:       rebuild
52
+        settings: {
53
+            configurations: [ experimental ],
54
+            label:          "rebuild/experimental",
55
+        }
56
+      - type:       rebuild
57
+        settings: {
58
+            configurations: [ janky ],
59
+            label:          "rebuild/janky",
60
+        }
61
+      - type:       rebuild
62
+        settings: {
63
+            configurations: [ userns ],
64
+            label:          "rebuild/userns",
65
+        }
66
+      - type:       rebuild
67
+        settings: {
68
+            configurations: [ vendor ],
69
+            label:          "rebuild/vendor",
70
+        }
71
+      - type:       rebuild
72
+        settings: {
73
+            configurations: [ win2lin ],
74
+            label:          "rebuild/win2lin",
75
+        }
76
+      - type:       rebuild
77
+        settings: {
78
+            configurations: [ windowsRS1 ],
79
+            label:          "rebuild/windowsRS1",
80
+        }