From bb65ed4c7698edd26286d2a8a6d89b4d5580f65c Mon Sep 17 00:00:00 2001 From: Dave Wallace Date: Wed, 21 Apr 2021 12:52:51 -0400 Subject: Separate VPP stacktrace generation from artifact archiving - Separate removal of socket files in workspace archive directory from archiving of artifacts - Clean up deprecated workspace-archive-artifacts-parameter macro Change-Id: I11c7fe55d3412fb7261da9f0cfb809a152ae1d51 Signed-off-by: Dave Wallace --- jjb/global-macros.yaml | 8 ------- jjb/hicn/hicn.yaml | 10 ++++---- jjb/scripts/post_build_deploy_archives.sh | 38 ++++++++++++++----------------- jjb/vpp/vpp.yaml | 19 +++++++--------- 4 files changed, 30 insertions(+), 45 deletions(-) diff --git a/jjb/global-macros.yaml b/jjb/global-macros.yaml index 42ed9078..efa1e17c 100644 --- a/jjb/global-macros.yaml +++ b/jjb/global-macros.yaml @@ -203,14 +203,6 @@ name: TOPO default: '{topo}' description: "Topology parameter" - -- parameter: - name: workspace-archive-artifacts-parameter - parameters: - - string: - name: WS_ARCHIVE_ARTIFACTS - default: '{artifacts}' - description: "Artifacts to archive in $WORKSPACE/archives." # [end] Keep 'parameter' entries ordered alphabetically, please. #### SCMS diff --git a/jjb/hicn/hicn.yaml b/jjb/hicn/hicn.yaml index c3bc9107..93d3b9de 100644 --- a/jjb/hicn/hicn.yaml +++ b/jjb/hicn/hicn.yaml @@ -230,7 +230,7 @@ os: "{os}" - repo-name-parameter: repo-name: "{repo-stream-part}.ubuntu.bionic.main" - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: @@ -321,7 +321,7 @@ repo-name: "{repo-stream-part}.{repo-os-part}" - stream-parameter: stream: "{stream}" - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: @@ -379,7 +379,7 @@ stream: "{repository-name}" - repo-name-parameter: repo-name: "{repo-stream-part}.{repo-os-part}" - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: @@ -473,7 +473,7 @@ repo-name: "{repo-stream-part}.{repo-os-part}" - stream-parameter: stream: "{stream}" - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: @@ -539,7 +539,7 @@ stream: "hicn" - repo-name-parameter: repo-name: "{repo-stream-part}.{repo-os-part}" - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: diff --git a/jjb/scripts/post_build_deploy_archives.sh b/jjb/scripts/post_build_deploy_archives.sh index 79fa05a1..355d6fd4 100755 --- a/jjb/scripts/post_build_deploy_archives.sh +++ b/jjb/scripts/post_build_deploy_archives.sh @@ -48,6 +48,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 +64,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="" @@ -77,30 +81,12 @@ env > $BUILD_ENV_LOG echo "ARCHIVE_ARTIFACTS = '$ARCHIVE_ARTIFACTS'" if [ -n "${ARCHIVE_ARTIFACTS:-}" ] ; then - pushd $WORKSPACE + 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'" + destfile="$WS_ARCHIVE_DIR$file" destdir="$(dirname $destfile)" mkdir -p $destdir mv -f $file $destfile @@ -122,5 +108,15 @@ find $WS_ARCHIVES_DIR -type f -print0 \ | cut -d: -f1 \ | xargs -d'\n' -r gzip +# 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 +fi + +# Remove any socket files in archive +find $WS_ARCHIVES_DIR -type s -exec rm -rf {} \; + echo "Workspace archived artifacts:" ls -alR $WS_ARCHIVES_DIR diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index 2f015d4b..ccd636bc 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -70,7 +70,6 @@ project: 'vpp' make-parallel-jobs: '4' make-test-os: 'ubuntu-20.04' - archive-artifacts: '/tmp/vpp-failed-unittests/*/*' stream: - master: branch: 'master' @@ -127,7 +126,6 @@ project: 'vpp' make-parallel-jobs: '4' make-test-os: 'ubuntu-20.04' - archive-artifacts: '/tmp/vpp-failed-unittests/*/*' comment-trigger-value: 'debug-verify' stream: - master: @@ -191,7 +189,6 @@ project: 'vpp' make-parallel-jobs: '16' make-test-os: 'ubuntu-20.04' - archive-artifacts: '/tmp/vpp-failed-unittests/*/*' stream: - master: branch: 'master' @@ -388,6 +385,8 @@ # Please keep parameters in alphabetical order parameters: + - archive-artifacts-parameter: + artifacts: '{archive-artifacts}' - gerrit-parameter: branch: '{branch}' - gerrit-refspec-parameter: @@ -398,8 +397,6 @@ project: '{project}' - repo-name-parameter: repo-name: '{repo-stream-part}.ubuntu.bionic.main' - - workspace-archive-artifacts-parameter: - artifacts: '{archive-artifacts}' scm: - gerrit-trigger-scm: @@ -505,6 +502,8 @@ # Please keep parameters in alphabetical order parameters: + - archive-artifacts-parameter: + artifacts: '{archive-artifacts}' - gerrit-parameter: branch: '{branch}' - gerrit-refspec-parameter: @@ -521,8 +520,6 @@ repo-name: '{repo-stream-part}.{repo-os-part}' - stream-parameter: stream: '{stream}' - - workspace-archive-artifacts-parameter: - artifacts: '{archive-artifacts}' scm: - gerrit-trigger-scm: @@ -573,6 +570,8 @@ # Please keep parameters in alphabetical order parameters: + - archive-artifacts-parameter: + artifacts: '{archive-artifacts}' - gerrit-parameter: branch: '{branch}' - gerrit-refspec-parameter: @@ -589,8 +588,6 @@ repo-name: '{repo-stream-part}.ubuntu.bionic.main' - stream-parameter: stream: '{stream}' - - workspace-archive-artifacts-parameter: - artifacts: '{archive-artifacts}' scm: - gerrit-trigger-scm: @@ -656,7 +653,7 @@ repo-name: '{repo-stream-part}.{repo-os-part}' - stream-parameter: stream: '{stream}' - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: @@ -737,7 +734,7 @@ repo-name: '{repo-stream-part}.{repo-os-part}' - stream-parameter: stream: '{stream}' - - workspace-archive-artifacts-parameter: + - archive-artifacts-parameter: artifacts: '{archive-artifacts}' scm: -- cgit 1.2.3-korg