poule.yml
7cb1fad4
 # Add a "status/0-triage" to every newly opened pull request.
 - triggers:
       pull_request: [ opened ]
   operations:
       - type:       label
d2920bb3
         filters: {
e2783804
             ~labels: [ "status/0-triage", "status/1-design-review", "status/2-code-review", "status/3-docs-review", "status/4-merge" ],
d2920bb3
         }
7cb1fad4
         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" ],
59ca288c
                 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" ],
7cb1fad4
                 platform/desktop:    [ "docker for mac", "docker for windows" ],
                 platform/freebsd:    [ "freebsd" ],
                 platform/windows:    [ "nanoserver", "windowsservercore", "windows server" ],
b7ca1568
                 platform/arm:        [ "raspberry", "raspbian", "rpi", "beaglebone", "pine64" ],
7cb1fad4
             }
         }
       - 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: {
3d89d694
             # When configurations are empty, the `rebuild` operation rebuilds all the currently
             # known statuses for that pull request.
             configurations: [],
             label:          "rebuild/*",
         }
       - type:       rebuild
         settings: {
7cb1fad4
             configurations: [ arm ],
             label:          "rebuild/arm",
         }
       - type:       rebuild
         settings: {
             configurations: [ experimental ],
             label:          "rebuild/experimental",
         }
       - type:       rebuild
         settings: {
             configurations: [ janky ],
             label:          "rebuild/janky",
         }
       - type:       rebuild
         settings: {
8304f302
             configurations: [ powerpc ],
             label:          "rebuild/powerpc",
         }
       - type:       rebuild
         settings: {
7cb1fad4
             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",
         }
8304f302
       - type:       rebuild
         settings: {
             configurations: [ z ],
             label:          "rebuild/z",
3bf19223
         }
d4f5fa29
 
 # Once a day, randomly assign pull requests older than 2 weeks.
 - schedule:         "@daily"
   operations:
       - type:       random-assign
         filters: {
             age:    "2w",
             is:     "pr",
         }
         settings: {
             users: [
d10915ba
                 "aaronlehmann",
                 "akihirosuda",
                 "aluzzardi",
                 "coolljt0725",
d4f5fa29
                 "cpuguy83",
                 "crosbymichael",
                 "dnephin",
d10915ba
                 "duglin",
4fe11d49
                 "ehazlett",
                 "johnstep",
d4f5fa29
                 "justincormack",
                 "lk4d4",
d10915ba
                 "mhbauer",
d4f5fa29
                 "mlaventure",
d10915ba
                 "runcom",
                 "stevvooe",
d4f5fa29
                 "thajeztah",
                 "tiborvass",
                 "tonistiigi",
                 "vdemeester",
                 "vieux",
da3c711c
                 "yongtang",
d4f5fa29
             ]
8304f302
         }