ci: install npm for gate checks and fix Pegasus metric label conflict

This commit is contained in:
Brad Stein 2026-04-19 14:40:52 -03:00
parent 27685c269e
commit dcb488561c
2 changed files with 9 additions and 11 deletions

16
Jenkinsfile vendored
View File

@ -181,16 +181,12 @@ PY
stage('Run quality gate') { stage('Run quality gate') {
steps { steps {
container('go-tester') { container('publisher') {
sh ''' sh '''
set -eu set -eu
apt-get update >/dev/null apt-get update
apt-get install -y --no-install-recommends python3 >/dev/null apt-get install -y --no-install-recommends nodejs npm
set +e python -m testing.pegasus_gate report
python3 -m testing.pegasus_gate report
gate_rc=$?
set -e
printf '%s\n' "${gate_rc}" > build/quality-gate.rc
''' '''
} }
} }
@ -212,7 +208,9 @@ PY
container('publisher') { container('publisher') {
sh ''' sh '''
set -eu set -eu
test "$(cat build/quality-gate.rc 2>/dev/null || echo 1)" -eq 0 apt-get update
apt-get install -y --no-install-recommends nodejs npm
python -m testing.pegasus_gate enforce
''' '''
} }
} }

View File

@ -299,8 +299,8 @@ def main() -> int:
f'platform_quality_gate_runs_total{{suite="{suite}",status="ok"}} {ok_count:.0f}', f'platform_quality_gate_runs_total{{suite="{suite}",status="ok"}} {ok_count:.0f}',
f'platform_quality_gate_runs_total{{suite="{suite}",status="failed"}} {failed_count:.0f}', f'platform_quality_gate_runs_total{{suite="{suite}",status="failed"}} {failed_count:.0f}',
"# TYPE pegasus_test_suite_result gauge", "# TYPE pegasus_test_suite_result gauge",
f'pegasus_test_suite_result{{suite="backend",status="{backend_suite_result}"}} 1', f'pegasus_test_suite_result{{test_suite="backend",status="{backend_suite_result}"}} 1',
f'pegasus_test_suite_result{{suite="frontend",status="{frontend_suite_result}"}} 1', f'pegasus_test_suite_result{{test_suite="frontend",status="{frontend_suite_result}"}} 1',
"# TYPE pegasus_quality_gate_tests_total gauge", "# TYPE pegasus_quality_gate_tests_total gauge",
f'pegasus_quality_gate_tests_total{{suite="{suite}",result="passed"}} {passed}', f'pegasus_quality_gate_tests_total{{suite="{suite}",result="passed"}} {passed}',
f'pegasus_quality_gate_tests_total{{suite="{suite}",result="failed"}} {totals["failures"]}', f'pegasus_quality_gate_tests_total{{suite="{suite}",result="failed"}} {totals["failures"]}',