project-config/zuul.d/pipelines.yaml
Jeremy Stanley 7634ebb9a5 Recognize PEP-440 prereleases in release pipeline
These days we shouldn't need to do anything special with separate
pipelines/job sets differentiated by full releases and prereleases,
but it would still be nice to be able to push prerelease versions
for folks to perform final manual checks or to exercise release
automation prior to tagging a proper release.

Change-Id: I6a45d35c242d40c4fabe6dd8aae3812327a8f743
2021-02-05 17:42:21 +00:00

176 lines
4.3 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).
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
mysql:
failure:
gerrit:
Verified: -1
mysql:
- 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).
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
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. 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/.*$
success:
mysql:
failure:
mysql:
- 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).
manager: supercedent
precedence: high
post-review: True
trigger:
gerrit:
- event: change-merged
success:
gerrit: {}
mysql:
failure:
gerrit: {}
mysql:
- 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]+)*(a|b|rc)[0-9]+$
success:
mysql:
failure:
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: 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:
- 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: {}
mysql:
failure:
gerrit: {}
mysql: