@@ -30,24 +30,16 @@ function init_print_workflow()
3030
3131 if [[ -n " $GITHUB_ACTIONS " ]]; then
3232 # to save variables between workflow steps
33- if [[ -z " ${GH_ANNOTATIONS_PRINT_BUF_STR: +x} " ]]; then
34- tkl_declare_global GH_ANNOTATIONS_PRINT_BUF_STR ' '
35-
36- # update GitHub pipeline variables
37- gh_set_env_var GH_ANNOTATIONS_PRINT_BUF_STR " $GH_ANNOTATIONS_PRINT_BUF_STR "
33+ if [[ -z " ${GHWF_ANNOTATIONS_PRINT_BUF_STR: +x} " ]]; then
34+ gh_set_env_var GHWF_ANNOTATIONS_PRINT_BUF_STR ' '
3835 fi
3936
4037 # to save variables between workflow steps
41- if [[ -z " ${GH_ANNOTATIONS_GROUP_ANNOT_TYPE: +x} " ]]; then
42- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_TYPE ' '
43- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_PREFIX ' '
44- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_MSG ' '
45- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_INDEX 0
46-
47- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_TYPE " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE "
48- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_PREFIX " $GH_ANNOTATIONS_GROUP_ANNOT_PREFIX "
49- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_MSG " $GH_ANNOTATIONS_GROUP_ANNOT_MSG "
50- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_INDEX " $GH_ANNOTATIONS_GROUP_ANNOT_INDEX "
38+ if [[ -z " ${GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE: +x} " ]]; then
39+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE ' '
40+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_PREFIX ' '
41+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_MSG ' '
42+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX 0
5143 fi
5244 fi
5345
@@ -73,23 +65,23 @@ function gh_flush_print_buffers()
7365 local line
7466
7567 # notices
76- if [[ -n " ${PRINT_NOTICE_BUF_STR +x} " ]]; then
77- line=" ${PRINT_NOTICE_BUF_STR } "
78- unset PRINT_NOTICE_BUF_STR
68+ if [[ -n " ${GHWF_PRINT_NOTICE_BUF_STR +x} " ]]; then
69+ line=" ${GHWF_PRINT_NOTICE_BUF_STR } "
70+ gh_unset_env_var GHWF_PRINT_NOTICE_BUF_STR
7971 gh_print_notices_buffer " $line "
8072 fi
8173
8274 # warnings
83- if [[ -n " ${PRINT_WARNING_BUF_STR +x} " ]]; then
84- line=" ${PRINT_WARNING_BUF_STR } "
85- unset PRINT_WARNING_BUF_STR
75+ if [[ -n " ${GHWF_PRINT_WARNING_BUF_STR +x} " ]]; then
76+ line=" ${GHWF_PRINT_WARNING_BUF_STR } "
77+ gh_unset_env_var GHWF_PRINT_WARNING_BUF_STR
8678 gh_print_warnings_buffer " $line "
8779 fi
8880
8981 # errors
90- if [[ -n " ${PRINT_ERROR_BUF_STR +x} " ]]; then
91- line=" ${PRINT_ERROR_BUF_STR } "
92- unset PRINT_ERROR_BUF_STR
82+ if [[ -n " ${GHWF_PRINT_ERROR_BUF_STR +x} " ]]; then
83+ line=" ${GHWF_PRINT_ERROR_BUF_STR } "
84+ gh_unset_env_var GHWF_PRINT_ERROR_BUF_STR
9385 gh_print_errors_buffer " $line "
9486 fi
9587}
@@ -100,10 +92,7 @@ function gh_write_to_changelog_text_ln()
10092
10193 local changelog_msg=" $1 "
10294
103- CHANGELOG_BUF_STR=" ${CHANGELOG_BUF_STR}${changelog_msg} " $' \r\n '
104-
105- # update GitHub pipeline variable
106- gh_set_env_var CHANGELOG_BUF_STR " $CHANGELOG_BUF_STR "
95+ gh_set_env_var GHWF_CHANGELOG_BUF_STR " ${GHWF_CHANGELOG_BUF_STR}${changelog_msg} " $' \r\n '
10796}
10897
10998function gh_print_args()
@@ -129,17 +118,15 @@ function gh_print_annotation()
129118 local msg=" $3 "
130119
131120 # gh_decode_line_return_chars "$msg"
121+ RETURN_VALUE=" ${RETURN_VALUE//% 0D% 0A/ $' \r\n ' \| } "
132122
133123 # stdout redirection must be issued outside
134124 echo " ::$annot_type $annot_prefix ::$msg "
135125
136126 gh_process_annotation_print " $annot_type " " $annot_prefix " " $msg "
137127
138- # duplicate output into `GH_ANNOTATIONS_PRINT_BUF_STR` variable to reuse later
139- GH_ANNOTATIONS_PRINT_BUF_STR=" ${GH_ANNOTATIONS_PRINT_BUF_STR}${GH_ANNOTATIONS_PRINT_BUF_STR: +" ${RETURN_VALUES[0]} " }${RETURN_VALUES[1]} "
140-
141- # update GitHub pipeline variable
142- gh_set_env_var GH_ANNOTATIONS_PRINT_BUF_STR " $GH_ANNOTATIONS_PRINT_BUF_STR "
128+ # duplicate output into `GHWF_ANNOTATIONS_PRINT_BUF_STR` variable to reuse later
129+ gh_set_env_var GHWF_ANNOTATIONS_PRINT_BUF_STR " ${GHWF_ANNOTATIONS_PRINT_BUF_STR}${GHWF_ANNOTATIONS_PRINT_BUF_STR: +" ${RETURN_VALUES[0]} " }${RETURN_VALUES[1]} "
143130}
144131
145132function gh_flush_print_annotations()
@@ -151,10 +138,11 @@ function gh_flush_print_annotations()
151138
152139 [[ -z " $GITHUB_ACTIONS " ]] && return 0
153140
154- IFS=$' \n ' ; for line in " $GH_ANNOTATIONS_PRINT_BUF_STR " ; do
141+ IFS=$' \n ' ; for line in " $GHWF_ANNOTATIONS_PRINT_BUF_STR " ; do
155142 gh_trim_trailing_line_return_chars " $line "
156143
157- # gh_decode_line_return_chars "$RETURN_VALUE"
144+ # gh_decode_line_return_chars "$RETURN_VALUE"
145+ RETURN_VALUE=" ${RETURN_VALUE//% 0D% 0A/ $' \r\n ' \| } "
158146
159147 IFS=' :' read -r empty empty annot_type <<< " $RETURN_VALUE"
160148 IFS=$' \t ' read -r annot_type empty <<< " $annot_type"
@@ -165,10 +153,7 @@ function gh_flush_print_annotations()
165153 esac
166154 done
167155
168- unset GH_ANNOTATIONS_PRINT_BUF_STR
169-
170- # update GitHub pipeline variable
171- gh_set_env_var GH_ANNOTATIONS_PRINT_BUF_STR " $GH_ANNOTATIONS_PRINT_BUF_STR "
156+ gh_unset_env_var GHWF_ANNOTATIONS_PRINT_BUF_STR
172157}
173158
174159# NOTE: Groups only annotations with the same type.
@@ -200,40 +185,28 @@ function gh_flush_print_annotations()
200185function gh_begin_print_annotation_group()
201186{
202187 [[ -z " $GITHUB_ACTIONS " ]] && return 0
203- [[ -n " ${GH_ANNOTATIONS_GROUP_ANNOT_TYPE : +x} " ]] && return 0 # ignore if previous group is not closed/ended
188+ [[ -n " ${GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE : +x} " ]] && return 0 # ignore if previous group is not closed/ended
204189
205190 local annot_type=" $1 " # required
206191 local annot_prefix=" $2 "
207192 local msg=" $3 "
208193
209194 [[ -z " $annot_type " ]] && return 0
210195
211- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_TYPE " $annot_type "
212- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_PREFIX " $annot_prefix "
213- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_MSG " $msg "
214- tkl_declare_global GH_ANNOTATIONS_GROUP_ANNOT_INDEX 0
215-
216- # update GitHub pipeline variable
217- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_TYPE " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE "
218- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_PREFIX " $GH_ANNOTATIONS_GROUP_ANNOT_PREFIX "
219- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_MSG " $GH_ANNOTATIONS_GROUP_ANNOT_MSG "
220- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_INDEX " $GH_ANNOTATIONS_GROUP_ANNOT_INDEX "
196+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE " $annot_type "
197+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_PREFIX " $annot_prefix "
198+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_MSG " $msg "
199+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX 0
221200}
222201
223202function gh_end_print_annotation_group()
224203{
225204 [[ -z " $GITHUB_ACTIONS " ]] && return 0
226205
227- unset GH_ANNOTATIONS_GROUP_ANNOT_TYPE
228- unset GH_ANNOTATIONS_GROUP_ANNOT_PREFIX
229- unset GH_ANNOTATIONS_GROUP_ANNOT_MSG
230- unset GH_ANNOTATIONS_GROUP_ANNOT_INDEX
231-
232- # update GitHub pipeline variable
233- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_TYPE " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE "
234- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_PREFIX " $GH_ANNOTATIONS_GROUP_ANNOT_PREFIX "
235- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_MSG " $GH_ANNOTATIONS_GROUP_ANNOT_MSG "
236- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_INDEX " $GH_ANNOTATIONS_GROUP_ANNOT_INDEX "
206+ gh_unset_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE
207+ gh_unset_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_PREFIX
208+ gh_unset_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_MSG
209+ gh_unset_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX
237210}
238211
239212# prefixes a print message with annotation data
@@ -243,27 +216,23 @@ function gh_process_annotation_print()
243216 local annot_prefix=" $2 "
244217 local msg=" $3 "
245218
246- if [[ -n " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE " && " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE " == " $annot_type " ]]; then
247- if (( GH_ANNOTATIONS_GROUP_ANNOT_INDEX )) ; then
248- tkl_declare_global_array RETURN_VALUES " %0A" " $msg "
219+ if [[ -n " $GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE " && " $GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE " == " $annot_type " ]]; then
220+ if (( GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX )) ; then
221+ tkl_declare_global_array RETURN_VALUES " %0D% 0A" " $msg "
249222 else
250- tkl_declare_global_array RETURN_VALUES $' \r\n ' " ::$GH_ANNOTATIONS_GROUP_ANNOT_TYPE $GH_ANNOTATIONS_GROUP_ANNOT_PREFIX ::${GH_ANNOTATIONS_GROUP_ANNOT_MSG }${GH_ANNOTATIONS_GROUP_ANNOT_MSG : +" %0A" } $msg "
223+ tkl_declare_global_array RETURN_VALUES $' \r\n ' " ::$GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE $GHWF_ANNOTATIONS_GROUP_ANNOT_PREFIX ::${GHWF_ANNOTATIONS_GROUP_ANNOT_MSG }${GHWF_ANNOTATIONS_GROUP_ANNOT_MSG : +" %0D %0A" } $msg "
251224 fi
252225
253- (( GH_ANNOTATIONS_GROUP_ANNOT_INDEX++ ))
226+ (( GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX++ ))
227+
228+ gh_update_github_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX
254229 else
255- if [[ -n " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE " ]]; then
256- # reset index only to group next prints
257- GH_ANNOTATIONS_GROUP_ANNOT_INDEX=0
230+ if [[ -n " $GHWF_ANNOTATIONS_GROUP_ANNOT_TYPE " ]]; then
231+ gh_set_env_var GHWF_ANNOTATIONS_GROUP_ANNOT_INDEX 0
258232 fi
259233
260234 tkl_declare_global_array RETURN_VALUES $' \r\n ' " ::$annot_type $annot_prefix ::$msg "
261235 fi
262-
263- if [[ -n " $GH_ANNOTATIONS_GROUP_ANNOT_TYPE " ]]; then
264- # update GitHub pipeline variable
265- gh_set_env_var GH_ANNOTATIONS_GROUP_ANNOT_INDEX " $GH_ANNOTATIONS_GROUP_ANNOT_INDEX "
266- fi
267236}
268237
269238tkl_set_return
0 commit comments