- job-template:
    name: '{name}-docs'
    node: ubuntu-trusty

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - gerrit-git-prep
      - install-distro-packages
      - revoke-sudo
      - docs

    publishers:
      - ftp:
          site: '{doc-publisher-site}'
          source: 'doc/build/html/**'
          target: 'developer/{name}'
          remove-prefix: 'doc/build/html'
          excludes: ''
      - console-log


- job-template:
    name: '{name}-docs-tags-only'
    description: Publish documents only to tag location
    node: ubuntu-trusty

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - gerrit-git-prep
      - install-distro-packages
      - revoke-sudo
      - docs-tags-only-env:
          env: venv

    publishers:
      - ftp:
          site: '{doc-publisher-site}'
          source: 'doc/build/html/**'
          target: 'developer/{name}'
          remove-prefix: 'doc/build/html'
          excludes: ''
      - console-log

- job-template:
    name: '{name}-merge-release-tags'

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - revoke-sudo
      - gerrit-git-prep
      - shell: |
          #!/bin/bash -xe
          TAG=`echo $ZUUL_REFNAME | sed 's/refs.tags.//'`
          /usr/local/jenkins/slave_scripts/merge_tags.sh $TAG

    publishers:
      - console-log

    node: 'proposal'


# Publish releasenotes to docs.openstack.org/releasenotes/. This is
# always published from master branch.
- job-template:
    name: '{name}-releasenotes'
    node: ubuntu-trusty

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - branch-git-prep:
          branch: master
      - install-distro-packages
      - revoke-sudo
      - shell: |
          #!/bin/bash -xe
          #
          # When building the release notes after a patch merges we
          # always want to build from master. Reno will find release
          # notes on other branches and insert them into the right
          # places in the documentation build, but only master has all
          # of the appropriate branch-specific input files for
          # Sphinx. The branch-git-prep builder checks out the
          # repository where the current patch just merged, but it
          # honors zuul configuration variables that may cause it to
          # check out a patch merged into a stable branch. So, reset
          # what we've checked out to master.
          #
          git checkout origin/master
      - tox:
          envlist: 'releasenotes'

    publishers:
      - ftp:
          site: '{doc-publisher-site}'
          source: 'releasenotes/build/html/**'
          target: 'releasenotes/{name}'
          remove-prefix: 'releasenotes/build/html'
          excludes: ''
      - console-log


- job-template:
    name: 'gate-{name}-releasenotes'
    node: ubuntu-trusty

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - gerrit-git-prep
      - install-distro-packages
      - revoke-sudo
      - tox:
          envlist: 'releasenotes'

    publishers:
      - upload-releasenotes-draft
      - console-log


- job-group:
    name: openstack-publish-jobs
    jobs:
      - '{name}-docs'
      - '{name}-docs-tags-only'
      - '{name}-merge-release-tags'


- job-group:
    name: openstack-releasenotes-jobs
    jobs:
      - 'gate-{name}-releasenotes'
      - '{name}-releasenotes'