armband.yml: add daily build job template and script 49/12349/4
authorJosep Puigdemont <josep.puigdemont@enea.com>
Fri, 15 Apr 2016 14:29:08 +0000 (16:29 +0200)
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>
Fri, 15 Apr 2016 20:13:20 +0000 (20:13 +0000)
Change-Id: Id268e25655169c6cba06a96e0f2ad3b6731d88f8
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
jjb/armband/armband-build.sh [new file with mode: 0755]
jjb/armband/armband.yml
jjb/opnfv/slave-params.yml

diff --git a/jjb/armband/armband-build.sh b/jjb/armband/armband-build.sh
new file mode 100755 (executable)
index 0000000..81917f6
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -o errexit
+set -o nounset
+set -o pipefail
+
+cd $WORKSPACE
+
+# get current SHA1
+CURRENT_SHA1=$(git rev-parse HEAD)
+
+# log info to console
+echo "Starting the build of Armband. This could take some time..."
+echo "-----------------------------------------------------------"
+echo
+
+# set OPNFV_ARTIFACT_VERSION
+if [[ "$JOB_NAME" =~ "merge" ]]; then
+    echo "Building Fuel ISO for a merged change"
+    export OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER"
+    echo "Not supported"
+    exit 1
+else
+    export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
+fi
+
+NOCACHE_PATTERN="verify: no-cache"
+if [[ "$JOB_NAME" =~ "verify" && "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "$NOCACHE_PATTERN" ]]; then
+    echo "The cache will not be used for this build!"
+    NOCACHE_ARG="-f P"
+fi
+NOCACHE_ARG=${NOCACHE_ARG:-}
+
+# start the build
+cd $WORKSPACE/ci
+./build.sh $BUILD_DIRECTORY
+
+# list the build artifacts
+ls -al $BUILD_DIRECTORY
+
+# save information regarding artifact into file
+(
+    echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
+    echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
+    echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
+    echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
+    echo "OPNFV_BUILD_URL=$BUILD_URL"
+) > $WORKSPACE/opnfv.properties
+
+echo
+echo "--------------------------------------------------------"
+echo "Done!"
index 8de95c2..75c0e7a 100644 (file)
     builders:
         - shell: |
             echo "Nothing to verify!"
+
+- job-template:
+    name: 'armband-build-daily-{stream}'
+
+    concurrent: false
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 1
+            max-per-node: 1
+
+    parameters:
+        - project-parameters:
+            project: '{project}'
+        - 'arm-build1-defaults'
+        - choice:
+            name: FORCE_BUILD
+            choices:
+                - 'false'
+                - 'true'
+            description: 'Force build even if there are no changes in the armband repo. Default false'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    triggers:
+        -pollscm:
+            cron: '0 H/4 * * *'
+
+    wrappers:
+        -timeout:
+            timeout: 360
+            fail: true
+
+    builders:
+        - shell:
+            !include-raw-escape: ./armband-build.sh
+
+    publishers:
+        - email:
+            recipients: josep.puigdemont@enea.com armband@enea.com
index e7f063c..2431ade 100644 (file)
             name: SSH_KEY
             default: /root/.ssh/id_rsa
             description: 'SSH key to use for Apex'
+
+- parameter:
+    name: 'arm-build1-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - arm-build1
+            default-slaves:
+                - arm-build1
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on this Jenkins Slave'