yaml file for bundle-based-reconciliaion script
[releng/builder.git] / jjb / releng-templates-java.yaml
1 ---
2 - job-group:
3     name: odl-maven-jobs
4
5     jobs:
6       - gerrit-maven-clm
7
8       # TODO: Figure out what's wrong with the gerrit-maven-merge job.
9       # - gerrit-maven-merge:
10       #     post_build_trigger:
11       #       - project:
12       #           - 'distribution-merge-{stream}'
13       #         condition: SUCCESS
14       #         trigger-with-no-params: true
15       - '{project-name}-merge-{stream}':
16           build-timeout: 180
17           mvn-goals: clean install -V -Dmaven.compile.fork=true -Dintegrationtests -Dvtn.build.jobs=2
18
19       - gerrit-maven-release
20       - gerrit-maven-verify
21       - gerrit-maven-verify-dependencies:
22           build-timeout: 180
23
24 - job-template:
25     name: '{project-name}-integration-{stream}'
26
27     ######################
28     # Default parameters #
29     ######################
30
31     archive-artifacts: >
32       **/*.log
33       **/hs_err_*.log
34       **/target/**/feature.xml
35       **/target/failsafe-reports/failsafe-summary.xml
36       **/target/surefire-reports/*-output.txt
37     mvn-goals: clean install
38
39     #####################
40     # Job Configuration #
41     #####################
42
43     project-type: freestyle
44     node: '{build-node}'
45     jdk: '{java-version}'
46
47     properties:
48       - opendaylight-infra-properties:
49           build-days-to-keep: '{build-days-to-keep}'
50
51     parameters:
52       - opendaylight-infra-parameters:
53           os-cloud: '{os-cloud}'
54           project: '{project}'
55           branch: '{branch}'
56           refspec: 'refs/heads/{branch}'
57           artifacts: '{archive-artifacts}'
58
59     scm:
60       - git-scm:
61           refspec: ''
62           branch: '{branch}'
63
64     wrappers:
65       - opendaylight-infra-wrappers:
66           build-timeout: '{build-timeout}'
67
68     triggers:
69       - reverse:
70           jobs: '{dependencies}'
71           result: 'success'
72
73     builders:
74       - jacoco-nojava-workaround
75       - provide-maven-settings:
76           global-settings-file: 'global-settings'
77           settings-file: '{mvn-settings}'
78       - maven-target:
79           maven-version: 'mvn33'
80           goals: |
81               {mvn-goals}
82               {opendaylight-infra-mvn-opts}
83           java-opts:
84             - '{mvn-opts}'
85           settings: '{mvn-settings}'
86           settings-type: cfp
87           global-settings: 'global-settings'
88           global-settings-type: cfp
89
90     publishers:
91       - email-notification:
92           email-recipients: '{email-recipients}'
93           email-prefix: '{email-upstream}'
94       - findbugs
95       - lf-jacoco-report
96       - lf-infra-publish
97
98 - job-template:
99     name: '{project-name}-merge-{stream}'
100
101     ######################
102     # Default parameters #
103     ######################
104
105     archive-artifacts: >
106       **/*.log
107       **/hs_err_*.log
108       **/target/**/feature.xml
109       **/target/failsafe-reports/failsafe-summary.xml
110       **/target/surefire-reports/*-output.txt
111     mvn-opts: ''
112     mvn-version: mvn33
113     java-version: openjdk8
114
115     #####################
116     # Job Configuration #
117     #####################
118
119     # Need to keep jobs that deploy to Nexus at end of build as Maven
120     # projects. Maybe reconsider this once upstream moves deploy to a
121     # separate lifecycle:
122     #     https://issues.apache.org/jira/browse/MNG-5666
123     project-type: maven
124     node: '{build-node}'
125     jdk: '{java-version}'
126
127     properties:
128       - opendaylight-infra-properties:
129           build-days-to-keep: 14
130
131     parameters:
132       - opendaylight-infra-parameters:
133           os-cloud: '{os-cloud}'
134           project: '{project}'
135           branch: '{branch}'
136           refspec: 'refs/heads/{branch}'
137           artifacts: '{archive-artifacts}'
138       - string:
139           name: STREAM
140           default: '{stream}'
141           description: "String representing release name"
142
143     scm:
144       - gerrit-trigger-scm:
145           refspec: ''
146           choosing-strategy: 'default'
147
148     wrappers:
149       - opendaylight-infra-wrappers:
150           build-timeout: '{build-timeout}'
151
152     triggers:
153       - timed: 'H H * * 0'
154       - gerrit-trigger-patch-merged:
155           gerrit-server-name: '{gerrit-server-name}'
156           name: '{project}'
157           branch: '{branch}'
158
159     prebuilders:
160       - jacoco-nojava-workaround
161       - provide-maven-settings:
162           global-settings-file: 'global-settings'
163           settings-file: '{mvn-settings}'
164       - lf-maven-install:
165           mvn-version: '{mvn-version}'
166
167     # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
168     maven:
169       maven-name: '{mvn-version}'
170       goals: >
171           {mvn-goals}
172           -Dmerge
173           -Dstream={stream}
174           {opendaylight-infra-mvn-opts}
175       maven-opts: '{mvn-opts}'
176       settings: '{mvn-settings}'
177       settings-type: cfp
178       global-settings: 'global-settings'
179       global-settings-type: cfp
180       post-step-run-condition: UNSTABLE
181
182     reporters:
183       - findbugs
184
185     publishers:
186       - email-notification:
187           email-recipients: '{email-recipients}'
188           email-prefix: '[{project-name}]'
189       - maven-deploy:
190           id: ''
191           unique-version: true
192           deploy-unstable: false
193       - lf-jacoco-report
194       - lf-infra-publish
195       - trigger:
196           project: 'distribution-merge-{stream}'
197           threshold: SUCCESS