Skip to content

Commit 9c09dea

Browse files
committed
feat(scaletest): add service banner status for runner
1 parent 92308be commit 9c09dea

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

scaletest/templates/scaletest-runner/startup.sh

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,26 @@ fi
2121
# shellcheck disable=SC2153 source=scaletest/templates/scaletest-runner/scripts/lib.sh
2222
. "${SCRIPTS_DIR}/lib.sh"
2323

24+
appearance_json="$(
25+
curl -sSL \
26+
-H "Coder-Session-Token: ${CODER_USER_TOKEN}" \
27+
"${CODER_URL}/api/v2/appearance"
28+
)"
29+
service_banner_message=$(jq -r '.service_banner.message' <<<"${appearance_json}")
30+
service_banner_message="${service_banner_message/% | */}"
31+
service_banner_color="#D65D0F" # Orange.
32+
33+
set_appearance() {
34+
local color=$1 message=$2
35+
jq --arg color "${color}" --arg message "${message}" '. | .service_banner.message |= $message | .service_banner.background_color |= $color' <<<"${appearance_json}" \
36+
| curl -sSL \
37+
-X 'PUT' \
38+
-H 'Content-Type: application/json' \
39+
-H "Coder-Session-Token: ${CODER_USER_TOKEN}" \
40+
--data @- \
41+
"${CODER_URL}/api/v2/appearance"
42+
}
43+
2444
annotate_grafana "workspace" "Agent running" # Ended in shutdown.sh.
2545

2646
{
@@ -55,34 +75,47 @@ annotate_grafana "workspace" "Agent running" # Ended in shutdown.sh.
5575
} &
5676
pprof_pid=$!
5777

78+
set_appearance "${service_banner_color}" "${service_banner_message} | Scaletest running: [${CODER_USER}/${CODER_WORKSPACE}](${CODER_URL}/@${CODER_USER}/${CODER_WORKSPACE})!"
79+
5880
# Show failure in the UI if script exits with error.
59-
failed_status=Failed
6081
on_exit() {
6182
code=${?}
6283
trap - ERR EXIT
6384
set +e
6485

6586
kill -INT "${pprof_pid}"
6687

88+
message_color="#4CD473" # Green.
89+
message_status=COMPLETE
90+
if ((code > 0)); then
91+
message_color="#D94A5D" # Red.
92+
message_status=FAILED
93+
fi
94+
6795
case "${SCALETEST_PARAM_CLEANUP_STRATEGY}" in
6896
on_stop)
6997
# Handled by shutdown script.
7098
;;
7199
on_success)
72100
if ((code == 0)); then
101+
set_appearance "${message_color}" "${service_banner_message} | Scaletest ${message_status}: [${CODER_USER}/${CODER_WORKSPACE}](${CODER_URL}/@${CODER_USER}/${CODER_WORKSPACE}), cleaning up..."
73102
"${SCRIPTS_DIR}/cleanup.sh" "${SCALETEST_PARAM_CLEANUP_STRATEGY}"
74103
fi
75104
;;
76105
on_error)
77106
if ((code > 0)); then
107+
set_appearance "${message_color}" "${service_banner_message} | Scaletest ${message_status}: [${CODER_USER}/${CODER_WORKSPACE}](${CODER_URL}/@${CODER_USER}/${CODER_WORKSPACE}), cleaning up..."
78108
"${SCRIPTS_DIR}/cleanup.sh" "${SCALETEST_PARAM_CLEANUP_STRATEGY}"
79109
fi
80110
;;
81111
*)
112+
set_appearance "${message_color}" "${service_banner_message} | Scaletest ${message_status}: [${CODER_USER}/${CODER_WORKSPACE}](${CODER_URL}/@${CODER_USER}/${CODER_WORKSPACE}), cleaning up..."
82113
"${SCRIPTS_DIR}/cleanup.sh" "${SCALETEST_PARAM_CLEANUP_STRATEGY}"
83114
;;
84115
esac
85116

117+
set_appearance "${message_color}" "${service_banner_message} | Scaletest ${message_status}: [${CODER_USER}/${CODER_WORKSPACE}](${CODER_URL}/@${CODER_USER}/${CODER_WORKSPACE})!"
118+
86119
annotate_grafana_end "" "Start scaletest"
87120
}
88121
trap on_exit EXIT
@@ -93,7 +126,7 @@ on_err() {
93126
set +e
94127

95128
log "Scaletest failed!"
96-
GRAFANA_EXTRA_TAGS=error set_status "${failed_status} (exit=${code})"
129+
GRAFANA_EXTRA_TAGS=error set_status "Failed (exit=${code})"
97130
"${SCRIPTS_DIR}/report.sh" failed
98131
lock_status # Ensure we never rewrite the status after a failure.
99132

0 commit comments

Comments
 (0)