X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fkvmfornfv%2Fkvmfornfv-upload-artifact.sh;h=91b6f448133b64fa9b8f7cd49f17621ab670f973;hb=fd41ec1fc9a0a0ca1e411e35c87135d803c6ef41;hp=adf902ec9b41da6455439c4386231be22341b81a;hpb=3b638b533d06b813e1555e80c80473b22909a123;p=releng.git diff --git a/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh b/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh index adf902ec9..91b6f4481 100755 --- a/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh +++ b/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh @@ -1,5 +1,4 @@ #!/bin/bash -set -o errexit set -o nounset if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then @@ -11,30 +10,76 @@ fi case "$JOB_TYPE" in verify) - echo "Uploading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..." - GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" - echo "Removing artifacts produced for the previous patch for the change $GERRIT_CHANGE_NUMBER" - gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 && gsutil rm -r $GS_UPLOAD_LOCATION - ;; + OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER" + GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" + echo "Removing outdated artifacts produced for the previous patch for the change $GERRIT_CHANGE_NUMBER" + gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 && gsutil rm -r $GS_UPLOAD_LOCATION + echo "Uploading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..." + ;; daily) - echo "Uploding daily artifacts This could take some time..." + echo "Uploading daily artifacts This could take some time..." OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") GS_UPLOAD_LOCATION="gs://$GS_URL/$OPNFV_ARTIFACT_VERSION" + GS_LOG_LOCATION="gs://$GS_URL/logs-$(date -u +"%Y-%m-%d")"/ ;; *) echo "Artifact upload is not enabled for $JOB_TYPE jobs" exit 1 esac -gsutil cp -r $WORKSPACE/build_output/* $GS_UPLOAD_LOCATION > $WORKSPACE/gsutil.log 2>&1 -gsutil -m setmeta -r \ - -h "Cache-Control:private, max-age=0, no-transform" \ - $GS_UPLOAD_LOCATION > /dev/null 2>&1 +# save information regarding artifacts 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_UPLOAD_LOCATION" + echo "OPNFV_BUILD_URL=$BUILD_URL" +) > $WORKSPACE/opnfv.properties +source $WORKSPACE/opnfv.properties -gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 -if [[ $? -ne 0 ]]; then - echo "Problem while uploading artifacts!" - echo "Check log $WORKSPACE/gsutil.log on $NODE_NAME" - exit 1 +# upload artifacts +if [[ "$PHASE" == "build" ]]; then + gsutil cp -r $WORKSPACE/build_output/* $GS_UPLOAD_LOCATION > $WORKSPACE/gsutil.log 2>&1 + gsutil -m setmeta -r \ + -h "Cache-Control:private, max-age=0, no-transform" \ + $GS_UPLOAD_LOCATION > /dev/null 2>&1 +else + if [[ "$JOB_TYPE" == "daily" ]]; then + log_dir=$WORKSPACE/build_output/log + if [[ -d "$log_dir" ]]; then + #Uploading logs to artifacts + echo "Uploading artifacts for future debugging needs...." + gsutil cp -r $WORKSPACE/build_output/log-*.tar.gz $GS_LOG_LOCATION > $WORKSPACE/gsutil.log 2>&1 + # verifying the logs uploaded by cyclictest daily test job + gsutil ls $GS_LOG_LOCATION > /dev/null 2>&1 + if [[ $? -ne 0 ]]; then + echo "Problem while uploading logs to artifacts!" + echo "Check log $WORKSPACE/gsutil.log on $NODE_NAME" + exit 1 + fi + else + echo "No test logs/artifacts available for uploading" + fi + fi +fi + +# upload metadata file for the artifacts built by daily job +if [[ "$JOB_TYPE" == "daily" && "$PHASE" == "build" ]]; then + gsutil cp $WORKSPACE/opnfv.properties $GS_UPLOAD_LOCATION/opnfv.properties > $WORKSPACE/gsutil.log 2>&1 + gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > $WORKSPACE/gsutil.log 2>&1 + gsutil -m setmeta -r \ + -h "Cache-Control:private, max-age=0, no-transform" \ + $GS_UPLOAD_LOCATION/opnfv.properties \ + gs://$GS_URL/latest.properties > /dev/null 2>&1 +fi + +# verifying the artifacts uploading by verify/daily build job +if [[ "$PHASE" == "build" ]]; then + gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 + if [[ $? -ne 0 ]]; then + echo "Problem while uploading artifacts!" + echo "Check log $WORKSPACE/gsutil.log on $NODE_NAME" + exit 1 + fi fi echo "Uploaded artifacts!"