Update cloud image list docs
[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     jacoco-exclude-pattern: "**/gen/**,\
102       **/generated-sources/**,\
103       **/yang-gen**,\
104       **/pax/**"
105
106     #####################
107     # Job Configuration #
108     #####################
109
110     project-type: freestyle
111     node: "{build-node}"
112     jdk: "{java-version}"
113     disabled: "{disable-job}"
114
115     properties:
116       - opendaylight-infra-properties:
117           build-days-to-keep: "{build-days-to-keep}"
118
119     parameters:
120       - opendaylight-infra-parameters:
121           os-cloud: "{os-cloud}"
122           project: "{project}"
123           branch: "{branch}"
124           refspec: "refs/heads/{branch}"
125           artifacts: "{archive-artifacts}"
126
127     scm:
128       - git-scm:
129           refspec: ""
130           branch: "{branch}"
131
132     wrappers:
133       - opendaylight-infra-wrappers:
134           build-timeout: "{build-timeout}"
135
136     triggers:
137       - reverse:
138           jobs: "{dependencies}"
139           result: "success"
140
141     builders:
142       - lf-jacoco-nojava-workaround
143       - lf-provide-maven-settings:
144           global-settings-file: "global-settings"
145           settings-file: "{mvn-settings}"
146       - maven-target:
147           maven-version: "mvn35"
148           goals: |
149             {mvn-goals}
150             {opendaylight-infra-mvn-opts}
151           java-opts:
152             - "{mvn-opts}"
153           settings: "{mvn-settings}"
154           settings-type: cfp
155           global-settings: "global-settings"
156           global-settings-type: cfp
157
158     publishers:
159       - email-notification:
160           email-recipients: "{email-recipients}"
161           email-prefix: "{email-upstream}"
162       - findbugs
163       - lf-jacoco-report:
164           exclude-pattern: "{jacoco-exclude-pattern}"
165       - lf-infra-publish
166
167 - job-template:
168     name: "{project-name}-merge-{stream}"
169
170     ######################
171     # Default parameters #
172     ######################
173     disable-job: "false"
174     jacoco-exclude-pattern: "**/gen/**,\
175       **/generated-sources/**,\
176       **/yang-gen**,\
177       **/pax/**"
178
179     archive-artifacts: >
180       **/*.log
181       **/hs_err_*.log
182       **/target/**/feature.xml
183       **/target/failsafe-reports/failsafe-summary.xml
184       **/target/surefire-reports/*-output.txt
185     cron: "0 0 * * tue,sat"
186     mvn-opts: ""
187     mvn-version: mvn35
188
189     #####################
190     # Job Configuration #
191     #####################
192
193     # Need to keep jobs that deploy to Nexus at end of build as Maven
194     # projects. Maybe reconsider this once upstream moves deploy to a
195     # separate lifecycle:
196     #     https://issues.apache.org/jira/browse/MNG-5666
197     project-type: maven
198     node: "{build-node}"
199     jdk: "{java-version}"
200     disabled: "{disable-job}"
201
202     properties:
203       - opendaylight-infra-properties:
204           build-days-to-keep: 14
205
206     parameters:
207       - opendaylight-infra-parameters:
208           os-cloud: "{os-cloud}"
209           project: "{project}"
210           branch: "{branch}"
211           refspec: "refs/heads/{branch}"
212           artifacts: "{archive-artifacts}"
213       - string:
214           name: STREAM
215           default: "{stream}"
216           description: "String representing release name"
217
218     scm:
219       - gerrit-trigger-scm:
220           refspec: ""
221           choosing-strategy: "default"
222
223     wrappers:
224       - opendaylight-infra-wrappers:
225           build-timeout: "{build-timeout}"
226
227     triggers:
228       - timed: "{obj:cron}"
229       - gerrit-trigger-patch-merged:
230           gerrit-server-name: "{gerrit-server-name}"
231           name: "{project}"
232           branch: "{branch}"
233           files: "**"
234           forbidden-files: ""
235
236     prebuilders:
237       - lf-jacoco-nojava-workaround
238       - lf-provide-maven-settings:
239           global-settings-file: "global-settings"
240           settings-file: "{mvn-settings}"
241       - lf-maven-install:
242           mvn-version: "{mvn-version}"
243
244     # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
245     maven:
246       maven-name: "{mvn-version}"
247       goals: >
248         {mvn-goals}
249         -Dmerge
250         -Dstream={stream}
251         {opendaylight-infra-mvn-opts}
252       maven-opts: "{mvn-opts}"
253       settings: "{mvn-settings}"
254       settings-type: cfp
255       global-settings: "global-settings"
256       global-settings-type: cfp
257       post-step-run-condition: UNSTABLE
258
259     reporters:
260       - findbugs
261
262     publishers:
263       - email-notification:
264           email-recipients: "{email-recipients}"
265           email-prefix: "[{project-name}]"
266       - maven-deploy:
267           id: ""
268           unique-version: true
269           deploy-unstable: false
270       - lf-jacoco-report:
271           exclude-pattern: "{jacoco-exclude-pattern}"
272       - lf-infra-publish