ci: fix shell portability and awk matcher for metrics push

This commit is contained in:
Brad Stein 2026-04-10 05:40:38 -03:00
parent c514caab82
commit defc917161

16
Jenkinsfile vendored
View File

@ -82,7 +82,7 @@ spec:
steps { steps {
container('builder') { container('builder') {
sh ''' sh '''
set -euo pipefail set -eu
apk add --no-cache bash git jq curl apk add --no-cache bash git jq curl
mkdir -p /root/.docker mkdir -p /root/.docker
cp /docker-config/config.json /root/.docker/config.json cp /docker-config/config.json /root/.docker/config.json
@ -94,7 +94,7 @@ spec:
steps { steps {
container('tester') { container('tester') {
sh ''' sh '''
set -euo pipefail set -eu
go test ./... go test ./...
''' '''
} }
@ -119,7 +119,7 @@ spec:
steps { steps {
container('builder') { container('builder') {
sh ''' sh '''
set -euo pipefail set -eu
seq 1 10 | while read _; do seq 1 10 | while read _; do
docker info && break || sleep 2 docker info && break || sleep 2
done done
@ -134,7 +134,7 @@ spec:
steps { steps {
container('builder') { container('builder') {
sh ''' sh '''
set -euo pipefail set -eu
VERSION_TAG=$(cut -d= -f2 build.env) VERSION_TAG=$(cut -d= -f2 build.env)
docker buildx build --platform linux/arm64 \ docker buildx build --platform linux/arm64 \
--provenance=false \ --provenance=false \
@ -150,13 +150,13 @@ spec:
success { success {
container('builder') { container('builder') {
sh ''' sh '''
set -euo pipefail set -eu
suite="${SUITE_NAME}" suite="${SUITE_NAME}"
gateway="${PUSHGATEWAY_URL}" gateway="${PUSHGATEWAY_URL}"
fetch_counter() { fetch_counter() {
status="$1" status="$1"
line="$(curl -fsS "${gateway}/metrics" 2>/dev/null | awk -v suite="${suite}" -v status="${status}" ' line="$(curl -fsS "${gateway}/metrics" 2>/dev/null | awk -v suite="${suite}" -v status="${status}" '
/^platform_quality_gate_runs_total{/ { /platform_quality_gate_runs_total/ {
if (index($0, "job=\\"platform-quality-ci\\"") && index($0, "suite=\\"" suite "\\"") && index($0, "status=\\"" status "\\"")) { if (index($0, "job=\\"platform-quality-ci\\"") && index($0, "suite=\\"" suite "\\"") && index($0, "status=\\"" status "\\"")) {
print $2 print $2
exit exit
@ -179,13 +179,13 @@ METRICS
failure { failure {
container('builder') { container('builder') {
sh ''' sh '''
set -euo pipefail set -eu
suite="${SUITE_NAME}" suite="${SUITE_NAME}"
gateway="${PUSHGATEWAY_URL}" gateway="${PUSHGATEWAY_URL}"
fetch_counter() { fetch_counter() {
status="$1" status="$1"
line="$(curl -fsS "${gateway}/metrics" 2>/dev/null | awk -v suite="${suite}" -v status="${status}" ' line="$(curl -fsS "${gateway}/metrics" 2>/dev/null | awk -v suite="${suite}" -v status="${status}" '
/^platform_quality_gate_runs_total{/ { /platform_quality_gate_runs_total/ {
if (index($0, "job=\\"platform-quality-ci\\"") && index($0, "suite=\\"" suite "\\"") && index($0, "status=\\"" status "\\"")) { if (index($0, "job=\\"platform-quality-ci\\"") && index($0, "suite=\\"" suite "\\"") && index($0, "status=\\"" status "\\"")) {
print $2 print $2
exit exit