fuel: Enable force build
[releng.git] / jjb / fuel / fuel-build.sh
index 6ccfb6f..eaf1f83 100755 (executable)
@@ -1,32 +1,47 @@
 #!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# 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
 
-# check to see if we already have an artifact on artifacts.opnfv.org
-# for this commit
-echo "Checking to see if we already built and stored Fuel ISO for this commit"
-
 LATEST_ISO_PROPERTIES=$WORKSPACE/latest.iso.properties
-curl -s -o $LATEST_ISO_PROPERTIES http://$GS_URL/latest.properties 2>/dev/null
+if [[ "$JOB_NAME" =~ "daily" ]]; then
+    # check to see if we already have an artifact on artifacts.opnfv.org
+    # for this commit during daily builds
+    echo "Checking to see if we already built and stored Fuel ISO for this commit"
 
-# get metadata of latest ISO
-LATEST_ISO_SHA1=$(grep OPNFV_GIT_SHA1 $LATEST_ISO_PROPERTIES | cut -d'=' -f2)
-LATEST_ISO_URL=$(grep OPNFV_ARTIFACT_URL $LATEST_ISO_PROPERTIES | cut -d'=' -f2)
+    curl -s -o $LATEST_ISO_PROPERTIES http://$GS_URL/latest.properties 2>/dev/null
+
+    # get metadata of latest ISO
+    LATEST_ISO_SHA1=$(grep OPNFV_GIT_SHA1 $LATEST_ISO_PROPERTIES | cut -d'=' -f2)
+    LATEST_ISO_URL=$(grep OPNFV_ARTIFACT_URL $LATEST_ISO_PROPERTIES | cut -d'=' -f2)
+else
+    LATEST_ISO_SHA1=none
+fi
 
 # get current SHA1
 CURRENT_SHA1=$(git rev-parse HEAD)
 
-if [[ "$CURRENT_SHA1" == "$LATEST_ISO_SHA1" ]]; then
+# set FORCE_BUILD to false for non-daily builds
+FORCE_BUILD=${FORCE_BUILD:-false}
+
+if [[ "$CURRENT_SHA1" == "$LATEST_ISO_SHA1" && "$FORCE_BUILD" == "false" ]]; then
     echo "An ISO has already been built for this commit"
     echo "    $LATEST_ISO_URL"
     echo "Nothing new to build. Exiting."
     touch $WORKSPACE/.noupload
     exit 0
 else
-    echo "This commit has not been built yet. Proceeding with the build."
+    echo "This commit has not been built yet or forced build! Proceeding with the build."
     /bin/rm -f $LATEST_ISO_PROPERTIES
     echo
 fi
@@ -52,7 +67,7 @@ if [[ "$JOB_NAME" =~ "verify" && "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "$NOCACHE_PA
     echo "The cache will not be used for this build!"
     NOCACHE_ARG="-f P"
 fi
-NOCACHE_ARG=${{NOCACHE_ARG:-}}
+NOCACHE_ARG=${NOCACHE_ARG:-}
 
 # start the build
 cd $WORKSPACE/ci