fix: remove build script

This commit is contained in:
2026-07-21 00:10:58 +02:00
parent 6f24df8cd3
commit b47430c963
6 changed files with 14 additions and 24 deletions
+1
View File
@@ -4,6 +4,7 @@ AGENTCI_BOT_USERNAME=agentci
AGENTCI_BOT_NAME=Agent CI
AGENTCI_BOT_EMAIL=agentci@localhost
OPENCODE_SERVER_USERNAME=opencode
AGENTCI_OPENCODE_VERSION=^1
AGENTCI_PLAN_MODEL=openai/gpt-5.6-sol
AGENTCI_PLAN_VARIANT=
AGENTCI_IMPLEMENT_MODEL=openai/gpt-5.6-sol
+3 -5
View File
@@ -3,11 +3,9 @@ ARG TEA_VERSION=0.14.2
FROM node:24-bookworm-slim AS agent-tools
ARG CODEGRAPH_VERSION=1.3.1
ARG OPENCODE_REFRESH
RUN test -n "$OPENCODE_REFRESH" \
|| { echo "OPENCODE_REFRESH is required; run scripts/build.sh" >&2; exit 1; } \
&& npm install --global \
'opencode-ai@^1' \
ARG AGENTCI_OPENCODE_VERSION=^1
RUN npm install --global \
"opencode-ai@${AGENTCI_OPENCODE_VERSION}" \
"@colbymchenry/codegraph@${CODEGRAPH_VERSION}" \
&& version="$(opencode --version)" \
&& case "$version" in 1.*) ;; *) echo "Expected OpenCode 1.x, got $version" >&2; exit 1;; esac
+6 -7
View File
@@ -29,7 +29,7 @@ remaining review findings are posted separately.
4. Build the image:
```sh
./scripts/build.sh
docker compose build
```
5. Authenticate the configured OpenCode providers before starting the persistent server:
@@ -61,11 +61,10 @@ Models use OpenCode's `provider/model` format. Planning, implementation, and res
different providers. Optional `AGENTCI_PLAN_VARIANT` and `AGENTCI_IMPLEMENT_VARIANT` values are
passed directly to OpenCode for providers that support variants.
`scripts/build.sh` supplies a unique required cache key on every invocation. The image then runs
`npm install -g 'opencode-ai@^1'`, verifies the installed major version, and prints it. Compose also
requests a no-cache build. A direct build without `OPENCODE_REFRESH` fails rather than silently
reusing an old OpenCode installation layer. This is intentionally fresh rather than reproducible.
Runtime auto-update is disabled so an image cannot cross into OpenCode 2.x after it is built.
`AGENTCI_OPENCODE_VERSION` controls the npm version or range installed into the image and defaults
to `^1`. The build verifies that the resolved version is still OpenCode 1.x and prints it. Compose
requests a no-cache build so the configured range is resolved again on each build. Runtime
auto-update is disabled so an image cannot cross into OpenCode 2.x after it is built.
The trusted configuration is `opencode/opencode.json`. It grants `permission: "allow"` globally
and to every built-in or custom agent that Agent CI can invoke. Repository-local OpenCode config
@@ -139,7 +138,7 @@ uv run ruff check .
uv run pyright
uv run pytest
docker compose config
./scripts/build.sh
docker compose build
```
The tests fail if any tracked Python file exceeds 250 lines. Prompts and JSON schemas live outside
+1 -1
View File
@@ -5,8 +5,8 @@ services:
context: .
no_cache: true
args:
AGENTCI_OPENCODE_VERSION: ${AGENTCI_OPENCODE_VERSION:-^1}
CODEGRAPH_VERSION: ${CODEGRAPH_VERSION:-1.3.1}
OPENCODE_REFRESH: ${OPENCODE_REFRESH:-}
TEA_VERSION: ${TEA_VERSION:-0.14.2}
restart: unless-stopped
depends_on:
-8
View File
@@ -1,8 +0,0 @@
#!/bin/sh
set -eu
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
cd "$script_dir/.."
export OPENCODE_REFRESH="$(date +%s)-$$"
exec docker compose build "$@"
+3 -3
View File
@@ -26,6 +26,6 @@ def test_compose_removes_codex_sandbox_exceptions() -> None:
assert "opencode_home:/var/lib/opencode" in compose
assert "HOME: /etc/opencode/home" in compose
assert "OPENCODE_DISABLE_EXTERNAL_SKILLS" in compose
assert "ARG OPENCODE_REFRESH" in dockerfile
assert "OPENCODE_REFRESH is required" in dockerfile
assert "'opencode-ai@^1'" in dockerfile
assert "AGENTCI_OPENCODE_VERSION: ${AGENTCI_OPENCODE_VERSION:-^1}" in compose
assert "ARG AGENTCI_OPENCODE_VERSION=^1" in dockerfile
assert '"opencode-ai@${AGENTCI_OPENCODE_VERSION}"' in dockerfile