summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosep Puigdemont <josep.puigdemont@enea.com>2016-04-15 16:29:08 +0200
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2016-04-15 20:13:20 +0000
commitf3d1dc6c1ec970ffaa225cf75b560c41c0d5a09b (patch)
tree4edaf2e023d3c38f6c571e2f6ec723279adc3ccc
parentb2628f46a2abe65c8aea4e8c527148ab5bfa3ba0 (diff)
armband.yml: add daily build job template and script
Change-Id: Id268e25655169c6cba06a96e0f2ad3b6731d88f8 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
-rwxr-xr-xjjb/armband/armband-build.sh58
-rw-r--r--jjb/armband/armband.yml45
-rw-r--r--jjb/opnfv/slave-params.yml15
3 files changed, 118 insertions, 0 deletions
diff --git a/jjb/armband/armband-build.sh b/jjb/armband/armband-build.sh
new file mode 100755
index 000000000..81917f6de
--- /dev/null
+++ b/jjb/armband/armband-build.sh
@@ -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!"
diff --git a/jjb/armband/armband.yml b/jjb/armband/armband.yml
index 8de95c2e1..75c0e7a7b 100644
--- a/jjb/armband/armband.yml
+++ b/jjb/armband/armband.yml
@@ -59,3 +59,48 @@
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
diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml
index e7f063c94..2431ade85 100644
--- a/jjb/opnfv/slave-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -582,3 +582,18 @@
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'