project-config/zuul.d/pipelines.yaml

227 lines
6.5 KiB
YAML

- pipeline:
name: check
description: |
Newly uploaded patchsets enter this pipeline to receive an
initial +/-1 Verified vote.
success-message: Build succeeded (check pipeline).
failure-message: |
Build failed (check pipeline). For information on how to proceed, see
http://docs.openstack.org/infra/manual/developers.html#automated-testing
manager: independent
precedence: low
require:
gerrit:
open: True
current-patchset: True
trigger:
gerrit:
- event: patchset-created
- event: change-restored
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*recheck
success:
gerrit:
# Note that gerrit keywords are case-sensitive.
Verified: 1
failure:
gerrit:
Verified: -1
- pipeline:
name: gate
description: |
Changes that have been approved by core reviewers are enqueued
in order in this pipeline, and if they pass tests, will be
merged. For documentation on how gating with Zuul works, please see
https://zuul-ci.org/docs/zuul/user/gating.html
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: normal
supercedes: check
post-review: True
require:
gerrit:
open: True
current-patchset: True
approval:
- Workflow: 1
trigger:
gerrit:
- event: comment-added
approval:
- Workflow: 1
- event: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*re(check|verify)
start:
gerrit:
Verified: 0
success:
gerrit:
Verified: 2
submit: true
failure:
gerrit:
Verified: -2
window-floor: 20
window-increase-factor: 2
- pipeline:
name: post
description: |
This pipeline runs jobs that operate after each change is
merged. Queue items are identified by the abbreviated hash (git
log --format=%h) of the merge commit.
manager: supercedent
precedence: high
post-review: True
trigger:
gerrit:
- event: ref-updated
ref: ^refs/heads/.*$
- pipeline:
name: promote
description: |
This pipeline runs jobs that operate after each change is merged
in order to promote artifacts generated in the gate
pipeline.
success-message: Build succeeded (promote pipeline).
failure-message: |
Build failed (promote pipeline). For information on how to proceed, see
http://docs.openstack.org/infra/manual/developers.html#automated-testing
manager: supercedent
precedence: high
post-review: True
trigger:
gerrit:
- event: change-merged
success:
gerrit: {}
failure:
gerrit: {}
- pipeline:
name: release
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]+)*$
- 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 * * *'
- pipeline:
name: periodic-weekly
post-review: true
description: Jobs in this queue are triggered on a weekly timer.
manager: independent
precedence: low
trigger:
timer:
# Saturday 8am UTC is a better time to start weekend jobs, as Sunday
# is a working day in some geographies.
- time: '0 8 * * 6'
failure:
smtp:
from: zuul@opendev.org
to: zuul-jobs-failures@lists.zuul-ci.org
subject: 'zuul-jobs @periodic-weekly 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/.*$
- 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: 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: third-party-check
description: |
Newly uploaded patchsets to external projects enter this
pipeline to receive an initial +/-1 Verified vote.
success-message: Build succeeded (third-party-check pipeline).
# TODO(mordred) We should write a document for non-OpenStack developers
failure-message: |
Build failed (third-party-check pipeline) integration testing with
Zuul. For information on how to proceed, see
http://docs.openstack.org/infra/manual/developers.html#automated-testing
manager: independent
trigger:
googlesource:
- event: pending-check
scheme: 'opendev-zuul-third-party-check'
enqueue:
googlesource:
comment: False
checks-api:
scheme: 'opendev-zuul-third-party-check'
state: SCHEDULED
message: 'Change has been enqueued in check'
start:
googlesource:
comment: False
checks-api:
scheme: 'opendev-zuul-third-party-check'
state: RUNNING
message: 'Jobs have started running'
no-jobs:
googlesource:
comment: False
checks-api:
scheme: 'opendev-zuul-third-party-check'
state: NOT_RELEVANT
message: 'Project has no jobs configured'
success:
googlesource:
comment: False
checks-api:
scheme: 'opendev-zuul-third-party-check'
state: SUCCESSFUL
message: 'Change passed all voting jobs'
failure:
googlesource:
comment: False
checks-api:
scheme: 'opendev-zuul-third-party-check'
state: FAILED
message: 'Change failed'