---
- job-template:
    # Job template for verifying Sphinx/Restructured Text for RTD
    #
    # The purpose of this job template is verify documentation source
    #
    # Required Variables:
    #     branch:        git branch
    # Optional Variables:
    #     path:      directory containing the project's tox.ini relative to
    #                the workspace. The default is the project root.

    name: '{project-name}-{stream}-verify-rtd'
    path: '$WORKSPACE'

    project-type: freestyle
    concurrent: true
    node: '{build-node}'

    properties:
      - infra-properties:
          build-days-to-keep: '{build-days-to-keep}'

    parameters:
      - infra-parameters:
          project: '{project}'
          branch: '{branch}'
          refspec: 'refs/heads/{branch}'
          artifacts: '{archive-artifacts}'
      - maven-exec:
          maven-version: '{maven-version}'

    scm:
      - git:
          credentials-id: '{jenkins-ssh-credential}'
          url: '$GIT_BASE'
          refspec: ''
          choosing-strategy: 'default'
          branches:
            - 'refs/heads/{branch}'
          skip-tag: true
          wipe-workspace: true
          submodule:
            recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      - gerrit-trigger-patch-submitted:
          server: '{server-name}'
          project: '**'
          branch: '{branch}'
          files: 'docs/**/*.rst'
      - timed: 'H H * * *'

    builders:
      - shell: |
          if [ "$GERRIT_PROJECT" != "doc" ]; then
              if [ -d docs/submodules/$GERRIT_PROJECT.git ]; then
                  cd docs/submodules/$GERRIT_PROJECT.git
              else
                  cd docs/submodules/$GERRIT_PROJECT
              fi
              git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
          else
              git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
          fi
      - shell: |
          #!/bin/bash
          virtualenv $WORKSPACE/venv-tox
          source $WORKSPACE/venv-tox/bin/activate
          pip install --upgrade pip
          pip install --upgrade tox argparse
          pip freeze
          cd $WORKSPACE/{path}
          tox

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for merging/publishing Sphinx/Restructured Text at RTD
    #
    # The purpose of this job template is to trigger updates after
    # a merge of documentation source in gerrit
    #
    # Required Variables:
    #     branch:        git branch
    #     rtdproject:    name of a project at readthedocs.io
    # Optional Variables:
    #     path:      directory containing the project's tox.ini relative to
    #                the workspace. The default is the project root.

    name: '{project-name}-{stream}-merge-rtd'
    path: '$WORKSPACE'

    project-type: freestyle
    concurrent: false
    node: '{build-node}'

    properties:
      - infra-properties:
          build-days-to-keep: '{build-days-to-keep}'

    parameters:
      - infra-parameters:
          project: '{project}'
          branch: '{branch}'
          refspec: 'refs/heads/{branch}'
          artifacts: '{archive-artifacts}'
      - maven-exec:
          maven-version: '{maven-version}'

    scm:
      - git:
          credentials-id: '{jenkins-ssh-credential}'
          url: '$GIT_BASE'
          refspec: ''
          choosing-strategy: 'default'
          branches:
            - 'refs/heads/{branch}'
          skip-tag: true
          wipe-workspace: true
          submodule-recursive: '{submodule-recursive}'


    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      - gerrit:
          server-name: '{server-name}'
          trigger-on:
            - change-merged-event
            - comment-added-contains-event:
                comment-contains-value: 'remerge'
          projects:
            - project-compare-type: 'ANT'
              project-pattern: '**'
              branches:
                - branch-compare-type: 'ANT'
                  branch-pattern: '**/{branch}'
              file-paths:
                - compare-type: ANT
                  pattern: docs/**/*.rst

    builders:
      - shell: !include-raw: doc-post-rtd.sh

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'