3 name: autorelease-projects
5 - 'autorelease-release-{stream}'
6 - 'autorelease-generate-release-notes-{stream}'
10 next-release-tag: Nitrogen
13 integration-test: nitrogen
15 next-release-tag: Carbon
16 branch: 'stable/carbon'
18 integration-test: carbon
21 next-release-tag: Boron-SR4
22 branch: 'stable/boron'
24 integration-test: boron
27 # Only run once a week since Beryllium is in maintenance mode
29 next-release-tag: Beryllium-SR5
30 branch: 'stable/beryllium'
32 integration-test: beryllium
35 project: 'releng/autorelease'
44 # TODO: Remove this job once guava21 testing is complete
48 name: autorelease-projects-guava21
50 - 'autorelease-release-guava21-{stream}'
54 next-release-tag: Guava21-Testing
57 integration-test: carbon
59 project: 'releng/autorelease'
60 archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
63 name: 'autorelease-release-guava21-{stream}'
65 project-type: freestyle
66 node: centos7-autorelease-4c-16g
70 - opendaylight-infra-properties:
71 build-days-to-keep: '30'
75 maven-version: 'mvn33'
76 - opendaylight-infra-parameters:
77 os-cloud: '{os-cloud}'
80 refspec: 'refs/heads/{branch}'
81 artifacts: '{archive-artifacts}'
82 - distribution-karaf-version:
83 karaf-version: '{karaf-version}'
84 - autorelease-release-tag:
85 release-tag: '{next-release-tag}'
86 - autorelease-release-branch:
87 release-branch: '{branch}'
91 credentials-id: 'opendaylight-jenkins-ssh'
93 refspec: '$GERRIT_REFSPEC'
96 choosing-strategy: 'gerrit'
103 - opendaylight-infra-wrappers:
104 build-timeout: '1440'
108 server-name: '{server-name}'
110 - comment-added-contains-event:
111 comment-contains-value: 'test-guava21-patches'
113 - project-compare-type: 'ANT'
114 project-pattern: '{project}'
116 - branch-compare-type: 'ANT'
117 branch-pattern: '**/{branch}'
128 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/bgpcep
132 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/centinel
136 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/controller
140 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/didm
144 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/faas
148 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/genius
152 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/groupbasedpolicy
156 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/netvirt
160 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/odlparent
164 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/openflowplugin
168 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/ovsdb
172 git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/yangtools
175 # force jenkins install of maven version before any shell scripts use it
177 maven-version: 'mvn33'
179 settings: 'autorelease-settings'
181 global-settings: 'odl-global-settings'
182 global-settings-type: cfp
183 - wipe-local-maven-repo
184 - jacoco-nojava-workaround
185 - shell: "./scripts/list-project-dependencies.sh"
186 - autorelease-determine-merge-order
188 autorelease-settings: 'autorelease-settings'
189 odl-global-settings: 'odl-global-settings'
190 - autorelease-generate-taglist
191 - autorelease-distribute-taglist
192 - autorelease-generate-release-patches
193 # In a perfect world projects should be releasing separately and we consume them
194 # via a project that pulls the release bits from each project from Nexus.
195 # Keep the patches compatible with that ideal, but apply an edit
196 # to enable building in a single maven reactor afterwards.
197 - autorelease-fix-relative-paths
199 maven-version: 'mvn33'
202 clean deploy -V -B -Pintegrationtests,docs,repoBuild -Djenkins
203 -Dcheckstyle.skip=true
204 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
205 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
207 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
208 settings: 'autorelease-settings'
210 global-settings: 'odl-global-settings'
211 global-settings-type: cfp
212 - autorelease-maven-deploy
213 - autorelease-get-integration-test-variables
214 - autorelease-maven-sources:
215 opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
216 maven-version: 'mvn33'
217 settings: 'autorelease-settings'
218 global-settings: 'odl-global-settings'
219 - autorelease-maven-sources-post-process
225 - email-notification:
226 email-recipients: '{email-recipients}'
227 email-prefix: '[autorelease]'
228 - trigger-parameterized-builds:
229 - project: 'integration-distribution-test-{integration-test}'
230 condition: UNSTABLE_OR_BETTER
231 property-file: variables.jenkins-trigger
232 fail-on-missing: true
233 - opendaylight-infra-shiplogs:
234 maven-version: 'mvn33'
238 # TODO: Remove this job once carbon tests failures are resolved
239 # This jobs skips all tests and is intended to stage artifacts for integration
244 name: autorelease-projects-notests
246 - 'autorelease-release-notests-{stream}'
250 next-release-tag: Carbon
251 branch: 'stable/carbon'
253 integration-test: carbon
254 karaf-version: karaf3
257 project: 'releng/autorelease'
258 archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
261 # Autorelease build jobs
263 name: 'autorelease-release-notests-{stream}'
265 project-type: freestyle
266 node: centos7-autorelease-4c-16g
274 artifact-num-to-keep: 1
275 # Make sure we only archive the last artifact until we figure out why
276 # autorelease carbon is not generating a staging repo.
277 # - opendaylight-infra-properties:
278 # build-days-to-keep: '30'
282 maven-version: 'mvn33'
283 - opendaylight-infra-parameters:
284 os-cloud: '{os-cloud}'
287 refspec: 'refs/heads/{branch}'
288 artifacts: '{archive-artifacts}'
289 - distribution-karaf-version:
290 karaf-version: '{karaf-version}'
291 - autorelease-release-tag:
292 release-tag: '{next-release-tag}'
293 - autorelease-release-branch:
294 release-branch: '{branch}'
298 credentials-id: 'opendaylight-jenkins-ssh'
300 refspec: '$GERRIT_REFSPEC'
303 choosing-strategy: 'gerrit'
310 - opendaylight-infra-wrappers:
311 build-timeout: '1440'
317 # force jenkins install of maven version before any shell scripts use it
319 maven-version: 'mvn33'
321 settings: 'autorelease-settings'
323 global-settings: 'odl-global-settings'
324 global-settings-type: cfp
325 - wipe-local-maven-repo
326 - jacoco-nojava-workaround
327 - shell: "./scripts/list-project-dependencies.sh"
328 - autorelease-determine-merge-order
330 autorelease-settings: 'autorelease-settings'
331 odl-global-settings: 'odl-global-settings'
332 - autorelease-generate-taglist
333 - autorelease-distribute-taglist
334 - distribute-build-url:
335 path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly'
336 - autorelease-generate-release-patches
337 # In a perfect world projects should be releasing separately and we consume them
338 # via a project that pulls the release bits from each project from Nexus.
339 # Keep the patches compatible with that ideal, but apply an edit
340 # to enable building in a single maven reactor afterwards.
341 - autorelease-fix-relative-paths
343 maven-version: 'mvn33'
347 -Pintegrationtests,docs,repoBuild
348 -Dcheckstyle.skip=true
350 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
351 {opendaylight-infra-mvn-opts}
353 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
354 settings: 'autorelease-settings'
356 global-settings: 'odl-global-settings'
357 global-settings-type: cfp
358 - autorelease-maven-deploy
359 - autorelease-get-integration-test-variables
360 - autorelease-maven-sources:
361 opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
362 maven-version: 'mvn33'
363 settings: 'autorelease-settings'
364 global-settings: 'odl-global-settings'
365 - autorelease-maven-sources-post-process
371 - opendaylight-infra-notify-status
372 - opendaylight-infra-sysstats
374 # Need to archive dependencies.log in Jenkins to provide a simple
375 # way for downstream jobs to pull the latest version of this file
377 # TODO stop archiving **/*.zip once we figure out why artifacts are
378 # not deploying to Nexus
379 artifacts: 'dependencies.log, **/*.zip, /var/log/sa/*'
380 - trigger-parameterized-builds:
381 - project: 'integration-distribution-test-{integration-test}'
382 condition: UNSTABLE_OR_BETTER
383 property-file: variables.jenkins-trigger
384 fail-on-missing: true
385 - project: 'integration-distribution-test-{integration-test}'
387 - project: 'integration-sanity-test-{integration-test}'
388 condition: UNSTABLE_OR_BETTER
389 property-file: variables.jenkins-trigger
390 fail-on-missing: true
391 - project: 'integration-sanity-test-{integration-test}'
393 - project: 'packaging-build-rpm-master'
394 condition: UNSTABLE_OR_BETTER
395 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
396 property-file: variables.jenkins-trigger
397 fail-on-missing: true
398 - opendaylight-infra-shiplogs:
399 maven-version: 'mvn33'
403 # TODO: Remove this job once carbon tests failures are resolved
404 # This jobs uses -fn (fail never) and is intended to run the build until
405 # complition without being intruptted on test failures.
409 name: autorelease-projects-failnever
411 - 'autorelease-release-failnever-{stream}'
415 next-release-tag: Carbon
416 branch: 'stable/carbon'
418 integration-test: carbon
419 karaf-version: karaf3
421 project: 'releng/autorelease'
422 archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
425 # Autorelease build jobs
427 name: 'autorelease-release-failnever-{stream}'
429 project-type: freestyle
430 node: centos7-autorelease-4c-16g
438 artifact-num-to-keep: 1
439 # Make sure we only archive the last artifact until we figure out why
440 # autorelease carbon is not generating a staging repo.
441 # - opendaylight-infra-properties:
442 # build-days-to-keep: '30'
446 maven-version: 'mvn33'
447 - opendaylight-infra-parameters:
448 os-cloud: '{os-cloud}'
451 refspec: 'refs/heads/{branch}'
452 artifacts: '{archive-artifacts}'
453 - distribution-karaf-version:
454 karaf-version: '{karaf-version}'
455 - autorelease-release-tag:
456 release-tag: '{next-release-tag}'
457 - autorelease-release-branch:
458 release-branch: '{branch}'
462 credentials-id: 'opendaylight-jenkins-ssh'
464 refspec: '$GERRIT_REFSPEC'
467 choosing-strategy: 'gerrit'
474 - opendaylight-infra-wrappers:
475 build-timeout: '1440'
481 # force jenkins install of maven version before any shell scripts use it
483 maven-version: 'mvn33'
485 settings: 'autorelease-settings'
487 global-settings: 'odl-global-settings'
488 global-settings-type: cfp
489 - wipe-local-maven-repo
490 - jacoco-nojava-workaround
491 - shell: "./scripts/list-project-dependencies.sh"
492 - autorelease-determine-merge-order
494 autorelease-settings: 'autorelease-settings'
495 odl-global-settings: 'odl-global-settings'
496 - autorelease-generate-taglist
497 - autorelease-distribute-taglist
498 - distribute-build-url:
499 path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly'
500 - autorelease-generate-release-patches
501 # In a perfect world projects should be releasing separately and we consume them
502 # via a project that pulls the release bits from each project from Nexus.
503 # Keep the patches compatible with that ideal, but apply an edit
504 # to enable building in a single maven reactor afterwards.
505 - autorelease-fix-relative-paths
507 maven-version: 'mvn33'
511 -Pintegrationtests,docs,repoBuild
512 -Dcheckstyle.skip=true
513 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
515 {opendaylight-infra-mvn-opts}
517 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
518 settings: 'autorelease-settings'
520 global-settings: 'odl-global-settings'
521 global-settings-type: cfp
522 - autorelease-maven-deploy
523 - autorelease-get-integration-test-variables
524 - autorelease-maven-sources:
525 opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
526 maven-version: 'mvn33'
527 settings: 'autorelease-settings'
528 global-settings: 'odl-global-settings'
529 - autorelease-maven-sources-post-process
535 - opendaylight-infra-notify-status
536 - opendaylight-infra-sysstats
538 # Need to archive dependencies.log in Jenkins to provide a simple
539 # way for downstream jobs to pull the latest version of this file
541 # TODO stop archiving **/*.zip once we figure out why artifacts are
542 # not deploying to Nexus
543 artifacts: 'dependencies.log, **/*.zip, /var/log/sa/*'
544 - trigger-parameterized-builds:
545 - project: 'integration-distribution-test-{integration-test}'
546 condition: UNSTABLE_OR_BETTER
547 property-file: variables.jenkins-trigger
548 fail-on-missing: true
549 - project: 'integration-distribution-test-{integration-test}'
551 - project: 'integration-sanity-test-{integration-test}'
552 condition: UNSTABLE_OR_BETTER
553 property-file: variables.jenkins-trigger
554 fail-on-missing: true
555 - project: 'integration-sanity-test-{integration-test}'
557 - project: 'packaging-build-rpm-master'
558 condition: UNSTABLE_OR_BETTER
559 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
560 property-file: variables.jenkins-trigger
561 fail-on-missing: true
562 - opendaylight-infra-shiplogs:
563 maven-version: 'mvn33'