Pass multiple pattern args in logs-deploy.sh
[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: remerge$
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     gerrit-skip-vote: false
172
173     gerrit_verify_triggers:
174       - patchset-created-event:
175           exclude-drafts: true
176           exclude-trivial-rebase: false
177           exclude-no-code-change: false
178       - draft-published-event
179       - comment-added-contains-event:
180           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
181
182     #####################
183     # Job Configuration #
184     #####################
185
186     disabled: '{disable-job}'
187
188     builders:
189       - lf-infra-pre-build
190       - lf-rtd-verify:
191           doc-dir: '{doc-dir}'
192
193 - job-template:
194     name: '{project-name}-rtd-verify-{stream}'
195     id: gerrit-rtd-verify
196     concurrent: true
197     <<: *lf_rtd_common
198     # yamllint disable-line rule:key-duplicates
199     <<: *lf_rtd_verify
200
201     scm:
202       - lf-infra-gerrit-scm:
203           branch: '$GERRIT_BRANCH'
204           jenkins-ssh-credential: '{jenkins-ssh-credential}'
205           git-url: '{git-url}'
206           refspec: ''  # Leave blank!! A later script will handle fetching
207           submodule-recursive: '{submodule-recursive}'
208           submodule-timeout: '{submodule-timeout}'
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           skip-vote:
223             successful: '{gerrit-skip-vote}'
224             failed: '{gerrit-skip-vote}'
225             unstable: '{gerrit-skip-vote}'
226             notbuilt: '{gerrit-skip-vote}'
227
228 - job-template:
229     name: '{project-name}-rtd-verify-{stream}'
230     id: github-rtd-verify
231     concurrent: true
232     <<: *lf_rtd_common
233     # yamllint disable-line rule:key-duplicates
234     <<: *lf_rtd_verify
235
236     properties:
237       - lf-infra-properties:
238           build-days-to-keep: '{build-days-to-keep}'
239       - github:
240           url: '{github-url}/{github-org}/{project}'
241
242     scm:
243       - lf-infra-github-scm:
244           url: '{git-clone-url}{github-org}/{project}'
245           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
246           branch: '$sha1'
247           submodule-recursive: '{submodule-recursive}'
248           submodule-timeout: '{submodule-timeout}'
249           choosing-strategy: default
250           jenkins-ssh-credential: '{jenkins-ssh-credential}'
251
252     triggers:
253       - github-pull-request:
254           trigger-phrase: '^(recheck|reverify)$'
255           only-trigger-phrase: false
256           status-context: 'RTD Verify'
257           permit-all: true
258           github-hooks: true
259           included-regions: '{obj:github_included_regions}'
260           white-list-target-branches:
261             - '{branch}'