21
21
# shellcheck disable=SC2153 source=scaletest/templates/scaletest-runner/scripts/lib.sh
22
22
. " ${SCRIPTS_DIR} /lib.sh"
23
23
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
+
24
44
annotate_grafana " workspace" " Agent running" # Ended in shutdown.sh.
25
45
26
46
{
@@ -55,34 +75,47 @@ annotate_grafana "workspace" "Agent running" # Ended in shutdown.sh.
55
75
} &
56
76
pprof_pid=$!
57
77
78
+ set_appearance " ${service_banner_color} " " ${service_banner_message} | Scaletest running: [${CODER_USER} /${CODER_WORKSPACE} ](${CODER_URL} /@${CODER_USER} /${CODER_WORKSPACE} )!"
79
+
58
80
# Show failure in the UI if script exits with error.
59
- failed_status=Failed
60
81
on_exit () {
61
82
code=${?}
62
83
trap - ERR EXIT
63
84
set +e
64
85
65
86
kill -INT " ${pprof_pid} "
66
87
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
+
67
95
case " ${SCALETEST_PARAM_CLEANUP_STRATEGY} " in
68
96
on_stop)
69
97
# Handled by shutdown script.
70
98
;;
71
99
on_success)
72
100
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..."
73
102
" ${SCRIPTS_DIR} /cleanup.sh" " ${SCALETEST_PARAM_CLEANUP_STRATEGY} "
74
103
fi
75
104
;;
76
105
on_error)
77
106
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..."
78
108
" ${SCRIPTS_DIR} /cleanup.sh" " ${SCALETEST_PARAM_CLEANUP_STRATEGY} "
79
109
fi
80
110
;;
81
111
* )
112
+ set_appearance " ${message_color} " " ${service_banner_message} | Scaletest ${message_status} : [${CODER_USER} /${CODER_WORKSPACE} ](${CODER_URL} /@${CODER_USER} /${CODER_WORKSPACE} ), cleaning up..."
82
113
" ${SCRIPTS_DIR} /cleanup.sh" " ${SCALETEST_PARAM_CLEANUP_STRATEGY} "
83
114
;;
84
115
esac
85
116
117
+ set_appearance " ${message_color} " " ${service_banner_message} | Scaletest ${message_status} : [${CODER_USER} /${CODER_WORKSPACE} ](${CODER_URL} /@${CODER_USER} /${CODER_WORKSPACE} )!"
118
+
86
119
annotate_grafana_end " " " Start scaletest"
87
120
}
88
121
trap on_exit EXIT
@@ -93,7 +126,7 @@ on_err() {
93
126
set +e
94
127
95
128
log " Scaletest failed!"
96
- GRAFANA_EXTRA_TAGS=error set_status " ${failed_status} (exit=${code} )"
129
+ GRAFANA_EXTRA_TAGS=error set_status " Failed (exit=${code} )"
97
130
" ${SCRIPTS_DIR} /report.sh" failed
98
131
lock_status # Ensure we never rewrite the status after a failure.
99
132
0 commit comments