Fix rtd merge job to handle new tag uploaded
[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     python-version: python3
168     stream: master
169     submodule-recursive: true
170     submodule-timeout: 10
171     submodule-disable: false
172     gerrit-skip-vote: false
173
174     gerrit_verify_triggers:
175       - patchset-created-event:
176           exclude-drafts: true
177           exclude-trivial-rebase: false
178           exclude-no-code-change: false
179       - draft-published-event
180       - comment-added-contains-event:
181           comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
182
183     #####################
184     # Job Configuration #
185     #####################
186
187     disabled: "{disable-job}"
188
189     builders:
190       - lf-infra-pre-build
191       - lf-rtd-verify:
192           doc-dir: "{doc-dir}"
193           python-version: "{python-version}"
194
195 - job-template:
196     name: "{project-name}-rtd-verify-{stream}"
197     id: gerrit-rtd-verify
198     concurrent: true
199     <<: *lf_rtd_common
200     # yamllint disable-line rule:key-duplicates
201     <<: *lf_rtd_verify
202
203     scm:
204       - lf-infra-gerrit-scm:
205           branch: "$GERRIT_BRANCH"
206           jenkins-ssh-credential: "{jenkins-ssh-credential}"
207           git-url: "{git-url}"
208           refspec: "" # Leave blank!! A later script will handle fetching
209           submodule-recursive: "{submodule-recursive}"
210           submodule-timeout: "{submodule-timeout}"
211           submodule-disable: "{submodule-disable}"
212           choosing-strategy: default
213
214     triggers:
215       - gerrit:
216           server-name: "{gerrit-server-name}"
217           trigger-on: "{obj:gerrit_verify_triggers}"
218           projects:
219             - project-compare-type: "ANT"
220               project-pattern: "{project-pattern}"
221               branches:
222                 - branch-compare-type: "ANT"
223                   branch-pattern: "**/{branch}"
224               file-paths: "{obj:gerrit_trigger_file_paths}"
225           skip-vote:
226             successful: "{gerrit-skip-vote}"
227             failed: "{gerrit-skip-vote}"
228             unstable: "{gerrit-skip-vote}"
229             notbuilt: "{gerrit-skip-vote}"
230
231 - job-template:
232     name: "{project-name}-rtd-verify-{stream}"
233     id: github-rtd-verify
234     concurrent: true
235     <<: *lf_rtd_common
236     # yamllint disable-line rule:key-duplicates
237     <<: *lf_rtd_verify
238
239     properties:
240       - lf-infra-properties:
241           build-days-to-keep: "{build-days-to-keep}"
242       - github:
243           url: "{github-url}/{github-org}/{project}"
244
245     scm:
246       - lf-infra-github-scm:
247           url: "{git-clone-url}{github-org}/{project}"
248           refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
249           branch: "$sha1"
250           submodule-recursive: "{submodule-recursive}"
251           submodule-timeout: "{submodule-timeout}"
252           submodule-disable: "{submodule-disable}"
253           choosing-strategy: default
254           jenkins-ssh-credential: "{jenkins-ssh-credential}"
255
256     triggers:
257       - github-pull-request:
258           trigger-phrase: "^(recheck|reverify)$"
259           only-trigger-phrase: false
260           status-context: "RTD Verify"
261           permit-all: true
262           github-hooks: true
263           included-regions: "{obj:github_included_regions}"
264           white-list-target-branches:
265             - "{branch}"