X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-macros.yaml;h=9c70eec4fd5a9e65214fc0566c76a367cd331266;hb=eb3c53ce4cc070215e486dec8df7b1f2d4bf7c75;hp=efc0d095b12a1037a09ae83a3d8c9e95bd99860e;hpb=98a82bd6763343644130e6a8a2aa70ba4a12533a;p=ci-management.git diff --git a/jjb/global-macros.yaml b/jjb/global-macros.yaml index efc0d095b..9c70eec4f 100644 --- a/jjb/global-macros.yaml +++ b/jjb/global-macros.yaml @@ -4,12 +4,6 @@ # vim: sw=2 ts=2 sts=2 et : # BUILDERS -- builder: - name: ci-management-check-unicode - builders: - - shell: | - $WORKSPACE/scripts/check-unicode.sh jjb/ - - builder: name: provide-maven-settings builders: @@ -29,6 +23,20 @@ maven-version: '{maven-version}' goals: '--version' +- builder: + name: maven-set-release-version + builders: + - maven-target: + maven-version: '{maven-version}' + pom: '{pom}' + goals: 'versions:set versions:update-child-modules versions:commit -B' + properties: + - 'newVersion=${{release_version}}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - builder: name: maven-docker-push-release builders: @@ -51,13 +59,12 @@ - maven-target: maven-version: '{maven-version}' pom: '{pom}' - goals: 'clean deploy -B -P {mvn-profile}' + goals: 'clean deploy -B -P {mvn-profile} {mvn-params}' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp properties: - - maven.test.skip=true - docker.pull.registry=nexus3.onap.org:10001 - docker.push.registry=nexus3.onap.org:10003 @@ -66,6 +73,14 @@ builders: - shell: !include-raw: include-docker-login.sh +- builder: + name: publish-pypi + builders: + - inject: + properties-content: PYPI_SERVER={pypi-server} + - shell: + !include-raw-escape: ../shell/pypi-publish.sh + # PARAMETERS - parameter: name: infra-parameters @@ -99,6 +114,14 @@ default: '$JOB_NAME-$BUILD_NUMBER' description: 'Used by Heat to generate a unique stack & vm name' +- parameter: + name: maven-params + parameters: + - string: + name: MAVEN_PARAMS + default: '{mvn-params}' + description: Maven parameters to pass to the mvn command. + - parameter: name: maven-exec parameters: @@ -109,6 +132,16 @@ # yamllint enable description: 'Maven selector to be used by shell scripts' +- parameter: + name: docker-image-name + parameters: + - string: + name: DOCKER_IMAGE_NAME + # yamllint disable rule:line-length + default: '{docker-image-name}' + # yamllint enable + description: 'Docker image name, e.g. onap/appc' + # PROPERTIES - property: name: infra-properties @@ -168,36 +201,72 @@ healthy: 50 unhealthy: 40 +- publisher: + name: checkstyle-result + publishers: + - checkstyle: + pattern: '**/checkstyle-result.xml' + healthy: 0 + unhealthy: 100 + health-threshold: 'high' + thresholds: + unstable: + total-all: 30 + total-high: 15 + total-normal: 20 + total-low: 25 + new-all: 5 + new-high: 0 + new-normal: 2 + new-low: 5 + +- publisher: + name: checkstyle-result-daily + publishers: + - checkstyle: + pattern: '**/checkstyle-result.xml' + healthy: 0 + unhealthy: 100 + health-threshold: 'high' + thresholds: + unstable: + total-all: 30 + total-high: 15 + total-normal: 20 + total-low: 25 + new-all: 1 + new-high: 0 + new-normal: 1 + new-low: 1 + - publisher: name: infra-shiplogs - # To archive things, the job will need to create an "archives" directory in - # the workspace and this macro will handle copying the contents of the - # archives directory. - # - # Uses the build parameter ARCHIVE_ARTIFACTS if not empty to find files to - # archive. You can pass globstar patterns for example "**/*.xml **/*.log" as - # the archive pattern. This is a space separated list of files to archive. + # lf-infra macro to finish up a build. # - # Also ensure that the workspace is cleaned up at the end of the build. + # Handles the following: + # - Shipping logs to Nexus logs site repository + # - Cleanup workspace publishers: - postbuildscript: builders: - - shell: !include-raw-escape: include-raw-deploy-archives.sh - - maven-target: - maven-version: '{maven-version}' - pom: '.archives/deploy-archives.xml' - goals: 'clean deploy -V -B -q -Dmaven.repo.local=/tmp/r' - settings: 'jenkins-log-archives-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - description-setter: - regexp: '^Build logs: .*' - script-only-if-succeeded: false - script-only-if-failed: false + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - lf-infra-sysstat + - lf-infra-ship-logs mark-unstable-if-failed: true - workspace-cleanup: - fail-build: false` + exclude: + # Do not clean up *.jenkins-trigger files for jobs that use a + # properties file as input for triggering another build. + - '**/*.jenkins-trigger' + fail-build: false + # SCMS - scm: @@ -225,6 +294,8 @@ skip-tag: true timeout: 30 choosing-strategy: '{choosing-strategy}' + submodule: + recursive: '{submodule-recursive}' - scm: name: gerrit-trigger-scm-basedir @@ -320,6 +391,48 @@ - compare-type: 'ANT' pattern: '{files}' +- trigger: + name: gerrit-trigger-helm-patch-submitted + triggers: + - gerrit: + server-name: '{server}' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify|verify-helm)\s*$' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: 'ANT' + pattern: '{files}' + +- trigger: + name: gerrit-trigger-helm-patch-merged + triggers: + - gerrit: + server-name: '{server}' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: '^remerge-helm$' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: 'ANT' + pattern: '{files}' + - trigger: name: gerrit-trigger-release-manually triggers: @@ -355,6 +468,33 @@ timeout: 360 fail: true +- wrapper: + name: golang110 + wrappers: + - raw: + xml: | + + Golang 1.10 + + +- wrapper: + name: golang111 + wrappers: + - raw: + xml: | + + Golang 1.11 + + +- wrapper: + name: golang112 + wrappers: + - raw: + xml: | + + Golang 1.12 + + - wrapper: # This wrapper is required for all jobs as it configures the wrappers # needed by the eCOMP infra. @@ -371,3 +511,20 @@ - 'onap-jenkins-ssh' - openstack: single-use: true + +- wrapper: + # This wrapper is used for docker build jobs to use the dedicated docker + # build VM and turn off OpenStack single-use + name: infra-wrappers-docker-build + wrappers: + - timestamps + - timeout: + type: absolute + timeout: '{build-timeout}' + timeout-var: 'BUILD_TIMEOUT' + fail: true + - ssh-agent-credentials: + users: + - 'onap-jenkins-ssh' + - openstack: + single-use: false