project-config/zuul.yaml

607 lines
28 KiB
YAML

# Shared zuul config specific to the OpenStack Project
# Contains definitions of trusted jobs
# Overrides jobs from:
# https://git.openstack.org/cgit/openstack-infra/zuul-jobs
- 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: comment-added
comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*(recheck|reverify)
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
require:
gerrit:
open: True
current-patchset: True
approval:
- Verified: [1, 2]
username: zuul
- 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
trigger:
gerrit:
- event: ref-updated
ref: ^(?!refs/).*$
- 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
trigger:
gerrit:
- event: ref-updated
ref: ^refs/tags/[0-9]+(\.[0-9]+)*(a|b|rc)[0-9]+$
# TODO(pabelanger): Uncomment for production
# failure:
# smtp:
# from: zuul@openstack.org
# to: release-job-failures@lists.openstack.org
# subject: 'Pre-release of {change.project} failed'
- 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
trigger:
gerrit:
- event: ref-updated
ref: ^refs/tags/[0-9]+(\.[0-9]+)*$
# TODO(pabelanger): Uncomment for production
# failure:
# smtp:
# from: zuul@openstack.org
# to: release-job-failures@lists.openstack.org
# subject: 'Release of {change.project} failed'
- 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 * * *'
- job:
name: base
parent: null
description: |
The base job for OpenStack's installation of Zuul.
All jobs ultimately inherit from this. It runs a pre-playbook
which copies all of the job's prepared git repos on to all of
the nodes in the nodeset. It runs a post-playbook which copies
all of the files in the logs/ subdirectory of the executor
work directory to the logserver.
It also sets default timeout and nodeset values (which may be
overidden).
pre-run: playbooks/base/pre
post-run:
- playbooks/base/post-ssh
- playbooks/base/post-logs
roles:
- zuul: openstack-infra/zuul-jobs
timeout: 1800
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
secrets:
- site_logs
- job:
name: base-minimal
parent: null
description: |
A subset of what the 'base' job provides: the absolute minimum considered
required to run for any one job.
It doesn't set up cached git repositories, will not set up mirrors,
doesn't validate the node and does not generate an ARA report.
These tasks, if required, can be included by the dependant jobs
themselves on a need basis.
pre-run: playbooks/base-minimal/pre
post-run:
- playbooks/base-minimal/post-ssh
- playbooks/base-minimal/post-logs
roles:
- zuul: openstack-infra/zuul-jobs
timeout: 1800
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
secrets:
- site_logs
- job:
name: base-test
parent: null
description: |
A job to test changes to the base job without disturbing the
main job in production. Not for general use.
pre-run: playbooks/base-test/pre
post-run:
- playbooks/base-test/post-ssh
- playbooks/base-test/post-logs
roles:
- zuul: openstack-infra/zuul-jobs
timeout: 1800
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
secrets:
- site_logs
- job:
name: publish-openstack-afs
description: |
Publish job to upload artifacts to AFS backend.
.. zuul:jobvar:: afs_publisher_target
Target directory within /afs/.openstack.org/docs
post-run: playbooks/publish/openstack-afs
secrets:
- secret: afsdocs_secret
name: afs
- job:
name: publish-openstack-artifacts
description: |
Publish job to upload artifacts to tarballs.openstack.org
post-run: playbooks/publish/openstack-artifacts
secrets:
- secret: site_tarballs
name: fileserver
- job:
name: release-openstack-python
parent: publish-openstack-artifacts
description: |
Release python tarballs / wheels to pypi.
pre-run: playbooks/python-tarball/pre
run: playbooks/python-tarball/run
post-run:
- playbooks/python-tarball/post
- playbooks/publish/pypi
secrets:
- secret: testpypi_secret
name: pypi_info
- gpg_key
# NOTE(pabelanger): We have related untrusted job in openstack-zuul-jobs called
# openstack-doc-build. We should discuss post PTG how to potentially deal with
# duplication.
- job:
name: publish-openstack-python-docs
parent: publish-openstack-afs
description: |
Publish the results of the tox-docs job to /afs/.openstack.org/docs
pre-run: playbooks/python-docs/pre
run: playbooks/python-docs/run
post-run: playbooks/python-docs/post
required-projects:
- name: openstack/requirements
roles:
- zuul: openstack-infra/zuul-jobs
- zuul: openstack-infra/openstack-zuul-jobs
vars:
tox_environment:
UPPER_CONSTRAINTS_FILE: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt"
tox_envlist: venv
tox_extra_args: -vv python setup.py build_sphinx
# NOTE(pabelanger): We have related untrusted job in openstack-zuul-jobs called
# openstack-doc-build. We should discuss post PTG how to potentially deal with
# duplication.
- job:
name: publish-openstack-python-docs-infra
parent: publish-openstack-afs
description: |
Publish the results of the tox-docs job to /afs/.openstack.org/docs
pre-run: playbooks/python-docs/pre
run: playbooks/python-docs/run
post-run: playbooks/python-docs/post
required-projects:
- name: openstack/requirements
roles:
- zuul: openstack-infra/zuul-jobs
- zuul: openstack-infra/openstack-zuul-jobs
vars:
tox_environment:
UPPER_CONSTRAINTS_FILE: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt"
tox_envlist: venv
tox_extra_args: -vv python setup.py build_sphinx
- job:
name: publish-openstack-python-branch-tarball
parent: publish-openstack-artifacts
description: |
Publish the results of the tox-tarball job to tarballs.openstack.org.
pre-run:
- playbooks/python-tarball/pre
- base/ensure-tox
run: playbooks/python-tarball/run
post-run: playbooks/python-branch-tarball/post
- job:
name: propose-updates
pre-run: playbooks/proposal/pre
run: playbooks/proposal/propose-updates
secrets:
- secret: proposal_ssh_key
name: ssh_key
- job:
parent: propose-updates
name: propose-update-constraints
run: playbooks/proposal/propose-update-constraints
dependencies:
- release-openstack-python
- project:
name: openstack-infra/project-config
check:
jobs: []
- secret:
name: afsdocs_secret
data:
keytab: !encrypted/pkcs1-oaep
- n+axpDtVoZKfH8i1LgIcBtIAse9eYKCthb+I8d5Jw6SnoN3/TZyu/fDKeteeHIroAUacV
syO2zQQG6aTOKP6kFILz1DzTcujIrjIQnYLZDrLLL0d384r/Opz2+A6mdM7B2tsgGbtI9
rgsh1TjBrcJinGaJZRcLKI+ZRWjkN1+0AwPYJYSsP20xNDa4jeKKnPKrEn8KphpFJe4y8
aYwvLpwV/4li/pko6MII7rCwmU3lcmTFKXVIwq2RHozLNcsxoFeT4182ye8gPOjmmuin9
RHaZ7UJA55JkgwmxJwR9cG+CTH5N2678cCzLuXyve0fRDrDTCsEDxxwh2Xm3F8PQAlbPR
OWMFvXcjlXYaMJ1Ne7yMOq1diFF9ZsqgnwNlGhju3EMCxKOZ0GBVp96DwFGj6rgaOVsSu
BczPoy7W5BCXuWQsZBxhReFEMs3muaWVPqya5fRZXylZlMnOI6xh3Yij3uZV5Nxrg0uJK
sDBrgIZFKQNWfvzFqaxjZPMsRRNmXZVeHpEy1WlkT5PN4jJn7+B6qo4iudPnCmMySzk4X
eTxHgwr8HS4uBvqLoKRZGMDXwl2abB2vEkIrlW41HVqpHOqGXLniGf7tEDIKb1pmrPe/P
OR1+bLumZ6acM1HpNjwqdAxCLRx0ZMswzK9ZHfnHhp52GMPo3rkpNk9pEOT4I0=
path: /afs/.openstack.org/docs
# TODO(pabelanger): Update AFS credentials to say zuul-executor.
service_name: service/zuul-launcher@OPENSTACK.ORG
- secret:
name: testpypi_secret
data:
repository: testpypi
repository_url: https://test.pypi.org/legacy/
username: openstackci
password: !encrypted/pkcs1-oaep
- ev0vtSMICZsT/LjfT/f9prqvwdPibwY/88nxJxoJNF4syUW2S/5ine9vZoK+atJEzlFbq
J9VrHbc3RokVxR3bjiur/MH5hH5Kk+tZGdRQwk6eoroI5dtyO23lWr86LTRG8BJJPbQmd
jrdPp9E+Tea/C/xAoTGhUbNnofOPEaxsS1T0RqdphCA2FAfefnVR5oWURQpa/XaBKZLAS
H2fBSr0un0mxV+67SlyOFkTTbtF9x72DE9clw3gBX1uArMnKSXdl3SK2LgB/POiGH5YoU
GTFOs6qBxNP/jV8cIBxSf80IHUfspv49LoMNTPfwDRMie4lGCNUgTINzgtkCwuysY0wcC
LYd1NA1RYd57coHKEftCIC1NQYRriTA543kdnCWoZPU6DVaswgEJai0Pg1vC8b5NPYYPw
YZm011oEN6bnVOEfsnhwYCl6GCibELolyW4vv4xGMrOGLFwt6/DXBWpbktwrGqbG4Ku06
hneCGOGjjzy09LmkdjCMi9cbe01udaIB+MA9Bqgt1Jh8AM4OIJaUsCX014g5OUDSNw/VZ
A55ES2jKpwFCottqtgiZSO4n0+0TmjsVwYPwKbyxYEvmxkeldRFwKSz8T3EpV2HQi++aT
aR6LCLkViHsSTluDbv5dJESSQDVjyXyd3gp4jTvXmHlSxSenfSbyV7Rqkia0tk=
- secret:
name: site_logs
data:
fqdn: logs.openstack.org
path: /srv/static/logs
ssh_known_hosts: |
logs.openstack.org,23.253.108.137,2001:4800:7817:104:be76:4eff:fe05:dbee ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDcvLuGLagUAZfc0BThLus8ufSPCrIhDtG0BdXvhblJjvIbkuELD3dRWRZVSYZAdzGZRY3t6vTAcguTrkbQg5ngXfdfF+OKPkaH8DiZwAX/1g/iRXhInkZTGBVqHo9pLAMeNNwviSy2JjpTqdD6fLEkHwW+uw4E2YZhYivctTSbOepMkzAtFV0w5cpyBzjAT/Hax2x5un6es8R0Iw3AAnUmtapn5e5NCrg2rPNpd0nve84wUavvbC2DeGDOZQdnIahwo60Sder5ZE/x6cG39bkSDdgFQArAzrNrH6BHmNGjfFPpnGmfc7P8gQwDPtMf02HvKapqATXpIxdbSGimWLL
ssh_username: jenkins
ssh_private_key: !encrypted/pkcs1-oaep
- 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
- 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
- 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
- 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
- secret:
name: site_tarballs
data:
fqdn: tarballs.openstack.org
path: /srv/static/tarballs
ssh_known_hosts: |
tarballs.openstack.org,23.253.108.137,2001:4800:7817:104:be76:4eff:fe05:dbee ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDcvLuGLagUAZfc0BThLus8ufSPCrIhDtG0BdXvhblJjvIbkuELD3dRWRZVSYZAdzGZRY3t6vTAcguTrkbQg5ngXfdfF+OKPkaH8DiZwAX/1g/iRXhInkZTGBVqHo9pLAMeNNwviSy2JjpTqdD6fLEkHwW+uw4E2YZhYivctTSbOepMkzAtFV0w5cpyBzjAT/Hax2x5un6es8R0Iw3AAnUmtapn5e5NCrg2rPNpd0nve84wUavvbC2DeGDOZQdnIahwo60Sder5ZE/x6cG39bkSDdgFQArAzrNrH6BHmNGjfFPpnGmfc7P8gQwDPtMf02HvKapqATXpIxdbSGimWLL
ssh_username: jenkins
ssh_private_key: !encrypted/pkcs1-oaep
- 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
- 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
- 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
- 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
- secret:
name: gpg_key
data:
private: !encrypted/pkcs1-oaep
- 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
- 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
- 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
- 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
- T3mLDJ+Fvmi6ZU3XP4M2cHZT7XUjdve9ZS0pfOviMs7BwKv/tyePun/Ma6ObxAoCSbfap
uT7P4UqeASMM7asTjiBtz6Jo6FLDQxAUM1QB0GQLav1IE5W6Np9yjolLGLHFpYeOV9ejm
jSr2onuHOzp0RH1aGl/tPSMjxlkrBJet52qY+c5rTHuEsIboJp6TAMr5bO9QshrEh/pvW
0xnHxb2WDVw01eL6afzgibijqCkw/bh1KqXC9G2Tj4C1Yd2L21su1/Pc4DRqV3J+EMKLz
FSxMcd4NzbfNQRX+Ks88SX60G3QwMexoa+YuMBcieIP/QFuaINON/VQgtLQt4CH34q1uD
Bg6nCB3O5l7zTN4yRHvJ3F7V/iAoNfDJ+NOS3In4rr8t1ViIOHlYeDLV448J+qiZqivlk
dfqdjrTjvEDW2/mpfoV/lS3lytqF+vy2FZT3CgRahz9qSIKJTf8UU0zTpT3M2tSUS1/Td
eDpyJiJPhfRFSkFzhix0Kl8Q0r66uC8ZQlIEBfQGKW+POa0yKI5wRIJ/pYQ7KwRbscnJT
bjO1Br6eI+iiJs/sg2wigyi7Ly1R5V72StkBZWA4iOzW8hBxOInpD9yPv2yr6fIUyGbSM
JZgEyJ9YFToBBoPvVoPTEg5j0Bz4KpBlme/ZUs2RsTb0nZzcFTAaAhWEN/Y+OI=
- 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
- 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
- secret:
name: proposal_ssh_key
data:
fqdn: review.openstack.org
ssh_known_hosts: |
review.openstack.org,23.253.232.87,2001:4800:7815:104:3bc3:d7f6:ff03:bf5d ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfsIj/jqpI+2CFdjCL6kOiqdORWvxQ2sQbCzSzzmLXic8yVhCCbwarkvEpfUOHG4eyB0vqVZfMffxf0Yy3qjURrsroBCiuJ8GdiAcGdfYwHNfBI0cR6kydBZL537YDasIk0Z3ILzhwf7474LmkVzS7V2tMTb4ZiBS/jUeiHsVp88FZhIBkyhlb/awAGcUxT5U4QBXCAmerYXeB47FPuz9JFOVyF08LzH9JRe9tfXtqaCNhlSdRe/2pPRvn2EIhn5uHWwATACG9MBdrK8xv8LqPOik2w1JkgLWyBj11vDd5I3IjrmREGw8dqImqp0r6MD8rxqADlc1elfDIXYsy+TVH gerrit-code-review@gerrit.openstack.org
ssh_private_key: !encrypted/pkcs1-oaep
- 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
- gQWMCs1jgLh0uMVE8jOdbS+KooOHtL3Dg9vAMBSsK19wU62ATE+iwZwZTWh7ttLybFcSR
9sE7gohnkkpT9M1Ycz8XgiSNxpPIDK97YJCf7AxpqSUh/X41PigYcdR4J7SDHs3/H4Hxh
2ASvfGZKOmfG2Wm20D+hy8DaxkKDR3R04LJwixiLWWkDU2HYU+0Q2lvau6IM5gS48lXVN
j0f15zxyFt0KgSPyk1KnPLHydLX5dFvryQ85GZ3UeXwYltnUuvtdgiHWj41U2+wtCpW1b
egrDUfXSSHdHxsOEJZwu0okJ6SOLG1p41i4jX5Pe86POTi2Z0UtFiCzEC3iO3CH/6Yz3t
eiu9mqs6C4ajt5EAVf3h1GdNMXE7h8VA77ATA5CVRwU7w+cRYYcM65kE0fviPlhsU8XCi
V4OBttKriQXkND90zekAiP6sd6ZOjcsIKja1W8BthLMaRWVYugNTRyzvEb4NGFLoqcR9s
JwjMtzyqatfNc+obK9DCUPn0n0dzFWNwCJkAv6/eqme9VkixnwKoIKcH4LFn+6eqTHEi6
y9W4O288NA49/a1dDORCPZki5LmsEew/7oezPEBX4qoLOCQh+SGMQ1jaqjMQh0w4iVZLa
jmK47A/u6ryWOQCLz7EVuzA+4NcPQTFZcBOhIp0+GAyzrb12jDCIcw+MoKIFa0=
- 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
- x3HX3gPNcRCzbTuZn1lLzr1yDI6voIsW9C4+RWNhn9ZC30eRXWTodGNXMX9qqdp37M1BL
TFgMWXy5jfD2Cx8LP5rApAtzgMGauba+ta+zfVhNIf4QWGdfVQslPv+YNW5kbmXeoyMRG
CSU19vfUp6nSaArbKcNRz4v9UGUwLt6olmB3e+wLF/cVd0QRvF5+UDJvnW1czJxFc13BK
VMP0/B4O/4d0VyW1Enwl9sFDmb8tP3MnlBoTcH2/vPrxSoALq5Dv1N8VrQ2enS2g6UwV0
5YoHcttzGMzXuSYGx/qv5a1LOVRrqtbR1HFW+HzfCp+aOPYhiG/kM6dOz9/x9ilA4f8FM
AGJsEtB3b+P06O6OgGYLwzSNCZkEsYNz5KRQM/IVyMC2LNVsk2jOWA3uEnrjIVJR49sJA
NLlN58icE25LySF5sOWsRX1Cc+H/WTR3AgdMALdjFG5K808UC7x7IiVFA4wztJER/vmou
ijm/etaDi2MpGDMZcK9dnmdyWUdcR3Ed8RtsMwiAjZhMtA27kIBybK7c8rCNnPhv/huON
CDih/PpK9ofisCqVyvl0E+4l75l4P4TCdi7d96/9qTQSIP0b8uraGnw1QvGj46j4Cus1o
4tjgrxleCEIUTCykp5IWhjbfYUIMK1dqaaEoGE27qBC8FY5rrq9cEVtFvGCUOM=
# This project definition is here so that the only zuul config in
# zuul-jobs are the jobs themselves (to make it easy for other users
# to consume).
- project:
name: openstack-infra/zuul-jobs
check:
jobs:
- tox-linters
- openstack-doc-build
- tox-py35-on-zuul
gate:
jobs:
- tox-linters
- openstack-doc-build
- tox-py35-on-zuul
- project:
name: openstack-dev/sandbox
release:
jobs:
- release-openstack-python