summaryrefslogtreecommitdiff
path: root/poule.yml
blob: d05c764b38ab5b3a0280d74435b5ff7832ee9a19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Add a "status/0-triage" to every newly opened pull request.
- triggers:
      pull_request: [ opened ]
  operations:
      - type:       label
        filters: {
            ~labels: [ "status/0-triage", "status/1-design-review", "status/2-code-review", "status/3-docs-review", "status/4-merge" ],
        }
        settings: {
            patterns: {
                status/0-triage:     [ ".*" ],
            }
        }

# For every newly created or modified issue, assign label based on matching regexp using the `label`
# operation, as well as an Engine-specific version label using `version-label`.
- triggers:
      issues:       [ edited, opened, reopened ]
  operations:
      - type:       label
        settings: {
            patterns: {
                area/builder:        [ "dockerfile", "docker build" ],
                area/distribution:   [ "docker login", "docker logout", "docker pull", "docker push", "docker search" ],
                area/plugins:        [ "docker plugin" ],
                area/networking:     [ "docker network", "ipvs", "vxlan" ],
                area/runtime:        [ "oci runtime error" ],
                area/security/trust: [ "docker_content_trust" ],
                area/swarm:          [ "docker node", "docker swarm", "docker service create", "docker service inspect", "docker service logs", "docker service ls", "docker service ps", "docker service rm", "docker service scale", "docker service update" ],
                platform/desktop:    [ "docker for mac", "docker for windows" ],
                platform/freebsd:    [ "freebsd" ],
                platform/windows:    [ "nanoserver", "windowsservercore", "windows server" ],
                platform/arm:        [ "raspberry", "raspbian", "rpi", "beaglebone", "pine64" ],
            }
        }
      - type:       version-label

# Labeling a PR with `rebuild/<configuration>` triggers a rebuild job for the associated
# configuration. The label is automatically removed after the rebuild is initiated. There's no such
# thing as "templating" in this configuration, so we need one operation for each type of
# configuration that can be triggered.
- triggers:
      pull_request: [ labeled ]
  operations:
      - type:       rebuild
        settings: {
            # When configurations are empty, the `rebuild` operation rebuilds all the currently
            # known statuses for that pull request.
            configurations: [],
            label:          "rebuild/*",
        }
      - type:       rebuild
        settings: {
            configurations: [ arm ],
            label:          "rebuild/arm",
        }
      - type:       rebuild
        settings: {
            configurations: [ experimental ],
            label:          "rebuild/experimental",
        }
      - type:       rebuild
        settings: {
            configurations: [ janky ],
            label:          "rebuild/janky",
        }
      - type:       rebuild
        settings: {
            configurations: [ powerpc ],
            label:          "rebuild/powerpc",
        }
      - type:       rebuild
        settings: {
            configurations: [ userns ],
            label:          "rebuild/userns",
        }
      - type:       rebuild
        settings: {
            configurations: [ vendor ],
            label:          "rebuild/vendor",
        }
      - type:       rebuild
        settings: {
            configurations: [ win2lin ],
            label:          "rebuild/win2lin",
        }
      - type:       rebuild
        settings: {
            configurations: [ windowsRS1 ],
            label:          "rebuild/windowsRS1",
        }
      - type:       rebuild
        settings: {
            configurations: [ windowsRS5 ],
            label:          "rebuild/windowsRS5-process",
        }
      - type:       rebuild
        settings: {
            configurations: [ z ],
            label:          "rebuild/z",
        }

# Once a day, randomly assign pull requests older than 2 weeks.
- schedule:         "@daily"
  operations:
      - type:       random-assign
        filters: {
            age:    "2w",
            is:     "pr",
        }
        settings: {
            users: [
                "aaronlehmann",
                "akihirosuda",
                "coolljt0725",
                "cpuguy83",
                "crosbymichael",
                "dnephin",
                "duglin",
                "fntlnz",
                "johnstep",
                "justincormack",
                "mhbauer",
                "mlaventure",
                "runcom",
                "stevvooe",
                "thajeztah",
                "tiborvass",
                "tonistiigi",
                "vdemeester",
                "vieux",
                "yongtang",
            ]
        }