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