---
- 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
              cd docs/submodules/$GERRIT_PROJECT
              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}'

