diff --git a/Jenkinsfile b/Jenkinsfile index d72d187745a..5e5b3641c30 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -762,7 +762,11 @@ pipeline { } post { always { - unitTestPost artifacts: ['nlt_logs/'], + unitTestPost artifacts: ['nlt_logs/', 'nlt_memcheck_logs/', + 'nlt-server-leaks.json', + 'nlt-client-leaks.json', + 'nlt-junit.xml', + 'vm_test/nlt-errors.json'], testResults: 'nlt-junit.xml', always_script: 'ci/unit/test_nlt_post.sh', valgrind_stash: 'nlt-memcheck' @@ -1035,7 +1039,7 @@ pipeline { stash name: 'fault-inject-valgrind', includes: '*.memcheck.xml', allowEmpty: true - archiveArtifacts artifacts: 'nlt_logs/fault-injection/', + archiveArtifacts artifacts: 'nlt_logs/fault-injection/,nlt-errors.json,nlt-client-leaks.json,nlt-junit.xml', allowEmptyArchive: true job_status_update() } diff --git a/ci/unit/test_nlt_post.sh b/ci/unit/test_nlt_post.sh index c46a63dac2f..48ebee8f802 100755 --- a/ci/unit/test_nlt_post.sh +++ b/ci/unit/test_nlt_post.sh @@ -22,5 +22,13 @@ rsync -v -dpt -z -e "ssh $SSH_KEY_ARGS" jenkins@"$NODE":build/ \ --filter="include nlt*.json" --filter="include dnt*.xml" \ --filter="include nltir.xml" --filter="include nltr.json" \ --filter="include nlt-junit.xml" --filter="exclude *" ./ + +# Copy per-test valgrind memcheck XMLs into a dedicated directory so +# they are archived as a logical group. The originals stay at the +# workspace root so unitTestPost's valgrind_stash still picks them up +# for the pipeline-end valgrindReportPublish panel. +mkdir -p nlt_memcheck_logs +cp dnt*.memcheck.xml nlt_memcheck_logs/ 2>/dev/null || true + mkdir -p vm_test mv nlt-errors.json vm_test/