2 # Template used for running CLM scans
4 # {name} - Project Shortname
5 # {project} - Fully qualified project name
6 # {mvn-settings} - Project maven settings file
9 name: '{project-name}-clm-{stream}'
11 project-type: freestyle
16 - opendaylight-infra-properties:
17 build-days-to-keep: '{build-days-to-keep}'
20 - opendaylight-infra-parameters:
23 refspec: 'refs/heads/{branch}'
24 artifacts: '{archive-artifacts}'
32 - opendaylight-infra-wrappers:
33 build-timeout: '{build-timeout}'
39 - provide-maven-settings:
40 global-settings-file: 'odl-global-settings'
41 settings-file: '{mvn-settings}'
43 maven-version: 'mvn33'
45 goals: 'clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
47 - '-Xmx4096m -XX:MaxPermSize=512m'
48 settings: '{mvn-settings}'
50 global-settings: 'odl-global-settings'
51 global-settings-type: cfp
52 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
54 application-name: '{project-name}'
58 email-recipients: '{email-recipients}'
59 email-prefix: '[{project-name}]'
60 - opendaylight-infra-shiplogs:
61 maven-version: 'mvn33'
64 name: '{project-name}-distribution-{stream}'
67 # stream: release stream (eg. boron or carbon)
68 # branch: git branch (eg. stable/boron or master)
70 # Need to keep jobs that deploy to Nexus at end of build as Maven
71 # projects. Maybe reconsider this once upstream moves deploy to a
73 # https://issues.apache.org/jira/browse/MNG-5666
79 - opendaylight-infra-properties:
80 build-days-to-keep: '{build-days-to-keep}'
83 - opendaylight-infra-parameters:
84 project: 'integration/distribution'
86 refspec: 'refs/heads/{branch}'
87 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
95 - opendaylight-infra-wrappers:
96 build-timeout: '{build-timeout}'
100 jobs: '{project}-merge-{stream}'
104 - provide-maven-settings:
105 global-settings-file: 'odl-global-settings'
106 settings-file: '{mvn-settings}'
107 - distribute-build-url:
108 path: 'distribution-karaf/src/main/assembly'
113 goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
114 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
115 settings: 'integration-distribution-settings'
117 global-settings: 'odl-global-settings'
118 global-settings-type: cfp
121 - email-notification:
122 email-recipients: '{email-recipients}'
123 email-prefix: '[{project}]'
127 deploy-unstable: false
128 - opendaylight-infra-shiplogs:
129 maven-version: 'mvn33'
132 # Template: {name}-distribution-check-{stream}
133 # Goal: Build a patch and make sure the distribution can deploy with this change
134 # Operation: This job template builds a patch, creates a distribution containing
135 # the patch, and triggers the distribution deploy test
137 name: '{project-name}-distribution-check-{stream}'
140 project-type: freestyle
146 - opendaylight-infra-properties:
147 build-days-to-keep: '{build-days-to-keep}'
150 - opendaylight-infra-parameters:
153 refspec: 'refs/heads/{branch}'
154 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
155 - integration-distribution-git-url:
159 - integration-gerrit-scm:
160 basedir: '$GERRIT_PROJECT'
161 refspec: '$GERRIT_REFSPEC'
163 - integration-distribution-scm:
167 - opendaylight-infra-wrappers:
168 # Distro-check jobs typically run within 10 - 30 minutes
169 # with 45 minutes being the occassional edge case.
170 # enforce a 60 minute limit to ensure stuck jobs get
175 - gerrit-trigger-patch-submitted:
176 server: '{server-name}'
183 maven-version: 'mvn33'
184 pom: '$GERRIT_PROJECT/pom.xml'
185 goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
187 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
188 settings: '{mvn-settings}'
190 global-settings: 'odl-global-settings'
191 global-settings-type: cfp
193 maven-version: 'mvn33'
194 pom: 'distribution/pom.xml'
195 goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
197 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
198 settings: '{mvn-settings}'
200 global-settings: 'odl-global-settings'
201 global-settings-type: cfp
202 - integration-distribution-check
205 - email-notification:
206 email-recipients: '{email-recipients}'
207 email-prefix: '[{project-name}]'
212 mkdir -p $WORKSPACE/archives
213 cp karaf*.log $WORKSPACE/archives
214 script-only-if-succeeded: False
215 script-only-if-failed: False
216 mark-unstable-if-failed: True
219 - opendaylight-infra-shiplogs:
220 maven-version: 'mvn33'
223 name: '{project-name}-integration-{stream}'
225 # Job template for ODL integration verify jobs
227 # This is similar to a normal verify job, but it runs
228 # when a project that's a dependency of your project
229 # is successfully built.
231 # Required Variables:
232 # stream: release stream (eg. boron or carbon)
233 # branch: git branch (eg. stable/boron or master)
235 project-type: freestyle
240 - opendaylight-infra-properties:
241 build-days-to-keep: '{build-days-to-keep}'
244 - opendaylight-infra-parameters:
247 refspec: 'refs/heads/{branch}'
248 artifacts: '{archive-artifacts}'
256 - opendaylight-infra-wrappers:
257 build-timeout: '{build-timeout}'
261 jobs: '{dependencies}'
265 - jacoco-nojava-workaround
266 - provide-maven-settings:
267 global-settings-file: 'odl-global-settings'
268 settings-file: '{mvn-settings}'
270 maven-version: 'mvn33'
271 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
274 settings: '{mvn-settings}'
276 global-settings: 'odl-global-settings'
277 global-settings-type: cfp
280 - email-notification:
281 email-recipients: '{email-recipients}'
282 email-prefix: '{email-upstream}'
285 - opendaylight-infra-shiplogs:
286 maven-version: 'mvn33'
289 name: '{project-name}-merge-{stream}'
291 # Job template for ODL merge jobs
293 # The purpose of this job template is to setup a ODL merge job
294 # and deploy artifacts to Nexus.
296 # Required Variables:
297 # stream: release stream (eg. boron or carbon)
298 # branch: git branch (eg. stable/boron or master)
300 # Need to keep jobs that deploy to Nexus at end of build as Maven
301 # projects. Maybe reconsider this once upstream moves deploy to a
302 # separate lifecycle:
303 # https://issues.apache.org/jira/browse/MNG-5666
309 - opendaylight-infra-properties:
310 build-days-to-keep: 14
313 - opendaylight-infra-parameters:
316 refspec: 'refs/heads/{branch}'
317 artifacts: '{archive-artifacts}'
320 - gerrit-trigger-scm:
322 choosing-strategy: 'default'
325 - opendaylight-infra-wrappers:
326 build-timeout: '{build-timeout}'
330 - gerrit-trigger-patch-merged:
331 server-name: '{server-name}'
336 - jacoco-nojava-workaround
337 - provide-maven-settings:
338 global-settings-file: 'odl-global-settings'
339 settings-file: '{mvn-settings}'
343 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
344 maven-opts: '{mvn-opts}'
345 settings: '{mvn-settings}'
347 global-settings: 'odl-global-settings'
348 global-settings-type: cfp
349 post-step-run-condition: UNSTABLE
353 condition-kind: file-exists
354 condition-filename: deploy-site.xml
355 condition-basedir: workspace
357 # The strategy here is intentional to run Maven site:deploy twice
358 # once using regular pom.xml to produce a staged-site which is
359 # then used by deploy-site.xml to push to Nexus. This is a
360 # workaround to Maven Site's default linking code which creates
361 # incorrect URLs for sites due to auto-detection assuming your
362 # project is configured in a certain way which ODL is not.
365 maven-version: 'mvn33'
367 goals: 'site:deploy -V -B -Dstream={stream}'
370 settings: '{mvn-settings}'
372 global-settings: 'odl-global-settings'
373 global-settings-type: cfp
375 maven-version: 'mvn33'
377 goals: 'site:deploy -V -B -Dstream={stream}'
380 settings: '{mvn-settings}'
382 global-settings: 'odl-global-settings'
383 global-settings-type: cfp
389 - email-notification:
390 email-recipients: '{email-recipients}'
391 email-prefix: '[{project-name}]'
395 deploy-unstable: false
397 - opendaylight-infra-shiplogs:
398 maven-version: 'mvn33'
401 name: '{project-name}-sonar'
404 project-type: freestyle
409 - opendaylight-infra-properties:
410 build-days-to-keep: 7
413 - opendaylight-infra-parameters:
416 refspec: 'refs/heads/{branch}'
417 artifacts: '{archive-artifacts}'
425 - opendaylight-infra-wrappers:
426 build-timeout: '{build-timeout}'
430 - gerrit-trigger-patch-sonar:
431 server-name: '{server-name}'
433 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
436 - jacoco-nojava-workaround
437 - provide-maven-settings:
438 global-settings-file: 'odl-global-settings'
439 settings-file: '{mvn-settings}'
441 maven-version: 'mvn33'
442 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
445 settings: '{mvn-settings}'
447 global-settings: 'odl-global-settings'
448 global-settings-type: cfp
450 maven-version: 'mvn33'
451 # We should switch to the recommended configuration of sonar once
452 # JJB adds support for configurating the Sonar wrapper:
453 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
454 goals: 'sonar:sonar -V -B -Djenkins -Dsonar -Dsonar.host.url=https://sonar.opendaylight.org -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
457 settings: '{mvn-settings}'
459 global-settings: 'odl-global-settings'
460 global-settings-type: cfp
463 - email-notification:
464 email-recipients: '{email-recipients}'
465 email-prefix: '[{project-name}]'
468 - opendaylight-infra-shiplogs:
469 maven-version: 'mvn33'
472 name: '{project-name}-validate-autorelease-{stream}'
475 project-type: freestyle
481 - opendaylight-infra-properties:
482 build-days-to-keep: 7
485 - opendaylight-infra-parameters:
488 refspec: 'refs/heads/{branch}'
489 artifacts: '{archive-artifacts}'
490 - autorelease-release-tag:
491 release-tag: 'validate'
492 - autorelease-release-branch:
493 release-branch: '{branch}'
496 default: '{git-url}/releng/autorelease'
497 description: "Autorelease clone URL"
502 credentials-id: 'opendaylight-jenkins-ssh'
512 - opendaylight-infra-wrappers:
513 build-timeout: '{build-timeout}'
516 - gerrit-trigger-patch-submitted:
517 server: '{server-name}'
523 - jacoco-nojava-workaround
524 - autorelease-checkout-gerrit-patch
525 - autorelease-generate-release-patches
526 # In a perfect world projects should be releasing separately and we consume them
527 # via a project that pulls the release bits from each project from Nexus.
528 # Keep the patches compatible with that ideal, but apply an edit
529 # to enable building in a single maven reactor afterwards.
530 - autorelease-fix-relative-paths
532 maven-version: 'mvn33'
533 pom: validate-pom.xml
534 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
537 settings: 'autorelease-settings'
539 global-settings: 'odl-global-settings'
540 global-settings-type: cfp
542 maven-version: 'mvn33'
544 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
546 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
547 settings: 'autorelease-settings'
549 global-settings: 'odl-global-settings'
550 global-settings-type: cfp
551 - autorelease-sys-stats
554 - email-notification:
555 email-recipients: '{email-recipients}'
556 email-prefix: '[autorelease] [{project-name}]'
557 - opendaylight-infra-shiplogs:
558 maven-version: 'mvn33'
561 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
563 # Job template for ODL verify jobs
565 # The purpose of this job template is to setup a ODL verify job
567 # Required Variables:
568 # stream: release stream (eg. boron or carbon)
569 # branch: git branch (eg. stable/boron or master)
571 project-type: freestyle
577 - opendaylight-infra-properties:
578 build-days-to-keep: 7
581 - opendaylight-infra-parameters:
584 refspec: 'refs/heads/{branch}'
585 artifacts: '{archive-artifacts}'
588 - gerrit-trigger-scm:
589 refspec: '$GERRIT_REFSPEC'
590 choosing-strategy: 'gerrit'
593 - opendaylight-infra-wrappers:
594 build-timeout: '{build-timeout}'
597 - gerrit-trigger-patch-submitted:
598 server: '{server-name}'
604 - jacoco-nojava-workaround
605 - provide-maven-settings:
606 global-settings-file: 'odl-global-settings'
607 settings-file: '{mvn-settings}'
609 maven-version: '{mvn-version}'
610 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
613 settings: '{mvn-settings}'
615 global-settings: 'odl-global-settings'
616 global-settings-type: cfp
620 - email-notification:
621 email-recipients: '{email-recipients}'
622 email-prefix: '[{project-name}]'
624 - opendaylight-infra-shiplogs:
625 maven-version: '{mvn-version}'