3 # Template used for running CLM scans
5 # {name} - Project Shortname
6 # {project} - Fully qualified project name
7 # {mvn-settings} - Project maven settings file
10 name: '{project-name}-clm-{stream}'
12 project-type: freestyle
17 - opendaylight-infra-properties:
18 build-days-to-keep: '{build-days-to-keep}'
21 - opendaylight-infra-parameters:
24 refspec: 'refs/heads/{branch}'
25 artifacts: '{archive-artifacts}'
33 - opendaylight-infra-wrappers:
34 build-timeout: '{build-timeout}'
40 - provide-maven-settings:
41 global-settings-file: 'odl-global-settings'
42 settings-file: '{mvn-settings}'
44 maven-version: 'mvn33'
47 clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
50 -Dmaven.repo.local=/tmp/r
51 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
53 - '-Xmx4096m -XX:MaxPermSize=512m'
54 settings: '{mvn-settings}'
56 global-settings: 'odl-global-settings'
57 global-settings-type: cfp
58 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
60 application-name: '{project-name}'
64 email-recipients: '{email-recipients}'
65 email-prefix: '[{project-name}]'
66 - opendaylight-infra-shiplogs:
67 maven-version: 'mvn33'
70 # Template: {project-name}-distribution-check-{stream}
71 # Goal: Build a patch and make sure the distribution can deploy with this change.
72 # Operation: This job template builds a patch, creates a distribution containing
73 # the patch (making sure dependencies are specified),
74 # and performs the distribution deploy test.
76 name: '{project-name}-distribution-check-{stream}'
79 project-type: freestyle
85 - opendaylight-infra-properties:
86 build-days-to-keep: '{build-days-to-keep}'
89 - opendaylight-infra-parameters:
92 refspec: 'refs/heads/{branch}'
93 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
94 - integration-distribution-git-url:
98 - integration-gerrit-scm:
99 basedir: '$GERRIT_PROJECT'
100 refspec: '$GERRIT_REFSPEC'
102 - integration-distribution-scm:
103 branch: '{distribution_branch}'
106 - opendaylight-infra-wrappers:
107 # Distro-check jobs typically run within 10 - 30 minutes
108 # with 45 minutes being the occassional edge case.
109 # enforce a 60 minute limit to ensure stuck jobs get
114 - gerrit-trigger-patch-submitted:
115 server: '{server-name}'
121 - distribution-check-wipe
122 - distribution-check-build-project:
123 pom: '$GERRIT_PROJECT/pom.xml'
124 - distribution-check-verify-groupid:
125 gerrit-project: '$GERRIT_PROJECT'
126 - distribution-check-download-deps:
127 dist-pom: 'distribution/pom.xml'
128 - distribution-check-delete-snapshots
129 - distribution-check-configure-remotes
130 - distribution-check-repeat-build:
131 dist-pom: 'distribution/pom.xml'
132 - integration-distribution-check
135 - email-notification:
136 email-recipients: '{email-recipients}'
137 email-prefix: '[{project-name}]'
142 mkdir -p $WORKSPACE/archives
143 cp karaf*.log $WORKSPACE/archives
144 script-only-if-succeeded: false
145 script-only-if-failed: false
146 mark-unstable-if-failed: true
149 - opendaylight-infra-shiplogs:
150 maven-version: 'mvn33'
153 name: '{project-name}-integration-{stream}'
155 # Job template for ODL integration verify jobs
157 # This is similar to a normal verify job, but it runs
158 # when a project that's a dependency of your project
159 # is successfully built.
161 # Required Variables:
162 # stream: release stream (eg. boron or carbon)
163 # branch: git branch (eg. stable/boron or master)
165 project-type: freestyle
170 - opendaylight-infra-properties:
171 build-days-to-keep: '{build-days-to-keep}'
174 - opendaylight-infra-parameters:
177 refspec: 'refs/heads/{branch}'
178 artifacts: '{archive-artifacts}'
186 - opendaylight-infra-wrappers:
187 build-timeout: '{build-timeout}'
191 jobs: '{dependencies}'
195 - jacoco-nojava-workaround
196 - provide-maven-settings:
197 global-settings-file: 'odl-global-settings'
198 settings-file: '{mvn-settings}'
200 maven-version: 'mvn33'
201 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
204 settings: '{mvn-settings}'
206 global-settings: 'odl-global-settings'
207 global-settings-type: cfp
210 - email-notification:
211 email-recipients: '{email-recipients}'
212 email-prefix: '{email-upstream}'
215 - opendaylight-infra-shiplogs:
216 maven-version: 'mvn33'
219 name: '{project-name}-merge-{stream}'
221 # Job template for ODL merge jobs
223 # The purpose of this job template is to setup a ODL merge job
224 # and deploy artifacts to Nexus.
226 # Required Variables:
227 # stream: release stream (eg. boron or carbon)
228 # branch: git branch (eg. stable/boron or master)
230 # Need to keep jobs that deploy to Nexus at end of build as Maven
231 # projects. Maybe reconsider this once upstream moves deploy to a
232 # separate lifecycle:
233 # https://issues.apache.org/jira/browse/MNG-5666
239 - opendaylight-infra-properties:
240 build-days-to-keep: 14
243 - opendaylight-infra-parameters:
246 refspec: 'refs/heads/{branch}'
247 artifacts: '{archive-artifacts}'
250 - gerrit-trigger-scm:
252 choosing-strategy: 'default'
255 - opendaylight-infra-wrappers:
256 build-timeout: '{build-timeout}'
260 - gerrit-trigger-patch-merged:
261 server-name: '{server-name}'
266 - jacoco-nojava-workaround
267 - provide-maven-settings:
268 global-settings-file: 'odl-global-settings'
269 settings-file: '{mvn-settings}'
271 # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
280 -Dmaven.repo.local=/tmp/r
281 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
282 maven-opts: '{mvn-opts}'
283 settings: '{mvn-settings}'
285 global-settings: 'odl-global-settings'
286 global-settings-type: cfp
287 post-step-run-condition: UNSTABLE
291 condition-kind: file-exists
292 condition-filename: deploy-site.xml
293 condition-basedir: workspace
295 # The strategy here is intentional to run Maven site:deploy twice
296 # once using regular pom.xml to produce a staged-site which is
297 # then used by deploy-site.xml to push to Nexus. This is a
298 # workaround to Maven Site's default linking code which creates
299 # incorrect URLs for sites due to auto-detection assuming your
300 # project is configured in a certain way which ODL is not.
303 maven-version: 'mvn33'
305 goals: 'site:deploy -V -B -Dstream={stream}'
308 settings: '{mvn-settings}'
310 global-settings: 'odl-global-settings'
311 global-settings-type: cfp
313 maven-version: 'mvn33'
315 goals: 'site:deploy -V -B -Dstream={stream}'
318 settings: '{mvn-settings}'
320 global-settings: 'odl-global-settings'
321 global-settings-type: cfp
327 - email-notification:
328 email-recipients: '{email-recipients}'
329 email-prefix: '[{project-name}]'
333 deploy-unstable: false
335 - opendaylight-infra-shiplogs:
336 maven-version: 'mvn33'
338 project: 'distribution-merge-{stream}'
342 name: '{project-name}-sonar'
345 project-type: freestyle
350 - opendaylight-infra-properties:
351 build-days-to-keep: 7
354 - opendaylight-infra-parameters:
357 refspec: 'refs/heads/{branch}'
358 artifacts: '{archive-artifacts}'
366 - opendaylight-infra-wrappers:
367 build-timeout: '{build-timeout}'
371 - gerrit-trigger-patch-sonar:
372 server-name: '{server-name}'
374 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
377 - jacoco-nojava-workaround
378 - provide-maven-settings:
379 global-settings-file: 'odl-global-settings'
380 settings-file: '{mvn-settings}'
382 maven-version: 'mvn33'
388 -Dmaven.repo.local=/tmp/r
389 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
392 settings: '{mvn-settings}'
394 global-settings: 'odl-global-settings'
395 global-settings-type: cfp
397 maven-version: 'mvn33'
398 # We should switch to the recommended configuration of sonar once
399 # JJB adds support for configurating the Sonar wrapper:
400 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
405 -Dsonar.host.url=https://sonar.opendaylight.org
406 -Dmaven.repo.local=/tmp/r
407 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
410 settings: '{mvn-settings}'
412 global-settings: 'odl-global-settings'
413 global-settings-type: cfp
416 - email-notification:
417 email-recipients: '{email-recipients}'
418 email-prefix: '[{project-name}]'
421 - opendaylight-infra-shiplogs:
422 maven-version: 'mvn33'
425 name: '{project-name}-validate-autorelease-{stream}'
428 project-type: freestyle
434 - opendaylight-infra-properties:
435 build-days-to-keep: 7
438 - opendaylight-infra-parameters:
441 refspec: 'refs/heads/{branch}'
442 artifacts: '{archive-artifacts}'
443 - autorelease-release-tag:
444 release-tag: 'validate'
445 - autorelease-release-branch:
446 release-branch: '{branch}'
449 default: '{git-url}/releng/autorelease'
450 description: "Autorelease clone URL"
455 credentials-id: 'opendaylight-jenkins-ssh'
465 - opendaylight-infra-wrappers:
466 build-timeout: '{build-timeout}'
469 - gerrit-trigger-patch-submitted:
470 server: '{server-name}'
476 - jacoco-nojava-workaround
477 - autorelease-checkout-gerrit-patch
478 - autorelease-generate-release-patches
479 # In a perfect world projects should be releasing separately and we consume them
480 # via a project that pulls the release bits from each project from Nexus.
481 # Keep the patches compatible with that ideal, but apply an edit
482 # to enable building in a single maven reactor afterwards.
483 - autorelease-fix-relative-paths
485 maven-version: 'mvn33'
486 pom: validate-pom.xml
488 clean install dependency:tree
491 -Dmaven.repo.local=/tmp/r
492 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
495 settings: 'autorelease-settings'
497 global-settings: 'odl-global-settings'
498 global-settings-type: cfp
500 maven-version: 'mvn33'
506 -Dmaven.repo.local=/tmp/r
507 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
509 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
510 settings: 'autorelease-settings'
512 global-settings: 'odl-global-settings'
513 global-settings-type: cfp
514 - autorelease-sys-stats
517 - email-notification:
518 email-recipients: '{email-recipients}'
519 email-prefix: '[autorelease] [{project-name}]'
520 - opendaylight-infra-shiplogs:
521 maven-version: 'mvn33'
524 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
526 # Job template for ODL verify jobs
528 # The purpose of this job template is to setup a ODL verify job
530 # Required Variables:
531 # stream: release stream (eg. boron or carbon)
532 # branch: git branch (eg. stable/boron or master)
534 project-type: freestyle
540 - opendaylight-infra-properties:
541 build-days-to-keep: 7
544 - opendaylight-infra-parameters:
547 refspec: 'refs/heads/{branch}'
548 artifacts: '{archive-artifacts}'
551 - gerrit-trigger-scm:
552 refspec: '$GERRIT_REFSPEC'
553 choosing-strategy: 'gerrit'
556 - opendaylight-infra-wrappers:
557 build-timeout: '{build-timeout}'
560 - gerrit-trigger-patch-submitted:
561 server: '{server-name}'
567 - jacoco-nojava-workaround
568 - provide-maven-settings:
569 global-settings-file: 'odl-global-settings'
570 settings-file: '{mvn-settings}'
572 maven-version: '{mvn-version}'
577 -Dmaven.repo.local=/tmp/r
578 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
581 settings: '{mvn-settings}'
583 global-settings: 'odl-global-settings'
584 global-settings-type: cfp
588 - email-notification:
589 email-recipients: '{email-recipients}'
590 email-prefix: '[{project-name}]'
592 - opendaylight-infra-shiplogs:
593 maven-version: '{mvn-version}'