blob: 4f9d8b7087b664ee350bb325509095f97d327970 [file] [log] [blame]
#!/usr/bin/env bash
#
# Copyright (c) 2019-2020 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
set -ex
# Jenkins Parameterized Trigger Plugin mangles job names as passed via
# environment variables, replacing most non-alphanumeric chars with
# underscore. The mangling is generally non-reversible, but we apply
# "heuristics" based on our naming conventions.
function unmangle_job_name() {
# Two numbers seperated by undescore was likely a version number originally,
# e.g. lts2.8 -> lts2_8.
s=$(python3 -c 'import sys, re; print(re.sub(r"(\d+)_(\d+)", r"\1.\2", sys.argv[1]))' "$1")
# Otherwise, we use hyphens as seperators.
s=$(echo $s | tr "_" "-")
echo $s
}
# Generate test report
if [ "$CI_ROOT" ]; then
# Gather Coverity scan summary if it was performed as part of this job
if [ "$(find -maxdepth 1 -name '*coverity*.test' -type f | wc -l)" != 0 ]; then
if ! "$CI_ROOT/script/coverity_summary.py" "$BUILD_URL" > coverity.data; then
rm -f coverity.data
fi
fi
# set proper jobs names for test generation report script
if echo "$JENKINS_URL" | grep -q "oss.arm.com"; then
worker_job="${worker_job:-tf-worker}"
lava_job="${lava_job:-tf-build-for-lava}"
else
triggered_job=$(unmangle_job_name "${TRIGGERED_JOB_NAMES}")
worker_job="${worker_job:-${triggered_job}}"
lava_job="${lava_job:-${triggered_job}}"
fi
# Generate UI for test results, only if this is a visualization job.
while getopts ":t" option; do
case $option in
t)
target_job="$(dirname $TARGET_BUILD)"
target=${target_job:-tf-a-main}
"$CI_ROOT/script/gen_results_report.py" \
--png "${target}-result.png" \
--csv "${WORKSPACE}/${target}-result.csv" \
-o "${WORKSPACE}/report.html" || true
exit;;
esac
done
"$CI_ROOT/script/gen_test_report.py" \
--job "${worker_job}" \
--build-job "${lava_job}" \
--meta-data clone.data \
--meta-data override.data \
--meta-data inject.data \
--meta-data html:coverity.data \
|| true
source $CI_ROOT/script/gen_merge_report.sh "${WORKSPACE}/report.json" \
"${WORKSPACE}/report.html"
fi