Fix: Remove Jenkins URL
[ci-management.git] / jjb / scripts / post_build_deploy_archives.sh
index 79fa05a..a332f21 100755 (executable)
@@ -19,6 +19,10 @@ set +e  # Do not affect the build result if some part of archiving fails.
 WS_ARCHIVES_DIR="$WORKSPACE/archives"
 BUILD_ENV_LOG="$WS_ARCHIVES_DIR/_build-enviroment-variables.log"
 
+if curl --output robot-plugin.zip "$BUILD_URL/robot/report/*zip*/robot-plugin.zip"; then
+    unzip -d ./archives robot-plugin.zip
+fi
+
 # Generate gdb-command script to output vpp stack traceback from core files.
 gdb_cmdfile="/tmp/gdb-commands"
 cat >$gdb_cmdfile <<'__END__'
@@ -48,6 +52,9 @@ STACKTRACE=""
 # Returns stacktrace filename in STACKTRACE
 generate_vpp_stacktrace_and_delete_core() {
     local corefile="$1"
+    echo "Uncompressing core file $file"
+    gunzip "$corefile"
+    corefile="${corefile::(-3)}"
     if grep -qe 'debug' <<< "$WORKSPACE" ; then
         local binfile="$WORKSPACE/build-root/install-vpp_debug-native/vpp/bin/vpp"
     else
@@ -61,8 +68,9 @@ generate_vpp_stacktrace_and_delete_core() {
     echo "Removing core file: $corefile"
     rm -f "$corefile"
     # Dump stacktrace to console log
-    if [ -f $STACKTRACE ] ; then
+    if [ -f "$STACKTRACE" ] ; then
         echo -e "\n=====[ $STACKTRACE ]=====\n$(cat $STACKTRACE)\n=====[ $STACKTRACE ]=====\n"
+        gzip "$STACKTRACE"
     else
         echo "Stacktrace file not generated!"
         STACKTRACE=""
@@ -71,56 +79,15 @@ generate_vpp_stacktrace_and_delete_core() {
 
 mkdir -p "$WS_ARCHIVES_DIR"
 
-# Log the build environment variables
-echo "Logging build environment variables in '$BUILD_ENV_LOG'..."
-env > $BUILD_ENV_LOG
-
-echo "ARCHIVE_ARTIFACTS = '$ARCHIVE_ARTIFACTS'"
-if [ -n "${ARCHIVE_ARTIFACTS:-}" ] ; then
-    pushd $WORKSPACE
-    shopt -s globstar  # Enable globstar to copy archives
-    for file in $ARCHIVE_ARTIFACTS ; do
-        if [ -f "$file" ] ; then
-            fname="$(basename $file)"
-            # Decompress core.gz file
-            if grep -qe '^core.*\.gz$' <<<"$fname" ; then
-                echo "Uncompressing core file $file"
-                gunzip "$file"
-                file="${file::(-3)}"
-            fi
-            # Convert core file to stacktrace
-            if [ "${fname::4}" = "core" ] ; then
-                generate_vpp_stacktrace_and_delete_core $file
-                [ -z "$STACKTRACE" ] && continue
-                file=$STACKTRACE
-            fi
-            # Set destination filename
-            if [ "${file::26}" = "/tmp/vpp-failed-unittests/" ] ; then
-                destfile=$WS_ARCHIVES_DIR${file:25}
-            else
-                destfile=$WS_ARCHIVE_DIR$file
-            fi
-            echo "Archiving '$file' to '$destfile'"
-            destdir="$(dirname $destfile)"
-            mkdir -p $destdir
-            mv -f $file $destfile
-        else
-            echo "Not archiving '$file'"
-            if ! grep -qe '*' <<<"$file" ; then
-                echo "WARNING: No artifacts detected in ARCHIVE_ARTIFACTS '$ARCHIVE_ARTIFACTS'!"
-            fi
-        fi
+# generate stack trace for VPP core files for upload instead of core file.
+if [ -d "$WORKSPACE/build-root" ] ; then
+    for file in $(find $WS_ARCHIVES_DIR -type f -name 'core*.gz') ; do
+        generate_vpp_stacktrace_and_delete_core $file
     done
-    shopt -u globstar  # Disable globstar
-    popd
 fi
 
-# find and gzip any 'text' files
-find $WS_ARCHIVES_DIR -type f -print0 \
-                | xargs -0r file \
-                | egrep -e ':.*text.*' \
-                | cut -d: -f1 \
-                | xargs -d'\n' -r gzip
+# Remove any socket files in archive
+find $WS_ARCHIVES_DIR -type s -exec rm -rf {} \;
 
 echo "Workspace archived artifacts:"
 ls -alR $WS_ARCHIVES_DIR