4 # vim: sw=2 ts=2 sts=2 et :
8 name: provide-maven-settings
10 - config-file-provider:
12 - file-id: '{global-settings-file}'
13 variable: 'GLOBAL_SETTINGS_FILE'
14 - file-id: '{settings-file}'
15 variable: 'SETTINGS_FILE'
17 # call maven-target builder with a goal of --version to force Jenkins to
18 # install the needed maven version
23 maven-version: '{maven-version}'
27 name: maven-set-release-version
30 maven-version: '{maven-version}'
32 goals: 'versions:set versions:update-child-modules versions:commit -B'
34 - 'newVersion=${{release_version}}'
35 settings: '{mvn-settings}'
37 global-settings: 'global-settings'
38 global-settings-type: cfp
41 name: maven-docker-push-release
44 maven-version: '{maven-version}'
46 goals: 'clean deploy -B -P {mvn-profile}'
47 settings: '{mvn-settings}'
49 global-settings: 'global-settings'
50 global-settings-type: cfp
52 - maven.test.skip=true
53 - docker.pull.registry=nexus3.onap.org:10001
54 - docker.push.registry=nexus3.onap.org:10002
57 name: maven-docker-push-daily
60 maven-version: '{maven-version}'
62 goals: 'clean deploy -B -P {mvn-profile} {mvn-params}'
63 settings: '{mvn-settings}'
65 global-settings: 'global-settings'
66 global-settings-type: cfp
68 - docker.pull.registry=nexus3.onap.org:10001
69 - docker.push.registry=nexus3.onap.org:10003
74 - shell: !include-raw: include-docker-login.sh
80 properties-content: PYPI_SERVER={pypi-server}
82 !include-raw-escape: ../shell/pypi-publish.sh
86 name: infra-parameters
91 # yamllint disable rule:line-length
92 description: 'JJB configured PROJECT parameter to identify a Gerrit project'
95 name: ARCHIVE_ARTIFACTS
96 default: '{artifacts} **/target/surefire-reports/*-output.txt'
97 # yamllint disable rule:line-length
98 description: 'Space separated glob patterns for artifacts to archive to logs hosting'
103 description: 'JJB configured GERRIT_BRANCH parameter'
107 description: 'GERRIT_PROJECT parameter if not given by trigger'
111 description: 'GERRIT_REFSPEC parameter if not given by trigger'
114 default: '$JOB_NAME-$BUILD_NUMBER'
115 description: 'Used by Heat to generate a unique stack & vm name'
122 default: '{mvn-params}'
123 description: Maven parameters to pass to the mvn command.
130 # yamllint disable rule:line-length
131 default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{maven-version}/bin/mvn'
133 description: 'Maven selector to be used by shell scripts'
136 name: docker-image-name
139 name: DOCKER_IMAGE_NAME
140 # yamllint disable rule:line-length
141 default: '{docker-image-name}'
143 description: 'Docker image name, e.g. onap/appc'
147 name: infra-properties
150 days-to-keep: '{build-days-to-keep}'
152 artifact-days-to-keep: -1
153 artifact-num-to-keep: 5
157 name: archive-artifacts
160 artifacts: '{artifacts}'
166 name: email-notification
169 recipients: 'nobody@open-o.org'
171 content-type: default
172 # yamllint disable rule:line-length
173 subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
176 $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
178 Check console output at $BUILD_URL to view the results.
189 exec-pattern: '**/**.exec'
190 class-pattern: '**/classes'
191 source-pattern: '**/src/main/java'
192 # yamllint disable rule:line-length
193 exclusion-pattern: '**/gen**,**/generated-sources/**,**/yang-gen**,**/pax/**'
205 name: checkstyle-result
208 pattern: '**/checkstyle-result.xml'
211 health-threshold: 'high'
224 name: checkstyle-result-daily
227 pattern: '**/checkstyle-result.xml'
230 health-threshold: 'high'
244 # lf-infra macro to finish up a build.
246 # Handles the following:
247 # - Shipping logs to Nexus logs site repository
248 # - Cleanup workspace
262 mark-unstable-if-failed: true
265 # Do not clean up *.jenkins-trigger files for jobs that use a
266 # properties file as input for triggering another build.
267 - '**/*.jenkins-trigger'
276 credentials-id: 'onap-jenkins-ssh'
286 name: gerrit-trigger-scm
289 credentials-id: 'onap-jenkins-ssh'
293 - 'origin/$GERRIT_BRANCH'
296 choosing-strategy: '{choosing-strategy}'
298 recursive: '{submodule-recursive}'
301 name: gerrit-trigger-scm-basedir
304 credentials-id: 'onap-jenkins-ssh'
308 - 'origin/$GERRIT_BRANCH'
311 choosing-strategy: '{choosing-strategy}'
318 credentials-id: 'onap-jenkins-ssh'
328 name: git-extra-project
331 credentials-id: 'onap-jenkins-ssh'
332 url: '$GIT_NO_PROJECT/{project}'
338 wipe-workspace: false
339 basedir: '{checkout-dir}'
343 # This is a single macro to use for all jobs who vote on every (relevant) patch
344 # set. Only 'recheck' trigger word is supported, it always triggers the full set
345 # of relevant jobs, in order to prevent Jenkins from starting only a subset and
346 # still voting Verified+1
348 # server: name of gerrit server to listen to
349 # project: pattern to match triggering projects
350 # branch: triggering branch name
351 # files: pattern to match triggering filepaths
353 name: gerrit-trigger-patch-submitted
356 server-name: '{server}'
358 - patchset-created-event:
359 exclude-drafts: 'false'
360 exclude-trivial-rebase: 'false'
361 exclude-no-code-change: 'false'
362 - draft-published-event
363 - comment-added-contains-event:
364 comment-contains-value: 'recheck'
366 - project-compare-type: 'ANT'
367 project-pattern: '{project}'
369 - branch-compare-type: 'ANT'
370 branch-pattern: '**/{branch}'
372 - compare-type: 'ANT'
376 name: gerrit-trigger-patch-merged
379 server-name: '{server}'
381 - change-merged-event
382 - comment-added-contains-event:
383 comment-contains-value: 'remerge'
385 - project-compare-type: 'ANT'
386 project-pattern: '{project}'
388 - branch-compare-type: 'ANT'
389 branch-pattern: '**/{branch}'
391 - compare-type: 'ANT'
395 name: gerrit-trigger-helm-patch-submitted
398 server-name: '{server}'
400 - patchset-created-event:
401 exclude-drafts: 'false'
402 exclude-trivial-rebase: 'false'
403 exclude-no-code-change: 'false'
404 - draft-published-event
405 - comment-added-contains-event:
406 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify|verify-helm)\s*$'
408 - project-compare-type: 'ANT'
409 project-pattern: '{project}'
411 - branch-compare-type: 'ANT'
412 branch-pattern: '**/{branch}'
414 - compare-type: 'ANT'
418 name: gerrit-trigger-helm-patch-merged
421 server-name: '{server}'
423 - change-merged-event
424 - comment-added-contains-event:
425 comment-contains-value: '^remerge-helm$'
427 - project-compare-type: 'ANT'
428 project-pattern: '{project}'
430 - branch-compare-type: 'ANT'
431 branch-pattern: '**/{branch}'
433 - compare-type: 'ANT'
437 name: gerrit-trigger-release-manually
440 server-name: '{server}'
442 - comment-added-contains-event:
443 comment-contains-value: 'please release'
445 - project-compare-type: 'ANT'
446 project-pattern: '{project}'
448 - branch-compare-type: 'ANT'
449 branch-pattern: '**/{branch}'
451 - compare-type: 'ANT'
455 name: trigger-on-build-success
476 <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
477 <goVersion>Golang 1.10</goVersion>
478 </org.jenkinsci.plugins.golang.GolangBuildWrapper>
485 <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
486 <goVersion>Golang 1.11</goVersion>
487 </org.jenkinsci.plugins.golang.GolangBuildWrapper>
494 <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
495 <goVersion>Golang 1.12</goVersion>
496 </org.jenkinsci.plugins.golang.GolangBuildWrapper>
503 <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
504 <goVersion>Golang 1.14</goVersion>
505 </org.jenkinsci.plugins.golang.GolangBuildWrapper>
508 # This wrapper is required for all jobs as it configures the wrappers
509 # needed by the eCOMP infra.
515 timeout: '{build-timeout}'
516 timeout-var: 'BUILD_TIMEOUT'
518 - ssh-agent-credentials:
525 # This wrapper is used for docker build jobs to use the dedicated docker
526 # build VM and turn off OpenStack single-use
527 name: infra-wrappers-docker-build
532 timeout: '{build-timeout}'
533 timeout-var: 'BUILD_TIMEOUT'
535 - ssh-agent-credentials: