chore: fix multiline output

Signed-off-by: Justin Chadwell <me@jedevc.com>
This commit is contained in:
Justin Chadwell 2024-11-11 10:03:49 -07:00
parent f9a4c9fc12
commit b292effaa3
2 changed files with 32 additions and 3 deletions

View file

@ -28,7 +28,7 @@ jobs:
with:
version: latest
verb: core
args: container from --address=alpine with-exec --args echo,"hello world" stdout
args: container from --address=alpine with-exec --args echo,-n,"hello world" stdout
- name: "Use output (check)"
run: |
target='${{ steps.use-output.outputs.output }}'
@ -40,13 +40,33 @@ jobs:
exit 1
fi
- name: "Use trailing output"
id: use-trailing-output
uses: ./
with:
version: latest
verb: core
args: container from --address=alpine with-exec --args echo,-n,-e,"hello world\n" stdout
- name: "Use output (check)"
run: |
target='${{ steps.use-trailing-output.outputs.output }}'
result='hello world
'
if [[ "$target" == "$result" ]]; then
echo "matches"
exit 0
else
echo "does not match"
exit 1
fi
- name: "Use multiline output"
id: use-multiline-output
uses: ./
with:
version: latest
verb: core
args: container from --address=alpine with-exec --args echo,-e,"hello\nworld" stdout
args: container from --address=alpine with-exec --args echo,-n,-e,"hello\nworld" stdout
- name: "Use output (check)"
run: |
target='${{ steps.use-multiline-output.outputs.output }}'

View file

@ -90,7 +90,16 @@ runs:
${INPUT_MODULE:+-m $INPUT_MODULE} \
$ARGS; } | tee "${tmpout}"
(echo -n "stdout=" && cat "${tmpout}") >> "$GITHUB_OUTPUT"
{
# we need a delim that doesn't appear in the output - a hash of the
# file itself *probably* won't (if it does, we have larger
# cryptographic problems)
delim="$(sha256sum $tmpout | cut -d " " -f1)"
echo "stdout<<${delim}"
cat "${tmpout}"
echo
echo "${delim}"
} >> "$GITHUB_OUTPUT"
- if: (inputs.call != '' || inputs.args != '') && inputs.engine-stop == 'true'
shell: bash