Merge "Add OVS 2.5.0 and hardware_vtep DB to Docker images."
[releng/builder.git] / jjb / yangtools / yangtools.yaml
1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
3 # autobuilder.
4
5 # ODL Releng build templates
6 - project:
7     name: yangtools
8     jobs:
9         - '{name}-clm-{stream}'
10         - '{name}-distribution-{stream}'
11         - '{name}-distribution-check-{stream}'
12         - '{name}-integration-{stream}'
13         - '{name}-periodic-{stream}'
14         - '{name}-validate-autorelease-{stream}'
15         - 'yangtools-merge-{stream}'
16         - 'yangtools-sonar'
17
18
19     # stream:    release stream (eg. stable-lithium or beryllium)
20     # branch:    git branch (eg. stable/lithium or master)
21     stream:
22         - boron:
23             branch: 'master'
24             jdk: openjdk8
25             jdks:
26                 - openjdk8
27             disable_autorelease: False
28             disable_distribution_check: False
29         - beryllium:
30             branch: 'stable/beryllium'
31             jdk: openjdk7
32             jdks:
33                 - openjdk7
34                 - openjdk8
35             disable_autorelease: False
36             disable_distribution_check: False
37         - stable-lithium:
38             branch: 'stable/lithium'
39             jdk: openjdk7
40             jdks:
41                 - openjdk7
42                 - openjdk8
43             disable_autorelease: True
44             disable_distribution_check: True
45
46     project: 'yangtools'
47     mvn-settings: 'yangtools-settings'
48     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
49     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
50     dependencies: 'odlparent-merge-{stream}'
51     email-upstream: '[yangtools] [odlparent]'
52
53 # For the Job templates below replace instances of:
54 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
55 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
56 # MAVEN_GOALS with your maven goals to build
57 # MAVEN_OPTS with your maven options to build
58
59 - job-template:
60     name: 'yangtools-merge-{stream}'
61
62     # Job template for ODL merge jobs
63     #
64     # The purpose of this job template is to setup a ODL merge job
65     # and deploy artifacts to Nexus.
66     #
67     # Required Variables:
68     #     stream:    release stream (eg. stable-lithium or beryllium)
69     #     branch:    git branch (eg. stable/lithium or master)
70
71     project-type: maven
72     node: dynamic_merge
73     jdk: '{jdk}'
74
75     logrotate:
76         daysToKeep: '14'
77         numToKeep: '10'
78         artifactDaysToKeep: '{build-artifact-days-to-keep}'
79         artifactNumToKeep: '{build-artifact-num-to-keep}'
80
81     parameters:
82         - opendaylight-infra-parameters:
83             project: '{project}'
84             branch: '{branch}'
85             refspec: 'refs/heads/{branch}'
86             artifacts: '{archive-artifacts}'
87
88     scm:
89         - gerrit-trigger-scm:
90             refspec: ''
91             choosing-strategy: 'default'
92
93     wrappers:
94         - opendaylight-infra-wrappers:
95             build-timeout: '{build-timeout}'
96
97     triggers:
98         - timed: 'H H * * 0'
99         - gerrit-trigger-patch-merged:
100             name: 'yangtools'
101             branch: '{branch}'
102
103     prebuilders:
104         - jacoco-nojava-workaround
105         - provide-maven-settings:
106             global-settings-file: 'odl-global-settings'
107             settings-file: 'yangtools-settings'
108
109     maven:
110         maven-name: '{mvn33}'
111         root-pom: 'pom.xml'
112         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
113         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
114         settings: 'yangtools-settings'
115         settings-type: cfp
116         global-settings: 'odl-global-settings'
117         global-settings-type: cfp
118         post-step-run-condition: UNSTABLE
119
120     postbuilders:
121         - conditional-step:
122             condition-kind: file-exists
123             condition-filename: deploy-site.xml
124             condition-basedir: workspace
125
126             # The strategy here is intentional to run Maven site:deploy twice
127             # once using regular pom.xml to produce a staged-site which is
128             # then used by deploy-site.xml to push to Nexus. This is a
129             # workaround to Maven Site's default linking code which creates
130             # incorrect URLs for sites due to auto-detection assuming your
131             # project is configured in a certain way which ODL is not.
132             steps:
133             - maven-target:
134                 maven-version: '{mvn33}'
135                 pom: pom.xml
136                 goals: 'site:deploy -V -B -Dstream={stream}'
137                 java-opts:
138                     - '-Xmx2g'
139                 settings: 'yangtools-settings'
140                 settings-type: cfp
141                 global-settings: 'odl-global-settings'
142                 global-settings-type: cfp
143             - maven-target:
144                 maven-version: '{mvn33}'
145                 pom: deploy-site.xml
146                 goals: 'site:deploy -V -B -Dstream={stream}'
147                 java-opts:
148                     - '-Xmx2g'
149                 settings: 'yangtools-settings'
150                 settings-type: cfp
151                 global-settings: 'odl-global-settings'
152                 global-settings-type: cfp
153
154     reporters:
155         - findbugs
156
157     publishers:
158         - archive-artifacts:
159             artifacts: '**/target/surefire-reports/*-output.txt, '
160         - email-notification:
161             email-prefix: '[yangtools]'
162         - maven-deploy:
163             id: ''
164             unique-version: true
165             deploy-unstable: false
166         - jacoco-report
167         - archive-build:
168             maven-version: '{mvn33}'
169
170 - job-template:
171     name: 'yangtools-sonar'
172     disabled: false
173
174     project-type: maven
175     node: dynamic_verify
176     jdk: 'openjdk8'
177
178     logrotate:
179         daysToKeep: '7'
180         numToKeep: '10'
181         artifactDaysToKeep: '1'
182         artifactNumToKeep: '1'
183
184     parameters:
185         - opendaylight-infra-parameters:
186             project: '{project}'
187             branch: '{branch}'
188             refspec: 'refs/heads/{branch}'
189             artifacts: '{archive-artifacts}'
190
191     scm:
192         - git-scm:
193             refspec: ''
194             branch: 'master'
195
196     wrappers:
197         - opendaylight-infra-wrappers:
198             build-timeout: '{build-timeout}'
199
200     triggers:
201         - timed: 'H H * * 6'
202         - gerrit-trigger-patch-sonar:
203             name: 'yangtools'
204
205     prebuilders:
206         - jacoco-nojava-workaround
207         - provide-maven-settings:
208             global-settings-file: 'odl-global-settings'
209             settings-file: 'yangtools-settings'
210
211     maven:
212         maven-name: '{mvn33}'
213         root-pom: 'pom.xml'
214         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
215         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
216         settings: 'yangtools-settings'
217         settings-type: cfp
218         global-settings: 'odl-global-settings'
219         global-settings-type: cfp
220
221     reporters:
222         - findbugs
223
224     publishers:
225         - sonar:
226             language: 'java'
227             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
228         - email-notification:
229             email-prefix: '[yangtools]'
230         - jacoco-report
231         - archive-build:
232             maven-version: '{mvn33}'
233