project-config/zuul.d/pipelines.yaml
Andreas Jaeger 8e1d64aee8
Remove infra specific pipelines and enable pipelines
Remove infra-gate and infra-post; remove infra-check everywhere except
for project-config so that we can quickly iterate on it.

Enable the pipelines for all projects.

Move infra-check pipeline after check to have those related pipelines
displayed together.

This partially reverts I084b819ea0a4b67f36df61ccb3bfd6963cc3940d and
reverts Ieced5db4bb8a29eb494dffce3bed030a528f46a1 and
I5646ab81eb1a6515b32c42a2c3c4e64a94be4748.

Depends-On: I738f7c48b8f47e05c95de645a2d3403363204737
Depends-On: I48b14f2d26972cc06ab2293885b37b61c687e83b
Depends-On: Ib325a20839db3fe7884564db2a877ff4edb920e2
Change-Id: I8ed5d777f077b4ebda42c57a5871f38bd1762f88
2017-10-15 17:46:43 -05:00

345 lines
9.3 KiB
YAML

# Shared zuul config specific to the OpenStack Project
# Contains definitions of pipelines
- pipeline:
name: check
description: |
Newly uploaded patchsets enter this pipeline to receive an
initial +/-1 Verified vote.
manager: independent
trigger:
gerrit:
- event: patchset-created
- event: change-restored
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*recheck
- event: comment-added
require-approval:
- Verified: [-1, -2]
username: zuul
approval:
- Workflow: 1
github:
- event: pull_request
action:
- opened
- changed
- reopened
- event: pull_request
action: comment
comment: (?i)^\s*recheck\s*$
start:
github:
status: pending
comment: false
success:
gerrit:
# Note that gerrit keywords are case-sensitive.
Verified: 1
github:
status: 'success'
mysql:
failure:
gerrit:
Verified: -1
github:
status: 'failure'
mysql:
- pipeline:
name: infra-check
description: |
Newly uploaded patchsets enter this pipeline to receive an
initial +/-1 Verified vote.
manager: independent
precedence: high
trigger:
gerrit:
- event: patchset-created
- event: change-restored
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*recheck
- event: comment-added
require-approval:
- Verified: [-1, -2]
username: zuul
approval:
- Workflow: 1
github:
- event: pull_request
action:
- opened
- changed
- reopened
- event: pull_request
action: comment
comment: (?i)^\s*recheck\s*$
start:
github:
status: pending
comment: false
success:
gerrit:
# Note that gerrit keywords are case-sensitive.
Verified: 1
github:
status: 'success'
mysql:
failure:
gerrit:
Verified: -1
github:
status: 'failure'
mysql:
- pipeline:
name: gate
description: |
Changes that have been approved by core developers are enqueued
in order in this pipeline, and if they pass tests, will be
merged.
success-message: Build succeeded (gate pipeline).
failure-message: |
Build failed (gate pipeline). For information on how to proceed, see
http://docs.openstack.org/infra/manual/developers.html#automated-testing
manager: dependent
precedence: high
post-review: True
require:
gerrit:
open: True
current-patchset: True
approval:
- Verified: [1, 2]
username: ^(zuul|jenkins)$
- Workflow: 1
trigger:
gerrit:
- event: comment-added
approval:
- Workflow: 1
- event: comment-added
approval:
- Verified: 1
username: zuul
start:
gerrit:
Verified: 0
success:
gerrit:
Verified: 2
submit: true
mysql:
failure:
gerrit:
Verified: -2
mysql:
window-floor: 20
window-increase-factor: 2
- pipeline:
name: post
description: This pipeline runs jobs that operate after each change is merged.
manager: independent
precedence: low
post-review: True
trigger:
gerrit:
- event: ref-updated
ref: ^refs/heads/.*$
success:
mysql:
failure:
mysql:
- pipeline:
name: pre-release
# NOTE(mordred): pre-release pipeline needs access to credentials (eg: pypi).
post-review: true
description: When a commit is tagged with a pre-release tag, this pipeline runs jobs that publish archives and documentation.
manager: independent
precedence: high
post-review: True
trigger:
gerrit:
- event: ref-updated
ref: ^refs/tags/[0-9]+(\.[0-9]+)*(a|b|rc)[0-9]+$
success:
mysql:
failure:
smtp:
from: zuul@openstack.org
to: release-job-failures@lists.openstack.org
subject: 'Pre-release of {change.project} failed'
mysql:
- pipeline:
name: release
# NOTE(pabelanger): release pipeline needs access to credentials (eg: pypi).
post-review: true
description: When a commit is tagged as a release, this pipeline runs jobs that publish archives and documentation.
manager: independent
precedence: high
post-review: True
trigger:
gerrit:
- event: ref-updated
ref: ^refs/tags/[0-9]+(\.[0-9]+)*$
success:
mysql:
failure:
smtp:
from: zuul@openstack.org
to: release-job-failures@lists.openstack.org
subject: 'Release of {change.project} failed'
mysql:
- pipeline:
name: periodic
post-review: true
description: Jobs in this queue are triggered on a timer.
manager: independent
precedence: low
trigger:
timer:
- time: '0 6 * * *'
success:
mysql:
failure:
mysql:
- pipeline:
name: release-post
# NOTE(mordred): release-post needs access to credentials (eg: pypi).
post-review: true
description: This pipeline runs release-process-critical jobs that operate after specific changes are merged.
manager: independent
precedence: high
trigger:
gerrit:
- event: ref-updated
ref: ^refs/heads/.*$
success:
mysql:
failure:
mysql:
smtp:
from: zuul@openstack.org
to: release-job-failures@lists.openstack.org
subject: 'release-post job for {change.project} failed'
- pipeline:
name: tag
post-review: true
description: This pipeline runs jobs in response to any tag event.
manager: independent
precedence: high
trigger:
gerrit:
- event: ref-updated
ref: ^refs/tags/.*$
success:
mysql:
failure:
mysql:
smtp:
from: zuul@openstack.org
to: release-job-failures@lists.openstack.org
subject: 'Tag of {change.project} failed'
- pipeline:
name: periodic-stable
post-review: true
description: Periodic checks of the stable branches.
manager: independent
precedence: low
trigger:
timer:
- time: '1 6 * * *'
success:
mysql:
failure:
mysql:
smtp:
from: zuul@openstack.org
to: openstack-stable-maint@lists.openstack.org
subject: 'Stable check of {change.project} failed'
- pipeline:
name: experimental
description: On-demand pipeline for requesting a run against a set of jobs that are not yet gating. Leave review comment of "check experimental" to run jobs in this pipeline.
success-message: Build succeeded (experimental pipeline).
failure-message: Build failed (experimental pipeline).
manager: independent
precedence: normal
trigger:
gerrit:
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*check experimental\s*$
success:
gerrit: {}
failure:
gerrit: {}
- pipeline:
name: check-tripleo
description: >
Newly uploaded patchsets enter this pipeline to receive an initial +/-1
Verified vote from the "zuul" user. This is used for TripleO patchsets
only so that if the TripleO cloud suffers a failure, folk looking can
tell that there isn't a system infra problem, only a TripleO specific
problem.
Once the TripleO test cloud is multi region and has some months of
proven stability this will be folded back into the normal check pipeline.
success-message: Build succeeded (check-tripleo pipeline).
failure-message: >
Build failed (check-tripleo pipeline). For information on how to
proceed, see
http://docs.openstack.org/infra/manual/developers.html#automated-testing
manager: independent
precedence: normal
trigger:
gerrit:
- event: patchset-created
- event: change-restored
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*recheck
require:
gerrit:
open: True
current-patchset: True
success:
gerrit: {}
failure:
gerrit: {}
- pipeline:
name: experimental-tripleo
description: >
On-demand pipeline for requesting a run against a tripleo experimental
jobs - slower and running without redundancy - so not yet gating. Leave
review comment of "check experimental" to run jobs in this pipeline.
success-message: Build succeeded (experimental-tripleo).
failure-message: Build failed (experimental-tripleo).
manager: independent
precedence: low
trigger:
gerrit:
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*check experimental\s*$
success:
gerrit: {}
failure:
gerrit: {}
- pipeline:
name: merge-check
description: >
Each time a change merges, this pipeline verifies that all open changes
on the same project are still mergeable.
failure-message: Build failed (merge-check pipeline).
manager: independent
ignore-dependencies: true
precedence: low
trigger: {}