diff options
author | Josep Puigdemont <josep.puigdemont@enea.com> | 2016-04-15 16:29:08 +0200 |
---|---|---|
committer | Fatih Degirmenci <fatih.degirmenci@ericsson.com> | 2016-04-15 20:13:20 +0000 |
commit | f3d1dc6c1ec970ffaa225cf75b560c41c0d5a09b (patch) | |
tree | 4edaf2e023d3c38f6c571e2f6ec723279adc3ccc | |
parent | b2628f46a2abe65c8aea4e8c527148ab5bfa3ba0 (diff) |
armband.yml: add daily build job template and script
Change-Id: Id268e25655169c6cba06a96e0f2ad3b6731d88f8
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
-rwxr-xr-x | jjb/armband/armband-build.sh | 58 | ||||
-rw-r--r-- | jjb/armband/armband.yml | 45 | ||||
-rw-r--r-- | jjb/opnfv/slave-params.yml | 15 |
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' |