Add DOC project JJB jobs and RTD job templates 65/7365/6
authorRich Bennett <rb2745@att.com>
Fri, 11 Aug 2017 18:18:48 +0000 (14:18 -0400)
committerRich Bennett <rb2745@att.com>
Mon, 14 Aug 2017 17:07:17 +0000 (17:07 +0000)
Job template for verify sphinx/restructured text source
Job template for merge/publish to readthedocs.io

Issue-ID: DOC-12
Change-Id: Id344df0f4a0c517ca3ca80dff1631560ec5c2a71
Signed-off-by: Rich Bennett <rb2745@att.com>
jjb/doc/doc-post-rtd.sh [new file with mode: 0644]
jjb/doc/doc-templates-rtd.yaml [new file with mode: 0644]
jjb/doc/doc.yaml [new file with mode: 0644]

diff --git a/jjb/doc/doc-post-rtd.sh b/jjb/doc/doc-post-rtd.sh
new file mode 100644 (file)
index 0000000..5c8d8c5
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+if [ "$GERRIT_BRANCH" == "master" ]; then
+    RTD_BUILD_VERSION=latest
+else
+    RTD_BUILD_VERSION="${{GERRIT_BRANCH/\//-}}"
+fi
+
+# shellcheck disable=SC1083
+curl -X POST --data "version_slug=$RTD_BUILD_VERSION" https://readthedocs.org/build/{rtdproject}
diff --git a/jjb/doc/doc-templates-rtd.yaml b/jjb/doc/doc-templates-rtd.yaml
new file mode 100644 (file)
index 0000000..4f54322
--- /dev/null
@@ -0,0 +1,143 @@
+---
+- 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.
+    #     pattern:   ant file-path pattern relative to the workspace used to
+    #                trigger the job
+
+    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:
+      - gerrit-trigger-scm:
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+          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.
+    #     pattern:   ant file-path pattern relative to the workspace used to
+    #                trigger the job
+
+    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:
+      - gerrit-trigger-scm:
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+          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}'
+
diff --git a/jjb/doc/doc.yaml b/jjb/doc/doc.yaml
new file mode 100644 (file)
index 0000000..40d5922
--- /dev/null
@@ -0,0 +1,17 @@
+---
+- project:
+    name: doc
+    project-name: 'doc'
+
+    jobs:
+        - '{project-name}-{stream}-verify-rtd':
+            build-node: centos7-basebuild-4c-4g
+        - '{project-name}-{stream}-merge-rtd'
+
+    project: 'doc'
+
+    rtdproject: 'onap'
+
+    stream:
+        - master:
+             branch: 'master'