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
49 {opendaylight-infra-mvn-opts}
51 - '-Xmx4096m -XX:MaxPermSize=512m'
52 settings: '{mvn-settings}'
54 global-settings: 'odl-global-settings'
55 global-settings-type: cfp
56 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
58 application-name: '{project-name}'
62 email-recipients: '{email-recipients}'
63 email-prefix: '[{project-name}]'
64 - opendaylight-infra-shiplogs:
65 maven-version: 'mvn33'
68 # Template: {project-name}-distribution-check-{stream}
69 # Goal: Build a patch and make sure the distribution can deploy with this change.
70 # Operation: This job template builds a patch, creates a distribution containing
71 # the patch (making sure dependencies are specified),
72 # and performs the distribution deploy test.
74 name: '{project-name}-distribution-check-{stream}'
77 project-type: freestyle
83 - opendaylight-infra-properties:
84 build-days-to-keep: '{build-days-to-keep}'
87 - opendaylight-infra-parameters:
90 refspec: 'refs/heads/{branch}'
91 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
92 - integration-distribution-git-url:
96 - integration-gerrit-scm:
97 basedir: '$GERRIT_PROJECT'
98 refspec: '$GERRIT_REFSPEC'
100 - integration-distribution-scm:
101 branch: '{distribution_branch}'
104 - opendaylight-infra-wrappers:
105 # Distro-check jobs typically run within 10 - 30 minutes
106 # with 45 minutes being the occassional edge case.
107 # enforce a 60 minute limit to ensure stuck jobs get
112 - gerrit-trigger-patch-submitted:
113 server: '{server-name}'
119 - distribution-check-wipe
120 - distribution-check-build-project:
121 pom: '$GERRIT_PROJECT/pom.xml'
122 - distribution-check-verify-groupid:
123 gerrit-project: '$GERRIT_PROJECT'
124 - distribution-check-download-deps:
125 dist-pom: 'distribution/pom.xml'
126 - distribution-check-delete-snapshots
127 - distribution-check-configure-remotes
128 - distribution-check-repeat-build:
129 dist-pom: 'distribution/pom.xml'
130 - integration-distribution-check
133 - email-notification:
134 email-recipients: '{email-recipients}'
135 email-prefix: '[{project-name}]'
140 mkdir -p $WORKSPACE/archives
141 cp karaf*.log $WORKSPACE/archives
142 script-only-if-succeeded: false
143 script-only-if-failed: false
144 mark-unstable-if-failed: true
147 - opendaylight-infra-shiplogs:
148 maven-version: 'mvn33'
151 name: '{project-name}-integration-{stream}'
153 # Job template for ODL integration verify jobs
155 # This is similar to a normal verify job, but it runs
156 # when a project that's a dependency of your project
157 # is successfully built.
159 # Required Variables:
160 # stream: release stream (eg. boron or carbon)
161 # branch: git branch (eg. stable/boron or master)
163 project-type: freestyle
168 - opendaylight-infra-properties:
169 build-days-to-keep: '{build-days-to-keep}'
172 - opendaylight-infra-parameters:
175 refspec: 'refs/heads/{branch}'
176 artifacts: '{archive-artifacts}'
184 - opendaylight-infra-wrappers:
185 build-timeout: '{build-timeout}'
189 jobs: '{dependencies}'
193 - jacoco-nojava-workaround
194 - provide-maven-settings:
195 global-settings-file: 'odl-global-settings'
196 settings-file: '{mvn-settings}'
198 maven-version: 'mvn33'
201 {opendaylight-infra-mvn-opts}
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-*?
278 {opendaylight-infra-mvn-opts}
279 maven-opts: '{mvn-opts}'
280 settings: '{mvn-settings}'
282 global-settings: 'odl-global-settings'
283 global-settings-type: cfp
284 post-step-run-condition: UNSTABLE
288 condition-kind: file-exists
289 condition-filename: deploy-site.xml
290 condition-basedir: workspace
292 # The strategy here is intentional to run Maven site:deploy twice
293 # once using regular pom.xml to produce a staged-site which is
294 # then used by deploy-site.xml to push to Nexus. This is a
295 # workaround to Maven Site's default linking code which creates
296 # incorrect URLs for sites due to auto-detection assuming your
297 # project is configured in a certain way which ODL is not.
300 maven-version: 'mvn33'
302 goals: 'site:deploy -V -B -Dstream={stream}'
305 settings: '{mvn-settings}'
307 global-settings: 'odl-global-settings'
308 global-settings-type: cfp
310 maven-version: 'mvn33'
312 goals: 'site:deploy -V -B -Dstream={stream}'
315 settings: '{mvn-settings}'
317 global-settings: 'odl-global-settings'
318 global-settings-type: cfp
324 - email-notification:
325 email-recipients: '{email-recipients}'
326 email-prefix: '[{project-name}]'
330 deploy-unstable: false
332 - opendaylight-infra-shiplogs:
333 maven-version: 'mvn33'
335 project: 'distribution-merge-{stream}'
339 name: '{project-name}-sonar'
342 project-type: freestyle
347 - opendaylight-infra-properties:
348 build-days-to-keep: 7
351 - opendaylight-infra-parameters:
354 refspec: 'refs/heads/{branch}'
355 artifacts: '{archive-artifacts}'
363 - opendaylight-infra-wrappers:
364 build-timeout: '{build-timeout}'
368 - gerrit-trigger-patch-sonar:
369 server-name: '{server-name}'
371 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
374 - jacoco-nojava-workaround
375 - provide-maven-settings:
376 global-settings-file: 'odl-global-settings'
377 settings-file: '{mvn-settings}'
379 maven-version: 'mvn33'
383 {opendaylight-infra-mvn-opts}
386 settings: '{mvn-settings}'
388 global-settings: 'odl-global-settings'
389 global-settings-type: cfp
391 maven-version: 'mvn33'
392 # We should switch to the recommended configuration of sonar once
393 # JJB adds support for configurating the Sonar wrapper:
394 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
398 -Dsonar.host.url=https://sonar.opendaylight.org
399 {opendaylight-infra-mvn-opts}
402 settings: '{mvn-settings}'
404 global-settings: 'odl-global-settings'
405 global-settings-type: cfp
408 - email-notification:
409 email-recipients: '{email-recipients}'
410 email-prefix: '[{project-name}]'
413 - opendaylight-infra-shiplogs:
414 maven-version: 'mvn33'
417 name: '{project-name}-validate-autorelease-{stream}'
420 project-type: freestyle
426 - opendaylight-infra-properties:
427 build-days-to-keep: 7
430 - opendaylight-infra-parameters:
433 refspec: 'refs/heads/{branch}'
434 artifacts: '{archive-artifacts}'
435 - autorelease-release-tag:
436 release-tag: 'validate'
437 - autorelease-release-branch:
438 release-branch: '{branch}'
441 default: '{git-url}/releng/autorelease'
442 description: "Autorelease clone URL"
447 credentials-id: 'opendaylight-jenkins-ssh'
457 - opendaylight-infra-wrappers:
458 build-timeout: '{build-timeout}'
461 - gerrit-trigger-patch-submitted:
462 server: '{server-name}'
468 - jacoco-nojava-workaround
469 - autorelease-checkout-gerrit-patch
470 - autorelease-generate-release-patches
471 # In a perfect world projects should be releasing separately and we consume them
472 # via a project that pulls the release bits from each project from Nexus.
473 # Keep the patches compatible with that ideal, but apply an edit
474 # to enable building in a single maven reactor afterwards.
475 - autorelease-fix-relative-paths
477 maven-version: 'mvn33'
478 pom: validate-pom.xml
480 clean install dependency:tree
483 {opendaylight-infra-mvn-opts}
486 settings: 'autorelease-settings'
488 global-settings: 'odl-global-settings'
489 global-settings-type: cfp
491 maven-version: 'mvn33'
496 {opendaylight-infra-mvn-opts}
498 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
499 settings: 'autorelease-settings'
501 global-settings: 'odl-global-settings'
502 global-settings-type: cfp
503 - autorelease-sys-stats
506 - email-notification:
507 email-recipients: '{email-recipients}'
508 email-prefix: '[autorelease] [{project-name}]'
509 - opendaylight-infra-shiplogs:
510 maven-version: 'mvn33'
513 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
515 # Job template for ODL verify jobs
517 # The purpose of this job template is to setup a ODL verify job
519 # Required Variables:
520 # stream: release stream (eg. boron or carbon)
521 # branch: git branch (eg. stable/boron or master)
523 project-type: freestyle
529 - opendaylight-infra-properties:
530 build-days-to-keep: 7
533 - opendaylight-infra-parameters:
536 refspec: 'refs/heads/{branch}'
537 artifacts: '{archive-artifacts}'
540 - gerrit-trigger-scm:
541 refspec: '$GERRIT_REFSPEC'
542 choosing-strategy: 'gerrit'
545 - opendaylight-infra-wrappers:
546 build-timeout: '{build-timeout}'
549 - gerrit-trigger-patch-submitted:
550 server: '{server-name}'
556 - jacoco-nojava-workaround
557 - provide-maven-settings:
558 global-settings-file: 'odl-global-settings'
559 settings-file: '{mvn-settings}'
561 maven-version: '{mvn-version}'
565 {opendaylight-infra-mvn-opts}
568 settings: '{mvn-settings}'
570 global-settings: 'odl-global-settings'
571 global-settings-type: cfp
575 - email-notification:
576 email-recipients: '{email-recipients}'
577 email-prefix: '[{project-name}]'
579 - opendaylight-infra-shiplogs:
580 maven-version: '{mvn-version}'