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