Skip to content

Commit 7e2cb42

Browse files
committed
ci: show checks execution time
Before: * Run Ansible Lint SUCCESS * Run integration tests SUCCESS * Run danger SKIP After: * Run Ansible Lint 54s SUCCESS * Run integration tests 11m24s SUCCESS * Run danger SKIP
1 parent 315f662 commit 7e2cb42

File tree

1 file changed

+80
-18
lines changed

1 file changed

+80
-18
lines changed

src/main/scripts/ci/check-build-and-verify.sh

+80-18
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ print_status() {
1414
# $1 equals to 'fail' if check has failed
1515
# $1 equals to 'skip' if check has skipped
1616
local result="$1"
17-
local msg="$2"
17+
local execution_time="$2"
18+
local msg="$3"
1819

1920
local status='SUCCESS'
2021
local color=32
@@ -26,7 +27,20 @@ print_status() {
2627
status='SKIP'
2728
color=33
2829
fi
29-
printf "* %-30s \033[1;%dm%-7s\033[0m\n" "$msg" "$color" "$status"
30+
31+
local time
32+
if [ $execution_time -gt 0 ]; then
33+
local mins seconds
34+
mins=$[execution_time / 60]
35+
secs=$[execution_time % 60]
36+
if [ $mins -eq 0 ]; then
37+
time="$(printf '%2ss' "$secs")"
38+
else
39+
time="$(printf '%2sm%2ds' "$mins" "$secs")"
40+
fi
41+
fi
42+
43+
printf '* %-30s% 7s\t\t\033[1;%dm%-7s\033[0m\n' "$msg" "$time" "$color" "$status"
3044
}
3145

3246
print_log() {
@@ -65,6 +79,23 @@ if [ "${SPRING_PROFILES_ACTIVE:-}" = 'travis' ] && [ "${TRAVIS_PULL_REQUEST:-fal
6579
DANGER_STATUS=
6680
fi
6781

82+
CS_TIME=0
83+
PMD_TIME=0
84+
LICENSE_TIME=0
85+
POM_TIME=0
86+
BOOTLINT_TIME=0
87+
RFLINT_TIME=0
88+
SHELLCHECK_TIME=0
89+
JASMINE_TIME=0
90+
HTML_TIME=0
91+
ENFORCER_TIME=0
92+
TEST_TIME=0
93+
CODENARC_TIME=0
94+
SPOTBUGS_TIME=0
95+
VERIFY_TIME=0
96+
ANSIBLE_LINT_TIME=0
97+
DANGER_TIME=0
98+
6899
CURDIR="$(dirname "$0")"
69100
EXEC_CMD="$CURDIR/../execute-command.sh"
70101

@@ -147,87 +178,118 @@ if [ "$RUN_ONLY_INTEGRATION_TESTS" = 'no' ]; then
147178
echo
148179

149180
if [ "$CS_STATUS" != 'skip' ]; then
181+
START_TIME=$SECONDS
150182
"$EXEC_CMD" checkstyle >cs.log 2>&1 || CS_STATUS=fail
183+
CS_TIME=$[SECONDS-START_TIME]
151184
fi
152-
print_status "$CS_STATUS" 'Run CheckStyle'
185+
print_status "$CS_STATUS" $CS_TIME 'Run CheckStyle'
153186

154187
if [ "$PMD_STATUS" != 'skip' ]; then
188+
START_TIME=$SECONDS
155189
"$EXEC_CMD" pmd >pmd.log 2>&1 || PMD_STATUS=fail
190+
PMD_TIME=$[SECONDS-START_TIME]
156191
fi
157-
print_status "$PMD_STATUS" 'Run PMD'
192+
print_status "$PMD_STATUS" $PMD_TIME 'Run PMD'
158193

159194
if [ "$LICENSE_STATUS" != 'skip' ]; then
195+
START_TIME=$SECONDS
160196
"$EXEC_CMD" check-license >license.log 2>&1 || LICENSE_STATUS=fail
197+
LICENSE_TIME=$[SECONDS-START_TIME]
161198
fi
162-
print_status "$LICENSE_STATUS" 'Check license headers'
199+
print_status "$LICENSE_STATUS" $LICENSE_TIME 'Check license headers'
163200

164201
if [ "$POM_STATUS" != 'skip' ]; then
202+
START_TIME=$SECONDS
165203
"$EXEC_CMD" check-pom >pom.log 2>&1 || POM_STATUS=fail
204+
POM_TIME=$[SECONDS-START_TIME]
166205
fi
167-
print_status "$POM_STATUS" 'Check sorting of pom.xml'
206+
print_status "$POM_STATUS" $POM_TIME 'Check sorting of pom.xml'
168207

169208
if [ "$BOOTLINT_STATUS" != 'skip' ]; then
209+
START_TIME=$SECONDS
170210
"$EXEC_CMD" bootlint >bootlint.log 2>&1 || BOOTLINT_STATUS=fail
211+
BOOTLINT_TIME=$[SECONDS-START_TIME]
171212
fi
172-
print_status "$BOOTLINT_STATUS" 'Run bootlint'
213+
print_status "$BOOTLINT_STATUS" $BOOTLINT_TIME 'Run bootlint'
173214

174215
if [ "$RFLINT_STATUS" != 'skip' ]; then
216+
START_TIME=$SECONDS
175217
"$EXEC_CMD" rflint >rflint.log 2>&1 || RFLINT_STATUS=fail
218+
RFLINT_TIME=$[SECONDS-START_TIME]
176219
fi
177-
print_status "$RFLINT_STATUS" 'Run robot framework lint'
220+
print_status "$RFLINT_STATUS" $RFLINT_TIME 'Run robot framework lint'
178221

179222
if [ "$SHELLCHECK_STATUS" != 'skip' ]; then
223+
START_TIME=$SECONDS
180224
"$EXEC_CMD" shellcheck >shellcheck.log 2>&1 || SHELLCHECK_STATUS=fail
225+
SHELLCHECK_TIME=$[SECONDS-START_TIME]
181226
fi
182-
print_status "$SHELLCHECK_STATUS" 'Run shellcheck'
227+
print_status "$SHELLCHECK_STATUS" $SHELLCHECK_TIME 'Run shellcheck'
183228

184229
if [ "$JASMINE_STATUS" != 'skip' ]; then
230+
START_TIME=$SECONDS
185231
"$EXEC_CMD" jasmine >jasmine.log 2>&1 || JASMINE_STATUS=fail
232+
JASMINE_TIME=$[SECONDS-START_TIME]
186233
fi
187-
print_status "$JASMINE_STATUS" 'Run JavaScript unit tests'
234+
print_status "$JASMINE_STATUS" $JASMINE_TIME 'Run JavaScript unit tests'
188235

189236
if [ "$HTML_STATUS" != 'skip' ]; then
190237
"$EXEC_CMD" html5validator >validator.log 2>&1 || HTML_STATUS=fail
238+
HTML_TIME=$[SECONDS-START_TIME]
191239
fi
192-
print_status "$HTML_STATUS" 'Run html5validator'
240+
print_status "$HTML_STATUS" $HTML_TIME 'Run html5validator'
193241

194242
if [ "$ENFORCER_STATUS" != 'skip' ]; then
243+
START_TIME=$SECONDS
195244
"$EXEC_CMD" enforcer >enforcer.log 2>&1 || ENFORCER_STATUS=fail
245+
ENFORCER_TIME=$[SECONDS-START_TIME]
196246
fi
197-
print_status "$ENFORCER_STATUS" 'Run maven-enforcer-plugin'
247+
print_status "$ENFORCER_STATUS" $ENFORCER_TIME 'Run maven-enforcer-plugin'
198248

199249
if [ "$TEST_STATUS" != 'skip' ]; then
250+
START_TIME=$SECONDS
200251
"$EXEC_CMD" unit-tests >test.log 2>&1 || TEST_STATUS=fail
252+
TEST_TIME=$[SECONDS-START_TIME]
201253
fi
202-
print_status "$TEST_STATUS" 'Run unit tests'
254+
print_status "$TEST_STATUS" $TEST_TIME 'Run unit tests'
203255

204256
if [ "$CODENARC_STATUS" != 'skip' ]; then
257+
START_TIME=$SECONDS
205258
# run after tests for getting compiled sources
206259
"$EXEC_CMD" codenarc >codenarc.log 2>&1 || CODENARC_STATUS=fail
260+
CODENARC_TIME=$[SECONDS-START_TIME]
207261
fi
208-
print_status "$CODENARC_STATUS" 'Run CodeNarc'
262+
print_status "$CODENARC_STATUS" $CODENARC_TIME 'Run CodeNarc'
209263

210264
if [ "$SPOTBUGS_STATUS" != 'skip' ]; then
265+
START_TIME=$SECONDS
211266
# run after tests for getting compiled sources
212267
"$EXEC_CMD" spotbugs >spotbugs.log 2>&1 || SPOTBUGS_STATUS=fail
268+
SPOTBUGS_TIME=$[SECONDS-START_TIME]
213269
fi
214-
print_status "$SPOTBUGS_STATUS" 'Run SpotBugs'
270+
print_status "$SPOTBUGS_STATUS" $SPOTBUGS_TIME 'Run SpotBugs'
215271

216272
if [ "$ANSIBLE_LINT_STATUS" != 'skip' ]; then
273+
START_TIME=$SECONDS
217274
"$EXEC_CMD" ansible-lint >ansible_lint.log 2>&1 || ANSIBLE_LINT_STATUS=fail
275+
ANSIBLE_LINT_TIME=$[SECONDS-START_TIME]
218276
fi
219-
print_status "$ANSIBLE_LINT_STATUS" 'Run Ansible Lint'
277+
print_status "$ANSIBLE_LINT_STATUS" $ANSIBLE_LINT_TIME 'Run Ansible Lint'
220278
fi
221279

280+
START_TIME=$SECONDS
222281
"$EXEC_CMD" integration-tests >verify.log 2>&1 || VERIFY_STATUS=fail
282+
VERIFY_TIME=$[SECONDS-START_TIME]
223283

224-
print_status "$VERIFY_STATUS" 'Run integration tests'
284+
print_status "$VERIFY_STATUS" $VERIFY_TIME 'Run integration tests'
225285

226286

227287
if [ "$DANGER_STATUS" != 'skip' ]; then
288+
START_TIME=$SECONDS
228289
"$EXEC_CMD" danger >danger.log 2>&1 || DANGER_STATUS=fail
290+
DANGER_TIME=$[SECONDS-START_TIME]
229291
fi
230-
print_status "$DANGER_STATUS" 'Run danger'
292+
print_status "$DANGER_STATUS" $DANGER_TIME 'Run danger'
231293

232294
if [ "$RUN_ONLY_INTEGRATION_TESTS" = 'no' ]; then
233295
[ "$CS_STATUS" = 'skip' ] || print_log cs.log 'Run CheckStyle'

0 commit comments

Comments
 (0)