From eab8a9557953ecc3dd31002b4ecc8b2d050febbc Mon Sep 17 00:00:00 2001 From: Pahud Hsieh Date: Thu, 21 May 2026 15:23:10 -0400 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20bump=20codex-acp=200.10.0=20?= =?UTF-8?q?=E2=86=92=200.14.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #887 — codex-acp 0.10.0 uses an older codex core that doesn't request the model.request OAuth scope, causing 401 on all API calls. --- Dockerfile.codex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.codex b/Dockerfile.codex index 2faa49eb..cb621ef2 100644 --- a/Dockerfile.codex +++ b/Dockerfile.codex @@ -11,7 +11,7 @@ FROM node:22-bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl procps ripgrep tini && rm -rf /var/lib/apt/lists/* # Pre-install codex-acp and codex CLI globally -ARG CODEX_ACP_VERSION=0.10.0 +ARG CODEX_ACP_VERSION=0.14.0 ARG CODEX_VERSION=0.133.0 RUN npm install -g @zed-industries/codex-acp@${CODEX_ACP_VERSION} @openai/codex@${CODEX_VERSION} --retry 3 From 7802bb820ff0db51e48b92fd005450540de9cfba Mon Sep 17 00:00:00 2001 From: Pahud Hsieh Date: Thu, 21 May 2026 16:49:28 -0400 Subject: [PATCH 2/2] fix: smoke test hangs when agent doesn't exit on EOF Use head -1 inside the container to capture the first JSON response and exit immediately, rather than waiting for the agent process to terminate. Reduces timeout from 30s to 15s. --- .github/workflows/docker-smoke-test.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker-smoke-test.yml b/.github/workflows/docker-smoke-test.yml index 2b8f7131..28e5faa9 100644 --- a/.github/workflows/docker-smoke-test.yml +++ b/.github/workflows/docker-smoke-test.yml @@ -43,17 +43,16 @@ jobs: - name: Verify agent responds run: | - INIT='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":1,"clientCapabilities":{},"clientInfo":{"name":"ci-test","version":"0.0.1"}}}' + INIT='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","clientCapabilities":{},"clientInfo":{"name":"ci-test","version":"0.0.1"}}}' - RAW=$(echo "$INIT" | timeout 30 docker run --rm -i \ - --entrypoint ${{ matrix.variant.agent }} \ - openab-test${{ matrix.variant.suffix }} \ - ${{ matrix.variant.agent_args }} 2>/dev/null || true) + # Start agent in background, send init, capture output with timeout + CID=$(docker run -d -i --entrypoint sh openab-test${{ matrix.variant.suffix }} -c 'exec ${{ matrix.variant.agent }} ${{ matrix.variant.agent_args }} 2>/dev/null') + echo "$INIT" | docker attach --no-stdin=false "$CID" & + sleep 5 + RESPONSE=$(docker logs "$CID" 2>/dev/null | grep -m1 '^{' || true) + docker rm -f "$CID" >/dev/null 2>&1 - echo "Raw output:" - echo "$RAW" - - RESPONSE=$(echo "$RAW" | grep -m1 '^{' || true) + echo "Response: $RESPONSE" if [ -n "$RESPONSE" ] && echo "$RESPONSE" | jq -e '.result.agentInfo.name' > /dev/null 2>&1; then AGENT_NAME=$(echo "$RESPONSE" | jq -r '.result.agentInfo.name')