diff --git a/diff/entrypoint.sh b/diff/entrypoint.sh index 67127ed..f8c6e0e 100755 --- a/diff/entrypoint.sh +++ b/diff/entrypoint.sh @@ -62,16 +62,22 @@ echo "diff<<$delimiter" >>"$GITHUB_OUTPUT" set -o pipefail +# Capture the exit code from oasdiff command while still getting the output +exit_code=0 if [ -n "$flags" ]; then - output=$(oasdiff diff "$base" "$revision" $flags) + output=$(oasdiff diff "$base" "$revision" $flags) || exit_code=$? else - output=$(oasdiff diff "$base" "$revision") + output=$(oasdiff diff "$base" "$revision") || exit_code=$? fi if [ -n "$output" ]; then - write_output "$output" + write_output "$output" else write_output "No changes" fi -echo "$delimiter" >>"$GITHUB_OUTPUT" \ No newline at end of file +# Always close the multiline output format properly +echo "$delimiter" >>"$GITHUB_OUTPUT" + +# Exit with the original exit code from oasdiff +exit $exit_code