Report Codex auth status in Actions
This commit is contained in:
parent
b054cccc53
commit
5d45c191b7
|
|
@ -126,18 +126,74 @@ jobs:
|
||||||
if: ${{ github.event.inputs.site_only != 'true' }}
|
if: ${{ github.event.inputs.site_only != 'true' }}
|
||||||
run: |
|
run: |
|
||||||
$workspaceDir = Join-Path $env:GITHUB_WORKSPACE ".codex-preflight"
|
$workspaceDir = Join-Path $env:GITHUB_WORKSPACE ".codex-preflight"
|
||||||
$script = @(
|
$script = @"
|
||||||
"from tradingagents.llm_clients.codex_preflight import run_codex_preflight",
|
import os
|
||||||
"result = run_codex_preflight(",
|
from tradingagents.llm_clients.codex_app_server import CodexAppServerAuthError, CodexAppServerBinaryError
|
||||||
" codex_binary=None,",
|
from tradingagents.llm_clients.codex_preflight import run_codex_preflight
|
||||||
" model='gpt-5.4',",
|
|
||||||
" request_timeout=30.0,",
|
workspace_dir = r"$workspaceDir"
|
||||||
" workspace_dir=r'$workspaceDir',",
|
summary_path = os.getenv("GITHUB_STEP_SUMMARY")
|
||||||
" cleanup_threads=True,",
|
|
||||||
")",
|
def write_summary(lines):
|
||||||
"print('Codex account:', result.account)",
|
if not summary_path:
|
||||||
"print('First available models:', ', '.join(result.models[:8]))"
|
return
|
||||||
) -join "`n"
|
with open(summary_path, "a", encoding="utf-8") as handle:
|
||||||
|
handle.write("\n".join(lines) + "\n")
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = run_codex_preflight(
|
||||||
|
codex_binary=None,
|
||||||
|
model="gpt-5.4",
|
||||||
|
request_timeout=30.0,
|
||||||
|
workspace_dir=workspace_dir,
|
||||||
|
cleanup_threads=True,
|
||||||
|
)
|
||||||
|
except CodexAppServerAuthError as exc:
|
||||||
|
message = (
|
||||||
|
"Codex is installed but not logged in for the runner. "
|
||||||
|
"Run `codex login` or `codex login --device-auth` on the runner machine, "
|
||||||
|
"then retry the workflow."
|
||||||
|
)
|
||||||
|
print(f"::error::{message}")
|
||||||
|
print(exc)
|
||||||
|
write_summary(
|
||||||
|
[
|
||||||
|
"## Codex login required",
|
||||||
|
"",
|
||||||
|
message,
|
||||||
|
]
|
||||||
|
)
|
||||||
|
raise SystemExit(1)
|
||||||
|
except CodexAppServerBinaryError as exc:
|
||||||
|
message = (
|
||||||
|
"A usable Codex binary is not available for the runner. "
|
||||||
|
"Check the `CODEX_BINARY` repository variable or install Codex for the runner service account."
|
||||||
|
)
|
||||||
|
print(f"::error::{message}")
|
||||||
|
print(exc)
|
||||||
|
write_summary(
|
||||||
|
[
|
||||||
|
"## Codex runtime issue",
|
||||||
|
"",
|
||||||
|
message,
|
||||||
|
"",
|
||||||
|
str(exc),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
|
print("Codex account:", result.account)
|
||||||
|
print("First available models:", ", ".join(result.models[:8]))
|
||||||
|
write_summary(
|
||||||
|
[
|
||||||
|
"## Codex preflight passed",
|
||||||
|
"",
|
||||||
|
f"- Account: {result.account}",
|
||||||
|
f"- Models: {', '.join(result.models[:8])}",
|
||||||
|
f"- Binary: {os.getenv('CODEX_BINARY', '(auto)')}",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
"@
|
||||||
$script | python -
|
$script | python -
|
||||||
if ($LASTEXITCODE) { exit $LASTEXITCODE }
|
if ($LASTEXITCODE) { exit $LASTEXITCODE }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue