d787b3831dd2c70f4eea5c25f90d2b51c1d5da84
[ci-management.git] / jjb / global-templates-python.yaml
1 ---
2 - job-template:
3     # Job template for python verify jobs
4     #
5     # The purpose of this job template is to run tox for projects using this
6     # template.
7     #
8     # Required Variables:
9     #     branch:    git branch (eg. stable/lithium or master)
10     # Optional Variables:
11     #     path:      directory containing the project's tox.ini relative to
12     #                the workspace. The default is the project root.
13     #     pattern:   ant file-path pattern relative to the workspace used to
14     #                trigger the job
15
16     name: '{project-name}-{stream}-{subproject}-verify-python'
17     path: '$WORKSPACE'
18
19     project-type: freestyle
20     concurrent: true
21     node: '{build-node}'
22
23     properties:
24       - infra-properties:
25           build-days-to-keep: '{build-days-to-keep}'
26
27     parameters:
28       - infra-parameters:
29           project: '{project}'
30           branch: '{branch}'
31           refspec: 'refs/heads/{branch}'
32           artifacts: '{archive-artifacts}'
33       - maven-exec:
34           maven-version: '{maven-version}'
35
36     scm:
37       - gerrit-trigger-scm:
38           refspec: '$GERRIT_REFSPEC'
39           choosing-strategy: 'gerrit'
40
41     wrappers:
42       - infra-wrappers:
43           build-timeout: '{build-timeout}'
44
45     triggers:
46       - gerrit-trigger-patch-submitted:
47           server: '{server-name}'
48           project: '{project}'
49           branch: '{branch}'
50           files: '{pattern}'
51
52     builders:
53       - provide-maven-settings:
54           global-settings-file: 'global-settings'
55           settings-file: '{mvn-settings}'
56       - shell: |
57           #!/bin/bash
58           virtualenv $WORKSPACE/venv-tox
59           source $WORKSPACE/venv-tox/bin/activate
60           pip install --upgrade pip
61           pip install --upgrade tox argparse
62           pip freeze
63           cd $WORKSPACE/{path}
64           tox
65
66     publishers:
67       - infra-shiplogs:
68           maven-version: '{maven-version}'
69
70 - job-template:
71     name: '{project-name}-{stream}-docker-shell-daily'
72     project-type: freestyle
73     node: 'ubuntu1604-docker-8c-8g'
74
75     properties:
76       - infra-properties:
77           build-days-to-keep: '{build-days-to-keep}'
78
79     parameters:
80       - infra-parameters:
81           project: '{project}'
82           branch: '{branch}'
83           refspec: 'refs/heads/{branch}'
84           artifacts: '{archive-artifacts}'
85       - maven-exec:
86           maven-version: '{maven-version}'
87
88     scm:
89       - gerrit-trigger-scm:
90           refspec: ''
91           choosing-strategy: 'default'
92
93     wrappers:
94       - infra-wrappers:
95           build-timeout: '{build-timeout}'
96
97     triggers:
98       # 12 AM UTC
99       - timed: 'H 12 * * *'
100       - gerrit-trigger-release-manually:
101           server: '{server-name}'
102           project: '{project}'
103           branch: '{branch}'
104
105     builders:
106
107       - provide-maven-settings:
108           global-settings-file: 'global-settings'
109           settings-file: '{mvn-settings}'
110
111       - docker-login
112
113       - shell: |
114           cp $WORKSPACE/docker/* .
115           docker -D build -t openecomp/testsuite .
116           export REPO="nexus3.onap.org:10003"
117           docker tag openecomp/testsuite:latest $REPO/openecomp/testsuite:1.0-STAGING-latest
118           docker push $REPO/openecomp/testsuite:1.0-STAGING-latest
119
120     publishers:
121       - infra-shiplogs:
122           maven-version: '{maven-version}'
123
124 - job-template:
125     name: '{project-name}-{stream}-2scm-docker-shell-daily'
126     project-type: freestyle
127     node: 'ubuntu1604-docker-8c-8g'
128
129     properties:
130       - infra-properties:
131           build-days-to-keep: '{build-days-to-keep}'
132
133     parameters:
134       - infra-parameters:
135           project: '{project}'
136           branch: '{branch}'
137           refspec: 'refs/heads/{branch}'
138           artifacts: '{archive-artifacts}'
139       - maven-exec:
140           maven-version: '{maven-version}'
141
142     scm:
143       - gerrit-trigger-scm:
144           refspec: ''
145           choosing-strategy: 'default'
146       - git-extra-project:
147           project: '{extra-project1}'
148           refspec: '{extra-refspec1}'
149           branch: '{extra-branch1}'
150           checkout-dir: '{checkout-dir1}'
151       - git-extra-project:
152           project: '{extra-project2}'
153           refspec: '{extra-refspec2}'
154           branch: '{extra-branch2}'
155           checkout-dir: '{checkout-dir2}'
156
157     wrappers:
158       - infra-wrappers:
159           build-timeout: '{build-timeout}'
160
161     triggers:
162       # 12 AM UTC
163       - timed: 'H 12 * * *'
164       - gerrit-trigger-release-manually:
165           server: '{server-name}'
166           project: '{project}'
167           branch: '{branch}'
168
169     builders:
170
171       - provide-maven-settings:
172           global-settings-file: 'global-settings'
173           settings-file: '{mvn-settings}'
174
175       - inject:
176           properties-file: version.properties
177
178       - docker-login
179
180       - shell: '{script}'
181
182     publishers:
183       - infra-shiplogs:
184           maven-version: '{maven-version}'
185
186 - job-template:
187     name: '{project-name}-{stream}-3scm-docker-shell-daily'
188     project-type: freestyle
189     node: 'ubuntu1604-docker-8c-8g'
190
191     properties:
192       - infra-properties:
193           build-days-to-keep: '{build-days-to-keep}'
194
195     parameters:
196       - infra-parameters:
197           project: '{project}'
198           branch: '{branch}'
199           refspec: 'refs/heads/{branch}'
200           artifacts: '{archive-artifacts}'
201       - maven-exec:
202           maven-version: '{maven-version}'
203
204     scm:
205       - gerrit-trigger-scm:
206           refspec: ''
207           choosing-strategy: 'default'
208       - git-extra-project:
209           project: '{extra-project1}'
210           refspec: '{extra-refspec1}'
211           branch: '{extra-branch1}'
212           checkout-dir: '{checkout-dir1}'
213       - git-extra-project:
214           project: '{extra-project2}'
215           refspec: '{extra-refspec2}'
216           branch: '{extra-branch2}'
217           checkout-dir: '{checkout-dir2}'
218       - git-extra-project:
219           project: '{extra-project3}'
220           refspec: '{extra-refspec3}'
221           branch: '{extra-branch3}'
222           checkout-dir: '{checkout-dir3}'
223
224     wrappers:
225       - infra-wrappers:
226           build-timeout: '{build-timeout}'
227
228     triggers:
229       # 12 AM UTC
230       - timed: 'H 12 * * *'
231       - gerrit-trigger-release-manually:
232           server: '{server-name}'
233           project: '{project}'
234           branch: '{branch}'
235
236     builders:
237
238       - provide-maven-settings:
239           global-settings-file: 'global-settings'
240           settings-file: '{mvn-settings}'
241
242       - inject:
243           properties-file: version.properties
244
245       - docker-login
246
247       - shell: '{script}'
248
249     publishers:
250       - infra-shiplogs:
251           maven-version: '{maven-version}'
252