Chore: Upgrade Jenkins-job-builder to 6.3.0
[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     gerrit_trigger_file_paths:
13       - compare-type: REG_EXP
14         pattern: '.*\.css'
15       - compare-type: REG_EXP
16         pattern: '.*\.html'
17       - compare-type: REG_EXP
18         pattern: '.*\.rst'
19       - compare-type: REG_EXP
20         pattern: '.*\/conf.py'
21
22     # github_included_regions MUST match gerrit_trigger_file_paths
23     github_included_regions:
24       - '.*\.css'
25       - '.*\.html'
26       - '.*\.rst'
27       - '.*\/conf.py'
28
29     #####################
30     # Job Configuration #
31     #####################
32
33     project-type: freestyle
34     node: "{build-node}"
35
36     properties:
37       - lf-infra-properties:
38           build-days-to-keep: 7
39
40     parameters:
41       - lf-infra-parameters:
42           project: "{project}"
43           branch: "{branch}"
44           refspec: "refs/heads/{branch}"
45           stream: "{stream}"
46
47     wrappers:
48       - lf-infra-wrappers:
49           build-timeout: "{build-timeout}"
50           jenkins-ssh-credential: "{jenkins-ssh-credential}"
51
52     publishers:
53       - lf-infra-publish
54
55 #############
56 # RTD MERGE #
57 #############
58
59 - _lf_rtd_merge: &lf_rtd_merge
60     name: lf-rtd-merge
61
62     ######################
63     # Default parameters #
64     ######################
65
66     branch: master
67     build-days-to-keep: 7
68     build-timeout: 15
69     disable-job: false
70     git-url: https://github.com
71     github-url: "https://github.com"
72     project-pattern: "**"
73     stream: master
74     submodule-recursive: true
75
76     gerrit_merge_triggers:
77       - change-merged-event
78       - comment-added-contains-event:
79           comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
80
81     #####################
82     # Job Configuration #
83     #####################
84
85     disabled: "{disable-job}"
86
87     builders:
88       - lf-infra-pre-build
89       - lf-rtd-trigger-build:
90           rtd-build-url: "{rtd-build-url}"
91           rtd-token: "{rtd-token}"
92
93 - job-template:
94     name: "{project-name}-rtd-merge-{stream}"
95     id: gerrit-rtd-merge
96     <<: *lf_rtd_common
97     # yamllint disable-line rule:key-duplicates
98     <<: *lf_rtd_merge
99
100     triggers:
101       - gerrit:
102           server-name: "{gerrit-server-name}"
103           trigger-on: "{obj:gerrit_merge_triggers}"
104           projects:
105             - project-compare-type: "ANT"
106               project-pattern: "{project-pattern}"
107               branches:
108                 - branch-compare-type: "ANT"
109                   branch-pattern: "**/{branch}"
110                 - branch-compare-type: "ANT"
111                   branch-pattern: "refs/tags/**"
112               file-paths: "{obj:gerrit_trigger_file_paths}"
113
114 - job-template:
115     name: "{project-name}-rtd-merge-{stream}"
116     id: github-rtd-merge
117     <<: *lf_rtd_common
118     # yamllint disable-line rule:key-duplicates
119     <<: *lf_rtd_merge
120
121     properties:
122       - lf-infra-properties:
123           build-days-to-keep: "{build-days-to-keep}"
124       - github:
125           url: "{github-url}/{github-org}/{project}"
126
127     triggers:
128       - timed: "H H * * *"
129       - github
130       - pollscm:
131           cron: ""
132       - github-pull-request:
133           trigger-phrase: "^remerge$"
134           only-trigger-phrase: true
135           status-context: "RTD Merge"
136           permit-all: true
137           github-hooks: true
138           org-list:
139             - "{github-org}"
140           white-list: "{obj:github_pr_allowlist}"
141           admin-list: "{obj:github_pr_admin_list}"
142           included-regions: "{obj:github_included_regions}"
143           white-list-target-branches:
144             - "{branch}"
145
146 #############
147 # RTD VERIFY#
148 #############
149
150 - _lf_rtd_verify: &lf_rtd_verify
151     name: lf-rtd-verify
152
153     ######################
154     # Default parameters #
155     ######################
156
157     branch: master
158     build-days-to-keep: 7
159     build-timeout: 15
160     disable-job: false
161     doc-dir: docs/_build/html
162     git-url: "$GIT_URL/$PROJECT"
163     github-url: "https://github.com"
164     project-pattern: "**"
165     python-version: python3
166     stream: master
167     submodule-recursive: true
168     submodule-timeout: 10
169     submodule-disable: false
170     gerrit-skip-vote: false
171
172     gerrit_verify_triggers:
173       - patchset-created-event:
174           exclude-drafts: true
175           exclude-trivial-rebase: false
176           exclude-no-code-change: false
177       - draft-published-event
178       - comment-added-contains-event:
179           comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
180
181     #####################
182     # Job Configuration #
183     #####################
184
185     disabled: "{disable-job}"
186
187     builders:
188       - lf-infra-pre-build
189       - lf-rtd-verify:
190           doc-dir: "{doc-dir}"
191           python-version: "{python-version}"
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}"