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.

312 lines
9.6KB

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