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