ci.jpl: Run helper script to produce merged code coverage report

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Change-Id: If3816f112aa32cc07a702490ad87dc39c2ca7a39
diff --git a/jenkins/ci.jpl b/jenkins/ci.jpl
index 04f4909..a0bb26e 100644
--- a/jenkins/ci.jpl
+++ b/jenkins/ci.jpl
@@ -574,6 +574,12 @@
               if (boot_result.toInteger() < 1 || test_result.toInteger() < 1) {
                 error("Marking job as failed due to failed boots: \"${boot_output}\" or tests: \"${test_output}\"")
               }
+
+              if (env.CODE_COVERAGE_EN == "TRUE") {
+                println("Producing merged report")
+                sh(script: """./tf-m-ci-scripts/lava_helper/codecov_merge.sh""")
+                archiveArtifacts artifacts: 'merged_report/**', allowEmptyArchive: true
+              }
             }
           }
         }
diff --git a/lava_helper/codecov_merge.sh b/lava_helper/codecov_merge.sh
new file mode 100755
index 0000000..7487624
--- /dev/null
+++ b/lava_helper/codecov_merge.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+set -ex
+
+input_folder=cfgs
+output_coverage_file=merge.info
+output_json_file=merge.json
+
+python3 $SHARE_FOLDER/qa-tools/coverage-tool/coverage-reporting/merge.py \
+      $(find $input_folder -name "*.info" -exec echo "-a {}" \;) \
+      -o $output_coverage_file \
+
+genhtml --branch-coverage $output_coverage_file \
+    --output-directory merged_report