- job:
    name: propose-openstack-manuals-updates
    node: proposal

    builders:
      - proposal-slave-cleanup
      - revoke-sudo
      - link-logs
      - net-info
      - zuul-git-prep-upper-constraints
      - shell: /usr/local/jenkins/slave_scripts/propose_update.sh openstack-manuals

    publishers:
      - console-log

- job-template:
    name: 'gate-{name}-tox-doc-publish-{envlist}'
    node: ubuntu-xenial

    wrappers:
      - build-timeout:
          timeout: 40
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - zuul-git-prep-upper-constraints
      - install-distro-packages
      - revoke-sudo
      - run-tox:
          envlist: '{envlist}'
      - assert-no-extra-files

    publishers:
      - upload-docs-draft
      - upload-doc-build-results
      - console-log

- job-template:
    name: '{name}-tox-doc-{envlist}'
    node: ubuntu-xenial

    wrappers:
      - build-timeout:
          timeout: 40
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - zuul-git-prep-upper-constraints
      - install-distro-packages
      - revoke-sudo
      - run-tox:
          envlist: '{envlist}'

    publishers:
      - upload-to-docs-site
      - upload-doc-build-results
      - console-log

- job-group:
    name: openstack-doc-jobs
    jobs:
      - gate-{name}-tox-{envlist}-{node}:
          envlist: checkniceness
          node: ubuntu-xenial
      - gate-{name}-tox-doc-publish-{envlist}:
          envlist: checkbuild
      - '{name}-tox-doc-{envlist}':
          envlist: publishdocs


- job-template:
    name: gate-{name}-install-guide
    description: Build and draft the Install Guide from source.
    node: ubuntu-xenial

    builders:
      - zuul-git-prep-upper-constraints
      - install-distro-packages
      - revoke-sudo
      - shell:
          !include-raw-escape:
              - include/install-guide-pre.sh
              - include/run-project-guide.sh

    publishers:
      - scp:
          site: 'static.openstack.org'
          files:
            - target: 'docs-draft/$LOG_PATH'
              source: 'install-guide/build/html/**'
              keep-hierarchy: true
              copy-after-failure: true
      - console-log

- job-template:
    name: gate-{name}-deploy-guide
    description: Build and draft Deployment Guides from source.
    node: ubuntu-xenial

    builders:
      - zuul-git-prep-upper-constraints
      - install-distro-packages
      - revoke-sudo
      - shell:
          !include-raw-escape:
              - include/deploy-guide-pre.sh
              - include/run-project-guide.sh

    publishers:
      - scp:
          site: 'static.openstack.org'
          files:
            - target: 'docs-draft/$LOG_PATH'
              source: 'deploy-guide/build/html/**'
              keep-hierarchy: true
              copy-after-failure: true
      - console-log

- job-template:
    name: '{name}-install-guide'
    description: Build and publish the Install Guide from source.
    node: ubuntu-xenial

    builders:
      - zuul-git-prep-upper-constraints
      - install-distro-packages
      - revoke-sudo
      - shell:
          !include-raw-escape:
              - include/install-guide-pre.sh
              - include/run-project-guide.sh
      - add-docs-root-marker:
          docsrootdir: install-guide/build/html/

    publishers:
      - afs:
          site: afs-docs
          source: 'install-guide/build/html/**'
          target: 'project-install-guide/{service}'
          remove-prefix: 'install-guide/build/html/'
      - console-log

- job-template:
    name: '{name}-deploy-guide'
    description: Build and publish the Deploy Guide from source.
    node: ubuntu-xenial

    builders:
      - zuul-git-prep-upper-constraints
      - install-distro-packages
      - revoke-sudo
      - shell:
          !include-raw-escape:
              - include/deploy-guide-pre.sh
              - include/run-project-guide.sh
      - add-docs-root-marker:
          docsrootdir: deploy-guide/build/html/

    publishers:
      - afs:
          site: afs-docs
          source: 'deploy-guide/build/html/**'
          target: 'project-deploy-guide/{service}'
          remove-prefix: 'deploy-guide/build/html/'
      - console-log

# Be aware that the variable "service" needs to be set when this job
# group is used.
# The "service" variable comes from the service catalog, which is
# based on the openstack/service-types-authority project as a
# canonical reference for names. When your project has spaces in the
# service entry, use dashes for the spaces, such as "object-storage"
# (the service is not swift).
- job-group:
    name: install-guide-jobs

    jobs:
      - gate-{name}-install-guide
      - '{name}-install-guide'

# Be aware that the variable "service" needs to be set when this job
# group is used.
# The "service" variable comes from the service catalog, which is
# based on the openstack/service-types-authority project as a
# canonical reference for names. When your project has spaces in the
# service entry, use dashes for the spaces, such as "object-storage"
# (the service is not swift).
- job-group:
    name: deploy-guide-jobs

    jobs:
      - gate-{name}-deploy-guide
      - '{name}-deploy-guide'