status-go/_assets/scripts/codecov.sh

34 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
source "${GIT_ROOT}/_assets/scripts/colors.sh"
report_to_codecov() {
# https://go.dev/blog/integration-test-coverage
echo -e "${GRN}Uploading coverage report to Codecov${RST}"
local tests_report_wildcard="${1}"
local coverage_report="${2}"
local flag="${3}"
# Gather report files with given wildcard
local report_files_args=""
for file in ${tests_report_wildcard}; do
report_files_args+="--file ${file} "
done
# Don't upload test results to Codecov while we re-run tests on failure.
# This results in having both failure and success results in the same report, which Codecov treats as a failure
# and doesn't report coverage to Github. More details here: https://github.com/status-im/status-go/issues/5963
# codecov do-upload --token "${CODECOV_TOKEN}" --report-type test_results ${report_files_args}
codecov upload-process --token "${CODECOV_TOKEN}" -f ${coverage_report} -F "${flag}"
}
convert_coverage_to_html() {
echo -e "${GRN}Generating HTML coverage report${RST}"
local input_coverage_report="${1}"
local output_coverage_report="${2}"
go tool cover -html "${input_coverage_report}" -o "${output_coverage_report}"
}