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.7KB

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