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