X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Ffuel%2Ffuel-build.sh;h=d51637afdb7133750c4848cfad6512cbcaea58ce;hb=462e6bb0ad56207b3ee86375f49458779557a71f;hp=63a62f497f33b3b6a75da6361e1d5852c3b1f521;hpb=5a7a6a6c48511dd8d53defe64609edc88d4999bb;p=releng.git diff --git a/jjb/fuel/fuel-build.sh b/jjb/fuel/fuel-build.sh index 63a62f497..d51637afd 100755 --- a/jjb/fuel/fuel-build.sh +++ b/jjb/fuel/fuel-build.sh @@ -3,25 +3,64 @@ set -o errexit set -o nounset set -o pipefail +cd $WORKSPACE + +LATEST_ISO_PROPERTIES=$WORKSPACE/latest.iso.properties +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" + + 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 + 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." + /bin/rm -f $LATEST_ISO_PROPERTIES + echo +fi + # log info to console -echo "Starting the build of $INSTALLER. This could take some time..." +echo "Starting the build of $INSTALLER_TYPE. This could take some time..." echo "--------------------------------------------------------" echo # create the cache directory if it doesn't exist -[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY +mkdir -p $CACHE_DIRECTORY # set OPNFV_ARTIFACT_VERSION -if [[ $GERRIT_EVENT_TYPE = "change-merged" ]]; then +if [[ "$JOB_NAME" =~ "merge" ]]; then echo "Building Fuel ISO for a merged change" - OPNFV_ARTIFACT_VERSION=$(gerrit-$GERRIT_CHANGE_NUMBER) + export OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER" else - OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") + 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/$INSTALLER/ci -./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY +cd $WORKSPACE/ci +./build.sh -v $OPNFV_ARTIFACT_VERSION $NOCACHE_ARG -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY # list the build artifacts ls -al $BUILD_DIRECTORY