Merge "new project-csit for policy"
[ci-management.git] / jjb / integration / integration-templates-csit.yaml
1 ---
2 - job-template:
3     name: '{project-name}-{stream}-verify-csit-{functionality}'
4     disabled: '{disabled}'
5
6     project-type: freestyle
7     build-node: 'ubuntu1804-docker-8c-8g'
8     node: '{build-node}'
9     recipients: ''
10     java-version: 'openjdk11'
11     python-version: python3
12
13     properties:
14       - lf-infra-properties:
15           project: 'integration/csit'
16           build-days-to-keep: '{build-days-to-keep}'
17
18     parameters:
19       - infra-parameters:
20           project: 'integration/csit'
21           branch: '{branch}'
22           refspec: 'refs/heads/{branch}'
23           artifacts: '{archive-artifacts}'
24       - integration-test-plan:
25           test-plan: 'plans/{project-name}/{functionality}'
26       - integration-test-options:
27           test-options: '{robot-options}'
28
29     scm:
30       - gerrit-trigger-scm:
31           refspec: '$GERRIT_REFSPEC'
32           choosing-strategy: 'gerrit'
33           submodule-recursive: '{submodule-recursive}'
34
35     wrappers:
36       - lf-infra-wrappers:
37           build-timeout: '{build-timeout}'
38           jenkins-ssh-credential: '{jenkins-ssh-credential}'
39
40     triggers:
41       - gerrit-trigger-patch-submitted:
42           server: '{server-name}'
43           project: 'integration/csit'
44           branch: '{branch}'
45           files: '**/{project-name}/**'
46
47     builders:
48       - lf-update-java-alternatives:
49           java-version: '{java-version}'
50       - integration-install-robotframework
51       - inject:
52           properties-file: 'env.properties'
53       - integration-run-test
54
55     publishers:
56       - integration-robot:
57           unstable-if: 0.0
58           pass-if: 100.0
59       - lf-infra-publish
60       - email:
61           recipients: '{recipients}'
62           notify-every-unstable-build: false
63           send-to-individuals: true
64
65 - job-template:
66     name: '{project-name}-{stream}-csit-{functionality}'
67     disabled: '{disabled}'
68
69     project-type: freestyle
70     build-node: 'ubuntu1804-docker-8c-8g'
71     node: '{build-node}'
72     recipients: ''
73     java-version: 'openjdk11'
74     python-version: python3
75
76     properties:
77       - lf-infra-properties:
78           project: 'integration/csit'
79           build-days-to-keep: '{build-days-to-keep}'
80
81     parameters:
82       - infra-parameters:
83           project: 'integration/csit'
84           branch: '{branch}'
85           refspec: 'refs/heads/{branch}'
86           artifacts: '{archive-artifacts}'
87       - integration-test-plan:
88           test-plan: 'plans/{project-name}/{functionality}'
89       - integration-test-options:
90           test-options: '{robot-options}'
91
92     scm:
93       - gerrit-trigger-scm:
94           refspec: ''
95           choosing-strategy: 'default'
96           submodule-recursive: '{submodule-recursive}'
97
98     wrappers:
99       - lf-infra-wrappers:
100           build-timeout: '{build-timeout}'
101           jenkins-ssh-credential: '{jenkins-ssh-credential}'
102
103     triggers:
104       - gerrit-trigger-patch-merged:
105           server: '{server-name}'
106           project: 'integration/csit'
107           branch: '{branch}'
108           files: '**/{project-name}/**'
109       - timed: '@daily'
110       - reverse:
111           jobs: '{obj:trigger_jobs}'
112
113     builders:
114       - lf-infra-pre-build
115       - lf-update-java-alternatives:
116           java-version: '{java-version}'
117       - integration-install-robotframework
118       - inject:
119           properties-file: 'env.properties'
120       - integration-run-test
121
122     publishers:
123       - integration-robot:
124           unstable-if: 0.0
125           pass-if: 100.0
126       - lf-infra-publish
127       - email:
128           recipients: '{recipients}'
129           notify-every-unstable-build: false
130           send-to-individuals: true
131
132 - verification_maven_job_boiler_plate: &verification_maven_job_boiler_plate
133     name: verification_maven_job_boiler_plate
134
135     ######################
136     # Default parameters #
137     ######################
138
139     branch: master
140     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
141     build-node: ubuntu1804-docker-8c-8g
142     build-timeout: 60
143     container-public-registry: 'nexus3.onap.org:10001'
144     git-url: "$GIT_URL/$PROJECT"
145     github-url: "https://github.com"
146     maven-versions-plugin: false
147     version-properties-file: version.properties
148     mvn-central: false
149     mvn-global-settings: global-settings
150     mvn-goals: clean deploy
151     mvn-opts: ""
152     mvn-pom: ""
153     mvn-version: mvn36
154     stream: master
155     submodule-recursive: true
156     submodule-timeout: 10
157     submodule-disable: false
158
159     disabled: '{disabled}'
160     archive-artifacts: >
161       **/*.log
162       **/hs_err_*.log
163       **/target/**/feature.xml
164       **/target/failsafe-reports/failsafe-summary.xml
165       **/target/surefire-reports/*-output.txt
166
167     project-type: freestyle
168     node: '{build-node}'
169     java-version: 'openjdk11'
170
171     #####################
172     # Job Configuration #
173     #####################
174
175     properties:
176       - lf-infra-properties:
177           project: '{project}'
178           build-days-to-keep: '{build-days-to-keep}'
179     parameters:
180       - infra-parameters:
181           project: '{project}'
182           branch: '{branch}'
183           refspec: 'refs/heads/{branch}'
184           artifacts: '{archive-artifacts}'
185       - lf-infra-maven-parameters:
186           mvn-opts: "{mvn-opts}"
187           mvn-params: "{mvn-params}"
188           mvn-version: "{mvn-version}"
189       - string:
190           name: ARCHIVE_ARTIFACTS
191           default: "{archive-artifacts}"
192           description: Artifacts to archive to the logs server.
193       - integration-test-options:
194           test-options: '{robot-options}'
195     wrappers:
196       - lf-infra-wrappers:
197           build-timeout: '{build-timeout}'
198           jenkins-ssh-credential: '{jenkins-ssh-credential}'
199     builders:
200       - lf-infra-pre-build
201       - lf-jacoco-nojava-workaround
202       - lf-maven-install:
203           mvn-version: "{mvn-version}"
204       - lf-update-java-alternatives:
205           java-version: "{java-version}"
206       - lf-infra-docker-login:
207           global-settings-file: "{mvn-global-settings}"
208           settings-file: "{mvn-settings}"
209       # must provide maven settings AFTER docker-login due to its cleanup
210       - lf-provide-maven-settings:
211           global-settings-file: "{mvn-global-settings}"
212           settings-file: "{mvn-settings}"
213       - lf-maven-versions-plugin:
214           maven-versions-plugin: "{maven-versions-plugin}"
215           version-properties-file: "{version-properties-file}"
216           mvn-version: "{mvn-version}"
217           mvn-pom: "{mvn-pom}"
218           mvn-settings: "{mvn-settings}"
219       - inject:
220           properties-content: |
221             CONTAINER_PULL_REGISTRY={container-public-registry}
222       - lf-maven-build:
223           mvn-goals: "{mvn-goals}"
224       - integration-install-robotframework
225       - inject:
226           properties-file: 'env.properties'
227       - integration-run-project-test
228       - lf-provide-maven-settings-cleanup
229     publishers:
230       - lf-infra-publish
231
232 - job-template:
233     # Job template for unified review verification jobs in
234     # project-specific CSIT flow for projects built with maven
235     #
236     # The purpose of this job template is to:
237     #  1. build local snapshot docker images with maven
238     #  2. run CSIT job with the local images
239     #  3. give a verify vote to the triggering review
240     #
241
242     name: '{project-name}-review-verification-maven-{stream}'
243
244     <<: *verification_maven_job_boiler_plate
245
246     scm:
247       - gerrit-trigger-scm:
248           refspec: '$GERRIT_REFSPEC'
249           choosing-strategy: 'gerrit'
250           submodule-recursive: '{submodule-recursive}'
251     triggers:
252       - gerrit-trigger-patch-submitted:
253           server: '{server-name}'
254           project: '{project}'
255           branch: '{branch}'
256           files: '**'
257
258 - job-template:
259     # Job template for unified merge verification jobs in
260     # project-specific CSIT flow for projects built with maven
261     #
262     # The purpose of this job template is to:
263     #  1. build local snapshot docker images from master with maven
264     #  2. run CSIT job with the local images
265     #
266
267     name: '{project-name}-merge-verification-maven-{stream}'
268
269     <<: *verification_maven_job_boiler_plate
270
271     scm:
272       - gerrit-trigger-scm:
273           refspec: ''
274           choosing-strategy: 'default'
275           submodule-recursive: '{submodule-recursive}'
276     triggers:
277       - gerrit-trigger-patch-merged:
278           server: '{server-name}'
279           project: '{project}'
280           branch: '{branch}'
281           files: '**'