Current section

Files

Jump to
codex_sdk examples run_all.sh
Raw

examples/run_all.sh

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
export CODEX_MODEL="${CODEX_MODEL:-gpt-5.1-codex-mini}"
export CODEX_MODEL_DEFAULT="${CODEX_MODEL_DEFAULT:-gpt-5.1-codex-mini}"
echo "Using model: ${CODEX_MODEL}"
echo
if [[ -z "${CODEX_API_KEY:-}" && -z "${OPENAI_API_KEY:-}" ]]; then
echo "Warning: No CODEX_API_KEY or OPENAI_API_KEY set"
echo "Some examples may fail without authentication"
echo
fi
if [[ -n "${CODEX_PATH:-}" ]]; then
if [[ ! -x "${CODEX_PATH}" ]]; then
echo "CODEX_PATH is set but is not executable: ${CODEX_PATH}"
exit 1
fi
elif ! command -v codex >/dev/null 2>&1; then
echo "codex binary not found - skipping examples"
exit 0
fi
examples=(
"examples/basic_usage.exs"
"examples/streaming.exs"
"examples/structured_output.exs"
"examples/conversation_and_resume.exs"
"examples/concurrency_and_collaboration.exs"
"examples/tool_bridging_auto_run.exs"
"examples/sandbox_warnings_and_approval_bypass.exs"
"examples/live_app_server_basic.exs"
"examples/live_app_server_streaming.exs"
"examples/live_app_server_approvals.exs"
"examples/live_app_server_mcp.exs"
"examples/live_cli_demo.exs"
"examples/live_session_walkthrough.exs"
"examples/live_exec_controls.exs"
"examples/live_tooling_stream.exs"
"examples/live_telemetry_stream.exs"
"examples/live_usage_and_compaction.exs"
"examples/live_multi_turn_runner.exs"
"examples/live_tooling_guardrails_approvals.exs"
"examples/live_structured_hosted_tools.exs"
"examples/live_mcp_and_sessions.exs"
"examples/live_model_streaming_tracing.exs"
"examples/live_attachments_and_search.exs"
"examples/live_parity_and_status.exs"
"examples/live_realtime_voice_stub.exs"
)
failures=()
for ex in "${examples[@]}"; do
echo "==> mix run ${ex}"
if ! mix run "${ex}"; then
echo
echo "FAILED: ${ex}"
failures+=("${ex}")
fi
echo
done
if ((${#failures[@]} > 0)); then
echo "Some examples failed:"
for ex in "${failures[@]}"; do
echo " - ${ex}"
done
exit 1
fi