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