Add CSS and HTML to rtd build pattern
[releng/global-jjb.git] / jjb / lf-rtd-jobs.yaml
1 ---
2 - job-group:
3     name: '{project-name}-rtd-jobs'
4
5     jobs:
6       - gerrit-rtd-merge
7       - gerrit-rtd-verify
8
9 - job-group:
10     name: '{project-name}-github-rtd-jobs'
11
12     jobs:
13       - github-rtd-merge
14       - github-rtd-verify
15
16 ####################
17 # COMMON FUNCTIONS #
18 ####################
19
20 - lf_rtd_common: &lf_rtd_common
21     name: lf-rtd-common
22
23     ######################
24     # Default parameters #
25     ######################
26
27     gerrit_trigger_file_paths:
28       - compare-type: ANT
29         pattern: '**/*.css'
30       - compare-type: ANT
31         pattern: '**/*.html'
32       - compare-type: ANT
33         pattern: '**/*.rst'
34       - compare-type: ANT
35         pattern: '**/conf.py'
36
37     #####################
38     # Job Configuration #
39     #####################
40
41     project-type: freestyle
42     node: '{build-node}'
43
44     properties:
45       - lf-infra-properties:
46           build-days-to-keep: 7
47
48     parameters:
49       - lf-infra-parameters:
50           project: '{project}'
51           branch: '{branch}'
52           refspec: 'refs/heads/{branch}'
53           stream: '{stream}'
54           lftools-version: '{lftools-version}'
55
56     wrappers:
57       - lf-infra-wrappers:
58           build-timeout: '{build-timeout}'
59           jenkins-ssh-credential: '{jenkins-ssh-credential}'
60
61     publishers:
62       - lf-infra-publish
63
64 #############
65 # RTD MERGE #
66 #############
67
68 - lf_rtd_merge: &lf_rtd_merge
69     name: lf-rtd-merge
70
71     ######################
72     # Default parameters #
73     ######################
74
75     branch: master
76     build-days-to-keep: 7
77     build-timeout: 15
78     git-url: https://github.com
79     project-pattern: '**'
80     stream: master
81     submodule-recursive: true
82
83     gerrit_merge_triggers:
84       - change-merged-event
85       - comment-added-contains-event:
86           comment-contains-value: remerge$
87
88     #####################
89     # Job Configuration #
90     #####################
91
92     builders:
93       - lf-rtd-trigger-build:
94           rtd-build-url: '{rtd-build-url}'
95           rtd-token: '{rtd-token}'
96
97 - job-template:
98     name: '{project-name}-rtd-merge-{stream}'
99     id: gerrit-rtd-merge
100     <<: *lf_rtd_common
101     # yamllint disable-line rule:key-duplicates
102     <<: *lf_rtd_merge
103
104     triggers:
105       - gerrit:
106           server-name: '{gerrit-server-name}'
107           trigger-on: '{obj:gerrit_merge_triggers}'
108           projects:
109             - project-compare-type: 'ANT'
110               project-pattern: '{project-pattern}'
111               branches:
112                 - branch-compare-type: 'ANT'
113                   branch-pattern: '**/{branch}'
114               file-paths: '{obj:gerrit_trigger_file_paths}'
115
116 - job-template:
117     name: '{project-name}-rtd-merge-{stream}'
118     id: github-rtd-merge
119     <<: *lf_rtd_common
120     # yamllint disable-line rule:key-duplicates
121     <<: *lf_rtd_merge
122
123     properties:
124       - github:
125           url: '{git-url}/{github-org}/{project}'
126
127     triggers:
128       - lf-infra-github-pr-trigger:
129           trigger-phrase: '^remerge$'
130           only-trigger-phrase: false
131           status-context: 'RTD Merge'
132           permit-all: true
133           github-hooks: true
134           github-org: ''
135           github_pr_whitelist:
136             - ''
137           github_pr_admin_list:
138             - ''
139       - timed: 'H H * * *'
140
141 #############
142 # RTD VERIFY#
143 #############
144
145 - lf_rtd_verify: &lf_rtd_verify
146     name: lf-rtd-verify
147
148     ######################
149     # Default parameters #
150     ######################
151
152     branch: master
153     build-days-to-keep: 7
154     build-timeout: 15
155     doc-dir: docs/_build/html
156     git-url: '$GIT_URL/$PROJECT'
157     project-pattern: '**'
158     stream: master
159     submodule-recursive: true
160
161     gerrit_verify_triggers:
162       - patchset-created-event:
163           exclude-drafts: true
164           exclude-trivial-rebase: false
165           exclude-no-code-change: false
166       - draft-published-event
167       - comment-added-contains-event:
168           comment-contains-value: recheck$
169
170     #####################
171     # Job Configuration #
172     #####################
173
174     builders:
175       - lf-rtd-verify:
176           doc-dir: '{doc-dir}'
177
178 - job-template:
179     name: '{project-name}-rtd-verify-{stream}'
180     id: gerrit-rtd-verify
181     concurrent: true
182     <<: *lf_rtd_common
183     # yamllint disable-line rule:key-duplicates
184     <<: *lf_rtd_verify
185
186     scm:
187       - lf-infra-gerrit-scm:
188           branch: '$GERRIT_BRANCH'
189           jenkins-ssh-credential: '{jenkins-ssh-credential}'
190           git-url: '{git-url}'
191           refspec: ''  # Leave blank!! A later script will handle fetching
192           submodule-recursive: '{submodule-recursive}'
193           choosing-strategy: default
194
195     triggers:
196       - gerrit:
197           server-name: '{gerrit-server-name}'
198           trigger-on: '{obj:gerrit_verify_triggers}'
199           projects:
200             - project-compare-type: 'ANT'
201               project-pattern: '{project-pattern}'
202               branches:
203                 - branch-compare-type: 'ANT'
204                   branch-pattern: '**/{branch}'
205               file-paths: '{obj:gerrit_trigger_file_paths}'
206
207 - job-template:
208     name: '{project-name}-rtd-verify-{stream}'
209     id: github-rtd-verify
210     concurrent: true
211     <<: *lf_rtd_common
212     # yamllint disable-line rule:key-duplicates
213     <<: *lf_rtd_verify
214
215     properties:
216       - github:
217           url: '{git-url}/{github-org}/{project}'
218
219     scm:
220       - lf-infra-github-scm:
221           url: '{git-clone-url}{github-org}/{project}'
222           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
223           branch: '$sha1'
224           submodule-recursive: '{submodule-recursive}'
225           choosing-strategy: default
226           jenkins-ssh-credential: '{jenkins-ssh-credential}'
227
228     triggers:
229       - lf-infra-github-pr-trigger:
230           trigger-phrase: '^recheck$'
231           only-trigger-phrase: false
232           status-context: 'RTD Verify'
233           permit-all: true
234           github-hooks: true
235           github-org: ''
236           github_pr_whitelist:
237             - ''
238           github_pr_admin_list:
239             - ''