Ansible job definitions for OpenStack projects CI systems
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.
 
 

2216 lines
61 KiB

  1. # Shared project-templates specific to the OpenStack Project
  2. - project-template:
  3. name: system-required
  4. description: |
  5. Jobs that *every* project in OpenStack CI should have by default.
  6. This is automatically added to all projects in OpenStack CI, no
  7. repository should use this directly.
  8. # Include a check queue so that initially every repo has a check queue
  9. # and we can report invalid zuul.yaml files.
  10. check:
  11. jobs: []
  12. merge-check:
  13. jobs:
  14. - noop
  15. - project-template:
  16. name: noop-jobs
  17. description: |
  18. This template runs no jobs, it is needed if a project does not use
  19. any single job so that changes can get merged.
  20. Do not use this with projects that have jobs defined in the gate
  21. pipeline.
  22. check:
  23. jobs:
  24. - noop
  25. gate:
  26. jobs:
  27. - noop
  28. - project-template:
  29. name: build-openstack-sphinx-docs
  30. description: |
  31. Runs legacy OpenStack doc build without publication jobs.
  32. This template is deprecated, it is only running on branches
  33. until rocky. Use
  34. :zuul:project_template:`build-openstack-docs-pti` for newer
  35. branches.
  36. check:
  37. jobs:
  38. - build-openstack-sphinx-docs
  39. gate:
  40. jobs:
  41. - build-openstack-sphinx-docs
  42. - project-template:
  43. name: publish-openstack-sphinx-docs
  44. description: |
  45. Runs legacy OpenStack doc build and publication jobs.
  46. This template is deprecated, it is only running on branches
  47. until rocky. Use
  48. :zuul:project_template:`publish-openstack-docs-pti` for newer
  49. branches.
  50. check:
  51. jobs:
  52. - build-openstack-sphinx-docs
  53. gate:
  54. jobs:
  55. - build-openstack-sphinx-docs
  56. post:
  57. jobs:
  58. - publish-openstack-sphinx-docs
  59. - project-template:
  60. name: build-openstack-docs-pti
  61. description: |
  62. Runs normal `OpenStack PTI documentation build and publication jobs
  63. <https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation>`_
  64. following the project testing interface.
  65. check:
  66. jobs:
  67. - openstack-tox-docs
  68. gate:
  69. jobs:
  70. - openstack-tox-docs
  71. - project-template:
  72. name: publish-openstack-docs-pti
  73. description: |
  74. Runs normal `OpenStack PTI documentation build jobs
  75. <https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation>`_
  76. following the project testing interface and publishes the result
  77. using a promote job.
  78. Once you have docs published, add them to the index pages
  79. following the `documentation
  80. <https://docs.openstack.org/doc-contrib-guide/doc-index.html>`_
  81. .
  82. .. note::
  83. Only repos listed in ``openstack/governance`` repository are
  84. allowed to publish to the `OpenStack docs website
  85. <https://docs.openstack.org>`_ .
  86. check:
  87. jobs:
  88. - openstack-tox-docs
  89. gate:
  90. jobs:
  91. - openstack-tox-docs
  92. promote:
  93. jobs:
  94. - promote-openstack-tox-docs
  95. - project-template:
  96. name: build-tox-docs
  97. description: |
  98. Runs tox docs jobs without publishing.
  99. check:
  100. jobs:
  101. - tox-docs
  102. gate:
  103. jobs:
  104. - tox-docs
  105. - project-template:
  106. name: publish-tox-docs-infra
  107. description: |
  108. Runs normal OpenStack PTI build jobs and publishes the result to
  109. the Infra docs location using a promote job.
  110. check:
  111. jobs:
  112. - opendev-tox-docs
  113. gate:
  114. jobs:
  115. - opendev-tox-docs
  116. promote:
  117. jobs:
  118. - promote-tox-docs-infra
  119. - project-template:
  120. name: puppet-release-jobs
  121. description: |
  122. Runs release jobs for a Puppet project, tests also that tarballs can be
  123. generated.
  124. check:
  125. jobs:
  126. - build-openstack-puppet-tarball
  127. gate:
  128. jobs:
  129. - build-openstack-puppet-tarball
  130. pre-release:
  131. jobs:
  132. - release-openstack-puppet
  133. - announce-release:
  134. dependencies:
  135. - release-openstack-puppet
  136. release:
  137. jobs:
  138. - release-openstack-puppet
  139. - announce-release:
  140. dependencies:
  141. - release-openstack-puppet
  142. post:
  143. jobs:
  144. - publish-openstack-puppet-branch-tarball
  145. - project-template:
  146. name: publish-to-pypi
  147. description: |
  148. Publish a Python package to PyPI, then send release announcement
  149. emails and propose updates to upper-constraints as needed.
  150. check:
  151. jobs:
  152. - test-release-openstack
  153. gate:
  154. jobs:
  155. - test-release-openstack
  156. pre-release:
  157. jobs:
  158. - release-openstack-python
  159. - announce-release:
  160. dependencies:
  161. - release-openstack-python
  162. - propose-update-constraints:
  163. dependencies:
  164. - release-openstack-python
  165. release:
  166. jobs:
  167. - release-openstack-python
  168. - announce-release:
  169. dependencies:
  170. - release-openstack-python
  171. - propose-update-constraints:
  172. dependencies:
  173. - release-openstack-python
  174. - project-template:
  175. name: publish-xstatic-to-pypi
  176. description: |
  177. Publish an XStatic Python package to PyPI, then send release announcement
  178. emails and propose updates to upper-constraints as needed.
  179. pre-release:
  180. jobs:
  181. - xstatic-check-version
  182. - release-openstack-python:
  183. dependencies:
  184. - xstatic-check-version
  185. - announce-release:
  186. dependencies:
  187. - release-openstack-python
  188. - propose-update-constraints:
  189. dependencies:
  190. - release-openstack-python
  191. release:
  192. jobs:
  193. - xstatic-check-version
  194. - release-openstack-python:
  195. dependencies:
  196. - xstatic-check-version
  197. - announce-release:
  198. dependencies:
  199. - release-openstack-python
  200. - propose-update-constraints:
  201. dependencies:
  202. - release-openstack-python
  203. - project-template:
  204. name: publish-to-pypi-quietly
  205. description: |
  206. Publish a Python package to PyPI but do not send announce emails or
  207. propose upper-constraints updates.
  208. pre-release:
  209. jobs:
  210. - release-openstack-python
  211. release:
  212. jobs:
  213. - release-openstack-python
  214. - project-template:
  215. name: release-notes-jobs
  216. description: |
  217. Runs the release notes test and publishes the result using a
  218. promote job.
  219. .. note::
  220. Only repos listed in ``openstack/governance`` repository are
  221. allowed to publish to the `OpenStack docs website
  222. <https://docs.openstack.org>`_ .
  223. check:
  224. jobs:
  225. - build-openstack-releasenotes:
  226. vars:
  227. sphinx_python: python3
  228. gate:
  229. jobs:
  230. - build-openstack-releasenotes:
  231. vars:
  232. sphinx_python: python3
  233. promote:
  234. jobs:
  235. - promote-openstack-releasenotes
  236. - project-template:
  237. name: release-notes-jobs-python3
  238. description: |
  239. Builds the release notes jobs under python 3 and publishes the
  240. result using a promote job.
  241. .. note::
  242. Only repos listed in ``openstack/governance`` repository are
  243. allowed to publish to the `OpenStack docs website
  244. <https://docs.openstack.org>`_ .
  245. check:
  246. jobs:
  247. - build-openstack-releasenotes:
  248. vars:
  249. sphinx_python: python3
  250. gate:
  251. jobs:
  252. - build-openstack-releasenotes:
  253. vars:
  254. sphinx_python: python3
  255. promote:
  256. jobs:
  257. - promote-openstack-releasenotes
  258. tag:
  259. jobs:
  260. - publish-openstack-releasenotes-python3
  261. - project-template:
  262. name: build-release-notes-jobs-python3
  263. description: |
  264. Runs the release notes jobs under python 3. This only builds releasenotes
  265. but does not publish them.
  266. check:
  267. jobs:
  268. - build-openstack-releasenotes:
  269. vars:
  270. sphinx_python: python3
  271. gate:
  272. jobs:
  273. - build-openstack-releasenotes:
  274. vars:
  275. sphinx_python: python3
  276. - project-template:
  277. name: openstack-python-jobs
  278. description: |
  279. Runs OpenStack PTI jobs for python.
  280. This template is deprecated and should only be used for older
  281. stable branches (train and older). For newer releases, use the
  282. release specific template instead, for example
  283. :zuul:project_template:`openstack-python3-ussuri-jobs`.
  284. check:
  285. jobs:
  286. - openstack-tox-pep8
  287. - openstack-tox-py27
  288. gate:
  289. jobs:
  290. - openstack-tox-pep8
  291. - openstack-tox-py27
  292. post:
  293. jobs:
  294. - publish-openstack-python-branch-tarball
  295. - project-template:
  296. name: openstack-python-jobs-horizon
  297. description: |
  298. The standard :zuul:project_template:`openstack-python-jobs`
  299. but with horizon added as a
  300. required-projects. This checks out the project code and allows
  301. tox_install_siblings to use horizon when building the venv.
  302. This template is deprecated and should only be used for older
  303. stable branches (train and older). For newer releases, use the
  304. release specific template instead, for example
  305. :zuul:project_template:`openstack-python3-ussuri-jobs-horizon`.
  306. check:
  307. jobs:
  308. - openstack-tox-pep8:
  309. required-projects:
  310. - openstack/horizon
  311. - openstack-tox-py27:
  312. required-projects:
  313. - openstack/horizon
  314. gate:
  315. jobs:
  316. - openstack-tox-pep8:
  317. required-projects:
  318. - openstack/horizon
  319. - openstack-tox-py27:
  320. required-projects:
  321. - openstack/horizon
  322. post:
  323. jobs:
  324. # This job does not use tox and thus does not need
  325. # any required-projects.
  326. - publish-openstack-python-branch-tarball
  327. - project-template:
  328. name: openstack-python-jobs-neutron
  329. description: |
  330. The standard :zuul:project_template:`openstack-python-jobs`
  331. but with neutron added as a
  332. required-projects. This checks out the project code and allows
  333. tox_install_siblings to use neutron when building the venv.
  334. This template is deprecated and should only be used for older
  335. stable branches (train and older). For newer releases, use the
  336. release specific template instead, for example
  337. :zuul:project_template:`openstack-python3-ussuri-jobs-neutron`.
  338. check:
  339. jobs:
  340. - openstack-tox-pep8:
  341. required-projects:
  342. - openstack/neutron
  343. - openstack-tox-py27:
  344. required-projects:
  345. - openstack/neutron
  346. gate:
  347. jobs:
  348. - openstack-tox-pep8:
  349. required-projects:
  350. - openstack/neutron
  351. - openstack-tox-py27:
  352. required-projects:
  353. - openstack/neutron
  354. post:
  355. jobs:
  356. # This job does not use tox and thus does not need
  357. # any required-projects.
  358. - publish-openstack-python-branch-tarball
  359. - project-template:
  360. name: openstack-python-jobs-ceilometer
  361. description: |
  362. The standard :zuul:project_template:`openstack-python-jobs`
  363. but with ceilometer added as a
  364. required-projects. This checks out the project code and allows
  365. tox_install_siblings to use ceilometer when building the venv.
  366. This template is deprecated and should only be used for older
  367. stable branches (train and older). For newer releases, use the
  368. release specific template instead, for example
  369. :zuul:project_template:`openstack-python3-ussuri-jobs-ceilometer`.
  370. check:
  371. jobs:
  372. - openstack-tox-pep8:
  373. required-projects:
  374. - openstack/ceilometer
  375. - openstack-tox-py27:
  376. required-projects:
  377. - openstack/ceilometer
  378. gate:
  379. jobs:
  380. - openstack-tox-pep8:
  381. required-projects:
  382. - openstack/ceilometer
  383. - openstack-tox-py27:
  384. required-projects:
  385. - openstack/ceilometer
  386. post:
  387. jobs:
  388. # This job does not use tox and thus does not need
  389. # any required-projects.
  390. - publish-openstack-python-branch-tarball
  391. - project-template:
  392. name: openstack-cover-jobs
  393. description: |
  394. Runs openstack-tox-cover in only the check pipeline.
  395. check:
  396. jobs:
  397. - openstack-tox-cover
  398. - project-template:
  399. name: openstack-cover-jobs-horizon
  400. description: |
  401. The standard openstack-cover-jobs but with horizon added as a
  402. required-projects. This checks out the project code and allows
  403. tox_install_siblings to use it when building the venv.
  404. check:
  405. jobs:
  406. - openstack-tox-cover:
  407. required-projects:
  408. - openstack/horizon
  409. - project-template:
  410. name: openstack-cover-jobs-neutron
  411. description: |
  412. The standard openstack-cover-jobs but with neutron added as a
  413. required-projects. This checks out the project code and allows
  414. tox_install_siblings to use it when building the venv.
  415. check:
  416. jobs:
  417. - openstack-tox-cover:
  418. required-projects:
  419. - openstack/neutron
  420. - project-template:
  421. name: openstack-python3-charm-jobs
  422. description: |
  423. Runs unit tests for an OpenStack Charm project under the CPython
  424. version 3 releases designated for testing across OpenStack
  425. releases.
  426. check:
  427. jobs:
  428. - openstack-tox-pep8
  429. - openstack-tox-py35
  430. - openstack-tox-py36
  431. - openstack-tox-py38
  432. gate:
  433. jobs:
  434. - openstack-tox-pep8
  435. - openstack-tox-py35
  436. - openstack-tox-py36
  437. - openstack-tox-py38
  438. - project-template:
  439. name: openstack-python3-wallaby-jobs
  440. description: |
  441. Runs unit tests for an OpenStack Python project under the CPython
  442. version 3 releases designated for testing in the Wallaby release.
  443. check:
  444. jobs:
  445. - openstack-tox-pep8
  446. - openstack-tox-py36
  447. - openstack-tox-py38
  448. - openstack-tox-py39:
  449. voting: false
  450. gate:
  451. jobs:
  452. - openstack-tox-pep8
  453. - openstack-tox-py36
  454. - openstack-tox-py38
  455. post:
  456. jobs:
  457. - publish-openstack-python-branch-tarball
  458. - project-template:
  459. name: openstack-python3-wallaby-jobs-horizon
  460. description: |
  461. The standard :zuul:project_template:`openstack-python3-wallaby-jobs`
  462. but with horizon added as a required-projects. This checks out
  463. the project code and allows tox_install_siblings to use horizon
  464. when building the venv.
  465. check:
  466. jobs:
  467. - openstack-tox-pep8:
  468. required-projects:
  469. - openstack/horizon
  470. - openstack-tox-py36:
  471. required-projects:
  472. - openstack/horizon
  473. - openstack-tox-py38:
  474. required-projects:
  475. - openstack/horizon
  476. - openstack-tox-py39:
  477. required-projects:
  478. - openstack/horizon
  479. voting: false
  480. gate:
  481. jobs:
  482. - openstack-tox-pep8:
  483. required-projects:
  484. - openstack/horizon
  485. - openstack-tox-py36:
  486. required-projects:
  487. - openstack/horizon
  488. - openstack-tox-py38:
  489. required-projects:
  490. - openstack/horizon
  491. post:
  492. jobs:
  493. - publish-openstack-python-branch-tarball
  494. - project-template:
  495. name: openstack-python3-wallaby-jobs-neutron
  496. description: |
  497. The standard :zuul:project_template:`openstack-python3-wallaby-jobs`
  498. but with neutron added as a required-projects. This checks out
  499. the project code and allows tox_install_siblings to use neutron
  500. when building the venv.
  501. check:
  502. jobs:
  503. - openstack-tox-pep8:
  504. required-projects:
  505. - openstack/neutron
  506. - openstack-tox-py36:
  507. required-projects:
  508. - openstack/neutron
  509. - openstack-tox-py38:
  510. required-projects:
  511. - openstack/neutron
  512. - openstack-tox-py39:
  513. required-projects:
  514. - openstack/neutron
  515. voting: false
  516. gate:
  517. jobs:
  518. - openstack-tox-pep8:
  519. required-projects:
  520. - openstack/neutron
  521. - openstack-tox-py36:
  522. required-projects:
  523. - openstack/neutron
  524. - openstack-tox-py38:
  525. required-projects:
  526. - openstack/neutron
  527. post:
  528. jobs:
  529. - publish-openstack-python-branch-tarball
  530. - project-template:
  531. name: openstack-python3-wallaby-jobs-ceilometer
  532. description: |
  533. The standard :zuul:project_template:`openstack-python3-wallaby-jobs`
  534. but with ceilometer added as a required-projects. This checks out
  535. the project code and allows tox_install_siblings to use ceilometer
  536. when building the venv.
  537. check:
  538. jobs:
  539. - openstack-tox-pep8:
  540. required-projects:
  541. - openstack/ceilometer
  542. - openstack-tox-py36:
  543. required-projects:
  544. - openstack/ceilometer
  545. - openstack-tox-py38:
  546. required-projects:
  547. - openstack/ceilometer
  548. - openstack-tox-py39:
  549. required-projects:
  550. - openstack/ceilometer
  551. voting: false
  552. gate:
  553. jobs:
  554. - openstack-tox-pep8:
  555. required-projects:
  556. - openstack/ceilometer
  557. - openstack-tox-py36:
  558. required-projects:
  559. - openstack/ceilometer
  560. - openstack-tox-py38:
  561. required-projects:
  562. - openstack/ceilometer
  563. post:
  564. jobs:
  565. - publish-openstack-python-branch-tarball
  566. - project-template:
  567. name: openstack-python3-victoria-jobs
  568. description: |
  569. Runs unit tests for an OpenStack Python project under the CPython
  570. version 3 releases designated for testing in the Victoria release.
  571. check:
  572. jobs:
  573. - openstack-tox-pep8
  574. - openstack-tox-py36
  575. - openstack-tox-py38
  576. gate:
  577. jobs:
  578. - openstack-tox-pep8
  579. - openstack-tox-py36
  580. - openstack-tox-py38
  581. post:
  582. jobs:
  583. - publish-openstack-python-branch-tarball
  584. - project-template:
  585. name: openstack-python3-wallaby-jobs-arm64
  586. description: |
  587. Runs unit tests for an OpenStack Python project under the CPython
  588. version 3 releases designated for testing in the Wallaby release
  589. on top of ARM64 architecture. This currently runs only a limited
  590. test set and supplements the python3-wallaby-jobs. And it should
  591. not be run instead of the default!
  592. check-arm64:
  593. jobs:
  594. - openstack-tox-py38-arm64:
  595. voting: false
  596. - openstack-tox-py39-arm64:
  597. voting: false
  598. - project-template:
  599. name: openstack-python3-victoria-jobs-arm64
  600. description: |
  601. Runs unit tests for an OpenStack Python project under the CPython
  602. version 3 releases designated for testing in the Victoria release
  603. on top of ARM64 architecture. This currently runs only a limited
  604. test set and supplements the python3-victoria-jobs. And it should
  605. not be run instead of the default!
  606. check-arm64:
  607. jobs:
  608. - openstack-tox-py38-arm64:
  609. voting: false
  610. - project-template:
  611. name: openstack-python3-victoria-jobs-horizon
  612. description: |
  613. The standard :zuul:project_template:`openstack-python3-victoria-jobs`
  614. but with horizon added as a required-projects. This checks out
  615. the project code and allows tox_install_siblings to use horizon
  616. when building the venv.
  617. check:
  618. jobs:
  619. - openstack-tox-pep8:
  620. required-projects:
  621. - openstack/horizon
  622. - openstack-tox-py36:
  623. required-projects:
  624. - openstack/horizon
  625. - openstack-tox-py38:
  626. required-projects:
  627. - openstack/horizon
  628. gate:
  629. jobs:
  630. - openstack-tox-pep8:
  631. required-projects:
  632. - openstack/horizon
  633. - openstack-tox-py36:
  634. required-projects:
  635. - openstack/horizon
  636. - openstack-tox-py38:
  637. required-projects:
  638. - openstack/horizon
  639. post:
  640. jobs:
  641. - publish-openstack-python-branch-tarball
  642. - project-template:
  643. name: openstack-python3-victoria-jobs-neutron
  644. description: |
  645. The standard :zuul:project_template:`openstack-python3-victoria-jobs`
  646. but with neutron added as a required-projects. This checks out
  647. the project code and allows tox_install_siblings to use neutron
  648. when building the venv.
  649. check:
  650. jobs:
  651. - openstack-tox-pep8:
  652. required-projects:
  653. - openstack/neutron
  654. - openstack-tox-py36:
  655. required-projects:
  656. - openstack/neutron
  657. - openstack-tox-py38:
  658. required-projects:
  659. - openstack/neutron
  660. gate:
  661. jobs:
  662. - openstack-tox-pep8:
  663. required-projects:
  664. - openstack/neutron
  665. - openstack-tox-py36:
  666. required-projects:
  667. - openstack/neutron
  668. - openstack-tox-py38:
  669. required-projects:
  670. - openstack/neutron
  671. post:
  672. jobs:
  673. - publish-openstack-python-branch-tarball
  674. - project-template:
  675. name: openstack-python3-victoria-jobs-ceilometer
  676. description: |
  677. The standard :zuul:project_template:`openstack-python3-victoria-jobs`
  678. but with ceilometer added as a required-projects. This checks out
  679. the project code and allows tox_install_siblings to use ceilometer
  680. when building the venv.
  681. check:
  682. jobs:
  683. - openstack-tox-pep8:
  684. required-projects:
  685. - openstack/ceilometer
  686. - openstack-tox-py36:
  687. required-projects:
  688. - openstack/ceilometer
  689. - openstack-tox-py38:
  690. required-projects:
  691. - openstack/ceilometer
  692. gate:
  693. jobs:
  694. - openstack-tox-pep8:
  695. required-projects:
  696. - openstack/ceilometer
  697. - openstack-tox-py36:
  698. required-projects:
  699. - openstack/ceilometer
  700. - openstack-tox-py38:
  701. required-projects:
  702. - openstack/ceilometer
  703. post:
  704. jobs:
  705. - publish-openstack-python-branch-tarball
  706. - project-template:
  707. name: openstack-python3-ussuri-jobs
  708. description: |
  709. Runs unit tests for an OpenStack Python project under the CPython
  710. version 3 releases designated for testing in the Ussuri release.
  711. check:
  712. jobs:
  713. - openstack-tox-pep8
  714. - openstack-tox-py36
  715. - openstack-tox-py37
  716. - openstack-tox-py38:
  717. voting: false
  718. branches: master
  719. gate:
  720. jobs:
  721. - openstack-tox-pep8
  722. - openstack-tox-py36
  723. - openstack-tox-py37
  724. post:
  725. jobs:
  726. - publish-openstack-python-branch-tarball
  727. - project-template:
  728. name: openstack-python3-ussuri-jobs-horizon
  729. description: |
  730. The standard :zuul:project_template:`openstack-python3-ussuri-jobs`
  731. but with horizon added as a required-projects. This checks out
  732. the project code and allows tox_install_siblings to use horizon
  733. when building the venv.
  734. check:
  735. jobs:
  736. - openstack-tox-pep8:
  737. required-projects:
  738. - openstack/horizon
  739. - openstack-tox-py36:
  740. required-projects:
  741. - openstack/horizon
  742. - openstack-tox-py37:
  743. required-projects:
  744. - openstack/horizon
  745. - openstack-tox-py38:
  746. required-projects:
  747. - openstack/horizon
  748. voting: false
  749. branches: master
  750. gate:
  751. jobs:
  752. - openstack-tox-pep8:
  753. required-projects:
  754. - openstack/horizon
  755. - openstack-tox-py36:
  756. required-projects:
  757. - openstack/horizon
  758. - openstack-tox-py37:
  759. required-projects:
  760. - openstack/horizon
  761. post:
  762. jobs:
  763. - publish-openstack-python-branch-tarball
  764. - project-template:
  765. name: openstack-python3-ussuri-jobs-neutron
  766. description: |
  767. The standard :zuul:project_template:`openstack-python3-ussuri-jobs`
  768. but with neutron added as a required-projects. This checks out
  769. the project code and allows tox_install_siblings to use neutron
  770. when building the venv.
  771. check:
  772. jobs:
  773. - openstack-tox-pep8:
  774. required-projects:
  775. - openstack/neutron
  776. - openstack-tox-py36:
  777. required-projects:
  778. - openstack/neutron
  779. - openstack-tox-py37:
  780. required-projects:
  781. - openstack/neutron
  782. - openstack-tox-py38:
  783. required-projects:
  784. - openstack/neutron
  785. voting: false
  786. branches: master
  787. gate:
  788. jobs:
  789. - openstack-tox-pep8:
  790. required-projects:
  791. - openstack/neutron
  792. - openstack-tox-py36:
  793. required-projects:
  794. - openstack/neutron
  795. - openstack-tox-py37:
  796. required-projects:
  797. - openstack/neutron
  798. post:
  799. jobs:
  800. - publish-openstack-python-branch-tarball
  801. - project-template:
  802. name: openstack-python3-ussuri-jobs-ceilometer
  803. description: |
  804. The standard :zuul:project_template:`openstack-python3-ussuri-jobs`
  805. but with ceilometer added as a required-projects. This checks out
  806. the project code and allows tox_install_siblings to use ceilometer
  807. when building the venv.
  808. check:
  809. jobs:
  810. - openstack-tox-pep8:
  811. required-projects:
  812. - openstack/ceilometer
  813. - openstack-tox-py36:
  814. required-projects:
  815. - openstack/ceilometer
  816. - openstack-tox-py37:
  817. required-projects:
  818. - openstack/ceilometer
  819. - openstack-tox-py38:
  820. required-projects:
  821. - openstack/ceilometer
  822. voting: false
  823. branches: master
  824. gate:
  825. jobs:
  826. - openstack-tox-pep8:
  827. required-projects:
  828. - openstack/ceilometer
  829. - openstack-tox-py36:
  830. required-projects:
  831. - openstack/ceilometer
  832. - openstack-tox-py37:
  833. required-projects:
  834. - openstack/ceilometer
  835. post:
  836. jobs:
  837. - publish-openstack-python-branch-tarball
  838. - project-template:
  839. name: openstack-python3-train-jobs
  840. description: |
  841. Runs unit tests for an OpenStack Python project under the CPython
  842. version 3 releases designated for testing in the Train release.
  843. check:
  844. jobs:
  845. - openstack-tox-py36
  846. - openstack-tox-py37
  847. gate:
  848. jobs:
  849. - openstack-tox-py36
  850. - openstack-tox-py37
  851. - project-template:
  852. name: openstack-python3-train-jobs-horizon
  853. description: |
  854. The standard :zuul:project_template:`openstack-python3-train-jobs`
  855. but with horizon added as a required-projects. This checks out
  856. the project code and allows tox_install_siblings to use horizon
  857. when building the venv.
  858. check:
  859. jobs:
  860. - openstack-tox-py36:
  861. required-projects:
  862. - openstack/horizon
  863. - openstack-tox-py37:
  864. required-projects:
  865. - openstack/horizon
  866. gate:
  867. jobs:
  868. - openstack-tox-py36:
  869. required-projects:
  870. - openstack/horizon
  871. - openstack-tox-py37:
  872. required-projects:
  873. - openstack/horizon
  874. - project-template:
  875. name: openstack-python3-train-jobs-neutron
  876. description: |
  877. The standard :zuul:project_template:`openstack-python3-train-jobs`
  878. but with neutron added as a required-projects. This checks out
  879. the project code and allows tox_install_siblings to use neutron
  880. when building the venv.
  881. check:
  882. jobs:
  883. - openstack-tox-py36:
  884. required-projects:
  885. - openstack/neutron
  886. - openstack-tox-py37:
  887. required-projects:
  888. - openstack/neutron
  889. gate:
  890. jobs:
  891. - openstack-tox-py36:
  892. required-projects:
  893. - openstack/neutron
  894. - openstack-tox-py37:
  895. required-projects:
  896. - openstack/neutron
  897. - project-template:
  898. name: openstack-python3-train-jobs-ceilometer
  899. description: |
  900. The standard :zuul:project_template:`openstack-python3-train-jobs`
  901. but with ceilometer added as a required-projects. This checks out
  902. the project code and allows tox_install_siblings to use ceilometer
  903. when building the venv.
  904. check:
  905. jobs:
  906. - openstack-tox-py36:
  907. required-projects:
  908. - openstack/ceilometer
  909. - openstack-tox-py37:
  910. required-projects:
  911. - openstack/ceilometer
  912. gate:
  913. jobs:
  914. - openstack-tox-py36:
  915. required-projects:
  916. - openstack/ceilometer
  917. - openstack-tox-py37:
  918. required-projects:
  919. - openstack/ceilometer
  920. - project-template:
  921. name: openstack-python35-jobs
  922. description: |
  923. Runs unit tests for an OpenStack Python project under cPython
  924. version 3.5.
  925. check:
  926. jobs:
  927. - openstack-tox-py35
  928. gate:
  929. jobs:
  930. - openstack-tox-py35
  931. - project-template:
  932. name: openstack-python35-jobs-horizon
  933. description: |
  934. The standard :zuul:project_template:`openstack-python35-jobs`
  935. but with horizon added as a required-projects. This checks out
  936. the project code and allows tox_install_siblings to use horizon
  937. when building the venv.
  938. check:
  939. jobs:
  940. - openstack-tox-py35:
  941. required-projects:
  942. - openstack/horizon
  943. gate:
  944. jobs:
  945. - openstack-tox-py35:
  946. required-projects:
  947. - openstack/horizon
  948. - project-template:
  949. name: openstack-python35-jobs-neutron
  950. description: |
  951. The standard :zuul:project_template:`openstack-python35-jobs`
  952. but with neutron added as a required-projects. This checks out
  953. the project code and allows tox_install_siblings to use neutron
  954. when building the venv.
  955. check:
  956. jobs:
  957. - openstack-tox-py35:
  958. required-projects:
  959. - openstack/neutron
  960. gate:
  961. jobs:
  962. - openstack-tox-py35:
  963. required-projects:
  964. - openstack/neutron
  965. - project-template:
  966. name: openstack-python35-jobs-ceilometer
  967. description: |
  968. The standard :zuul:project_template:`openstack-python35-jobs`
  969. but with ceilometer added as a required-projects. This checks out
  970. the project code and allows tox_install_siblings to use ceilometer
  971. when building the venv.
  972. check:
  973. jobs:
  974. - openstack-tox-py35:
  975. required-projects:
  976. - openstack/ceilometer
  977. gate:
  978. jobs:
  979. - openstack-tox-py35:
  980. required-projects:
  981. - openstack/ceilometer
  982. - project-template:
  983. name: openstack-python35-jobs-nonvoting
  984. description: |
  985. Runs unit tests for an OpenStack Python project under cPython
  986. version 3.5.
  987. The job is non-voting.
  988. check:
  989. jobs:
  990. - openstack-tox-py35:
  991. voting: false
  992. - project-template:
  993. name: openstack-python36-jobs
  994. description: |
  995. Runs unit tests for an OpenStack Python project under cPython
  996. version 3.6.
  997. check:
  998. jobs:
  999. - openstack-tox-py36
  1000. gate:
  1001. jobs:
  1002. - openstack-tox-py36
  1003. - project-template:
  1004. name: openstack-python36-jobs-horizon
  1005. description: |
  1006. The standard openstack-python36-jobs but with horizon added as a
  1007. required-projects. The dashboard projects currently need this
  1008. due to how the tox_install.sh zuul-cloner's horizon for them.
  1009. check:
  1010. jobs:
  1011. - openstack-tox-py36:
  1012. required-projects:
  1013. - openstack/horizon
  1014. gate:
  1015. jobs:
  1016. - openstack-tox-py36:
  1017. required-projects:
  1018. - openstack/horizon
  1019. - project-template:
  1020. name: openstack-python36-jobs-neutron
  1021. description: |
  1022. The standard :zuul:project_template:`openstack-python36-jobs`
  1023. but with neutron added as a required-projects. This checks out
  1024. the project code and allows tox_install_siblings to use neutron
  1025. when building the venv.
  1026. check:
  1027. jobs:
  1028. - openstack-tox-py36:
  1029. required-projects:
  1030. - openstack/neutron
  1031. gate:
  1032. jobs:
  1033. - openstack-tox-py36:
  1034. required-projects:
  1035. - openstack/neutron
  1036. - project-template:
  1037. name: openstack-python36-jobs-ceilometer
  1038. description: |
  1039. The standard :zuul:project_template:`openstack-python36-jobs`
  1040. but with ceilometer added as a required-projects. This checks out
  1041. the project code and allows tox_install_siblings to use ceilometer
  1042. when building the venv.
  1043. check:
  1044. jobs:
  1045. - openstack-tox-py36:
  1046. required-projects:
  1047. - openstack/ceilometer
  1048. gate:
  1049. jobs:
  1050. - openstack-tox-py36:
  1051. required-projects:
  1052. - openstack/ceilometer
  1053. - project-template:
  1054. name: openstack-python36-jobs-nonvoting
  1055. description: |
  1056. Runs unit tests for an OpenStack Python project under cPython
  1057. version 3.6.
  1058. The job is non-voting.
  1059. check:
  1060. jobs:
  1061. - openstack-tox-py36:
  1062. voting: false
  1063. - project-template:
  1064. name: openstack-python37-jobs
  1065. description: |
  1066. Runs unit tests for an OpenStack Python project under cPython
  1067. version 3.7.
  1068. check:
  1069. jobs:
  1070. - openstack-tox-py37
  1071. gate:
  1072. jobs:
  1073. - openstack-tox-py37
  1074. - project-template:
  1075. name: openstack-python37-jobs-horizon
  1076. description: |
  1077. The standard openstack-python37-jobs but with horizon added as a
  1078. required-projects. The dashboard projects currently need this
  1079. due to how the tox_install.sh zuul-cloner's horizon for them.
  1080. check:
  1081. jobs:
  1082. - openstack-tox-py37:
  1083. required-projects:
  1084. - openstack/horizon
  1085. gate:
  1086. jobs:
  1087. - openstack-tox-py37:
  1088. required-projects:
  1089. - openstack/horizon
  1090. - project-template:
  1091. name: openstack-python37-jobs-neutron
  1092. description: |
  1093. The standard :zuul:project_template:`openstack-python37-jobs`
  1094. but with neutron added as a required-projects. This checks out
  1095. the project code and allows tox_install_siblings to use neutron
  1096. when building the venv.
  1097. check:
  1098. jobs:
  1099. - openstack-tox-py37:
  1100. required-projects:
  1101. - openstack/neutron
  1102. gate:
  1103. jobs:
  1104. - openstack-tox-py37:
  1105. required-projects:
  1106. - openstack/neutron
  1107. - project-template:
  1108. name: openstack-python37-jobs-ceilometer
  1109. description: |
  1110. The standard :zuul:project_template:`openstack-python37-jobs`
  1111. but with ceilometer added as a required-projects. This checks out
  1112. the project code and allows tox_install_siblings to use ceilometer
  1113. when building the venv.
  1114. check:
  1115. jobs:
  1116. - openstack-tox-py37:
  1117. required-projects:
  1118. - openstack/ceilometer
  1119. gate:
  1120. jobs:
  1121. - openstack-tox-py37:
  1122. required-projects:
  1123. - openstack/ceilometer
  1124. - project-template:
  1125. name: openstack-python37-jobs-nonvoting
  1126. description: |
  1127. Runs unit tests for an OpenStack Python project under cPython
  1128. version 3.7.
  1129. The job is non-voting.
  1130. check:
  1131. jobs:
  1132. - openstack-tox-py37:
  1133. voting: false
  1134. - project-template:
  1135. name: openstack-python38-jobs
  1136. description: |
  1137. Runs unit tests for an OpenStack Python project under cPython
  1138. version 3.8.
  1139. check:
  1140. jobs:
  1141. - openstack-tox-py38
  1142. gate:
  1143. jobs:
  1144. - openstack-tox-py38
  1145. - project-template:
  1146. name: openstack-python38-jobs-nonvoting
  1147. description: |
  1148. Runs unit tests for an OpenStack Python project under cPython
  1149. version 3.8.
  1150. The job is non-voting.
  1151. check:
  1152. jobs:
  1153. - openstack-tox-py38:
  1154. voting: false
  1155. - project-template:
  1156. name: openstack-python38-jobs-no-constraints
  1157. description: |
  1158. Runs unit tests for an OpenStack Python project under cPython
  1159. version 3.8.
  1160. This uses a variant that do not use constraints.
  1161. check:
  1162. jobs:
  1163. - tox-py38
  1164. gate:
  1165. jobs:
  1166. - tox-py38
  1167. - project-template:
  1168. name: openstack-pep-publish-jobs
  1169. description: |
  1170. Runs the pep8 job and publishing of python tarball after merge.
  1171. check:
  1172. jobs:
  1173. - openstack-tox-pep8
  1174. gate:
  1175. jobs:
  1176. - openstack-tox-pep8
  1177. post:
  1178. jobs:
  1179. - publish-openstack-python-branch-tarball
  1180. - project-template:
  1181. name: openstack-python-jobs-no-constraints
  1182. description: |
  1183. Runs the OpenStack PTI jobs for python, but uses the versions of them
  1184. that do not use constraints.
  1185. check:
  1186. jobs:
  1187. - tox-pep8
  1188. - tox-py27:
  1189. nodeset: ubuntu-bionic
  1190. gate:
  1191. jobs:
  1192. - tox-pep8
  1193. - tox-py27:
  1194. nodeset: ubuntu-bionic
  1195. post:
  1196. jobs:
  1197. - publish-openstack-python-branch-tarball
  1198. - project-template:
  1199. name: openstack-python35-jobs-no-constraints
  1200. description: |
  1201. Runs unit tests for an OpenStack Python project under cPython
  1202. version 3.5.
  1203. This uses a variant that do not use constraints.
  1204. check:
  1205. jobs:
  1206. - tox-py35:
  1207. nodeset: ubuntu-xenial
  1208. gate:
  1209. jobs:
  1210. - tox-py35:
  1211. nodeset: ubuntu-xenial
  1212. - project-template:
  1213. name: openstack-python36-jobs-no-constraints
  1214. description: |
  1215. Runs unit tests for an OpenStack Python project under cPython
  1216. version 3.6.
  1217. This uses a variant that do not use constraints.
  1218. check:
  1219. jobs:
  1220. - tox-py36:
  1221. nodeset: ubuntu-bionic
  1222. gate:
  1223. jobs:
  1224. - tox-py36:
  1225. nodeset: ubuntu-bionic
  1226. - project-template:
  1227. name: openstack-python37-jobs-no-constraints
  1228. description: |
  1229. Runs unit tests for an OpenStack Python project under cPython
  1230. version 3.7.
  1231. This uses a variant that do not use constraints.
  1232. check:
  1233. jobs:
  1234. - tox-py37
  1235. gate:
  1236. jobs:
  1237. - tox-py37
  1238. - project-template:
  1239. name: openstack-lower-constraints-jobs
  1240. description: |
  1241. Runs openstack-tox-lower-constraints in both the check and gate pipelines.
  1242. check:
  1243. jobs:
  1244. - openstack-tox-lower-constraints
  1245. gate:
  1246. jobs:
  1247. - openstack-tox-lower-constraints
  1248. - project-template:
  1249. name: openstack-lower-constraints-jobs-horizon
  1250. description: |
  1251. The standard :zuul:project_template:`openstack-lower-constraints-jobs`
  1252. but with horizon added as a required-projects.
  1253. This checks out the project code and allows
  1254. tox_install_siblings to use it when building the venv.
  1255. check:
  1256. jobs:
  1257. - openstack-tox-lower-constraints:
  1258. required-projects:
  1259. - openstack/horizon
  1260. gate:
  1261. jobs:
  1262. - openstack-tox-lower-constraints:
  1263. required-projects:
  1264. - openstack/horizon
  1265. - project-template:
  1266. name: openstack-lower-constraints-jobs-neutron
  1267. description: |
  1268. The standard :zuul:project_template:`openstack-lower-constraints-jobs`
  1269. but with neutron added as a required-projects.
  1270. This checks out the project code and allows
  1271. tox_install_siblings to use it when building the venv.
  1272. check:
  1273. jobs:
  1274. - openstack-tox-lower-constraints:
  1275. required-projects:
  1276. - openstack/neutron
  1277. gate:
  1278. jobs:
  1279. - openstack-tox-lower-constraints:
  1280. required-projects:
  1281. - openstack/neutron
  1282. - project-template:
  1283. name: openstack-lower-constraints-jobs-ceilometer
  1284. description: |
  1285. The standard :zuul:project_template:`openstack-lower-constraints-jobs`
  1286. but with ceilometer added as a required-projects.
  1287. This checks out the project code and allows
  1288. tox_install_siblings to use it when building the venv.
  1289. check:
  1290. jobs:
  1291. - openstack-tox-lower-constraints:
  1292. required-projects:
  1293. - openstack/ceilometer
  1294. gate:
  1295. jobs:
  1296. - openstack-tox-lower-constraints:
  1297. required-projects:
  1298. - openstack/ceilometer
  1299. - project-template:
  1300. name: openstack-pypy-jobs
  1301. description: |
  1302. Runs unit tests for an OpenStack Python project under PyPy.
  1303. check:
  1304. jobs:
  1305. - openstack-tox-pypy
  1306. gate:
  1307. jobs:
  1308. - openstack-tox-pypy
  1309. - project-template:
  1310. name: openstack-pypy-jobs-nonvoting
  1311. description: |
  1312. Runs unit tests for an OpenStack Python project under PyPy.
  1313. The job is non-voting.
  1314. check:
  1315. jobs:
  1316. - openstack-tox-pypy:
  1317. voting: false
  1318. - project-template:
  1319. name: docs-on-readthedocs
  1320. description: |
  1321. Runs normal OpenStack PTI build jobs but publishes to
  1322. `readthedocs <https://readthedocs.org>`__ instead of
  1323. `docs.openstack.org <https://docs.openstack.org>`__. This is
  1324. intended for projects that are aiming to follow the PTI but are
  1325. not official.
  1326. To use this template you need to:
  1327. #. add the ``openstackci`` user as an admin to your RTD project
  1328. #. generate a webhook URL via the "Integrations" dashboard page
  1329. #. provide the ``id`` in the ``rtd_webhook_id`` variable in your project
  1330. For example
  1331. .. code-block:: yaml
  1332. project:
  1333. name: openstack-project
  1334. description: My Project
  1335. templates:
  1336. - docs-on-readthedocs
  1337. vars:
  1338. rtd_webhook_id: '1234'
  1339. check:
  1340. jobs:
  1341. - openstack-tox-docs
  1342. gate:
  1343. jobs:
  1344. - openstack-tox-docs
  1345. post:
  1346. jobs:
  1347. - trigger-readthedocs-webhook
  1348. pre-release:
  1349. jobs:
  1350. - trigger-readthedocs-webhook
  1351. release:
  1352. jobs:
  1353. - trigger-readthedocs-webhook
  1354. - project-template:
  1355. name: nodejs4-publish-to-npm
  1356. description: |
  1357. Runs publish jobs and tarball generation for Javascript.
  1358. Uses NodeJS version 4.
  1359. post:
  1360. jobs:
  1361. - publish-openstack-javascript-tarball:
  1362. vars:
  1363. node_version: 4
  1364. nodeset: ubuntu-xenial
  1365. release:
  1366. jobs:
  1367. - release-openstack-javascript:
  1368. vars:
  1369. node_version: 4
  1370. nodeset: ubuntu-xenial
  1371. - announce-release:
  1372. dependencies:
  1373. - release-openstack-javascript
  1374. - project-template:
  1375. name: nodejs6-publish-to-npm
  1376. description: |
  1377. Runs publish jobs and tarball generation for Javascript.
  1378. Uses NodeJS version 6.
  1379. post:
  1380. jobs:
  1381. - publish-openstack-javascript-tarball:
  1382. vars:
  1383. node_version: 6
  1384. release:
  1385. jobs:
  1386. - release-openstack-javascript:
  1387. vars:
  1388. node_version: 6
  1389. - announce-release:
  1390. dependencies:
  1391. - release-openstack-javascript
  1392. - project-template:
  1393. name: nodejs8-publish-to-npm
  1394. description: |
  1395. Runs publish jobs and tarball generation for Javascript.
  1396. Uses NodeJS version 8.
  1397. post:
  1398. jobs:
  1399. - publish-openstack-javascript-tarball:
  1400. vars:
  1401. node_version: 8
  1402. release:
  1403. jobs:
  1404. - release-openstack-javascript:
  1405. vars:
  1406. node_version: 8
  1407. - announce-release:
  1408. dependencies:
  1409. - release-openstack-javascript
  1410. - project-template:
  1411. name: translation-jobs-master-only
  1412. description: |
  1413. Sync translations to translation server and back again for
  1414. **master** only.
  1415. This is intended for official OpenStack projects that have
  1416. translations set up.
  1417. post:
  1418. jobs:
  1419. - upstream-translation-update:
  1420. branches: master
  1421. periodic:
  1422. jobs:
  1423. - propose-translation-update:
  1424. branches: master
  1425. - project-template:
  1426. name: translation-jobs-master-stable
  1427. description: |
  1428. Sync translations to translation server and back again for
  1429. **master** and translated stable branches.
  1430. This is intended for official OpenStack projects that have
  1431. translations set up.
  1432. post:
  1433. jobs:
  1434. - upstream-translation-update:
  1435. branches:
  1436. - master
  1437. - stable/ussuri
  1438. - stable/victoria
  1439. periodic:
  1440. jobs:
  1441. - propose-translation-update:
  1442. branches:
  1443. - master
  1444. - stable/ussuri
  1445. - stable/victoria
  1446. - project-template:
  1447. name: openstack-specs-jobs
  1448. description: |
  1449. Runs jobs to build documents for a specs repository and publishes the
  1450. result using a promote job.
  1451. check:
  1452. jobs:
  1453. - openstack-tox-docs
  1454. gate:
  1455. jobs:
  1456. - openstack-tox-docs
  1457. promote:
  1458. jobs:
  1459. - promote-openstack-specs
  1460. - project-template:
  1461. name: build-only-specs-jobs
  1462. description: |
  1463. Runs jobs to build only documents for a specs repository.
  1464. check:
  1465. jobs:
  1466. - openstack-tox-docs
  1467. gate:
  1468. jobs:
  1469. - openstack-tox-docs
  1470. - project-template:
  1471. name: api-guide-jobs
  1472. description: |
  1473. Build the api-guide document and publish the result
  1474. using a promote job.
  1475. check:
  1476. jobs:
  1477. - build-openstack-api-guide:
  1478. files: &api-guide-triggers
  1479. - ^api-guide/.*
  1480. - bindep.txt
  1481. - doc/requirements.txt
  1482. - test-requirements.txt
  1483. - tox.ini
  1484. gate:
  1485. jobs:
  1486. - build-openstack-api-guide:
  1487. files: *api-guide-triggers
  1488. promote:
  1489. jobs:
  1490. - promote-api-guide:
  1491. files: *api-guide-triggers
  1492. - project-template:
  1493. name: api-ref-jobs
  1494. description: |
  1495. Build the api-ref document and publish the result
  1496. using a promote job.
  1497. check:
  1498. jobs:
  1499. - build-openstack-api-ref:
  1500. files: &api-ref-triggers
  1501. - ^os_api_ref/.*
  1502. - ^api-ref/.*
  1503. - ^doc/api_samples/.*
  1504. - bindep.txt
  1505. - doc/requirements.txt
  1506. - test-requirements.txt
  1507. - tox.ini
  1508. gate:
  1509. jobs:
  1510. - build-openstack-api-ref:
  1511. files: *api-ref-triggers
  1512. promote:
  1513. jobs:
  1514. - promote-api-ref:
  1515. files: *api-ref-triggers
  1516. - project-template:
  1517. name: deploy-guide-jobs
  1518. description: |
  1519. Build the deploy-guide document and publish the result
  1520. using a promote job.
  1521. check:
  1522. jobs:
  1523. - build-openstack-deploy-guide:
  1524. files: &deploy-guide-triggers
  1525. - ^deploy-guide/.*
  1526. - bindep.txt
  1527. - doc/requirements.txt
  1528. - test-requirements.txt
  1529. - tox.ini
  1530. gate:
  1531. jobs:
  1532. - build-openstack-deploy-guide:
  1533. files: *deploy-guide-triggers
  1534. promote:
  1535. jobs:
  1536. - promote-deploy-guide:
  1537. files: *deploy-guide-triggers
  1538. - project-template:
  1539. name: install-guide-jobs
  1540. description: |
  1541. Build and publish install-guide document.
  1542. check:
  1543. jobs:
  1544. - build-openstack-install-guide
  1545. gate:
  1546. jobs:
  1547. - build-openstack-install-guide
  1548. post:
  1549. jobs:
  1550. - publish-install-guide
  1551. - project-template:
  1552. name: periodic-stable-jobs
  1553. description: |
  1554. Runs periodic jobs on stable branches.
  1555. periodic-stable:
  1556. jobs:
  1557. - build-openstack-sphinx-docs:
  1558. branches:
  1559. - stable/ocata
  1560. - stable/pike
  1561. - stable/queens
  1562. - stable/rocky
  1563. - openstack-tox-docs:
  1564. branches:
  1565. - stable/stein
  1566. - stable/train
  1567. - stable/ussuri
  1568. # py27 periodic jobs will run until Train, from Ussuri it will
  1569. # be replaced with py37 periodic job
  1570. - openstack-tox-py27:
  1571. branches:
  1572. - stable/ocata
  1573. - stable/pike
  1574. - stable/queens
  1575. - stable/rocky
  1576. - stable/stein
  1577. - stable/train
  1578. - openstack-tox-py36:
  1579. branches:
  1580. - stable/train
  1581. - stable/ussuri
  1582. - openstack-tox-py37:
  1583. branches:
  1584. - stable/train
  1585. - stable/ussuri
  1586. - project-template:
  1587. name: periodic-stable-jobs-neutron
  1588. description: |
  1589. The :zuul:project_template:`periodic-stable-jobs` template
  1590. but with neutron added as a required-projects.
  1591. This checks out the project code and allows
  1592. tox_install_siblings to use it when building the venv.
  1593. periodic-stable:
  1594. jobs:
  1595. - build-openstack-sphinx-docs:
  1596. branches:
  1597. - stable/ocata
  1598. - stable/pike
  1599. - stable/queens
  1600. - stable/rocky
  1601. required-projects:
  1602. - openstack/neutron
  1603. - openstack-tox-docs:
  1604. branches:
  1605. - stable/stein
  1606. - stable/train
  1607. - stable/ussuri
  1608. required-projects:
  1609. - openstack/neutron
  1610. # py27 periodic jobs will run until Train, from Ussuri it will
  1611. # be replaced with py37 periodic job
  1612. - openstack-tox-py27:
  1613. branches:
  1614. - stable/ocata
  1615. - stable/pike
  1616. - stable/queens
  1617. - stable/rocky
  1618. - stable/stein
  1619. - stable/train
  1620. required-projects:
  1621. - openstack/neutron
  1622. - openstack-tox-py36:
  1623. branches:
  1624. - stable/train
  1625. - stable/ussuri
  1626. required-projects:
  1627. - openstack/neutron
  1628. - openstack-tox-py37:
  1629. branches:
  1630. - stable/train
  1631. - stable/ussuri
  1632. required-projects:
  1633. - openstack/neutron
  1634. - project-template:
  1635. name: periodic-stable-jobs-ceilometer
  1636. description: |
  1637. The :zuul:project_template:`periodic-stable-jobs` template
  1638. ut with ceilometer added as a required-projects.
  1639. This checks out the project code and allows
  1640. tox_install_siblings to use it when building the venv.
  1641. periodic-stable:
  1642. jobs:
  1643. - build-openstack-sphinx-docs:
  1644. branches:
  1645. - stable/ocata
  1646. - stable/pike
  1647. - stable/queens
  1648. - stable/rocky
  1649. required-projects:
  1650. - openstack/ceilometer
  1651. - openstack-tox-docs:
  1652. branches:
  1653. - stable/stein
  1654. - stable/train
  1655. - stable/ussuri
  1656. required-projects:
  1657. - openstack/ceilometer
  1658. # py27 periodic jobs will run until Train, from Ussuri it will
  1659. # be replaced with py37 periodic job
  1660. - openstack-tox-py27:
  1661. branches:
  1662. - stable/ocata
  1663. - stable/pike
  1664. - stable/queens
  1665. - stable/rocky
  1666. - stable/stein
  1667. - stable/train
  1668. required-projects:
  1669. - openstack/ceilometer
  1670. - openstack-tox-py36:
  1671. branches:
  1672. - stable/train
  1673. - stable/ussuri
  1674. required-projects:
  1675. - openstack/ceilometer
  1676. - openstack-tox-py37:
  1677. branches:
  1678. - stable/train
  1679. - stable/ussuri
  1680. required-projects:
  1681. - openstack/ceilometer
  1682. - project-template:
  1683. name: periodic-jobs-with-neutron-lib-master
  1684. description: |
  1685. Runs periodic job on master branch using
  1686. neutron-lib from source.
  1687. periodic:
  1688. jobs:
  1689. - openstack-tox-py36-with-neutron-lib-master
  1690. - project-template:
  1691. name: periodic-jobs-with-oslo-master
  1692. description: |
  1693. Runs periodic jobs on master branch using
  1694. oslo libraries from source.
  1695. periodic:
  1696. jobs:
  1697. - openstack-tox-py36-with-oslo-master
  1698. - project-template:
  1699. name: periodic-jobs-with-ovsdbapp-master
  1700. description: |
  1701. Runs periodic job on master branch using
  1702. ovdsdbapp from source.
  1703. periodic:
  1704. jobs:
  1705. - openstack-tox-py36-with-ovsdbapp-master
  1706. - project-template:
  1707. name: python-charm-interface-jobs
  1708. description: |
  1709. Run Python tests for charm-interface projects.
  1710. check:
  1711. jobs:
  1712. - openstack-tox-pep8
  1713. gate:
  1714. jobs:
  1715. - openstack-tox-pep8
  1716. - project-template:
  1717. name: python-charm-jobs
  1718. description: |
  1719. Run Python tests for charm projects.
  1720. This run py2.7 job and supposed to be used
  1721. on stable branch until stable/train. Ussuri
  1722. onwards, py3 template should be used
  1723. (DEPRECATED FOR REMOVAL).
  1724. check:
  1725. jobs:
  1726. - openstack-tox-pep8
  1727. - openstack-tox-py27
  1728. gate:
  1729. jobs:
  1730. - openstack-tox-pep8
  1731. - openstack-tox-py27
  1732. - project-template:
  1733. name: python-charm-layer-jobs
  1734. description: |
  1735. Run Python tests for charm layer projects.
  1736. check:
  1737. jobs:
  1738. - openstack-tox-pep8
  1739. - openstack-tox-build
  1740. gate:
  1741. jobs:
  1742. - openstack-tox-pep8
  1743. - openstack-tox-build
  1744. - project-template:
  1745. name: python35-charm-jobs
  1746. description: |
  1747. Run tox-pep8 and tox-py35 check and gate jobs
  1748. (DEPRECATED FOR REMOVAL).
  1749. check:
  1750. jobs:
  1751. - openstack-tox-pep8
  1752. - openstack-tox-py35
  1753. gate:
  1754. jobs:
  1755. - openstack-tox-pep8
  1756. - openstack-tox-py35
  1757. - project-template:
  1758. name: python36-charm-jobs
  1759. description: |
  1760. Run tox-pep8 and tox-py36 check and gate jobs
  1761. (DEPRECATED FOR REMOVAL).
  1762. check:
  1763. jobs:
  1764. - openstack-tox-pep8
  1765. - openstack-tox-py36
  1766. gate:
  1767. jobs:
  1768. - openstack-tox-pep8
  1769. - openstack-tox-py36
  1770. - project-template:
  1771. name: nodejs4-jobs
  1772. description: |
  1773. Run lint and test jobs using Node 4.
  1774. check:
  1775. jobs:
  1776. - nodejs-run-lint:
  1777. vars:
  1778. node_version: 4
  1779. nodeset: ubuntu-xenial
  1780. - nodejs-run-test-browser:
  1781. vars:
  1782. node_version: 4
  1783. nodeset: ubuntu-xenial
  1784. gate:
  1785. jobs:
  1786. - nodejs-run-lint:
  1787. vars:
  1788. node_version: 4
  1789. nodeset: ubuntu-xenial
  1790. - nodejs-run-test-browser:
  1791. vars:
  1792. node_version: 4
  1793. nodeset: ubuntu-xenial
  1794. - project-template:
  1795. name: nodejs6-jobs
  1796. description: |
  1797. Run lint and test jobs using Node 6.
  1798. check:
  1799. jobs:
  1800. - nodejs-run-lint:
  1801. vars:
  1802. node_version: 6
  1803. nodeset: ubuntu-bionic
  1804. - nodejs-run-test-browser:
  1805. vars:
  1806. node_version: 6
  1807. nodeset: ubuntu-bionic
  1808. gate:
  1809. jobs:
  1810. - nodejs-run-lint:
  1811. vars:
  1812. node_version: 6
  1813. nodeset: ubuntu-bionic
  1814. - nodejs-run-test-browser:
  1815. vars:
  1816. node_version: 6
  1817. nodeset: ubuntu-bionic
  1818. - project-template:
  1819. name: nodejs8-jobs
  1820. description: |
  1821. Run lint and test jobs using Node 8.
  1822. check:
  1823. jobs:
  1824. - nodejs-run-lint:
  1825. vars:
  1826. node_version: 8
  1827. nodeset: ubuntu-bionic
  1828. - nodejs-run-test-browser:
  1829. vars:
  1830. node_version: 8
  1831. nodeset: ubuntu-bionic
  1832. gate:
  1833. jobs:
  1834. - nodejs-run-lint:
  1835. vars:
  1836. node_version: 8
  1837. nodeset: ubuntu-bionic
  1838. - nodejs-run-test-browser:
  1839. vars:
  1840. node_version: 8
  1841. nodeset: ubuntu-bionic
  1842. - project-template:
  1843. name: nodejs10-jobs
  1844. description: |
  1845. Run lint and test jobs using Node 10.
  1846. check:
  1847. jobs:
  1848. - nodejs-run-lint:
  1849. vars:
  1850. node_version: 10
  1851. nodeset: ubuntu-focal
  1852. - nodejs-run-test-browser:
  1853. vars:
  1854. node_version: 10
  1855. nodeset: ubuntu-focal
  1856. gate:
  1857. jobs:
  1858. - nodejs-run-lint:
  1859. vars:
  1860. node_version: 10
  1861. nodeset: ubuntu-focal
  1862. - nodejs-run-test-browser:
  1863. vars:
  1864. node_version: 10
  1865. nodeset: ubuntu-focal
  1866. - project-template:
  1867. name: nodejs4-docs
  1868. description: |
  1869. Run docs jobs using Node 4.
  1870. check:
  1871. jobs:
  1872. - nodejs-npm-run-docs:
  1873. vars:
  1874. node_version: 4
  1875. nodeset: ubuntu-xenial
  1876. gate:
  1877. jobs:
  1878. - nodejs-npm-run-docs:
  1879. vars:
  1880. node_version: 4
  1881. nodeset: ubuntu-xenial
  1882. - project-template:
  1883. name: nodejs8-docs
  1884. description: |
  1885. Run docs jobs using Node 8.
  1886. check:
  1887. jobs:
  1888. - nodejs-npm-run-docs:
  1889. vars:
  1890. node_version: 8
  1891. nodeset: ubuntu-bionic
  1892. gate:
  1893. jobs:
  1894. - nodejs-npm-run-docs:
  1895. vars:
  1896. node_version: 8
  1897. nodeset: ubuntu-bionic
  1898. - project-template:
  1899. name: tempest-plugin-jobs
  1900. description: |
  1901. A set of jobs to run against Tempest Plugins
  1902. check:
  1903. jobs:
  1904. - openstack-tox-pep8
  1905. gate:
  1906. jobs:
  1907. - openstack-tox-pep8
  1908. post:
  1909. jobs:
  1910. - publish-openstack-python-branch-tarball
  1911. - project-template:
  1912. name: ansible-role-jobs
  1913. description: |
  1914. Run default tests for ansible-role repositories: Build
  1915. documentation and run tox based linter.
  1916. check:
  1917. jobs:
  1918. - openstack-tox-docs
  1919. - openstack-tox-linters
  1920. gate:
  1921. jobs:
  1922. - openstack-tox-docs
  1923. - openstack-tox-linters
  1924. - project-template:
  1925. name: snap-jobs
  1926. description: |
  1927. Run tests for snap repositories.
  1928. check:
  1929. jobs:
  1930. - openstack-tox-snap-with-sudo
  1931. gate:
  1932. jobs:
  1933. - openstack-tox-snap-with-sudo
  1934. - project-template:
  1935. name: ansible-role-functional-jobs-centos7
  1936. description: |
  1937. Run functional tests on ansible-role repositories using
  1938. CentOS 7 nodes.
  1939. check:
  1940. jobs:
  1941. - ansible-role-functional-centos-7
  1942. gate:
  1943. jobs:
  1944. - ansible-role-functional-centos-7
  1945. - project-template:
  1946. name: ansible-role-functional-jobs-xenial
  1947. description: |
  1948. Run functional tests on ansible-role repositories using
  1949. Ubuntu Xenial nodes.
  1950. check:
  1951. jobs:
  1952. - ansible-role-functional-ubuntu-xenial
  1953. gate:
  1954. jobs:
  1955. - ansible-role-functional-ubuntu-xenial
  1956. - project-template:
  1957. name: ansible-role-functional-jobs-xenial-nv
  1958. description: |
  1959. Run functional tests on ansible-role repositories using
  1960. Ubuntu Xenial nodes. The tests are non-voting.
  1961. check:
  1962. jobs:
  1963. - ansible-role-functional-ubuntu-xenial:
  1964. voting: false
  1965. - project-template:
  1966. name: integrated-gate-py3
  1967. description: |
  1968. Run the python3 Tempest integration tests in check and gate for
  1969. repositories in the integrated gate.
  1970. check:
  1971. jobs:
  1972. - grenade:
  1973. # NOTE(elod.illes): Queens is the first branch where
  1974. # grenade jobs are working as grenade requires working
  1975. # Devstack and Tempest on the previous branch
  1976. branches: ^(?!(stable/(ocata|pike))).*$
  1977. - tempest-full-py3:
  1978. branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$
  1979. gate:
  1980. jobs:
  1981. - grenade:
  1982. # NOTE(elod.illes): Queens is the first branch where
  1983. # grenade jobs are working as grenade requires working
  1984. # Devstack and Tempest on the previous branch
  1985. branches: ^(?!(stable/(ocata|pike))).*$
  1986. - tempest-full-py3:
  1987. branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$
  1988. # TODO(gmann): Remove the 'integrated-gate-py35' template once all repo
  1989. # including their stable branches are renamed it to 'integrated-gate-py3'
  1990. - project-template:
  1991. name: integrated-gate-py35
  1992. description: |
  1993. Run the python3 Tempest integration tests in check and gate for
  1994. repositories in the integrated gate.
  1995. check:
  1996. jobs:
  1997. - grenade-py3
  1998. - tempest-full-py3:
  1999. branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$
  2000. gate:
  2001. jobs:
  2002. - grenade-py3
  2003. - tempest-full-py3:
  2004. branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$
  2005. - project-template:
  2006. name: golang-jobs
  2007. description: |
  2008. Run golang tests in check and gate.
  2009. check:
  2010. jobs:
  2011. - golang-fmt
  2012. - golang-unit
  2013. gate:
  2014. jobs:
  2015. - golang-fmt
  2016. - golang-unit
  2017. - project-template:
  2018. name: lib-forward-testing
  2019. description: |
  2020. Run tempest, installing the library from source to ensure that
  2021. changes in the library do not break any of the services running
  2022. in devstack.
  2023. check:
  2024. jobs:
  2025. # Tempest-full is only working on pike and newer.
  2026. - tempest-full:
  2027. branches: ^(?!stable/(newton|ocata)).*$
  2028. - legacy-tempest-dsvm-neutron-src:
  2029. branches: ^stable/(newton|ocata)$
  2030. gate:
  2031. jobs:
  2032. - tempest-full:
  2033. branches: ^(?!stable/(newton|ocata)).*$
  2034. - legacy-tempest-dsvm-neutron-src:
  2035. branches: ^stable/(newton|ocata)$
  2036. - project-template:
  2037. name: lib-forward-testing-python3
  2038. description: |
  2039. Run tempest under python 3, installing the library from source
  2040. to ensure that changes in the library do not break any of the
  2041. services running in devstack.
  2042. check:
  2043. jobs:
  2044. - tempest-full-py3
  2045. gate:
  2046. jobs:
  2047. - tempest-full-py3
  2048. - project-template:
  2049. name: openstack-tox-molecule
  2050. description: |
  2051. Runs Ansible molecule testing using tox 'molecule' environment.
  2052. check:
  2053. jobs:
  2054. - openstack-tox-molecule
  2055. gate:
  2056. jobs:
  2057. - openstack-tox-molecule
  2058. - project-template:
  2059. name: official-openstack-repo-jobs
  2060. description: |
  2061. Jobs attached to official and active OpenStack repositories.
  2062. This template must be added in openstack/project-config repository.
  2063. post:
  2064. jobs:
  2065. - openstack-upload-github-mirror
  2066. pre-release:
  2067. jobs:
  2068. - openstack-upload-github-mirror
  2069. release:
  2070. jobs:
  2071. - openstack-upload-github-mirror