Leonardo Sandoval | 9dfdd1b | 2020-08-06 17:08:11 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 2 | # |
Leonardo Sandoval | 579c737 | 2020-10-23 15:23:32 -0500 | [diff] [blame] | 3 | # Copyright (c) 2019-2020 Arm Limited. All rights reserved. |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 4 | # |
| 5 | # SPDX-License-Identifier: BSD-3-Clause |
| 6 | # |
| 7 | |
Paul Sokolovsky | 5a2b746 | 2021-12-20 16:39:58 +0300 | [diff] [blame] | 8 | set -ex |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 9 | |
Paul Sokolovsky | bfa80ed | 2023-06-02 08:58:28 +0300 | [diff] [blame] | 10 | # Jenkins Parameterized Trigger Plugin mangles job names as passed via |
| 11 | # environment variables, replacing most non-alphanumeric chars with |
| 12 | # underscore. The mangling is generally non-reversible, but we apply |
| 13 | # "heuristics" based on our naming conventions. |
| 14 | function unmangle_job_name() { |
| 15 | # Two numbers seperated by undescore was likely a version number originally, |
| 16 | # e.g. lts2.8 -> lts2_8. |
| 17 | s=$(python3 -c 'import sys, re; print(re.sub(r"(\d+)_(\d+)", r"\1.\2", sys.argv[1]))' "$1") |
| 18 | # Otherwise, we use hyphens as seperators. |
| 19 | s=$(echo $s | tr "_" "-") |
| 20 | echo $s |
| 21 | } |
| 22 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 23 | # Generate test report |
| 24 | if [ "$CI_ROOT" ]; then |
| 25 | # Gather Coverity scan summary if it was performed as part of this job |
| 26 | if [ "$(find -maxdepth 1 -name '*coverity*.test' -type f | wc -l)" != 0 ]; then |
| 27 | if ! "$CI_ROOT/script/coverity_summary.py" "$BUILD_URL" > coverity.data; then |
| 28 | rm -f coverity.data |
| 29 | fi |
| 30 | fi |
| 31 | |
Leonardo Sandoval | 55d5c8c | 2021-01-20 10:51:18 -0600 | [diff] [blame] | 32 | # set proper jobs names for test generation report script |
Gary Morrison | 999a9d7 | 2022-03-14 18:29:06 -0500 | [diff] [blame] | 33 | if echo "$JENKINS_URL" | grep -q "oss.arm.com"; then |
Leonardo Sandoval | 55d5c8c | 2021-01-20 10:51:18 -0600 | [diff] [blame] | 34 | worker_job="${worker_job:-tf-worker}" |
| 35 | lava_job="${lava_job:-tf-build-for-lava}" |
| 36 | else |
Paul Sokolovsky | bfa80ed | 2023-06-02 08:58:28 +0300 | [diff] [blame] | 37 | triggered_job=$(unmangle_job_name "${TRIGGERED_JOB_NAMES}") |
Paul Sokolovsky | 71d78cc | 2021-12-20 17:44:10 +0300 | [diff] [blame] | 38 | worker_job="${worker_job:-${triggered_job}}" |
| 39 | lava_job="${lava_job:-${triggered_job}}" |
Harrison Mutai | 4126dc7 | 2021-11-23 11:34:41 +0000 | [diff] [blame] | 40 | fi |
| 41 | |
| 42 | # Generate UI for test results, only if this is a visualization job. |
| 43 | while getopts ":t" option; do |
| 44 | case $option in |
| 45 | t) |
| 46 | target_job="$(dirname $TARGET_BUILD)" |
| 47 | target=${target_job:-tf-a-main} |
| 48 | "$CI_ROOT/script/gen_results_report.py" \ |
| 49 | --png "${target}-result.png" \ |
| 50 | --csv "${WORKSPACE}/${target}-result.csv" \ |
| 51 | -o "${WORKSPACE}/report.html" || true |
| 52 | exit;; |
| 53 | esac |
| 54 | done |
Leonardo Sandoval | 55d5c8c | 2021-01-20 10:51:18 -0600 | [diff] [blame] | 55 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 56 | "$CI_ROOT/script/gen_test_report.py" \ |
Leonardo Sandoval | 55d5c8c | 2021-01-20 10:51:18 -0600 | [diff] [blame] | 57 | --job "${worker_job}" \ |
| 58 | --build-job "${lava_job}" \ |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 59 | --meta-data clone.data \ |
| 60 | --meta-data override.data \ |
| 61 | --meta-data inject.data \ |
| 62 | --meta-data html:coverity.data \ |
| 63 | || true |
Leonardo Sandoval | 5d9d276 | 2021-02-02 10:06:33 -0600 | [diff] [blame] | 64 | |
Saul Romero | 568f5d7 | 2023-11-29 11:58:34 +0000 | [diff] [blame] | 65 | # Only call to merge reports if the test groups are for code coverage |
Saul Romero | 95e8d4e | 2023-12-11 10:03:55 +0000 | [diff] [blame] | 66 | if [[ $TEST_GROUPS == *"code-coverage"* ]] || |
| 67 | [[ $TEST_GROUPS == "scp-boot-tests-coverage" ]]; then |
Saul Romero | 568f5d7 | 2023-11-29 11:58:34 +0000 | [diff] [blame] | 68 | source $CI_ROOT/script/gen_merge_report.sh "${WORKSPACE}/report.json" \ |
| 69 | "${WORKSPACE}/report.html" |
| 70 | fi |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 71 | fi |