d8d757f3ff017c065ae6232e07fd092fa6301917
[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     rtd-project: ''
27     rtd-build-url: ''
28     global-settings-file: '$WORKSPACE/settings.xml'
29     rtd-server-id: ''
30
31
32     gerrit_trigger_file_paths:
33       - compare-type: ANT
34         pattern: '**/*.rst'
35       - compare-type: ANT
36         pattern: '**/conf.py'
37
38     #####################
39     # Job Configuration #
40     #####################
41
42     project-type: freestyle
43     node: '{build-node}'
44
45     properties:
46       - lf-infra-properties:
47           build-days-to-keep: 7
48
49     parameters:
50       - lf-infra-parameters:
51           project: '{project}'
52           branch: '{branch}'
53           refspec: 'refs/heads/{branch}'
54           stream: '{stream}'
55           lftools-version: '{lftools-version}'
56
57     wrappers:
58       - lf-infra-wrappers:
59           build-timeout: '{build-timeout}'
60           jenkins-ssh-credential: '{jenkins-ssh-credential}'
61
62     publishers:
63       - lf-infra-publish
64
65 #############
66 # RTD MERGE #
67 #############
68
69 - lf_rtd_merge: &lf_rtd_merge
70     name: lf-rtd-merge
71
72     ######################
73     # Default parameters #
74     ######################
75
76     branch: master
77     build-days-to-keep: 7
78     build-timeout: 15
79     git-url: https://github.com
80     project-pattern: '**'
81     stream: master
82     submodule-recursive: true
83
84     gerrit_merge_triggers:
85       - change-merged-event
86       - comment-added-contains-event:
87           comment-contains-value: remerge$
88
89     #####################
90     # Job Configuration #
91     #####################
92
93     builders:
94       - lf-rtd-trigger-build:
95           rtd-project: '{rtd-project}'
96           rtd-build-url: '{rtd-build-url}'
97           global-settings-file: '{global-settings-file}'
98           rtd-server-id: '{rtd-server-id}'
99
100 - job-template:
101     name: '{project-name}-rtd-merge-{stream}'
102     id: gerrit-rtd-merge
103     <<: *lf_rtd_common
104     # yamllint disable-line rule:key-duplicates
105     <<: *lf_rtd_merge
106
107     triggers:
108       - gerrit:
109           server-name: '{gerrit-server-name}'
110           trigger-on: '{obj:gerrit_merge_triggers}'
111           projects:
112             - project-compare-type: 'ANT'
113               project-pattern: '{project-pattern}'
114               branches:
115                 - branch-compare-type: 'ANT'
116                   branch-pattern: '**/{branch}'
117               file-paths: '{obj:gerrit_trigger_file_paths}'
118
119 - job-template:
120     name: '{project-name}-rtd-merge-{stream}'
121     id: github-rtd-merge
122     <<: *lf_rtd_common
123     # yamllint disable-line rule:key-duplicates
124     <<: *lf_rtd_merge
125
126     properties:
127       - github:
128           url: '{git-url}/{github-org}/{project}'
129
130     triggers:
131       - lf-infra-github-pr-trigger:
132           trigger-phrase: '^remerge$'
133           only-trigger-phrase: false
134           status-context: 'RTD Merge'
135           permit-all: true
136           github-hooks: true
137           github-org: ''
138           github_pr_whitelist:
139             - ''
140           github_pr_admin_list:
141             - ''
142       - timed: 'H H * * *'
143
144 #############
145 # RTD VERIFY#
146 #############
147
148 - lf_rtd_verify: &lf_rtd_verify
149     name: lf-rtd-verify
150
151     ######################
152     # Default parameters #
153     ######################
154
155     branch: master
156     build-days-to-keep: 7
157     build-timeout: 15
158     doc-dir: docs/_build/html
159     git-url: '$GIT_URL/$PROJECT'
160     project-pattern: '**'
161     stream: master
162     submodule-recursive: true
163
164     gerrit_verify_triggers:
165       - patchset-created-event:
166           exclude-drafts: true
167           exclude-trivial-rebase: false
168           exclude-no-code-change: false
169       - draft-published-event
170       - comment-added-contains-event:
171           comment-contains-value: recheck$
172
173     #####################
174     # Job Configuration #
175     #####################
176
177     builders:
178       - lf-rtd-verify:
179           doc-dir: '{doc-dir}'
180
181 - job-template:
182     name: '{project-name}-rtd-verify-{stream}'
183     id: gerrit-rtd-verify
184     concurrent: true
185     <<: *lf_rtd_common
186     # yamllint disable-line rule:key-duplicates
187     <<: *lf_rtd_verify
188
189     scm:
190       - lf-infra-gerrit-scm:
191           branch: '$GERRIT_BRANCH'
192           jenkins-ssh-credential: '{jenkins-ssh-credential}'
193           git-url: '{git-url}'
194           refspec: ''  # Leave blank!! A later script will handle fetching
195           submodule-recursive: '{submodule-recursive}'
196           choosing-strategy: default
197
198     triggers:
199       - gerrit:
200           server-name: '{gerrit-server-name}'
201           trigger-on: '{obj:gerrit_verify_triggers}'
202           projects:
203             - project-compare-type: 'ANT'
204               project-pattern: '{project-pattern}'
205               branches:
206                 - branch-compare-type: 'ANT'
207                   branch-pattern: '**/{branch}'
208               file-paths: '{obj:gerrit_trigger_file_paths}'
209
210 - job-template:
211     name: '{project-name}-rtd-verify-{stream}'
212     id: github-rtd-verify
213     concurrent: true
214     <<: *lf_rtd_common
215     # yamllint disable-line rule:key-duplicates
216     <<: *lf_rtd_verify
217
218     properties:
219       - github:
220           url: '{git-url}/{github-org}/{project}'
221
222     scm:
223       - lf-infra-github-scm:
224           url: '{git-clone-url}{github-org}/{project}'
225           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
226           branch: '$sha1'
227           submodule-recursive: '{submodule-recursive}'
228           choosing-strategy: default
229           jenkins-ssh-credential: '{jenkins-ssh-credential}'
230
231     triggers:
232       - lf-infra-github-pr-trigger:
233           trigger-phrase: '^recheck$'
234           only-trigger-phrase: false
235           status-context: 'RTD Verify'
236           permit-all: true
237           github-hooks: true
238           github-org: ''
239           github_pr_whitelist:
240             - ''
241           github_pr_admin_list:
242             - ''