X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Ffuel%2Ffuel-build.sh;h=be188b87a63adcb52944cf988c15c29765072685;hb=0d17b12d0109cb684482dc2fa85b610b2d01e68b;hp=178a50c687cee022939c3e401a31c5b3657d46a6;hpb=2b1dda7443ae1f917542781444c25f92317471a4;p=releng.git diff --git a/jjb/fuel/fuel-build.sh b/jjb/fuel/fuel-build.sh index 178a50c68..be188b87a 100755 --- a/jjb/fuel/fuel-build.sh +++ b/jjb/fuel/fuel-build.sh @@ -3,20 +3,59 @@ 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 + +# 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) + +# 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." + 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 -export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") +if [[ "$JOB_NAME" =~ "merge" ]]; then + echo "Building Fuel ISO for a merged change" + export OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER" +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/$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