Make distribution-check job an ODL-releng templated job
[releng/builder.git] / jjb / integration / integration-distribution-jobs.yaml
1
2 - project:
3     name: integration-distribution-jobs
4     jobs:
5         - 'integration-distribution-verify-{stream}'
6         - 'integration-distribution-merge-{stream}'
7         - 'integration-distribution-deploy-{stream}'
8         - 'integration-distribution-offline-{stream}'
9
10     stream:
11         - boron:
12             branch: 'master'
13             jdk: 'openjdk8'
14         - beryllium:
15             branch: 'stable/beryllium'
16             jdk: 'openjdk7'
17         - stable-lithium:
18             branch: 'stable/lithium'
19             jdk: 'openjdk7'
20         - stable-helium:
21             branch: 'stable/helium'
22             jdk: 'openjdk7'
23
24
25 - job-template:
26     name: 'integration-distribution-verify-{stream}'
27
28     project-type: maven
29     node: dynamic_verify
30     concurrent: true
31     jdk: '{jdk}'
32
33     logrotate:
34         daysToKeep: '{build-days-to-keep}'
35         numToKeep: '{build-num-to-keep}'
36         artifactDaysToKeep: '{build-artifact-days-to-keep}'
37         artifactNumToKeep: '{build-artifact-num-to-keep}'
38
39     parameters:
40         - project-parameter:
41             project: 'integration/distribution'
42         - gerrit-parameter:
43             branch: '{branch}'
44         - integration-patch-refspec:
45             branch: '$GERRIT_REFSPEC'
46
47     scm:
48         - gerrit-trigger-scm:
49             credentials-id: '{ssh-credentials}'
50             refspec: '$PATCHREFSPEC'
51             choosing-strategy: 'gerrit'
52
53     wrappers:
54         - build-timeout
55         - ssh-agent-credentials:
56             users:
57                 - '{ssh-credentials}'
58
59     triggers:
60         - gerrit-trigger-patch-submitted:
61             name: 'integration/distribution'
62             branch: '{branch}'
63
64     prebuilders:
65         - integration-get-bundle-url-root
66         - inject:
67             properties-file: 'bundle.txt'
68         - wipe-org-opendaylight-repo
69
70     maven:
71         maven-name: '{mvn33}'
72         root-pom: 'pom.xml'
73         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
74         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
75         settings: '{integration-settings}'
76         global-settings: '{odl-global-settings}'
77         ignore-upstream-changes: true
78         post-step-run-condition: 'SUCCESS'
79
80     postbuilders:
81         - trigger-builds:
82             - project: 'integration-distribution-deploy-{stream}'
83               block: true
84               predefined-parameters:
85                   BUNDLEURL=$BUNDLEURL
86
87     publishers:
88         - email-notification:
89             email-prefix: '[integration]'
90
91 - job-template:
92     name: 'integration-distribution-merge-{stream}'
93
94     project-type: maven
95     node: dynamic_merge
96     jdk: '{jdk}'
97
98     logrotate:
99         daysToKeep: '{build-days-to-keep}'
100         numToKeep: '{build-num-to-keep}'
101         artifactDaysToKeep: '{build-artifact-days-to-keep}'
102         artifactNumToKeep: '{build-artifact-num-to-keep}'
103
104     parameters:
105         - project-parameter:
106             project: 'integration/distribution'
107
108     scm:
109         - gerrit-trigger-scm:
110             credentials-id: '{ssh-credentials}'
111             refspec: ''
112             choosing-strategy: 'default'
113
114     wrappers:
115         - build-timeout
116         - ssh-agent-credentials:
117             users:
118                 - '{ssh-credentials}'
119
120     triggers:
121         - gerrit-trigger-patch-merged:
122             name: 'integration/distribution'
123             branch: '{branch}'
124
125     prebuilders:
126         - wipe-org-opendaylight-repo
127
128     maven:
129         maven-name: '{mvn33}'
130         root-pom: 'pom.xml'
131         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
132         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
133         settings: '{integration-settings}'
134         global-settings: '{odl-global-settings}'
135
136     publishers:
137         - email-notification:
138             email-prefix: '[integration]'
139         - maven-deploy:
140             id: ''
141             unique-version: true
142             deploy-unstable: false
143
144 # Template: integration-distribution-deploy-{stream}
145 # Goal: Verify distribution starts with no issues when all features are loaded
146 # Operation: This job deploys the controller installing odl-integration-all
147
148 - job-template:
149     name: 'integration-distribution-deploy-{stream}'
150
151     project-type: freestyle
152     node: dynamic_verify
153
154     logrotate:
155         daysToKeep: '{build-days-to-keep}'
156         numToKeep: '{build-num-to-keep}'
157         artifactDaysToKeep: '{build-artifact-days-to-keep}'
158         artifactNumToKeep: '{build-artifact-num-to-keep}'
159
160     parameters:
161         - project-parameter:
162             project: 'integration/distribution'
163         - integration-branch:
164             branch: '{branch}'
165         - integration-bundleurl:
166             bundleurl: 'last'
167         - integration-jdk-version:
168             jdkversion: '{jdk}'
169
170     wrappers:
171         - build-timeout
172         - ssh-agent-credentials:
173             users:
174                 - '{ssh-credentials}'
175
176     triggers:
177         - timed: 'H H * * *'
178
179     builders:
180         - integration-get-bundle-vars
181         - inject:
182             properties-file: 'bundle_vars.txt'
183         - integration-deploy-controller-verify
184
185     publishers:
186         - archive:
187             artifacts: 'karaf.log'
188         - archive:
189             artifacts: 'karaf_console.log'
190         - email-notification:
191             email-prefix: '[integration]'
192
193 # Template: integration-distribution-offline-{stream}
194 # Goal: Verify distribution can start with no internet connection
195 # Operation: This job deploys the controller removing any external repository definition
196
197 - job-template:
198     name: 'integration-distribution-offline-{stream}'
199
200     project-type: freestyle
201     node: dynamic_verify
202
203     logrotate:
204         daysToKeep: '{build-days-to-keep}'
205         numToKeep: '{build-num-to-keep}'
206         artifactDaysToKeep: '{build-artifact-days-to-keep}'
207         artifactNumToKeep: '{build-artifact-num-to-keep}'
208
209     parameters:
210         - project-parameter:
211             project: 'integration/distribution'
212         - integration-branch:
213             branch: '{branch}'
214         - integration-bundleurl:
215             bundleurl: 'last'
216         - integration-jdk-version:
217             jdkversion: '{jdk}'
218
219     wrappers:
220         - build-timeout
221         - ssh-agent-credentials:
222             users:
223                 - '{ssh-credentials}'
224
225     triggers:
226         - timed: 'H H * * *'
227
228     builders:
229         - integration-get-bundle-vars
230         - inject:
231             properties-file: 'bundle_vars.txt'
232         - integration-deploy-controller-offline
233
234     publishers:
235         - archive:
236             artifacts: 'karaf.log'
237         - email-notification:
238             email-prefix: '[integration]'