# Jobs for the various *-specs repositories

- job-template:
    name: '{name}-publish-specs'
    node: ubuntu-xenial

    # We want to publish to org/name but the scp publisher cannot remove paths,
    # so use a shell builder to move the content in the right place and publish
    # from there.
    builders:
      - print-template-name:
          template-name: "{template-name}"
      - zuul-git-prep
      - install-distro-packages
      - revoke-sudo
      - docs:
          project: '{name}'
      - shell: |
          mkdir `dirname $ZUUL_PROJECT`
          mv doc/build/html $ZUUL_PROJECT

    publishers:
      - scp:
          site: 'static.openstack.org'
          files:
            - target: 'specs/'
              source: '$ZUUL_PROJECT/**'
              keep-hierarchy: true
              copy-after-failure: false
      - console-log

- job-group:
    name: specs-jobs
    node: ubuntu-xenial
    jobs:
      - gate-{name}-docs-{node}:
      - gate-{name}-python27-{node}:
      - '{name}-publish-specs'


- builder:
    name: generate-specs-site

    builders:
      - zuul-git-prep
      - install-distro-packages
      - revoke-sudo
      - run-tox:
          envlist: specs

- job:
    name: gate-generate-specs-site
    description: Render the specs sites templates without publishing them.
    node: ubuntu-xenial

    builders:
      - generate-specs-site

    publishers:
      - console-log

- job:
    name: publish-specs-site
    description: Render the specs sites templates and publish them.
    node: ubuntu-xenial

    builders:
      - generate-specs-site
      - static-publish-prep:
          source: 'specs/output'

    publishers:
      - scp:
          site: 'static.openstack.org'
          files:
            - target: 'specs/'
              source: '**'
              keep-hierarchy: true
              copy-after-failure: false
      - console-log

- job-group:
    name: generate-specs-site-jobs
    jobs:
      - gate-generate-specs-site
      - publish-specs-site