diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d94b840..383498c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -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 }}'
diff --git a/action.yml b/action.yml
index e72c852..23ea675 100644
--- a/action.yml
+++ b/action.yml
@@ -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