4 # vim: sw=2 ts=2 sts=2 et :
8 name: ci-management-check-unicode
11 $WORKSPACE/scripts/check-unicode.sh jjb/
14 name: provide-maven-settings
16 - config-file-provider:
18 - file-id: '{global-settings-file}'
19 variable: 'GLOBAL_SETTINGS_FILE'
20 - file-id: '{settings-file}'
21 variable: 'SETTINGS_FILE'
23 # call maven-target builder with a goal of --version to force Jenkins to
24 # install the needed maven version
29 maven-version: '{maven-version}'
33 name: maven-docker-push-release
36 maven-version: '{maven-version}'
38 goals: 'clean deploy -B -P {mvn-profile}'
39 settings: '{mvn-settings}'
41 global-settings: 'global-settings'
42 global-settings-type: cfp
44 - maven.test.skip=true
45 - docker.pull.registry=nexus3.onap.org:10001
46 - docker.push.registry=nexus3.onap.org:10002
49 name: maven-docker-push-daily
52 maven-version: '{maven-version}'
54 goals: 'clean deploy -B -P {mvn-profile}'
55 settings: '{mvn-settings}'
57 global-settings: 'global-settings'
58 global-settings-type: cfp
60 - maven.test.skip=true
61 - docker.pull.registry=nexus3.onap.org:10001
62 - docker.push.registry=nexus3.onap.org:10003
67 - shell: !include-raw: include-docker-login.sh
73 properties-content: PYPI_SERVER={pypi-server}
75 !include-raw-escape: ../shell/pypi-publish.sh
79 name: infra-parameters
84 # yamllint disable rule:line-length
85 description: 'JJB configured PROJECT parameter to identify a Gerrit project'
88 name: ARCHIVE_ARTIFACTS
89 default: '{artifacts} **/target/surefire-reports/*-output.txt'
90 # yamllint disable rule:line-length
91 description: 'Space separated glob patterns for artifacts to archive to logs hosting'
96 description: 'JJB configured GERRIT_BRANCH parameter'
100 description: 'GERRIT_PROJECT parameter if not given by trigger'
104 description: 'GERRIT_REFSPEC parameter if not given by trigger'
107 default: '$JOB_NAME-$BUILD_NUMBER'
108 description: 'Used by Heat to generate a unique stack & vm name'
115 # yamllint disable rule:line-length
116 default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{maven-version}/bin/mvn'
118 description: 'Maven selector to be used by shell scripts'
121 name: docker-image-name
124 name: DOCKER_IMAGE_NAME
125 # yamllint disable rule:line-length
126 default: '{docker-image-name}'
128 description: 'Docker image name, e.g. onap/appc'
132 name: infra-properties
135 days-to-keep: '{build-days-to-keep}'
137 artifact-days-to-keep: -1
138 artifact-num-to-keep: 5
142 name: archive-artifacts
145 artifacts: '{artifacts}'
151 name: email-notification
154 recipients: 'nobody@open-o.org'
156 content-type: default
157 # yamllint disable rule:line-length
158 subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
161 $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
163 Check console output at $BUILD_URL to view the results.
174 exec-pattern: '**/**.exec'
175 class-pattern: '**/classes'
176 source-pattern: '**/src/main/java'
177 # yamllint disable rule:line-length
178 exclusion-pattern: '**/gen**,**/generated-sources/**,**/yang-gen**,**/pax/**'
190 name: checkstyle-result
193 pattern: '**/checkstyle-result.xml'
196 health-threshold: 'high'
209 name: checkstyle-result-daily
212 pattern: '**/checkstyle-result.xml'
215 health-threshold: 'high'
229 # To archive things, the job will need to create an "archives" directory in
230 # the workspace and this macro will handle copying the contents of the
231 # archives directory.
233 # Uses the build parameter ARCHIVE_ARTIFACTS if not empty to find files to
234 # archive. You can pass globstar patterns for example "**/*.xml **/*.log" as
235 # the archive pattern. This is a space separated list of files to archive.
237 # Also ensure that the workspace is cleaned up at the end of the build.
241 - shell: !include-raw-escape: include-raw-deploy-archives.sh
243 maven-version: '{maven-version}'
244 pom: '.archives/deploy-archives.xml'
245 goals: 'clean deploy -V -B -q -Dmaven.repo.local=/tmp/r'
246 settings: 'jenkins-log-archives-settings'
248 global-settings: 'global-settings'
249 global-settings-type: cfp
250 - description-setter:
251 regexp: '^Build logs: .*'
252 script-only-if-succeeded: false
253 script-only-if-failed: false
254 mark-unstable-if-failed: true
263 credentials-id: 'onap-jenkins-ssh'
273 name: gerrit-trigger-scm
276 credentials-id: 'onap-jenkins-ssh'
280 - 'origin/$GERRIT_BRANCH'
283 choosing-strategy: '{choosing-strategy}'
285 recursive: '{submodule-recursive}'
288 name: gerrit-trigger-scm-basedir
291 credentials-id: 'onap-jenkins-ssh'
295 - 'origin/$GERRIT_BRANCH'
298 choosing-strategy: '{choosing-strategy}'
305 credentials-id: 'onap-jenkins-ssh'
315 name: git-extra-project
318 credentials-id: 'onap-jenkins-ssh'
319 url: '$GIT_NO_PROJECT/{project}'
325 wipe-workspace: false
326 basedir: '{checkout-dir}'
330 # This is a single macro to use for all jobs who vote on every (relevant) patch
331 # set. Only 'recheck' trigger word is supported, it always triggers the full set
332 # of relevant jobs, in order to prevent Jenkins from starting only a subset and
333 # still voting Verified+1
335 # server: name of gerrit server to listen to
336 # project: pattern to match triggering projects
337 # branch: triggering branch name
338 # files: pattern to match triggering filepaths
340 name: gerrit-trigger-patch-submitted
343 server-name: '{server}'
345 - patchset-created-event:
346 exclude-drafts: 'false'
347 exclude-trivial-rebase: 'false'
348 exclude-no-code-change: 'false'
349 - draft-published-event
350 - comment-added-contains-event:
351 comment-contains-value: 'recheck'
353 - project-compare-type: 'ANT'
354 project-pattern: '{project}'
356 - branch-compare-type: 'ANT'
357 branch-pattern: '**/{branch}'
359 - compare-type: 'ANT'
363 name: gerrit-trigger-patch-merged
366 server-name: '{server}'
368 - change-merged-event
369 - comment-added-contains-event:
370 comment-contains-value: 'remerge'
372 - project-compare-type: 'ANT'
373 project-pattern: '{project}'
375 - branch-compare-type: 'ANT'
376 branch-pattern: '**/{branch}'
378 - compare-type: 'ANT'
382 name: gerrit-trigger-release-manually
385 server-name: '{server}'
387 - comment-added-contains-event:
388 comment-contains-value: 'please release'
390 - project-compare-type: 'ANT'
391 project-pattern: '{project}'
393 - branch-compare-type: 'ANT'
394 branch-pattern: '**/{branch}'
396 - compare-type: 'ANT'
400 name: trigger-on-build-success
417 # This wrapper is required for all jobs as it configures the wrappers
418 # needed by the eCOMP infra.
424 timeout: '{build-timeout}'
425 timeout-var: 'BUILD_TIMEOUT'
427 - ssh-agent-credentials: