# Shared project-templates specific to the OpenStack Project

- project-template:
    name: publish-openstack-python-docs
    post:
      jobs:
        - publish-openstack-python-docs

- project-template:
    name: publish-openstack-python-docs-infra
    check:
      jobs:
        - build-openstack-sphinx-docs
    gate:
      jobs:
        - build-openstack-sphinx-docs
    post:
      jobs:
        - publish-openstack-python-docs-infra

- 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-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:
        - publish-openstack-python-tarball
        - announce-release:
            dependencies:
              - publish-openstack-python-tarball
    release:
      jobs:
        - publish-openstack-python-tarball
        - announce-release:
            dependencies:
              - publish-openstack-python-tarball

- project-template:
    name: openstack-python-jobs
    check:
      jobs:
        - build-openstack-sphinx-docs
        - openstack-tox-pep8
        - openstack-tox-py27
    gate:
      jobs:
        - build-openstack-sphinx-docs
        - openstack-tox-pep8
        - openstack-tox-py27
    post:
      jobs:
        - publish-openstack-python-branch-tarball

- project-template:
    name: openstack-python34-jobs
    check:
      jobs:
        - openstack-tox-py34
    gate:
      jobs:
        - openstack-tox-py34

- project-template:
    name: openstack-python35-jobs
    check:
      jobs:
        - openstack-tox-py35
    gate:
      jobs:
        - openstack-tox-py35

- project-template:
    name: openstack-python35-jobs-nonvoting
    check:
      jobs:
        - openstack-tox-py35:
            voting: false

- 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:
        - build-openstack-sphinx-docs:
            nodeset: ubuntu-trusty
        - openstack-tox-pep8:
            nodeset: ubuntu-trusty
        - openstack-tox-py27:
            nodeset: ubuntu-trusty
    gate:
      jobs:
        - build-openstack-sphinx-docs:
            nodeset: ubuntu-trusty
        - openstack-tox-pep8:
            nodeset: ubuntu-trusty
        - openstack-tox-py27:
            nodeset: ubuntu-trusty

- project-template:
     name: docs-on-readthedocs
     post:
       jobs:
         - trigger-readthedocs
     pre-release:
       jobs:
         - trigger-readthedocs
     release:
       jobs:
         - trigger-readthedocs