Merge "Chore: Move to ubuntu2004-docker"
[ci-management.git] / jjb / global-macros.yaml
index 454d056..50a9a57 100644 (file)
@@ -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:
           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:
       - 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
 
     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
           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:
           # 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
               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.
-    #
-    # Also ensure that the workspace is cleaned up at the end of the build.
-    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
-          mark-unstable-if-failed: true
-      - workspace-cleanup:
-          fail-build: false`
-
 # SCMS
 - scm:
     name: git-scm
                 - 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-no-code-change: 'false'
+                exclude-trivial-rebase: 'true'
+                exclude-wip: 'true'
+            - 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:
           timeout: 360
           fail: true
 
+- wrapper:
+    name: golang110
+    wrappers:
+      - raw:
+          xml: |
+            <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
+            <goVersion>Golang 1.10</goVersion>
+            </org.jenkinsci.plugins.golang.GolangBuildWrapper>
+
+- wrapper:
+    name: golang111
+    wrappers:
+      - raw:
+          xml: |
+            <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
+            <goVersion>Golang 1.11</goVersion>
+            </org.jenkinsci.plugins.golang.GolangBuildWrapper>
+
+- wrapper:
+    name: golang112
+    wrappers:
+      - raw:
+          xml: |
+            <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
+            <goVersion>Golang 1.12</goVersion>
+            </org.jenkinsci.plugins.golang.GolangBuildWrapper>
+
+- wrapper:
+    name: golang114
+    wrappers:
+      - raw:
+          xml: |
+            <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
+            <goVersion>Golang 1.14</goVersion>
+            </org.jenkinsci.plugins.golang.GolangBuildWrapper>
+
 - wrapper:
     # This wrapper is required for all jobs as it configures the wrappers
     # needed by the eCOMP infra.
             - '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