Merge "Update cloud image CentOS7 robot x86_64"
[releng/builder.git] / jjb / releng-templates-java.yaml
1 ---
2 - job-group:
3     name: odl-maven-jobs-jdk11
4
5     jobs:
6       - gerrit-maven-clm:
7           nexus-iq-namespace: odl-
8           nexus-iq-stage: release
9
10       - gerrit-maven-merge:
11           build-timeout: 180
12
13       - gerrit-maven-stage:
14           sign-artifacts: true
15           sbom-generator: true
16           cron: ""
17
18       - gerrit-maven-mri-stage:
19           sbom-generator: true
20           sign-artifacts: true
21           cron: ""
22
23     java-version: openjdk11
24     mvn-version: mvn38
25
26 - job-group:
27     name: odl-maven-jobs-jdk17
28
29     jobs:
30       - gerrit-maven-clm:
31           nexus-iq-namespace: odl-
32           nexus-iq-stage: release
33           mvn-opts: "--add-opens java.base/java.util=ALL-UNNAMED"
34
35       - gerrit-maven-merge:
36           build-timeout: 180
37
38       - gerrit-maven-stage:
39           sbom-generator: true
40           sign-artifacts: true
41           cron: ""
42
43       - gerrit-maven-mri-stage:
44           sbom-generator: true
45           sign-artifacts: true
46           cron: ""
47
48     java-version: openjdk17
49     mvn-version: mvn38
50
51 - job-group:
52     name: odl-maven-verify-jobs
53
54     jobs:
55       - gerrit-maven-verify
56       - gerrit-maven-verify-dependencies:
57           build-timeout: 180
58
59     mvn-version: mvn38
60
61 - job-group:
62     name: odl-maven-verify-jobs-jdk17
63
64     jobs:
65       - gerrit-maven-verify
66       - gerrit-maven-verify-dependencies:
67           build-timeout: 180
68
69     java-version: openjdk17
70     mvn-version: mvn38
71
72 - job-group:
73     name: odl-sonar-jobs-jdk17
74
75     jobs:
76       - gerrit-maven-sonar
77
78     java-version: openjdk17
79     mvn-version: mvn38
80     sonarcloud: true
81     sonarcloud-java-version: openjdk17
82     sonarcloud-project-organization: "{sonarcloud_project_organization}"
83     sonarcloud-api-token: "{sonarcloud_api_token}"
84     sonarcloud-project-key: "{sonarcloud_project_organization}_{project-name}"
85
86 - job-template:
87     name: "{project-name}-integration-{stream}"
88
89     ######################
90     # Default parameters #
91     ######################
92
93     archive-artifacts: >
94       **/*.log
95       **/hs_err_*.log
96       **/target/**/feature.xml
97       **/target/failsafe-reports/failsafe-summary.xml
98       **/target/surefire-reports/*-output.txt
99     mvn-goals: clean install
100     disable-job: false
101
102     #####################
103     # Job Configuration #
104     #####################
105
106     project-type: freestyle
107     node: "{build-node}"
108     jdk: "{java-version}"
109     disabled: "{disable-job}"
110
111     properties:
112       - opendaylight-infra-properties:
113           build-days-to-keep: "{build-days-to-keep}"
114
115     parameters:
116       - opendaylight-infra-parameters:
117           os-cloud: "{os-cloud}"
118           project: "{project}"
119           branch: "{branch}"
120           refspec: "refs/heads/{branch}"
121           artifacts: "{archive-artifacts}"
122
123     scm:
124       - git-scm:
125           refspec: ""
126           branch: "{branch}"
127
128     wrappers:
129       - opendaylight-infra-wrappers:
130           build-timeout: "{build-timeout}"
131
132     triggers:
133       - reverse:
134           jobs: "{dependencies}"
135           result: "success"
136
137     builders:
138       - lf-jacoco-nojava-workaround
139       - lf-provide-maven-settings:
140           global-settings-file: "global-settings"
141           settings-file: "{mvn-settings}"
142       - maven-target:
143           maven-version: "mvn35"
144           goals: |
145             {mvn-goals}
146             {opendaylight-infra-mvn-opts}
147           java-opts:
148             - "{mvn-opts}"
149           settings: "{mvn-settings}"
150           settings-type: cfp
151           global-settings: "global-settings"
152           global-settings-type: cfp
153
154     publishers:
155       - email-notification:
156           email-recipients: "{email-recipients}"
157           email-prefix: "{email-upstream}"
158       - findbugs
159       - lf-jacoco-report
160       - lf-infra-publish
161
162 - job-template:
163     name: "{project-name}-merge-{stream}"
164
165     ######################
166     # Default parameters #
167     ######################
168     disable-job: "false"
169
170     archive-artifacts: >
171       **/*.log
172       **/hs_err_*.log
173       **/target/**/feature.xml
174       **/target/failsafe-reports/failsafe-summary.xml
175       **/target/surefire-reports/*-output.txt
176     cron: "0 0 * * tue,sat"
177     mvn-opts: ""
178     mvn-version: mvn35
179
180     #####################
181     # Job Configuration #
182     #####################
183
184     # Need to keep jobs that deploy to Nexus at end of build as Maven
185     # projects. Maybe reconsider this once upstream moves deploy to a
186     # separate lifecycle:
187     #     https://issues.apache.org/jira/browse/MNG-5666
188     project-type: maven
189     node: "{build-node}"
190     jdk: "{java-version}"
191     disabled: "{disable-job}"
192
193     properties:
194       - opendaylight-infra-properties:
195           build-days-to-keep: 14
196
197     parameters:
198       - opendaylight-infra-parameters:
199           os-cloud: "{os-cloud}"
200           project: "{project}"
201           branch: "{branch}"
202           refspec: "refs/heads/{branch}"
203           artifacts: "{archive-artifacts}"
204       - string:
205           name: STREAM
206           default: "{stream}"
207           description: "String representing release name"
208
209     scm:
210       - gerrit-trigger-scm:
211           refspec: ""
212           choosing-strategy: "default"
213
214     wrappers:
215       - opendaylight-infra-wrappers:
216           build-timeout: "{build-timeout}"
217
218     triggers:
219       - timed: "{obj:cron}"
220       - gerrit-trigger-patch-merged:
221           gerrit-server-name: "{gerrit-server-name}"
222           name: "{project}"
223           branch: "{branch}"
224           files: "**"
225           forbidden-files: ""
226
227     prebuilders:
228       - lf-jacoco-nojava-workaround
229       - lf-provide-maven-settings:
230           global-settings-file: "global-settings"
231           settings-file: "{mvn-settings}"
232       - lf-maven-install:
233           mvn-version: "{mvn-version}"
234
235     # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
236     maven:
237       maven-name: "{mvn-version}"
238       goals: >
239         {mvn-goals}
240         -Dmerge
241         -Dstream={stream}
242         {opendaylight-infra-mvn-opts}
243       maven-opts: "{mvn-opts}"
244       settings: "{mvn-settings}"
245       settings-type: cfp
246       global-settings: "global-settings"
247       global-settings-type: cfp
248       post-step-run-condition: UNSTABLE
249
250     reporters:
251       - findbugs
252
253     publishers:
254       - email-notification:
255           email-recipients: "{email-recipients}"
256           email-prefix: "[{project-name}]"
257       - maven-deploy:
258           id: ""
259           unique-version: true
260           deploy-unstable: false
261       - lf-jacoco-report
262       - lf-infra-publish