99
1010SOURCE_GHWF_PRINT_ERROR_SH=1 # including guard
1111
12+ [[ -z " $GH_WORKFLOW_ROOT " ]] && {
13+ echo " $0 : error: \` GH_WORKFLOW_ROOT\` variable must be defined." >&2
14+ exit 255
15+ }
16+
1217source " $GH_WORKFLOW_ROOT /_externals/tacklelib/bash/tacklelib/bash_tacklelib" || exit $?
1318
1419tkl_include_or_abort " $GH_WORKFLOW_ROOT /bash/github/print.sh"
@@ -57,14 +62,30 @@ function gh_print_error_ln()
5762 # with check on integer value
5863 [[ -n " $PRINT_ERROR_LAG_FSEC " && -z " ${PRINT_ERROR_LAG_FSEC// [0-9]/ } " ]] && sleep $PRINT_ERROR_LAG_FSEC
5964
60- if [[ -n " $GITHUB_ACTIONS " ]]; then
61- for arg in " $@ " ; do
62- line=" ${line}${line: +" %0D%0A" } $arg "
63- done
64- echo " ::error ::$line " >&2
65- else
66- echo " $* " >&2
67- fi
65+ gh_print_error_ln_nobuf_nolag " $@ "
66+ fi
67+ }
68+
69+ function gh_print_error_ln_nobuf_nolag()
70+ {
71+ local IFS=$' \n '
72+ local line=' '
73+ local arg
74+
75+ # with check on integer value
76+ [[ -n " $PRINT_ERROR_LAG_FSEC " && -z " ${PRINT_ERROR_LAG_FSEC// [0-9]/ } " ]] && sleep $PRINT_ERROR_LAG_FSEC
77+
78+ # fix GitHub log issue when a trailing line return charcter in the message does convert into blank line
79+
80+ if [[ -n " $GITHUB_ACTIONS " ]]; then
81+ for arg in " $@ " ; do
82+ line=" ${line}${line: +" %0D%0A" } $arg "
83+ done
84+ gh_trim_trailing_line_return_chars " $line "
85+ echo " ::error ::$RETURN_VALUE " >&2
86+ else
87+ gh_trim_trailing_line_return_chars " $* "
88+ echo " $* " >&2
6889 fi
6990}
7091
@@ -81,12 +102,12 @@ function gh_print_errors_nobuf_nolag()
81102 if [[ -n " $GITHUB_ACTIONS " ]]; then
82103 for arg in " $@ " ; do
83104 gh_trim_trailing_line_return_chars " $arg "
84- echo -n " ::error ::$RETURN_VALUE " # without line return
105+ echo " ::error ::$RETURN_VALUE "
85106 done >&2
86107 else
87108 for arg in " $@ " ; do
88109 gh_trim_trailing_line_return_chars " $arg "
89- echo " ::error :: $RETURN_VALUE " # with line return
110+ echo " $RETURN_VALUE "
90111 done >&2
91112 fi
92113}
0 commit comments