# 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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 - 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 - ZtYinMMMMXChMzdA6ZPkt2sPmIEoumSAT6oD+Cc82b56Euv+mbetJRsDydH+PNRzLpzPB DM8KuW2a9AsWutC/x/oCxtijmfUzUifCsUWUbBr9zVPhpIDcsw/BfyLCRIhW3/DUu1X8e rFtClxs6DM19HIuuRJq9XD9PQ2o9CNM4tbdLNEFLOMlVqR0rwtJ/++ZaSdNLRtThINrCy 9/vN3/EGVD81MAQj5B5Aa/SHnGH27Q81wM9LsrkbdWabSi+CfJFJL2hRMCDCkQH4mTD6G cdTGAps/rdDgZpxWOqwmC/vgZQzyRb8tyaFDqFJOG53I/gw5PfWwQm4oW4Z4vNSNoFbzm WYAnL5kV+kdNhFFjgtGoKYQsojEZEYMH16WvmR/GVY1t8S6VkCtqkGHdNwBHryWuiTcuL AVfNybUzwW0LrnpKTK9E7hxyU5+MRXatJy/wP4sfHdzYHI2SIpcYbrCgpUJEFggLbgfqe kpA68X3Z30yI1FIAbSbabAOF82jP4dzz+DGZVKOLT1o6MbnM+NRP2sA7XhJy5PEXd8sJB a45TvsFnMoAfAmLWPxbd1lmGMihL5kHEaBkhbfvMEZ/PSFx6Yx3oS3gIL5PkCHOKTGeRr qyI/0V31RAkiajF0RLpOqWJ5wp18+BWEYka606TrUUdJQg7NVi9Kz+QJX5wIAk= - 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= - t8YWv5PSqr113yqprURpDO9aELtQHRtXl0cW45C4TTzH1JqlLXxs4nLDQ17q3+rAnhJvl Fda+wr4eIfh7dpI1qG1gHOi2OwiAoodGCcefi9CX0sm7/nlITBLbzRGlnCEFffunhLd4s gI9lLo4GO8FarBkFV9coLjAINHVfz3dhIOdnsZekLI4mibsz/SQ5HktEiQmsfSGgge8eU g11eS3FcU7X8ZLeCSRbwVj769gQVllPG4H2A1PwRFFdR+bG+wG+2ht7jRSFzUS9u6lAdA Ds1r8ZCYdAZS1hFSiCoMP0diT2mgS5mzQN1JiXrRwxFq1JAQWKxNpmbFjKNj6+ueut/5L U7EXoa98J76kBBPYB7a9ACarNpHBTF1GtCYuFMX67VG30wu9D5XQnma7DZxUZOpWcyhC5 Cr5tcLnmjqQX4rYnCkOrKpscycpI53JApA5d39cyhbHGpyJ0QzwJQ/Ru51HXSmdTjoot0 1fI4Rs3lMxGbDbR2d4aP2rh8RnDSSTjKpo5Ix8/DCdOI2RPIZnm0QT8nDjRG2Vx9Ytbky RqXPOuIxu+xKUNVCpsJgyS3bvS5xf2eURCQQaa0sI4oIcacrgNZC53ZV+QLhULG0jOlv6 PyCjfuwSsZm6SluMDs0rwD0F2F+RpUotW3AmQlac4dhY8eBo5M+h8ko6MhWtcY= - 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= - secret: name: gpg_key data: private: !encrypted/pkcs1-oaep - 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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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 # 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