Prepare backporting K8s security containers
[releng.git] / jjb / kvmfornfv / kvmfornfv-upload-artifact.sh
index 327ea97..91b6f44 100755 (executable)
@@ -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)
-        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..."
-        ;;
+       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 "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!"