ci.jpl: Update try-catch logic for waiting LAVA jobs
Output of lava_wait_jobs.py should always be printed and parsed. And the
artifacts should also be archived anyway. So move related codes into the
"finally" block.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: If20bac0a290dc359af6f56a88a205865c6b051f5
diff --git a/jenkins/ci.jpl b/jenkins/ci.jpl
index edf6a20..03a3673 100644
--- a/jenkins/ci.jpl
+++ b/jenkins/ci.jpl
@@ -384,16 +384,10 @@
lava_timeout = 18000 // 5h
}
withCredentials([usernamePassword(credentialsId: env.LAVA_CREDENTIALS, passwordVariable: 'LAVA_TOKEN', usernameVariable: 'LAVA_USER')]) {
- output = sh(script: """./tf-m-ci-scripts/lava_helper/lava_wait_jobs.py --job-ids ${all_jobs.join(",")} \
- --lava-url ${env.LAVA_URL} --lava-user ${LAVA_USER} --lava-token ${LAVA_TOKEN} \
- --artifacts-path cfgs --lava-timeout ${lava_timeout} \
- """, returnStdout: true).trim()
- println("--- output from lava_wait_jobs.py ---")
- println(output)
- println("--- end of output from lava_wait_jobs.py ---")
- test_results = parseTestResults(output)
- archiveArtifacts artifacts: 'test_summary.*', allowEmptyArchive: true
- verifyTestStatus(output)
+ sh(script: """./tf-m-ci-scripts/lava_helper/lava_wait_jobs.py --job-ids ${all_jobs.join(",")} \
+ --lava-url ${env.LAVA_URL} --lava-user ${LAVA_USER} --lava-token ${LAVA_TOKEN} \
+ --artifacts-path cfgs --lava-timeout ${lava_timeout} > output.log
+ """)
if (env.CODE_COVERAGE_EN == "TRUE") {
println("Producing merged report")
sh(script: """./tf-m-ci-scripts/lava_helper/codecov_merge.sh""")
@@ -413,10 +407,17 @@
//print(hudson.Functions.printThrowable(org.codehaus.groovy.runtime.StackTraceUtils.sanitize(e)))
success = false
} finally {
+ output = readFile("output.log")
+ println("--- output from lava_wait_jobs.py ---")
+ println(output)
+ println("--- end of output from lava_wait_jobs.py ---")
+ test_results = parseTestResults(output)
+ archiveArtifacts artifacts: 'test_summary.*', allowEmptyArchive: true
archiveArtifacts artifacts: 'cfgs/**', allowEmptyArchive: true
if (all_jobs.size() > 0) {
emailNotification(success, 'test', test_results)
}
+ verifyTestStatus(output)
cleanWs()
if (!success) {
error("There was an Error waiting for LAVA jobs")