The Gatekeeper, or a project gating system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.zuul.yaml 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. - nodeset:
  2. name: zuul-functional-temp-master
  3. nodes:
  4. - name: controller
  5. label: ubuntu-xenial
  6. - name: node1
  7. label: ubuntu-xenial
  8. - name: node2
  9. label: ubuntu-xenial
  10. groups:
  11. - name: node
  12. nodes:
  13. - node1
  14. - node2
  15. - job:
  16. name: zuul-stream-functional
  17. parent: multinode
  18. nodeset: zuul-functional-temp-master
  19. pre-run: playbooks/zuul-stream/pre.yaml
  20. run: playbooks/zuul-stream/functional.yaml
  21. post-run:
  22. - playbooks/zuul-stream/post.yaml
  23. - playbooks/zuul-stream/post-ara.yaml
  24. files:
  25. - zuul/ansible/.*
  26. - zuul/lib/ansible*
  27. - playbooks/zuul-stream/.*
  28. - job:
  29. name: zuul-stream-functional-2.5
  30. parent: zuul-stream-functional
  31. vars:
  32. zuul_ansible_version: 2.5
  33. - job:
  34. name: zuul-stream-functional-2.6
  35. parent: zuul-stream-functional
  36. vars:
  37. zuul_ansible_version: 2.6
  38. - job:
  39. name: zuul-stream-functional-2.7
  40. parent: zuul-stream-functional
  41. vars:
  42. zuul_ansible_version: 2.7
  43. - job:
  44. name: zuul-tox-remote
  45. parent: tox
  46. vars:
  47. tox_envlist: remote
  48. tox_environment:
  49. ZUUL_SSH_KEY: /home/zuul/.ssh/id_rsa
  50. ZUUL_REMOTE_IPV4: "{{ nodepool.interface_ip }}"
  51. ZUUL_REMOTE_KEEP: "true"
  52. - job:
  53. name: zuul-build-dashboard
  54. parent: build-javascript-content
  55. success-url: 'npm/html/'
  56. files:
  57. - web/.*
  58. - playbooks/dashboard/.*
  59. vars:
  60. javascript_content_dir: "../zuul/web/static"
  61. zuul_work_dir: "{{ zuul.project.src_dir }}/web"
  62. zuul_api_url: https://zuul.openstack.org
  63. run: playbooks/dashboard/run.yaml
  64. - job:
  65. name: zuul-build-dashboard-multi-tenant
  66. parent: zuul-build-dashboard
  67. vars:
  68. zuul_api_url: https://softwarefactory-project.io/zuul
  69. # This job is run on changes to both Zuul and Nodepool; any changes to
  70. # the other project will be picked up via image builds which appear in
  71. # the buildset registry. It includes zuul as a required project
  72. # because that is where the docker-compose file is located.
  73. - job:
  74. name: zuul-quick-start
  75. description: Run the commands in the Zuul quick-start documentation.
  76. run: playbooks/quick-start/run.yaml
  77. post-run: playbooks/quick-start/post.yaml
  78. requires: docker-image
  79. required-projects:
  80. - zuul/zuul
  81. # Image building jobs
  82. - secret:
  83. name: zuul-dockerhub
  84. data:
  85. username: zuulzuul
  86. password: !encrypted/pkcs1-oaep
  87. - DFlbrDM5eUMptMGIVMXV1g455xOJLi92UYF08Z2/JlIGu3t6v052o9FKlVyj1ZmpXs5+2
  88. JTa5jHkLTvTsYs9fCaNcQc2nmViCyWNlbOMzjB17uiZOaYFNs1sMqZcUZbGEz7Y8ds6Qq
  89. NBXI10jWFPTah4QxUuBvUbT3vmjnUToCzexl5ZGhKgijcnROWfUsnlCdugpgoNIcPsUki
  90. zty5FotDihnrC8n8vIomVK6EClY38ty97pLrADzFDd+Cos/OUlvi2xooUhzx8Bn020rJA
  91. lqEU5v8LGXp5QkHx0MSDx6JY6KppJ/4p/yM+4By6l+A20zdcimxmgiNc9rMWPwDj7xsao
  92. m7NAZWmWqOO0Xkhgt6WOfugwgt9X46sgs2+yDEfbnI5ok8uRbAB/4FWj/KdpyXwhcf+O2
  93. wEfhxLwDbAoGONQPjb4YcZmCXtmR7Qe5t+n2jyczWXvrbaBDUQP5a+YtVNN/xhmQ7D740
  94. POlxv7bLxJAixzqaQ3d8Rz9ZEv6zzRuhWph32UQtZ1JxSNww+EvmXm2eEi2Q2z6pT1Cx/
  95. j2OrFyA2GL/UJOVb15VHKF6bgHPHWJtpjPFhqdcvBhVute4BWB+KPcWH+y+apHN1enK3H
  96. tNJO9iqm34nKwSuj5ExmFw50LtwR5/9FyRuRPq/vBL+8y82v8FDmeYsBeobn5M=
  97. - job:
  98. name: zuul-build-image
  99. parent: opendev-build-docker-image
  100. description: Build Docker images.
  101. allowed-projects: zuul/zuul
  102. vars: &zuul_image_vars
  103. docker_images:
  104. - context: .
  105. repository: zuul/zuul
  106. target: zuul
  107. - context: .
  108. repository: zuul/zuul-executor
  109. target: zuul-executor
  110. - context: .
  111. repository: zuul/zuul-fingergw
  112. target: zuul-fingergw
  113. - context: .
  114. repository: zuul/zuul-merger
  115. target: zuul-merger
  116. - context: .
  117. repository: zuul/zuul-scheduler
  118. target: zuul-scheduler
  119. - context: .
  120. repository: zuul/zuul-web
  121. target: zuul-web
  122. - job:
  123. name: zuul-upload-image
  124. parent: opendev-upload-docker-image
  125. description: Build Docker images and upload to Docker Hub.
  126. allowed-projects: zuul/zuul
  127. secrets:
  128. name: docker_credentials
  129. secret: zuul-dockerhub
  130. pass-to-parent: true
  131. vars: *zuul_image_vars
  132. - job:
  133. name: zuul-promote-image
  134. parent: opendev-promote-docker-image
  135. description: Promote previously uploaded Docker images.
  136. allowed-projects: zuul/zuul
  137. secrets:
  138. name: docker_credentials
  139. secret: zuul-dockerhub
  140. pass-to-parent: true
  141. nodeset:
  142. nodes: []
  143. vars: *zuul_image_vars
  144. - project:
  145. check:
  146. jobs:
  147. - zuul-build-image
  148. - tox-docs
  149. - tox-pep8
  150. - tox-py35:
  151. irrelevant-files:
  152. - zuul/cmd/migrate.py
  153. - playbooks/zuul-migrate/.*
  154. nodeset: ubuntu-xenial
  155. timeout: 2700 # 45 minutes
  156. - tox-py36:
  157. irrelevant-files:
  158. - zuul/cmd/migrate.py
  159. - playbooks/zuul-migrate/.*
  160. timeout: 2700 # 45 minutes
  161. - zuul-build-dashboard
  162. - zuul-build-dashboard-multi-tenant
  163. - nodejs-npm-run-lint:
  164. vars:
  165. node_version: 10
  166. zuul_work_dir: "{{ zuul.project.src_dir }}/web"
  167. - nodejs-npm-run-test:
  168. vars:
  169. node_version: 10
  170. zuul_work_dir: "{{ zuul.project.src_dir }}/web"
  171. success-url: 'npm/reports/bundle.html'
  172. files:
  173. - web/.*
  174. - zuul-stream-functional-2.5
  175. - zuul-stream-functional-2.6
  176. - zuul-stream-functional-2.7
  177. - zuul-tox-remote
  178. - zuul-quick-start:
  179. dependencies: zuul-build-image
  180. - nodepool-zuul-functional:
  181. voting: false
  182. gate:
  183. jobs:
  184. - zuul-upload-image
  185. - tox-docs
  186. - tox-pep8
  187. - tox-py35:
  188. irrelevant-files:
  189. - zuul/cmd/migrate.py
  190. - playbooks/zuul-migrate/.*
  191. nodeset: ubuntu-xenial
  192. timeout: 2700 # 45 minutes
  193. - tox-py36:
  194. irrelevant-files:
  195. - zuul/cmd/migrate.py
  196. - playbooks/zuul-migrate/.*
  197. timeout: 2700 # 45 minutes
  198. - zuul-build-dashboard
  199. - nodejs-npm-run-lint:
  200. vars:
  201. node_version: 10
  202. zuul_work_dir: "{{ zuul.project.src_dir }}/web"
  203. - nodejs-npm-run-test:
  204. vars:
  205. node_version: 10
  206. zuul_work_dir: "{{ zuul.project.src_dir }}/web"
  207. success-url: 'npm/reports/bundle.html'
  208. files:
  209. - web/.*
  210. - zuul-stream-functional-2.5
  211. - zuul-stream-functional-2.6
  212. - zuul-stream-functional-2.7
  213. - zuul-tox-remote
  214. - zuul-quick-start:
  215. dependencies: zuul-upload-image
  216. post:
  217. jobs:
  218. - publish-zuul-docs
  219. - publish-zuul-python-branch-tarball
  220. - publish-openstack-javascript-content:
  221. vars:
  222. node_version: 10
  223. zuul_work_dir: "{{ zuul.project.src_dir }}/web"
  224. create_tarball_directory: build
  225. promote:
  226. jobs:
  227. - zuul-promote-image
  228. release:
  229. jobs:
  230. - release-zuul-python
  231. - publish-zuul-docs