fix: remove build script
This commit is contained in:
@@ -4,6 +4,7 @@ AGENTCI_BOT_USERNAME=agentci
|
|||||||
AGENTCI_BOT_NAME=Agent CI
|
AGENTCI_BOT_NAME=Agent CI
|
||||||
AGENTCI_BOT_EMAIL=agentci@localhost
|
AGENTCI_BOT_EMAIL=agentci@localhost
|
||||||
OPENCODE_SERVER_USERNAME=opencode
|
OPENCODE_SERVER_USERNAME=opencode
|
||||||
|
AGENTCI_OPENCODE_VERSION=^1
|
||||||
AGENTCI_PLAN_MODEL=openai/gpt-5.6-sol
|
AGENTCI_PLAN_MODEL=openai/gpt-5.6-sol
|
||||||
AGENTCI_PLAN_VARIANT=
|
AGENTCI_PLAN_VARIANT=
|
||||||
AGENTCI_IMPLEMENT_MODEL=openai/gpt-5.6-sol
|
AGENTCI_IMPLEMENT_MODEL=openai/gpt-5.6-sol
|
||||||
|
|||||||
+3
-5
@@ -3,11 +3,9 @@ ARG TEA_VERSION=0.14.2
|
|||||||
FROM node:24-bookworm-slim AS agent-tools
|
FROM node:24-bookworm-slim AS agent-tools
|
||||||
|
|
||||||
ARG CODEGRAPH_VERSION=1.3.1
|
ARG CODEGRAPH_VERSION=1.3.1
|
||||||
ARG OPENCODE_REFRESH
|
ARG AGENTCI_OPENCODE_VERSION=^1
|
||||||
RUN test -n "$OPENCODE_REFRESH" \
|
RUN npm install --global \
|
||||||
|| { echo "OPENCODE_REFRESH is required; run scripts/build.sh" >&2; exit 1; } \
|
"opencode-ai@${AGENTCI_OPENCODE_VERSION}" \
|
||||||
&& npm install --global \
|
|
||||||
'opencode-ai@^1' \
|
|
||||||
"@colbymchenry/codegraph@${CODEGRAPH_VERSION}" \
|
"@colbymchenry/codegraph@${CODEGRAPH_VERSION}" \
|
||||||
&& version="$(opencode --version)" \
|
&& version="$(opencode --version)" \
|
||||||
&& case "$version" in 1.*) ;; *) echo "Expected OpenCode 1.x, got $version" >&2; exit 1;; esac
|
&& case "$version" in 1.*) ;; *) echo "Expected OpenCode 1.x, got $version" >&2; exit 1;; esac
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ remaining review findings are posted separately.
|
|||||||
4. Build the image:
|
4. Build the image:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/build.sh
|
docker compose build
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Authenticate the configured OpenCode providers before starting the persistent server:
|
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
|
different providers. Optional `AGENTCI_PLAN_VARIANT` and `AGENTCI_IMPLEMENT_VARIANT` values are
|
||||||
passed directly to OpenCode for providers that support variants.
|
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
|
`AGENTCI_OPENCODE_VERSION` controls the npm version or range installed into the image and defaults
|
||||||
`npm install -g 'opencode-ai@^1'`, verifies the installed major version, and prints it. Compose also
|
to `^1`. The build verifies that the resolved version is still OpenCode 1.x and prints it. Compose
|
||||||
requests a no-cache build. A direct build without `OPENCODE_REFRESH` fails rather than silently
|
requests a no-cache build so the configured range is resolved again on each build. Runtime
|
||||||
reusing an old OpenCode installation layer. This is intentionally fresh rather than reproducible.
|
auto-update is disabled so an image cannot cross into OpenCode 2.x after it is built.
|
||||||
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
|
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
|
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 pyright
|
||||||
uv run pytest
|
uv run pytest
|
||||||
docker compose config
|
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
|
The tests fail if any tracked Python file exceeds 250 lines. Prompts and JSON schemas live outside
|
||||||
|
|||||||
+1
-1
@@ -5,8 +5,8 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
no_cache: true
|
no_cache: true
|
||||||
args:
|
args:
|
||||||
|
AGENTCI_OPENCODE_VERSION: ${AGENTCI_OPENCODE_VERSION:-^1}
|
||||||
CODEGRAPH_VERSION: ${CODEGRAPH_VERSION:-1.3.1}
|
CODEGRAPH_VERSION: ${CODEGRAPH_VERSION:-1.3.1}
|
||||||
OPENCODE_REFRESH: ${OPENCODE_REFRESH:-}
|
|
||||||
TEA_VERSION: ${TEA_VERSION:-0.14.2}
|
TEA_VERSION: ${TEA_VERSION:-0.14.2}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -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 "$@"
|
|
||||||
@@ -26,6 +26,6 @@ def test_compose_removes_codex_sandbox_exceptions() -> None:
|
|||||||
assert "opencode_home:/var/lib/opencode" in compose
|
assert "opencode_home:/var/lib/opencode" in compose
|
||||||
assert "HOME: /etc/opencode/home" in compose
|
assert "HOME: /etc/opencode/home" in compose
|
||||||
assert "OPENCODE_DISABLE_EXTERNAL_SKILLS" in compose
|
assert "OPENCODE_DISABLE_EXTERNAL_SKILLS" in compose
|
||||||
assert "ARG OPENCODE_REFRESH" in dockerfile
|
assert "AGENTCI_OPENCODE_VERSION: ${AGENTCI_OPENCODE_VERSION:-^1}" in compose
|
||||||
assert "OPENCODE_REFRESH is required" in dockerfile
|
assert "ARG AGENTCI_OPENCODE_VERSION=^1" in dockerfile
|
||||||
assert "'opencode-ai@^1'" in dockerfile
|
assert '"opencode-ai@${AGENTCI_OPENCODE_VERSION}"' in dockerfile
|
||||||
|
|||||||
Reference in New Issue
Block a user