d4e5424044340fb74f1c5420eb367fdc144bea93
[ci-management.git] / jjb / doc / doc-templates-rtd.yaml
1 ---
2 - job-template:
3     # Job template for verifying Sphinx/Restructured Text for RTD
4     #
5     # The purpose of this job template is verify documentation source
6     #
7     # Required Variables:
8     #     branch:        git branch
9     # Optional Variables:
10     #     path:      directory containing the project's tox.ini relative to
11     #                the workspace. The default is the project root.
12
13     name: '{project-name}-{stream}-verify-rtd'
14     path: '$WORKSPACE'
15
16     project-type: freestyle
17     concurrent: true
18     node: '{build-node}'
19
20     properties:
21       - infra-properties:
22           build-days-to-keep: '{build-days-to-keep}'
23
24     parameters:
25       - infra-parameters:
26           project: '{project}'
27           branch: '{branch}'
28           refspec: 'refs/heads/{branch}'
29           artifacts: '{archive-artifacts}'
30       - maven-exec:
31           maven-version: '{maven-version}'
32
33     scm:
34       - git:
35           credentials-id: '{jenkins-ssh-credential}'
36           url: '$GIT_BASE'
37           refspec: ''
38           choosing-strategy: 'default'
39           branches:
40             - 'refs/heads/{branch}'
41           skip-tag: true
42           wipe-workspace: true
43           submodule:
44             recursive: '{submodule-recursive}'
45             timeout: '24'
46
47     wrappers:
48       - infra-wrappers:
49           build-timeout: '{build-timeout}'
50
51     triggers:
52       - gerrit-trigger-patch-submitted:
53           server: '{server-name}'
54           project: '**'
55           branch: '{branch}'
56           files: 'docs/**/*.rst'
57       - timed: 'H H * * *'
58
59     builders:
60       - shell: |
61           if [ "$GERRIT_PROJECT" != "doc" ]; then
62               if [ -d docs/submodules/$GERRIT_PROJECT.git ]; then
63                   cd docs/submodules/$GERRIT_PROJECT.git
64               else
65                   cd docs/submodules/$GERRIT_PROJECT
66               fi
67               git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
68           else
69               git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
70           fi
71       - shell: !include-raw: doc-install-plantuml.sh
72       - shell: |
73           #!/bin/bash
74           python3 -m venv $WORKSPACE/venv-tox
75           source $WORKSPACE/venv-tox/bin/activate
76           pip install --upgrade pip
77           pip install --upgrade tox argparse
78           pip freeze
79           cd $WORKSPACE/{path}
80           tox
81           mkdir -p "$WORKSPACE/archives"
82           mv  docs/_build/html "$WORKSPACE/archives/"
83
84     publishers:
85       - lf-infra-publish
86
87 - job-template:
88     # Job template for merging/publishing Sphinx/Restructured Text at RTD
89     #
90     # The purpose of this job template is to trigger updates after
91     # a merge of documentation source in gerrit
92     #
93     # Required Variables:
94     #     branch:        git branch
95     #     rtdproject:    name of a project at readthedocs.io
96     # Optional Variables:
97     #     path:      directory containing the project's tox.ini relative to
98     #                the workspace. The default is the project root.
99
100     name: '{project-name}-{stream}-merge-rtd'
101     path: '$WORKSPACE'
102
103     project-type: freestyle
104     concurrent: false
105     node: '{build-node}'
106
107     properties:
108       - infra-properties:
109           build-days-to-keep: '{build-days-to-keep}'
110
111     parameters:
112       - infra-parameters:
113           project: '{project}'
114           branch: '{branch}'
115           refspec: 'refs/heads/{branch}'
116           artifacts: '{archive-artifacts}'
117       - maven-exec:
118           maven-version: '{maven-version}'
119
120     scm:
121       - git:
122           credentials-id: '{jenkins-ssh-credential}'
123           url: '$GIT_BASE'
124           refspec: ''
125           choosing-strategy: 'default'
126           branches:
127             - 'refs/heads/{branch}'
128           skip-tag: true
129           wipe-workspace: true
130           submodule-recursive: '{submodule-recursive}'
131
132
133     wrappers:
134       - infra-wrappers:
135           build-timeout: '{build-timeout}'
136       - credentials-binding:
137           - text:
138              credential-id: docs-token
139              variable: DOCS_RTD_TOKEN
140
141     triggers:
142       - gerrit:
143           server-name: '{server-name}'
144           trigger-on:
145             - change-merged-event
146             - comment-added-contains-event:
147                 comment-contains-value: 'remerge'
148           projects:
149             - project-compare-type: 'ANT'
150               project-pattern: '**'
151               branches:
152                 - branch-compare-type: 'ANT'
153                   branch-pattern: '**/{branch}'
154               file-paths:
155                 - compare-type: ANT
156                   pattern: docs/**/*.rst
157
158     builders:
159       - shell: !include-raw: doc-post-rtd.sh
160
161     publishers:
162       - lf-infra-publish