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")