Merge "Migrate docs-rtd to archive-builds macro"
[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         - opendaylight-infra-parameters:
81             project: '{project}'
82             branch: '{branch}'
83             refspec: 'refs/heads/{branch}'
84             artifacts: '{archive-artifacts}'
85
86     scm:
87         - gerrit-trigger-scm:
88             refspec: '$GERRIT_REFSPEC'
89             choosing-strategy: 'gerrit'
90
91     wrappers:
92         - opendaylight-infra-wrappers:
93             build-timeout: '{build-timeout}'
94
95     triggers:
96         - gerrit-trigger-patch-submitted:
97             name: 'netvirt'
98             branch: '{branch}'
99
100     builders:
101         - jacoco-nojava-workaround
102         - provide-maven-settings:
103             global-settings-file: 'odl-global-settings'
104             settings-file: 'netvirt-settings'
105         - maven-target:
106             maven-version: '{mvn33}'
107             pom: 'pom.xml'
108             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dstream={stream}'
109             java-opts:
110                 - '-Xmx1024m -XX:MaxPermSize=256m'
111             settings: 'netvirt-settings'
112             settings-type: cfp
113             global-settings: 'odl-global-settings'
114             global-settings-type: cfp
115
116     publishers:
117         - archive-artifacts:
118             artifacts: '**/target/surefire-reports/*-output.txt, '
119         - findbugs
120         - email-notification:
121             email-prefix: '[netvirt]'
122         - jacoco-report
123         - archive-build:
124             maven-version: '{mvn33}'
125
126 - job-template:
127     name: 'netvirt-merge-{stream}'
128
129     # Job template for ODL merge jobs
130     #
131     # The purpose of this job template is to setup a ODL merge job
132     # and deploy artifacts to Nexus.
133     #
134     # Required Variables:
135     #     stream:    release stream (eg. stable-lithium or beryllium)
136     #     branch:    git branch (eg. stable/lithium or master)
137
138     project-type: maven
139     node: dynamic_merge
140     jdk: '{jdk}'
141
142     logrotate:
143         daysToKeep: '14'
144         numToKeep: '10'
145         artifactDaysToKeep: '{build-artifact-days-to-keep}'
146         artifactNumToKeep: '{build-artifact-num-to-keep}'
147
148     parameters:
149         - opendaylight-infra-parameters:
150             project: '{project}'
151             branch: '{branch}'
152             refspec: 'refs/heads/{branch}'
153             artifacts: '{archive-artifacts}'
154
155     scm:
156         - gerrit-trigger-scm:
157             refspec: ''
158             choosing-strategy: 'default'
159
160     wrappers:
161         - opendaylight-infra-wrappers:
162             build-timeout: '{build-timeout}'
163
164     triggers:
165         - timed: 'H H * * 0'
166         - gerrit-trigger-patch-merged:
167             name: 'netvirt'
168             branch: '{branch}'
169
170     prebuilders:
171         - jacoco-nojava-workaround
172         - provide-maven-settings:
173             global-settings-file: 'odl-global-settings'
174             settings-file: 'netvirt-settings'
175
176     maven:
177         maven-name: '{mvn33}'
178         root-pom: 'pom.xml'
179         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
180         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
181         settings: 'netvirt-settings'
182         settings-type: cfp
183         global-settings: 'odl-global-settings'
184         global-settings-type: cfp
185         post-step-run-condition: UNSTABLE
186
187     postbuilders:
188         - conditional-step:
189             condition-kind: file-exists
190             condition-filename: deploy-site.xml
191             condition-basedir: workspace
192
193             # The strategy here is intentional to run Maven site:deploy twice
194             # once using regular pom.xml to produce a staged-site which is
195             # then used by deploy-site.xml to push to Nexus. This is a
196             # workaround to Maven Site's default linking code which creates
197             # incorrect URLs for sites due to auto-detection assuming your
198             # project is configured in a certain way which ODL is not.
199             steps:
200             - maven-target:
201                 maven-version: '{mvn33}'
202                 pom: pom.xml
203                 goals: 'site:deploy -V -B -Dstream={stream}'
204                 java-opts:
205                     - '-Xmx2g'
206                 settings: 'netvirt-settings'
207                 settings-type: cfp
208                 global-settings: 'odl-global-settings'
209                 global-settings-type: cfp
210             - maven-target:
211                 maven-version: '{mvn33}'
212                 pom: deploy-site.xml
213                 goals: 'site:deploy -V -B -Dstream={stream}'
214                 java-opts:
215                     - '-Xmx2g'
216                 settings: 'netvirt-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         - archive-artifacts:
226             artifacts: '**/target/surefire-reports/*-output.txt, '
227         - email-notification:
228             email-prefix: '[netvirt]'
229         - maven-deploy:
230             id: ''
231             unique-version: true
232             deploy-unstable: false
233         - jacoco-report
234         - archive-build:
235             maven-version: '{mvn33}'
236