Update automated project templates
[releng/builder.git] / jjb / netvirt / netvirt.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: netvirt
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         - 'netvirt-verify-{stream}'
16         - 'netvirt-merge-{stream}'
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
38     project: 'netvirt'
39     mvn-settings: 'netvirt-settings'
40     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
41     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
42     dependencies: 'controller-merge-{stream},neutron-merge-{stream},odlparent-merge-{stream},openflowjava-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},sfc-merge-{stream},yangtools-merge-{stream}'
43     email-upstream: '[netvirt] [controller] [neutron] [odlparent] [openflowjava] [openflowplugin] [ovsdb] [sfc] [yangtools]'
44
45 # For the Job templates below replace instances of:
46 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
47 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
48 # MAVEN_GOALS with your maven goals to build
49 # MAVEN_OPTS with your maven options to build
50
51 - job-template:
52     name: 'netvirt-verify-{stream}'
53
54     # Job template for ODL verify jobs
55     #
56     # The purpose of this job template is to setup a ODL verify job
57     #
58     # Required Variables:
59     #     stream:    release stream (eg. stable-lithium or beryllium)
60     #     branch:    git branch (eg. stable/lithium or master)
61
62     project-type: matrix
63     node: matrix_master
64     concurrent: true
65
66     axes:
67         - axis:
68             type: slave
69             name: nodes
70             values:
71                 - dynamic_verify
72         - axis:
73             type: jdk
74             values: '{obj:jdks}'
75
76     logrotate:
77         daysToKeep: '14'
78
79     parameters:
80         - project-parameter:
81             project: '{project}'
82         - gerrit-parameters:
83             project: '{project}'
84             branch: '{branch}'
85             refspec: 'refs/heads/{branch}'
86
87     scm:
88         - gerrit-trigger-scm:
89             refspec: '$GERRIT_REFSPEC'
90             choosing-strategy: 'gerrit'
91
92     wrappers:
93         - opendaylight-infra-wrappers:
94             build-timeout: '{build-timeout}'
95
96     triggers:
97         - gerrit-trigger-patch-submitted:
98             name: 'netvirt'
99             branch: '{branch}'
100
101     builders:
102         - jacoco-nojava-workaround
103         - provide-maven-settings:
104             global-settings-file: 'odl-global-settings'
105             settings-file: 'netvirt-settings'
106         - maven-target:
107             maven-version: '{mvn33}'
108             pom: 'pom.xml'
109             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dstream={stream}'
110             java-opts:
111                 - '-Xmx1024m -XX:MaxPermSize=256m'
112             settings: 'netvirt-settings'
113             settings-type: cfp
114             global-settings: 'odl-global-settings'
115             global-settings-type: cfp
116
117     publishers:
118         - archive-artifacts:
119             artifacts: '**/target/surefire-reports/*-output.txt, '
120         - findbugs
121         - email-notification:
122             email-prefix: '[netvirt]'
123         - jacoco-report
124         - archive-build:
125             maven-version: '{mvn33}'
126
127 - job-template:
128     name: 'netvirt-merge-{stream}'
129
130     # Job template for ODL merge jobs
131     #
132     # The purpose of this job template is to setup a ODL merge job
133     # and deploy artifacts to Nexus.
134     #
135     # Required Variables:
136     #     stream:    release stream (eg. stable-lithium or beryllium)
137     #     branch:    git branch (eg. stable/lithium or master)
138
139     project-type: maven
140     node: dynamic_merge
141     jdk: '{jdk}'
142
143     logrotate:
144         daysToKeep: '14'
145         numToKeep: '10'
146         artifactDaysToKeep: '{build-artifact-days-to-keep}'
147         artifactNumToKeep: '{build-artifact-num-to-keep}'
148
149     parameters:
150         - project-parameter:
151             project: '{project}'
152         - gerrit-parameters:
153             project: '{project}'
154             branch: '{branch}'
155             refspec: 'refs/heads/{branch}'
156
157     scm:
158         - gerrit-trigger-scm:
159             refspec: ''
160             choosing-strategy: 'default'
161
162     wrappers:
163         - opendaylight-infra-wrappers:
164             build-timeout: '{build-timeout}'
165
166     triggers:
167         - timed: 'H H * * 0'
168         - gerrit-trigger-patch-merged:
169             name: 'netvirt'
170             branch: '{branch}'
171
172     prebuilders:
173         - jacoco-nojava-workaround
174         - provide-maven-settings:
175             global-settings-file: 'odl-global-settings'
176             settings-file: 'netvirt-settings'
177
178     maven:
179         maven-name: '{mvn33}'
180         root-pom: 'pom.xml'
181         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
182         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
183         settings: 'netvirt-settings'
184         settings-type: cfp
185         global-settings: 'odl-global-settings'
186         global-settings-type: cfp
187         post-step-run-condition: UNSTABLE
188
189     postbuilders:
190         - conditional-step:
191             condition-kind: file-exists
192             condition-filename: deploy-site.xml
193             condition-basedir: workspace
194
195             # The strategy here is intentional to run Maven site:deploy twice
196             # once using regular pom.xml to produce a staged-site which is
197             # then used by deploy-site.xml to push to Nexus. This is a
198             # workaround to Maven Site's default linking code which creates
199             # incorrect URLs for sites due to auto-detection assuming your
200             # project is configured in a certain way which ODL is not.
201             steps:
202             - maven-target:
203                 maven-version: '{mvn33}'
204                 pom: pom.xml
205                 goals: 'site:deploy -V -B -Dstream={stream}'
206                 java-opts:
207                     - '-Xmx2g'
208                 settings: 'netvirt-settings'
209                 settings-type: cfp
210                 global-settings: 'odl-global-settings'
211                 global-settings-type: cfp
212             - maven-target:
213                 maven-version: '{mvn33}'
214                 pom: deploy-site.xml
215                 goals: 'site:deploy -V -B -Dstream={stream}'
216                 java-opts:
217                     - '-Xmx2g'
218                 settings: 'netvirt-settings'
219                 settings-type: cfp
220                 global-settings: 'odl-global-settings'
221                 global-settings-type: cfp
222
223     reporters:
224         - findbugs
225
226     publishers:
227         - archive-artifacts:
228             artifacts: '**/target/surefire-reports/*-output.txt, '
229         - email-notification:
230             email-prefix: '[netvirt]'
231         - maven-deploy:
232             id: ''
233             unique-version: true
234             deploy-unstable: false
235         - jacoco-report
236         - archive-build:
237             maven-version: '{mvn33}'
238