Merge "Enable jjb-verify check of build node labels"
[ci-management.git] / jjb / global-templates-script.yaml
1 ---
2 # vim: sw=2 ts=2 sts=2 et :
3
4 - job-template:
5     #
6     # job template for verifying gerrit changeset by shell script
7     #
8     # Required Variables:
9     #   project-name:   name of project
10     #   area:           area of project covered with this verification job
11     #   project:        name of scm repository to work on
12     #   stream:         name of stream used (set the same as branch if you're not sure)
13     #   branch:         git branch to work on
14     #   script:         build script to execute
15     # Optional Variables:
16     #   pattern:          trigger job only if modification covered file in pattern
17     #   build-node:     label(flavor) of jenkins slave
18     name: '{project-name}-{stream}-{area}-verify-shell'
19     node: '{build-node}'
20     type: freestyle
21     concurrent: true
22
23     pattern: '**'
24
25     parameters:
26       - lf-infra-parameters:
27           branch: '{branch}'
28           project: '{project}'
29           stream: '{stream}'
30           lftools-version: '{lftools-version}'
31
32     scm:
33       - gerrit-trigger-scm:
34           refspec: '$GERRIT_REFSPEC'
35           submodule-recursive: '{submodule-recursive}'
36           choosing-strategy: 'gerrit'
37
38     triggers:
39       - gerrit-trigger-patch-submitted:
40           server: '{server-name}'
41           project: '{project}'
42           branch: '{branch}'
43           files: '{pattern}'
44
45     wrappers:
46       - infra-wrappers:
47           build-timeout: '{build-timeout}'
48
49     builders:
50       - shell: '{script}'
51
52     publishers:
53       - lf-infra-publish
54
55 - job-template:
56     # Job template for 2 scm and script trigger
57     #
58     # Required Variables:
59     #   branch:         git branch
60     #   build-node:     what build node to run on
61     #   script:         build script to execute
62     #   extra-project:  extra gerrit project to checkout
63     #   extra-refspec:  refspec for the extra project
64     #   extra-branch:   branch to checkout for the extra project
65     #   checkout-dir:   directory to checkout the extra project to
66     #                     DO NOT SET THIS TO anything that translates to
67     #                     $WORKSPACE as it will destroy the initial
68     #                     project checkout
69
70     name: '{project-name}-{stream}-two-scm-verify-script'
71
72     project-type: freestyle
73     concurrent: true
74     node: '{build-node}'
75
76     properties:
77       - infra-properties:
78           build-days-to-keep: '{build-days-to-keep}'
79
80     parameters:
81       - infra-parameters:
82           project: '{project}'
83           branch: '{branch}'
84           refspec: 'refs/heads/{branch}'
85           artifacts: '{archive-artifacts}'
86       - maven-exec:
87           maven-version: '{maven-version}'
88
89     scm:
90       - gerrit-trigger-scm:
91           refspec: '$GERRIT_REFSPEC'
92           choosing-strategy: 'gerrit'
93           submodule-recursive: '{submodule-recursive}'
94       - git-extra-project:
95           project: '{extra-project}'
96           refspec: '{extra-refspec}'
97           branch: '{extra-branch}'
98           checkout-dir: '{checkout-dir}'
99
100     wrappers:
101       - infra-wrappers:
102           build-timeout: '{build-timeout}'
103
104     triggers:
105       - gerrit-trigger-patch-submitted:
106           server: '{server-name}'
107           project: '{project}'
108           branch: '{branch}'
109           files: '**'
110
111     builders:
112       - lf-infra-pre-build
113       - provide-maven-settings:
114           global-settings-file: 'global-settings'
115           settings-file: '{mvn-settings}'
116       # make sure maven gets installed / setup
117       - maven-target:
118           maven-version: '{maven-version}'
119           goals: '--version'
120           settings: '{mvn-settings}'
121           settings-type: cfp
122           global-settings: 'global-settings'
123           global-settings-type: cfp
124       - shell: '{script}'
125
126     publishers:
127       - infra-shiplogs:
128           maven-version: '{maven-version}'
129
130
131
132 # vim: sw=2 ts=2 sts=2 et :
133
134 - job-template:
135     # Job template for two scm and script trigger - for docker merge
136     #
137     # Required Variables:
138     #   branch:         git branch
139     #   build-node:     what build node to run on
140     #   script:         build script to execute
141
142     name: '{project-name}-{stream}-two-scm-merge-docker-script'
143
144     project-type: freestyle
145     concurrent: true
146     node: '{build-node}'
147
148     properties:
149       - infra-properties:
150           build-days-to-keep: '{build-days-to-keep}'
151
152     parameters:
153       - infra-parameters:
154           project: '{project}'
155           branch: '{branch}'
156           refspec: 'refs/heads/{branch}'
157           artifacts: '{archive-artifacts}'
158       - maven-exec:
159           maven-version: '{maven-version}'
160
161     scm:
162       - gerrit-trigger-scm:
163           refspec: ''
164           choosing-strategy: 'default'
165           submodule-recursive: '{submodule-recursive}'
166       - git-extra-project:
167           project: '{extra-project}'
168           refspec: '{extra-refspec}'
169           branch: '{extra-branch}'
170           checkout-dir: '{checkout-dir}'
171
172     wrappers:
173       - infra-wrappers:
174           build-timeout: '{build-timeout}'
175
176     triggers:
177       - gerrit-trigger-patch-merged:
178           server: '{server-name}'
179           project: '{project}'
180           branch: '{branch}'
181           files: '**'
182
183     builders:
184       - lf-infra-pre-build
185       - provide-maven-settings:
186           global-settings-file: 'global-settings'
187           settings-file: '{mvn-settings}'
188       - docker-login
189       # make sure maven gets installed / setup
190       - maven-target:
191           maven-version: '{maven-version}'
192           goals: '--version'
193           settings: '{mvn-settings}'
194           settings-type: cfp
195           global-settings: 'global-settings'
196           global-settings-type: cfp
197       - shell: '{script}'
198
199     publishers:
200       - infra-shiplogs:
201           maven-version: '{maven-version}'
202
203 - job-template:
204     # Job template for two scm and script trigger - for docker daily release
205     #
206     # Required Variables:
207     #   branch:         git branch
208     #   build-node:     what build node to run on
209     #   script:         build script to execute
210
211     name: '{project-name}-{stream}-two-scm-release-docker-script-manual'
212
213     project-type: freestyle
214     concurrent: true
215     node: '{build-node}'
216
217     properties:
218       - infra-properties:
219           build-days-to-keep: '{build-days-to-keep}'
220
221     parameters:
222       - infra-parameters:
223           project: '{project}'
224           branch: '{branch}'
225           refspec: 'refs/heads/{branch}'
226           artifacts: '{archive-artifacts}'
227       - maven-exec:
228           maven-version: '{maven-version}'
229
230     scm:
231       - gerrit-trigger-scm:
232           refspec: ''
233           choosing-strategy: 'default'
234           submodule-recursive: '{submodule-recursive}'
235       - git-extra-project:
236           project: '{extra-project}'
237           refspec: '{extra-refspec}'
238           branch: '{extra-branch}'
239           checkout-dir: '{checkout-dir}'
240
241     wrappers:
242       - infra-wrappers:
243           build-timeout: '{build-timeout}'
244
245     triggers:
246       - gerrit-trigger-release-manually:
247           server: '{server-name}'
248           project: '{project}'
249           branch: '{branch}'
250
251     builders:
252       - lf-infra-pre-build
253       - provide-maven-settings:
254           global-settings-file: 'global-settings'
255           settings-file: '{mvn-settings}'
256       - docker-login
257       # make sure maven gets installed / setup
258       - maven-target:
259           maven-version: '{maven-version}'
260           goals: '--version'
261           settings: '{mvn-settings}'
262           settings-type: cfp
263           global-settings: 'global-settings'
264           global-settings-type: cfp
265       - shell: '{script}'
266
267     publishers:
268       - infra-shiplogs:
269           maven-version: '{maven-version}'