diff --git a/action.yaml b/action.yaml index a92a2c3..d7dffa0 100644 --- a/action.yaml +++ b/action.yaml @@ -15,6 +15,8 @@ inputs: outputs: status: description: 'Execution result status' + output: + description: 'Codex execution output' runs: using: 'docker' image: 'Dockerfile' diff --git a/entrypoint.sh b/entrypoint.sh index a07f959..1f6cba5 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -33,10 +33,30 @@ mv "$auth_file" "$CODEX_HOME/auth.json" chmod 600 "$CODEX_HOME/auth.json" trap - EXIT +codex_output="$(mktemp)" +trap 'rm -f "$codex_output"' EXIT + +set +e codex exec \ --model "$MODEL" \ - "$PROMPT" + "$PROMPT" 2>&1 | tee "$codex_output" +codex_status="${PIPESTATUS[0]}" +set -e if [[ -n "${GITHUB_OUTPUT:-}" ]]; then - echo "status=completed" >> "$GITHUB_OUTPUT" + output_delimiter="CODEX_OUTPUT_$(date +%s)_$$" + + if [[ "$codex_status" -eq 0 ]]; then + echo "status=completed" >> "$GITHUB_OUTPUT" + else + echo "status=failed" >> "$GITHUB_OUTPUT" + fi + + { + echo "output<<$output_delimiter" + cat "$codex_output" + echo "$output_delimiter" + } >> "$GITHUB_OUTPUT" fi + +exit "$codex_status"