From 8a45e02cbb8e5486b8b948fbe4ad4df1e0f7aae9 Mon Sep 17 00:00:00 2001 From: mattphelps-8451 Date: Tue, 18 Oct 2022 18:16:07 -0500 Subject: [PATCH] Fix broken multiline strings from dee0c94 (#1390) 1. Escaping behavior changed as a result of set-output deprecation. - Otherwise you'll encounter breaking changes for example "appVersion: "1.0.0"%0Aapplica..." where %0A is escaped newline \n but shouldn't be escaped. 2. Delimeter is required for multiline strings. - See here: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings - Delimeter must be random. UUID is a solid choice. I verified that /proc/sys/kernel/random/uuid does indeed exist on the yq image. --- github-action/entrypoint.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/github-action/entrypoint.sh b/github-action/entrypoint.sh index 17ec5411..a328fbd2 100755 --- a/github-action/entrypoint.sh +++ b/github-action/entrypoint.sh @@ -2,10 +2,11 @@ set -e echo "::debug::\$cmd: $1" RESULT=$(eval "$1") -RESULT="${RESULT//'%'/'%25'}" -RESULT="${RESULT//$'\n'/'%0A'}" -RESULT="${RESULT//$'\r'/'%0D'}" echo "::debug::\$RESULT: $RESULT" # updating from +# https://github.com/orgs/community/discussions/26288#discussioncomment-3876281 # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter -echo "result=$RESULT" >> $GITHUB_OUTPUT +delimiter=$(cat /proc/sys/kernel/random/uuid) +echo "result<<${delimiter}" >> "${GITHUB_OUTPUT}" +echo "${RESULT}" >> "${GITHUB_OUTPUT}" +echo "${delimiter}" >> "${GITHUB_OUTPUT}"