Add features & update project
This commit is contained in:
@@ -2,6 +2,18 @@
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
RUNTIME="${SPOON_AGENT_CONTAINER_RUNTIME:-}"
|
||||
|
||||
docker build -f "$ROOT_DIR/docker/agent-worker.Dockerfile" -t spoon-agent-worker:latest "$ROOT_DIR"
|
||||
docker build -f "$ROOT_DIR/docker/agent-job.Dockerfile" -t spoon-agent-job:latest "$ROOT_DIR"
|
||||
if [[ -z "$RUNTIME" ]]; then
|
||||
if command -v podman >/dev/null 2>&1; then
|
||||
RUNTIME=podman
|
||||
elif command -v docker >/dev/null 2>&1; then
|
||||
RUNTIME=docker
|
||||
else
|
||||
printf 'build-agent-images: podman or docker is required.\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
"$RUNTIME" build -f "$ROOT_DIR/docker/agent-worker.Dockerfile" -t spoon-agent-worker:latest "$ROOT_DIR"
|
||||
"$RUNTIME" build -f "$ROOT_DIR/docker/agent-job.Dockerfile" -t spoon-agent-job:latest "$ROOT_DIR"
|
||||
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ "${1:-}" == "--" ]]; then
|
||||
shift
|
||||
fi
|
||||
|
||||
if [[ "$#" -eq 0 ]]; then
|
||||
printf 'usage: dev-agent-worker -- <command> [args...]\n' >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ -z "${SPOON_AGENT_CONTAINER_RUNTIME:-}" ]]; then
|
||||
if command -v podman >/dev/null 2>&1; then
|
||||
export SPOON_AGENT_CONTAINER_RUNTIME=podman
|
||||
elif command -v docker >/dev/null 2>&1; then
|
||||
export SPOON_AGENT_CONTAINER_RUNTIME=docker
|
||||
else
|
||||
printf 'dev-agent-worker: podman or docker is required for container-backed jobs.\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
export SPOON_AGENT_RUNTIME="${SPOON_AGENT_RUNTIME:-docker}"
|
||||
export SPOON_AGENT_CONTAINER_ACCESS="${SPOON_AGENT_CONTAINER_ACCESS:-host_port}"
|
||||
export SPOON_AGENT_WORKER_URL="${SPOON_AGENT_WORKER_URL:-http://localhost:${SPOON_AGENT_WORKER_HTTP_PORT:-3921}}"
|
||||
export SPOON_AGENT_WORKER_INTERNAL_TOKEN="${SPOON_AGENT_WORKER_INTERNAL_TOKEN:-${SPOON_WORKER_TOKEN:-}}"
|
||||
export SPOON_AGENT_WORKDIR="${SPOON_AGENT_LOCAL_WORKDIR:-.local/agent-work/${WITH_ENV_ENVIRONMENT:-dev}}"
|
||||
export SPOON_AGENT_JOB_IMAGE="${SPOON_AGENT_LOCAL_JOB_IMAGE:-spoon-agent-job:latest}"
|
||||
|
||||
if [[ "$SPOON_AGENT_CONTAINER_ACCESS" == "host_port" && -z "${SPOON_AGENT_KEEP_NETWORK:-}" ]]; then
|
||||
unset SPOON_AGENT_NETWORK
|
||||
fi
|
||||
|
||||
if ! "$SPOON_AGENT_CONTAINER_RUNTIME" image inspect "$SPOON_AGENT_JOB_IMAGE" >/dev/null 2>&1; then
|
||||
printf 'dev-agent-worker: job image %s is not present locally.\n' "$SPOON_AGENT_JOB_IMAGE" >&2
|
||||
printf 'Build it with: scripts/build-agent-images\n' >&2
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
RUNTIME="${SPOON_AGENT_CONTAINER_RUNTIME:-}"
|
||||
IMAGE="${SPOON_AGENT_LOCAL_JOB_IMAGE:-${SPOON_AGENT_JOB_IMAGE:-spoon-agent-job:latest}}"
|
||||
|
||||
if [[ -z "$RUNTIME" ]]; then
|
||||
if command -v podman >/dev/null 2>&1; then
|
||||
RUNTIME=podman
|
||||
elif command -v docker >/dev/null 2>&1; then
|
||||
RUNTIME=docker
|
||||
else
|
||||
printf 'smoke-agent-container: podman or docker is required.\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
"$RUNTIME" run --rm "$IMAGE" bash -lc '
|
||||
set -euo pipefail
|
||||
node --version
|
||||
bun --version
|
||||
git --version
|
||||
rg --version >/dev/null
|
||||
jq --version
|
||||
python3 --version
|
||||
opencode --version
|
||||
codex --version
|
||||
'
|
||||
Reference in New Issue
Block a user