Merge "Update memcached/redis packer templates"
[ci-management.git] / jjb / global-templates-script.yaml
1 ---
2 # vim: sw=2 ts=2 sts=2 et :
3
4 - job-template:
5     # Job template for merging a submission.  triggered on
6     # gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
7     # run script
8     # Required Variables:
9     #   branch:         git branch
10     #   script:         build script to execute
11     #   mvn-settings:   settings file for this specific job
12     #   mvn-goals:      space separated list of maven build goals (--version
13     #                   for noop, clean deploy for deploy [snapshot])
14     name: '{project-name}-{stream}-merge-scm-mvn-script'
15
16     project-type: freestyle
17     node: 'ubuntu1604-docker-8c-8g'
18
19     properties:
20       - infra-properties:
21           build-days-to-keep: '{build-days-to-keep}'
22
23     parameters:
24       - infra-parameters:
25           project: '{project}'
26           branch: '{branch}'
27           refspec: 'refs/heads/{branch}'
28           artifacts: '{archive-artifacts}'
29       - maven-exec:
30           maven-version: '{maven-version}'
31
32     scm:
33       - gerrit-trigger-scm:
34           refspec: ''
35           choosing-strategy: 'default'
36           submodule-recursive: '{submodule-recursive}'
37
38     wrappers:
39       - infra-wrappers:
40           build-timeout: '{build-timeout}'
41
42     triggers:
43       - gerrit-trigger-patch-merged:
44           server: '{server-name}'
45           project: '{project}'
46           branch: '{branch}'
47           files: '**'
48
49     builders:
50       - lf-infra-pre-build
51       - provide-maven-settings:
52           global-settings-file: 'global-settings'
53           settings-file: '{mvn-settings}'
54       - maven-target:
55           maven-version: '{maven-version}'
56           goals: '{mvn-goals}'
57           settings: '{mvn-settings}'
58           settings-type: cfp
59           global-settings: 'global-settings'
60           global-settings-type: cfp
61       - docker-login
62       - shell: '{script}'
63
64     publishers:
65       - infra-shiplogs:
66           maven-version: '{maven-version}'
67
68
69 - job-template:
70     # Job template for 2 scm and script trigger
71     #
72     # Required Variables:
73     #   branch:         git branch
74     #   build-node:     what build node to run on
75     #   script:         build script to execute
76     #   extra-project:  extra gerrit project to checkout
77     #   extra-refspec:  refspec for the extra project
78     #   extra-branch:   branch to checkout for the extra project
79     #   checkout-dir:   directory to checkout the extra project to
80     #                     DO NOT SET THIS TO anything that translates to
81     #                     $WORKSPACE as it will destroy the initial
82     #                     project checkout
83
84     name: '{project-name}-{stream}-two-scm-verify-script'
85
86     project-type: freestyle
87     concurrent: true
88     node: '{build-node}'
89
90     properties:
91       - infra-properties:
92           build-days-to-keep: '{build-days-to-keep}'
93
94     parameters:
95       - infra-parameters:
96           project: '{project}'
97           branch: '{branch}'
98           refspec: 'refs/heads/{branch}'
99           artifacts: '{archive-artifacts}'
100       - maven-exec:
101           maven-version: '{maven-version}'
102
103     scm:
104       - gerrit-trigger-scm:
105           refspec: '$GERRIT_REFSPEC'
106           choosing-strategy: 'gerrit'
107           submodule-recursive: '{submodule-recursive}'
108       - git-extra-project:
109           project: '{extra-project}'
110           refspec: '{extra-refspec}'
111           branch: '{extra-branch}'
112           checkout-dir: '{checkout-dir}'
113
114     wrappers:
115       - infra-wrappers:
116           build-timeout: '{build-timeout}'
117
118     triggers:
119       - gerrit-trigger-patch-submitted:
120           server: '{server-name}'
121           project: '{project}'
122           branch: '{branch}'
123           files: '**'
124
125     builders:
126       - lf-infra-pre-build
127       - provide-maven-settings:
128           global-settings-file: 'global-settings'
129           settings-file: '{mvn-settings}'
130       # make sure maven gets installed / setup
131       - maven-target:
132           maven-version: '{maven-version}'
133           goals: '--version'
134           settings: '{mvn-settings}'
135           settings-type: cfp
136           global-settings: 'global-settings'
137           global-settings-type: cfp
138       - shell: '{script}'
139
140     publishers:
141       - infra-shiplogs:
142           maven-version: '{maven-version}'
143
144
145
146 # vim: sw=2 ts=2 sts=2 et :
147
148 - job-template:
149     # Job template for two scm and script trigger - for docker merge
150     #
151     # Required Variables:
152     #   branch:         git branch
153     #   build-node:     what build node to run on
154     #   script:         build script to execute
155
156     name: '{project-name}-{stream}-two-scm-merge-docker-script'
157
158     project-type: freestyle
159     concurrent: true
160     node: '{build-node}'
161
162     properties:
163       - infra-properties:
164           build-days-to-keep: '{build-days-to-keep}'
165
166     parameters:
167       - infra-parameters:
168           project: '{project}'
169           branch: '{branch}'
170           refspec: 'refs/heads/{branch}'
171           artifacts: '{archive-artifacts}'
172       - maven-exec:
173           maven-version: '{maven-version}'
174
175     scm:
176       - gerrit-trigger-scm:
177           refspec: ''
178           choosing-strategy: 'default'
179           submodule-recursive: '{submodule-recursive}'
180       - git-extra-project:
181           project: '{extra-project}'
182           refspec: '{extra-refspec}'
183           branch: '{extra-branch}'
184           checkout-dir: '{checkout-dir}'
185
186     wrappers:
187       - infra-wrappers:
188           build-timeout: '{build-timeout}'
189
190     triggers:
191       - gerrit-trigger-patch-merged:
192           server: '{server-name}'
193           project: '{project}'
194           branch: '{branch}'
195           files: '**'
196
197     builders:
198       - lf-infra-pre-build
199       - provide-maven-settings:
200           global-settings-file: 'global-settings'
201           settings-file: '{mvn-settings}'
202       - docker-login
203       # make sure maven gets installed / setup
204       - maven-target:
205           maven-version: '{maven-version}'
206           goals: '--version'
207           settings: '{mvn-settings}'
208           settings-type: cfp
209           global-settings: 'global-settings'
210           global-settings-type: cfp
211       - shell: '{script}'
212
213     publishers:
214       - infra-shiplogs:
215           maven-version: '{maven-version}'
216
217 - job-template:
218     # Job template for two scm and script trigger - for docker daily release
219     #
220     # Required Variables:
221     #   branch:         git branch
222     #   build-node:     what build node to run on
223     #   script:         build script to execute
224
225     name: '{project-name}-{stream}-two-scm-release-docker-script-manual'
226
227     project-type: freestyle
228     concurrent: true
229     node: '{build-node}'
230
231     properties:
232       - infra-properties:
233           build-days-to-keep: '{build-days-to-keep}'
234
235     parameters:
236       - infra-parameters:
237           project: '{project}'
238           branch: '{branch}'
239           refspec: 'refs/heads/{branch}'
240           artifacts: '{archive-artifacts}'
241       - maven-exec:
242           maven-version: '{maven-version}'
243
244     scm:
245       - gerrit-trigger-scm:
246           refspec: ''
247           choosing-strategy: 'default'
248           submodule-recursive: '{submodule-recursive}'
249       - git-extra-project:
250           project: '{extra-project}'
251           refspec: '{extra-refspec}'
252           branch: '{extra-branch}'
253           checkout-dir: '{checkout-dir}'
254
255     wrappers:
256       - infra-wrappers:
257           build-timeout: '{build-timeout}'
258
259     triggers:
260       - gerrit-trigger-release-manually:
261           server: '{server-name}'
262           project: '{project}'
263           branch: '{branch}'
264
265     builders:
266       - lf-infra-pre-build
267       - provide-maven-settings:
268           global-settings-file: 'global-settings'
269           settings-file: '{mvn-settings}'
270       - docker-login
271       # make sure maven gets installed / setup
272       - maven-target:
273           maven-version: '{maven-version}'
274           goals: '--version'
275           settings: '{mvn-settings}'
276           settings-type: cfp
277           global-settings: 'global-settings'
278           global-settings-type: cfp
279       - shell: '{script}'
280
281     publishers:
282       - infra-shiplogs:
283           maven-version: '{maven-version}'
284
285 - job-template:
286     # 1. PULL the desired image
287     # 2. TAG it to the desired release name
288     # 3. PUSH the newly tagged image on release repo
289
290     name: '{project-name}-docker-image-blessing'
291
292     project-type: freestyle
293     concurrent: true
294     node: 'ubuntu1604-docker-8c-8g'
295
296     parameters:
297       - string:
298           name: X
299           description: "x VERSION of the STAGING image to bless into this RELEASE VERSION
300             Example : 1"
301       - string:
302           name: Y
303           description: "y VERSION of the STAGING image to bless into this RELEASE VERSION
304             Example : 2"
305       - string:
306           name: Z
307           description: "z VERSION of the RELEASE VERSION
308             Example : 3"
309       - string:
310           name: PROJECT
311           default: '{project}'
312
313     properties:
314       - infra-properties:
315           build-days-to-keep: '{build-days-to-keep}'
316
317     wrappers:
318       - infra-wrappers:
319           build-timeout: '{build-timeout}'
320
321     builders:
322       - lf-infra-pre-build
323       - provide-maven-settings:
324           global-settings-file: 'global-settings'
325           settings-file: '{mvn-settings}'
326       - docker-login
327       - shell: !include-raw: include-docker-blessing.sh
328
329     publishers:
330       - infra-shiplogs:
331           maven-version: '{maven-version}'