Fix API breakage caused by OS Plugin version scan
[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     project-pattern: '**'
87     stream: master
88     submodule-recursive: true
89
90     gerrit_merge_triggers:
91       - change-merged-event
92       - comment-added-contains-event:
93           comment-contains-value: remerge$
94
95     #####################
96     # Job Configuration #
97     #####################
98
99     builders:
100       - lf-rtd-trigger-build:
101           rtd-build-url: '{rtd-build-url}'
102           rtd-token: '{rtd-token}'
103
104 - job-template:
105     name: '{project-name}-rtd-merge-{stream}'
106     id: gerrit-rtd-merge
107     <<: *lf_rtd_common
108     # yamllint disable-line rule:key-duplicates
109     <<: *lf_rtd_merge
110
111     triggers:
112       - gerrit:
113           server-name: '{gerrit-server-name}'
114           trigger-on: '{obj:gerrit_merge_triggers}'
115           projects:
116             - project-compare-type: 'ANT'
117               project-pattern: '{project-pattern}'
118               branches:
119                 - branch-compare-type: 'ANT'
120                   branch-pattern: '**/{branch}'
121               file-paths: '{obj:gerrit_trigger_file_paths}'
122
123 - job-template:
124     name: '{project-name}-rtd-merge-{stream}'
125     id: github-rtd-merge
126     <<: *lf_rtd_common
127     # yamllint disable-line rule:key-duplicates
128     <<: *lf_rtd_merge
129
130     properties:
131       - github:
132           url: '{git-url}/{github-org}/{project}'
133
134     triggers:
135       - timed: 'H H * * *'
136       - github
137       - pollscm:
138           cron: ''
139       - github-pull-request:
140           trigger-phrase: '^remerge$'
141           only-trigger-phrase: true
142           status-context: 'RTD Merge'
143           permit-all: false
144           github-hooks: true
145           org-list:
146             - '{github-org}'
147           white-list: '{obj:github_pr_whitelist}'
148           admin-list: '{obj:github_pr_admin_list}'
149           included-regions: '{obj:github_included_regions}'
150
151 #############
152 # RTD VERIFY#
153 #############
154
155 - lf_rtd_verify: &lf_rtd_verify
156     name: lf-rtd-verify
157
158     ######################
159     # Default parameters #
160     ######################
161
162     branch: master
163     build-days-to-keep: 7
164     build-timeout: 15
165     doc-dir: docs/_build/html
166     git-url: '$GIT_URL/$PROJECT'
167     project-pattern: '**'
168     stream: master
169     submodule-recursive: true
170
171     gerrit_verify_triggers:
172       - patchset-created-event:
173           exclude-drafts: true
174           exclude-trivial-rebase: false
175           exclude-no-code-change: false
176       - draft-published-event
177       - comment-added-contains-event:
178           comment-contains-value: recheck$
179
180     #####################
181     # Job Configuration #
182     #####################
183
184     builders:
185       - lf-rtd-verify:
186           doc-dir: '{doc-dir}'
187
188 - job-template:
189     name: '{project-name}-rtd-verify-{stream}'
190     id: gerrit-rtd-verify
191     concurrent: true
192     <<: *lf_rtd_common
193     # yamllint disable-line rule:key-duplicates
194     <<: *lf_rtd_verify
195
196     scm:
197       - lf-infra-gerrit-scm:
198           branch: '$GERRIT_BRANCH'
199           jenkins-ssh-credential: '{jenkins-ssh-credential}'
200           git-url: '{git-url}'
201           refspec: ''  # Leave blank!! A later script will handle fetching
202           submodule-recursive: '{submodule-recursive}'
203           choosing-strategy: default
204
205     triggers:
206       - gerrit:
207           server-name: '{gerrit-server-name}'
208           trigger-on: '{obj:gerrit_verify_triggers}'
209           projects:
210             - project-compare-type: 'ANT'
211               project-pattern: '{project-pattern}'
212               branches:
213                 - branch-compare-type: 'ANT'
214                   branch-pattern: '**/{branch}'
215               file-paths: '{obj:gerrit_trigger_file_paths}'
216
217 - job-template:
218     name: '{project-name}-rtd-verify-{stream}'
219     id: github-rtd-verify
220     concurrent: true
221     <<: *lf_rtd_common
222     # yamllint disable-line rule:key-duplicates
223     <<: *lf_rtd_verify
224
225     properties:
226       - github:
227           url: '{git-url}/{github-org}/{project}'
228
229     scm:
230       - lf-infra-github-scm:
231           url: '{git-clone-url}{github-org}/{project}'
232           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
233           branch: '$sha1'
234           submodule-recursive: '{submodule-recursive}'
235           choosing-strategy: default
236           jenkins-ssh-credential: '{jenkins-ssh-credential}'
237
238     triggers:
239       - github-pull-request:
240           trigger-phrase: '^recheck$'
241           only-trigger-phrase: false
242           status-context: 'RTD Verify'
243           permit-all: true
244           github-hooks: true
245           included-regions: '{obj:github_included_regions}'