ci(soteria): label test metrics with build artifacts
This commit is contained in:
parent
00dcc7772a
commit
85520b0aa9
13
Jenkinsfile
vendored
13
Jenkinsfile
vendored
@ -216,8 +216,11 @@ EOF
|
|||||||
tests_skipped="$(jq -r '.skipped // 0' build/test-summary.json 2>/dev/null || echo 0)"
|
tests_skipped="$(jq -r '.skipped // 0' build/test-summary.json 2>/dev/null || echo 0)"
|
||||||
coverage_percent="$(jq -r '.coverage_percent // 0' build/test-summary.json 2>/dev/null || echo 0)"
|
coverage_percent="$(jq -r '.coverage_percent // 0' build/test-summary.json 2>/dev/null || echo 0)"
|
||||||
over_500="$(jq -r '.source_lines_over_500 // 0' build/test-summary.json 2>/dev/null || echo 0)"
|
over_500="$(jq -r '.source_lines_over_500 // 0' build/test-summary.json 2>/dev/null || echo 0)"
|
||||||
metric_branch="$(printf '%s' "${BRANCH_NAME:-${GIT_BRANCH:-unknown}}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
metric_branch_raw="${BRANCH_NAME:-${GIT_BRANCH:-unknown}}"
|
||||||
|
metric_branch_raw="${metric_branch_raw#origin/}"
|
||||||
|
metric_branch="$(printf '%s' "${metric_branch_raw}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
||||||
metric_build_number="$(printf '%s' "${BUILD_NUMBER:-unknown}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
metric_build_number="$(printf '%s' "${BUILD_NUMBER:-unknown}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
||||||
|
metric_jenkins_job="$(printf '%s' "${JOB_NAME:-Soteria}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
||||||
tests_check="failed"
|
tests_check="failed"
|
||||||
if [ "${test_rc}" -eq 0 ] && [ "${tests_failed}" -eq 0 ] && [ "${tests_errors}" -eq 0 ] && [ "${tests_passed}" -gt 0 ]; then
|
if [ "${test_rc}" -eq 0 ] && [ "${tests_failed}" -eq 0 ] && [ "${tests_errors}" -eq 0 ] && [ "${tests_passed}" -gt 0 ]; then
|
||||||
tests_check="ok"
|
tests_check="ok"
|
||||||
@ -272,8 +275,8 @@ EOF
|
|||||||
| while IFS=$'\t' read -r test_name test_status; do
|
| while IFS=$'\t' read -r test_name test_status; do
|
||||||
[ -n "${test_name}" ] || continue
|
[ -n "${test_name}" ] || continue
|
||||||
escaped_test="$(printf '%s' "${test_name}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
escaped_test="$(printf '%s' "${test_name}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
|
||||||
printf 'platform_quality_gate_test_case_result{suite="%s",test="%s",status="%s"} 1\n' \
|
printf 'platform_quality_gate_test_case_result{suite="%s",branch="%s",build_number="%s",jenkins_job="%s",test="%s",status="%s"} 1\n' \
|
||||||
"${suite}" "${escaped_test}" "${test_status}" >> "${test_case_metrics_file}"
|
"${suite}" "${metric_branch}" "${metric_build_number}" "${metric_jenkins_job}" "${escaped_test}" "${test_status}" >> "${test_case_metrics_file}"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
cat > build/pushgateway-metrics.prom <<METRICS
|
cat > build/pushgateway-metrics.prom <<METRICS
|
||||||
@ -292,7 +295,7 @@ platform_quality_gate_workspace_line_coverage_percent{suite="${suite}"} ${covera
|
|||||||
# TYPE platform_quality_gate_source_lines_over_500_total gauge
|
# TYPE platform_quality_gate_source_lines_over_500_total gauge
|
||||||
platform_quality_gate_source_lines_over_500_total{suite="${suite}"} ${over_500}
|
platform_quality_gate_source_lines_over_500_total{suite="${suite}"} ${over_500}
|
||||||
# TYPE platform_quality_gate_build_info gauge
|
# TYPE platform_quality_gate_build_info gauge
|
||||||
platform_quality_gate_build_info{suite="${suite}",branch="${metric_branch}",build_number="${metric_build_number}"} 1
|
platform_quality_gate_build_info{suite="${suite}",branch="${metric_branch}",build_number="${metric_build_number}",jenkins_job="${metric_jenkins_job}"} 1
|
||||||
# TYPE soteria_quality_gate_checks_total gauge
|
# TYPE soteria_quality_gate_checks_total gauge
|
||||||
soteria_quality_gate_checks_total{suite="${suite}",check="tests",result="${tests_check}"} 1
|
soteria_quality_gate_checks_total{suite="${suite}",check="tests",result="${tests_check}"} 1
|
||||||
soteria_quality_gate_checks_total{suite="${suite}",check="coverage",result="${coverage_check}"} 1
|
soteria_quality_gate_checks_total{suite="${suite}",check="coverage",result="${coverage_check}"} 1
|
||||||
@ -307,7 +310,7 @@ METRICS
|
|||||||
if [ -s "${test_case_metrics_file}" ]; then
|
if [ -s "${test_case_metrics_file}" ]; then
|
||||||
cat "${test_case_metrics_file}"
|
cat "${test_case_metrics_file}"
|
||||||
else
|
else
|
||||||
printf 'platform_quality_gate_test_case_result{suite="%s",test="__no_test_cases__",status="skipped"} 1\n' "${suite}"
|
printf 'platform_quality_gate_test_case_result{suite="%s",branch="%s",build_number="%s",jenkins_job="%s",test="__no_test_cases__",status="skipped"} 1\n' "${suite}" "${metric_branch}" "${metric_build_number}" "${metric_jenkins_job}"
|
||||||
fi
|
fi
|
||||||
} >> build/pushgateway-metrics.prom
|
} >> build/pushgateway-metrics.prom
|
||||||
if ! curl -fsS -X PUT --data-binary @build/pushgateway-metrics.prom "${gateway}/metrics/job/platform-quality-ci/suite/${suite}" >/dev/null; then
|
if ! curl -fsS -X PUT --data-binary @build/pushgateway-metrics.prom "${gateway}/metrics/job/platform-quality-ci/suite/${suite}" >/dev/null; then
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user