Rename archive-build macro to opendaylight-infra-shiplogs
[releng/builder.git] / jjb / releng-macros.yaml
index d9f268261c1bf11304d8357980dcb2b685867198..bf596fa02cad709218d77e1faa0bce5dbecf85ff 100644 (file)
@@ -1,16 +1,16 @@
 # OLD Releng macros
 
 - parameter:
-    name: project-parameter
+    name: opendaylight-infra-parameters
     parameters:
         - string:
             name: PROJECT
             default: '{project}'
-            description: "JJB configured PROJECT parameter to identify an ODL Gerrit project"
-
-- parameter:
-    name: gerrit-parameters
-    parameters:
+            description: 'Parameter to identify an ODL Gerrit project'
+        - string:
+            name: ARCHIVE_ARTIFACTS
+            default: '{artifacts} **/target/surefire-reports/*-output.txt'
+            description: 'Space separated glob patterns for artifacts to archive into logs.opendaylight.org'
         - string:
             name: GERRIT_PROJECT
             default: '{project}'
@@ -76,7 +76,7 @@
     name: git-scm
     scm:
         - git:
-            credentials-id: '{credentials-id}'
+            credentials-id: 'opendaylight-jenkins-ssh'
             url: '$GIT_BASE'
             refspec: ''
             branches:
@@ -88,7 +88,7 @@
     name: git-scm-with-submodules
     scm:
         - git:
-            credentials-id: '{credentials-id}'
+            credentials-id: 'opendaylight-jenkins-ssh'
             url: '$GIT_BASE'
             refspec: ''
             branches:
     name: gerrit-trigger-scm
     scm:
         - git:
-            credentials-id: '{credentials-id}'
+            credentials-id: 'opendaylight-jenkins-ssh'
             url: '$GIT_BASE'
             refspec: '{refspec}'
             branches:
                       unhealthy: 40
 
 - publisher:
-    name: archive-build
+    name: opendaylight-infra-shiplogs
     # To archive things the job will need to create a "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:
         - workspace-cleanup:
             fail-build: false
 
+- builder:
+    name: opendaylight-infra-pre-builders
+    builders:
+        - shell: |
+            if [ ! -z "$GERRIT_PATCHSET_REVISION" ]; then
+                LOG_MESSAGE="
+                    Logs for $JOB_NAME:
+                    https://logs.opendaylight.org/$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER
+                    (note that logs will be unavailable until the job is completed running.)
+                "
+                ssh -p 29418 jenkins-$SILO@git.opendaylight.org gerrit review -m \"${LOG_MESSAGE}\" $GERRIT_PATCHSET_REVISION
+            fi
+
 - builder:
     name: wipe-org-opendaylight-repo
     builders:
     name: releng-stage-release
     builders:
         - shell: !include-raw: include-raw-stage-release.sh
+
+- wrapper:
+    # This wrapper is required for all jobs as it configures the wrappers
+    # needed by OpenDaylight infra.
+    name: opendaylight-infra-wrappers
+    wrappers:
+        - timeout:
+            type: absolute
+            timeout: '{build-timeout}'
+            timeout-var: 'BUILD_TIMEOUT'
+            fail: true
+        - ssh-agent-credentials:
+            users:
+                - 'opendaylight-jenkins-ssh'
+        - jclouds:
+            single-use: True
+        - openstack:
+            single-use: True