Merge "Fix yamllint for ovsdb"
[releng/builder.git] / jjb / include-raw-deploy-archives.sh
index 8b74a136b4437e66cdea1b42ae31da527c8b4afa..53d2991a54f02308ff1581b09ba1af72cde8722c 100644 (file)
@@ -2,8 +2,26 @@
 
 set +e  # Do not affect the build result if some part of archiving fails.
 
+# Print out git status at the end of the build before we archive if $WORKSPACE
+# is a git repo.
+if [ -d $WORKSPACE/.git ]; then
+    echo ""
+    echo "----------> Git Status Report"
+    git status
+fi
+
+echo ""
+echo "----------> Archiving build to logs server"
+# Configure wget to not print download status when we download logs or when
+# Jenkins is installing Maven (To be clear this is the Jenkins Maven plugin
+# using a shell script itself that we are unable to modify directly to affect
+# wget).
+echo "verbose=off" > ~/.wgetrc
+
 ARCHIVES_DIR="$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER"
-LOGS_SERVER="https://logs.opendaylight.org"
+[ "$LOGS_SERVER" ] || LOGS_SERVER="https://logs.opendaylight.org"
+[ "$LOGS_REPO_URL" ] || LOGS_REPO_URL="https://nexus.opendaylight.org/service/local/repositories/logs"
+
 echo "Build logs: <a href=\"$LOGS_SERVER/$SILO/$ARCHIVES_DIR\">$LOGS_SERVER/$SILO/$ARCHIVES_DIR</a>"
 
 mkdir .archives
@@ -40,7 +58,7 @@ cat > deploy-archives.xml <<EOF
             </goals>
             <configuration>
               <serverId>opendaylight-log-archives</serverId>
-              <repositoryUrl>https://nexus.opendaylight.org/service/local/repositories/logs/content-compressed</repositoryUrl>
+              <repositoryUrl>$LOGS_REPO_URL/content-compressed</repositoryUrl>
               <file>archives.zip</file>
               <repositoryPath>$SILO</repositoryPath>
             </configuration>
@@ -66,16 +84,31 @@ if [ ! -z "${{ARCHIVE_ARTIFACTS}}" ]; then
     shopt -u globstar  # Disable globstar once archives are copied
     popd
 fi
+
+
 # Ignore logging if archives doesn't exist
 mv $WORKSPACE/archives/ $ARCHIVES_DIR > /dev/null 2>&1
 touch $ARCHIVES_DIR/_build-details.txt
 echo "build-url: ${{BUILD_URL}}" >> $ARCHIVES_DIR/_build-details.txt
-env > $ARCHIVES_DIR/_build-enviroment-variables.txt
+env | grep -v PASSWORD > $ARCHIVES_DIR/_build-enviroment-variables.txt
+
+# capture system info
+touch $ARCHIVES_DIR/_sys-info.txt
+{{
+    echo -e "uname -a:\n `uname -a` \n"
+    echo -e "df -h:\n `df -h` \n"
+    echo -e "free -m:\n `free -m` \n"
+    echo -e "nproc:\n `nproc` \n"
+    echo -e "lscpu:\n `lscpu` \n"
+    echo -e "ip addr:\n  `/sbin/ip addr` \n"
+}} 2>&1 | tee -a $ARCHIVES_DIR/_sys-info.txt
 
 # Magic string used to trim console logs at the appropriate level during wget
 echo "-----END_OF_BUILD-----"
-wget -O $ARCHIVES_DIR/_console-output.log ${{BUILD_URL}}consoleText
-sed -i '/^-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/_console-output.log
+wget -O $ARCHIVES_DIR/console.log ${{BUILD_URL}}consoleText
+wget -O $ARCHIVES_DIR/console-timestamp.log "${{BUILD_URL}}/timestamps?time=HH:mm:ss&appendLog"
+sed -i '/^-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/console.log
+sed -i '/^.*-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/console-timestamp.log
 
 gzip $ARCHIVES_DIR/*.txt $ARCHIVES_DIR/*.log
 # find and gzip any 'text' files
@@ -85,5 +118,5 @@ find $ARCHIVES_DIR -type f -print0 \
                 | cut -d: -f1 \
                 | xargs -d'\n' -r gzip
 
-zip -r archives.zip $JENKINS_HOSTNAME/
+zip -r archives.zip $JENKINS_HOSTNAME/ > $ARCHIVES_DIR/_archives-zip.log
 du -sh archives.zip