Merge "Fix Nokia image generation"
[ci-management.git] / jjb / global-macros.yaml
index d8ced34..826b604 100644 (file)
             - file-id: '{settings-file}'
               variable: 'SETTINGS_FILE'
 
+# call maven-target builder with a goal of --version to force Jenkins to
+# install the needed maven version
+- builder:
+    name: maven-install
+    builders:
+      - maven-target:
+          maven-version: '{maven-version}'
+          goals: '--version'
+
 - builder:
     name: maven-docker-push-release
     builders:
       - maven-target:
-          maven-version: 'mvn33'
+          maven-version: '{maven-version}'
           pom: '{pom}'
-          goals: 'clean deploy -P {profile-name} -B'
+          goals: 'clean deploy -B -P {mvn-profile}'
           settings: '{mvn-settings}'
           settings-type: cfp
           global-settings: 'global-settings'
           global-settings-type: cfp
           properties:
             - maven.test.skip=true
-            - docker.pull.registry=nexus3.openecomp.org:10001
-            - docker.push.registry=nexus3.openecomp.org:10002
+            - docker.pull.registry=nexus3.onap.org:10001
+            - docker.push.registry=nexus3.onap.org:10002
 
 - builder:
     name: maven-docker-push-daily
     builders:
       - maven-target:
-          maven-version: 'mvn33'
+          maven-version: '{maven-version}'
           pom: '{pom}'
-          goals: 'clean deploy -P {profile-name} -B'
+          goals: 'clean deploy -B -P {mvn-profile}'
           settings: '{mvn-settings}'
           settings-type: cfp
           global-settings: 'global-settings'
           global-settings-type: cfp
           properties:
             - maven.test.skip=true
-            - docker.pull.registry=nexus3.openecomp.org:10001
-            - docker.push.registry=nexus3.openecomp.org:10003
+            - docker.pull.registry=nexus3.onap.org:10001
+            - docker.push.registry=nexus3.onap.org:10003
+
+- builder:
+    name: docker-login
+    builders:
+      - shell: !include-raw: include-docker-login.sh
 
 # PARAMETERS
 - parameter:
-    name: ecomp-infra-parameters
+    name: infra-parameters
     parameters:
       - string:
           name: PROJECT
           # 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: ecomp-infra-properties
+    name: infra-properties
     properties:
       - build-discarder:
           days-to-keep: '{build-days-to-keep}'
                 unhealthy: 40
 
 - publisher:
-    name: ecomp-infra-shiplogs
+    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.
     publishers:
       - postbuildscript:
           builders:
-            - shell: !include-raw: include-raw-deploy-archives.sh
+            - shell: !include-raw-escape: include-raw-deploy-archives.sh
             - maven-target:
                 maven-version: '{maven-version}'
                 pom: '.archives/deploy-archives.xml'
     name: git-scm
     scm:
       - git:
-          credentials-id: 'ecomp-jenkins-ssh'
+          credentials-id: 'onap-jenkins-ssh'
           url: '$GIT_BASE'
           refspec: ''
           branches:
     name: gerrit-trigger-scm
     scm:
       - git:
-          credentials-id: 'ecomp-jenkins-ssh'
+          credentials-id: 'onap-jenkins-ssh'
           url: '$GIT_BASE'
           refspec: '{refspec}'
           branches:
           skip-tag: true
           timeout: 30
           choosing-strategy: '{choosing-strategy}'
+          submodule:
+            recursive: '{submodule-recursive}'
 
 - scm:
     name: gerrit-trigger-scm-basedir
     scm:
       - git:
-          credentials-id: 'ecomp-jenkins-ssh'
+          credentials-id: 'onap-jenkins-ssh'
           url: '$GIT_BASE'
           refspec: '{refspec}'
           branches:
     name: git-branch-scm
     scm:
       - git:
-          credentials-id: 'ecomp-jenkins-ssh'
+          credentials-id: 'onap-jenkins-ssh'
           url: '$GIT_BASE'
           refspec: ''
           branches:
     name: git-extra-project
     scm:
       - git:
-          credentials-id: 'ecomp-jenkins-ssh'
+          credentials-id: 'onap-jenkins-ssh'
           url: '$GIT_NO_PROJECT/{project}'
           refspec: '{refspec}'
           branches:
                 - compare-type: 'ANT'
                   pattern: '{files}'
 
+- trigger:
+    name: gerrit-trigger-release-manually
+    triggers:
+      - gerrit:
+          server-name: '{server}'
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: 'please release'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              file-paths:
+                - compare-type: 'ANT'
+                  pattern: '**'
+
+- trigger:
+    name: trigger-on-build-success
+    triggers:
+      - reverse:
+          jobs: '{job-name}'
+          result: 'success'
+
+
 # WRAPPERS
 - wrapper:
     name: build-timeout
 - wrapper:
     # This wrapper is required for all jobs as it configures the wrappers
     # needed by the eCOMP infra.
-    name: ecomp-infra-wrappers
+    name: infra-wrappers
     wrappers:
+      - timestamps
       - timeout:
           type: absolute
           timeout: '{build-timeout}'
           fail: true
       - ssh-agent-credentials:
           users:
-            - 'ecomp-jenkins-ssh'
+            - 'onap-jenkins-ssh'
       - openstack:
           single-use: true