# Shared project-templates specific to the OpenStack Project - project-template: name: system-required description: | Jobs that *every* project in OpenStack CI should have by default. merge-check: jobs: - noop - project-template: name: build-openstack-sphinx-docs description: | Runs normal OpenStack PTI doc build without publication jobs. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs - project-template: name: publish-openstack-sphinx-docs description: | Runs normal OpenStack PTI doc build and publication jobs. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs post: jobs: - publish-openstack-sphinx-docs - project-template: name: publish-openstack-sphinx-docs-horizon description: | Runs normal OpenStack PTI doc build and publication jobs with horizon added to required-projects for the various dashboard projects that need that. check: jobs: - build-openstack-sphinx-docs: required-projects: - openstack/horizon gate: jobs: - build-openstack-sphinx-docs: required-projects: - openstack/horizon post: jobs: - publish-openstack-sphinx-docs # Final job, we cannot modify it. # required-projects: # - openstack/horizon - project-template: name: publish-openstack-sphinx-docs-neutron description: | Runs normal OpenStack PTI doc build and publication jobs with neutron added to required-projects for the various networking- projects that need that. check: jobs: - build-openstack-sphinx-docs: required-projects: - openstack/neutron gate: jobs: - build-openstack-sphinx-docs: required-projects: - openstack/neutron post: jobs: - publish-openstack-sphinx-docs # Final job, we cannot modify it. # required-projects: # - openstack/neutron - project-template: name: publish-openstack-sphinx-docs-infra description: | Runs normal OpenStack PTI build jobs and publishes to the Infra docs location. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs post: jobs: - publish-openstack-sphinx-docs-infra - project-template: name: release-openstack-sphinx-docs-infra description: | Runs normal OpenStack PTI build jobs and publishes to the Infra docs location only on tagged releases. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs release: jobs: - publish-openstack-sphinx-docs-infra - project-template: name: puppet-release-jobs check: jobs: - build-openstack-puppet-tarball gate: jobs: - build-openstack-puppet-tarball pre-release: jobs: - release-openstack-puppet - announce-release: dependencies: - release-openstack-puppet release: jobs: - release-openstack-puppet - announce-release: dependencies: - release-openstack-puppet post: jobs: - publish-openstack-puppet-branch-tarball - project-template: name: publish-to-pypi description: | Publish a Python package to PyPI, then send release announcement emails and propose updates to upper-constraints as needed. pre-release: jobs: - release-openstack-python - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python release: jobs: - release-openstack-python - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python - project-template: name: publish-to-pypi-neutron description: | Publish a Python package to PyPI with neutron added to required-projects for the various networking projects that need that, then send release announcement emails and propose updates to upper-constraints as needed. pre-release: jobs: - release-openstack-python: required-projects: - openstack/neutron - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python release: jobs: - release-openstack-python: required-projects: - openstack/neutron - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python - project-template: name: publish-to-pypi-horizon description: | Publish a Python package to PyPI with horizon added to required-projects for the various dashboard projects that need that, then send release announcement emails and propose updates to upper-constraints as needed. pre-release: jobs: - release-openstack-python: required-projects: - openstack/horizon - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python release: jobs: - release-openstack-python: required-projects: - openstack/horizon - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python - project-template: name: publish-xstatic-to-pypi description: | Publish an XStatic Python package to PyPI, then send release announcement emails and propose updates to upper-constraints as needed. pre-release: jobs: - xstatic-check-version - release-openstack-python: dependencies: - xstatic-check-version - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python release: jobs: - xstatic-check-version - release-openstack-python: dependencies: - xstatic-check-version - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python - project-template: name: publish-to-pypi-quietly description: | Publish a Python package to PyPI but do not send announce emails or propose upper-constraints updates. pre-release: jobs: - release-openstack-python release: jobs: - release-openstack-python - project-template: name: release-openstack-server description: | Release OpenStack server projects. pre-release: jobs: - release-openstack-python-without-pypi - announce-release: dependencies: - release-openstack-python-without-pypi release: jobs: - release-openstack-python-without-pypi - announce-release: dependencies: - release-openstack-python-without-pypi - project-template: name: release-notes-jobs check: jobs: - build-openstack-releasenotes gate: jobs: - build-openstack-releasenotes post: jobs: - publish-openstack-releasenotes tag: jobs: - publish-openstack-releasenotes - project-template: name: openstack-python-jobs check: jobs: - openstack-tox-pep8 - openstack-tox-py27 gate: jobs: - openstack-tox-pep8 - openstack-tox-py27 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python-jobs-horizon description: | The standard openstack-python-jobs but with horizon added as a required-projects. The dashboard projects currently need this due to how the tox_install.sh zuul-cloner's horizon for them. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py27: required-projects: - openstack/horizon gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py27: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball: required-projects: - openstack/horizon - project-template: name: openstack-python-jobs-neutron description: | The standard openstack-python-jobs but with neutron added as a required-projects. The neutron stadium projects currently need this due to how the tox_install.sh zuul-cloner's neutron for them. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py27: required-projects: - openstack/neutron gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py27: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball: required-projects: - openstack/neutron - project-template: name: openstack-python35-jobs check: jobs: - openstack-tox-py35 gate: jobs: - openstack-tox-py35 - project-template: name: openstack-python35-jobs-horizon description: | The standard openstack-python35-jobs but with horizon added as a required-projects. The dashboard projects currently need this due to how the tox_install.sh zuul-cloner's horizon for them. check: jobs: - openstack-tox-py35: required-projects: - openstack/horizon gate: jobs: - openstack-tox-py35: required-projects: - openstack/horizon - project-template: name: openstack-python35-jobs-neutron description: | The standard openstack-python35-jobs but with neutron added as a required-projects. The neutron stadium projects currently need this due to how the tox_install.sh zuul-cloner's neutron for them. check: jobs: - openstack-tox-py35: required-projects: - openstack/neutron gate: jobs: - openstack-tox-py35: required-projects: - openstack/neutron - project-template: name: openstack-python35-jobs-nonvoting check: jobs: - openstack-tox-py35: voting: false - project-template: name: openstack-python-jobs-no-constraints description: | Runs the OpenStack PTI jobs for python, but uses the versions of them that do not use constraints. check: jobs: - tox-pep8 - tox-py27 gate: jobs: - tox-pep8 - tox-py27 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python35-jobs-no-constraints description: | Runs the OpenStack PTI jobs for python3.5, but uses the versions of them that do not use constraints. check: jobs: - tox-py35 gate: jobs: - tox-py35 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-pypy-jobs check: jobs: - openstack-tox-pypy gate: jobs: - openstack-tox-pypy - project-template: name: openstack-pypy-jobs-nonvoting check: jobs: - openstack-tox-pypy: voting: false - project-template: name: openstack-python-jobs-trusty check: jobs: - openstack-tox-pep8: nodeset: ubuntu-trusty - openstack-tox-py27: nodeset: ubuntu-trusty gate: jobs: - openstack-tox-pep8: nodeset: ubuntu-trusty - openstack-tox-py27: nodeset: ubuntu-trusty - project-template: name: docs-on-readthedocs description: | Runs normal OpenStack PTI build jobs but publishes to readthedocs instead of docs.openstack.org. This is intended for projects that are aiming to follow the PTI but are not official. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs post: jobs: - trigger-readthedocs pre-release: jobs: - trigger-readthedocs release: jobs: - trigger-readthedocs - project-template: name: nodejs4-publish-to-npm release: jobs: - publish-openstack-javascript-tarball: vars: node_version: 4 - release-openstack-javascript: vars: node_version: 4 - announce-release: dependencies: - release-openstack-javascript - publish-openstack-javascript-tarball - project-template: name: nodejs6-publish-to-npm release: jobs: - publish-openstack-javascript-tarball: vars: node_version: 6 - release-openstack-javascript: vars: node_version: 6 - announce-release: dependencies: - release-openstack-javascript - publish-openstack-javascript-tarball - project-template: name: translation-jobs description: | Sync translations to translation server and back again. This is intented for official OpenStack projects that have translations set up. post: jobs: - upstream-translation-update periodic: jobs: - propose-translation-update: branches: master - project-template: name: translation-jobs-ocata description: | Sync translations from translation server for ocata branch. periodic: jobs: - propose-translation-update: branches: stable/ocata - project-template: name: translation-jobs-pike description: | Sync translations from translation server for pike branch. periodic: jobs: - propose-translation-update: branches: stable/pike - project-template: name: openstack-specs-jobs description: | Runs jobs to build and publish documents for a specs repository. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs post: jobs: - publish-openstack-specs - project-template: name: api-guide-jobs check: jobs: - build-openstack-api-guide gate: jobs: - build-openstack-api-guide post: jobs: - publish-api-guide - project-template: name: api-ref-jobs check: jobs: - build-openstack-api-ref gate: jobs: - build-openstack-api-ref post: jobs: - publish-api-ref - project-template: name: deploy-guide-jobs check: jobs: - build-openstack-deploy-guide gate: jobs: - build-openstack-deploy-guide post: jobs: - publish-deploy-guide - project-template: name: install-guide-jobs check: jobs: - build-openstack-install-guide gate: jobs: - build-openstack-install-guide post: jobs: - publish-install-guide - project-template: name: periodic-stable-jobs description: | Runs periodic jobs on stable branches. periodic-stable: jobs: - build-openstack-sphinx-docs: branches: - stable/ocata - stable/pike - openstack-tox-py27: branches: - stable/ocata - stable/pike - project-template: name: periodic-stable-jobs-neutron periodic-stable: jobs: - build-openstack-sphinx-docs: branches: - stable/ocata - stable/pike required-projects: - openstack/neutron - openstack-tox-py27: branches: - stable/ocata - stable/pike required-projects: - openstack/neutron - project-template: name: python-charm-layer-jobs check: jobs: - openstack-tox-pep8 - openstack-tox-build gate: jobs: - openstack-tox-pep8 - openstack-tox-build - project-template: name: python35-charm-jobs description: | Run tox-pep8 and tox-py35 check and gate jobs, plus publish. check: jobs: - openstack-tox-pep8 - openstack-tox-py35 gate: jobs: - openstack-tox-pep8 - openstack-tox-py35 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: nodejs4-jobs description: | Run lint and test jobs using Node 4. check: jobs: - nodejs-npm-run-lint: vars: node_version: 4 - nodejs-npm-run-test: vars: node_version: 4 gate: jobs: - nodejs-npm-run-lint: vars: node_version: 4 - nodejs-npm-run-test: vars: node_version: 4 - project-template: name: nodejs6-jobs description: | Run lint and test jobs using Node 6. check: jobs: - nodejs-npm-run-lint: vars: node_version: 6 - nodejs-npm-run-test: vars: node_version: 6 - build-javascript-tarball: files: - npm-shrinkwrap.json - package.json gate: jobs: - nodejs-npm-run-lint: vars: node_version: 6 - nodejs-npm-run-test: vars: node_version: 6 - build-javascript-tarball: files: - npm-shrinkwrap.json - package.json - project-template: name: nodejs4-docs description: | Run docs jobs using Node 4. check: jobs: - nodejs-npm-run-docs: vars: node_version: 4 gate: jobs: - nodejs-npm-run-docs: vars: node_version: 4 - project-template: name: nodejs6-docs description: | Run docs jobs using Node 6. check: jobs: - nodejs-npm-run-docs: vars: node_version: 6 gate: jobs: - nodejs-npm-run-docs: vars: node_version: 6