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