#!/usr/bin/env bash set -euo pipefail project_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "${project_dir}" python3 -m compileall -q agent_platform if [[ ! -x .venv/bin/pytest ]]; then python3 -m venv .venv .venv/bin/python -m pip install -q --upgrade pip==26.1.2 .venv/bin/pip install -q -e '.[dev]' fi .venv/bin/ruff check agent_platform tests e2e .venv/bin/ruff format --check agent_platform tests e2e .venv/bin/pytest .venv/bin/pip-audit export WEBUI_SECRET_KEY=verify-webui-secret export WEBUI_ADMIN_EMAIL=admin@example.invalid export WEBUI_ADMIN_PASSWORD=verify-admin-password export OPENWEBUI_FORWARD_JWT_SECRET=verify-forward-jwt-secret-at-least-32-bytes export INTERNAL_PROVIDER_KEY=verify-provider-secret-at-least-32-bytes export INTERNAL_GATEWAY_KEY=verify-gateway-secret-at-least-32-bytes export MODEL_API_KEY=verify-model-key export POSTGRES_PASSWORD=verify-postgres-password export WEB_IMAGE=docker.k1412.top/wuyang/k1412-agent-web:verify export RUNTIME_IMAGE=docker.k1412.top/wuyang/k1412-agent-runtime:verify export GATEWAY_IMAGE=docker.k1412.top/wuyang/k1412-agent-gateway:verify export WORKSPACE_IMAGE=k1412-agent-workspace:test export WORKSPACE_SSH_CONFIG_DIR=/tmp/k1412-agent-verify-ssh export WORKSPACE_SSH_HOST=verify-workspace-host docker compose config --quiet docker compose \ -f deploy/docker-compose.yml \ -f deploy/docker-compose.override.yml \ config --quiet docker compose \ -f deploy/docker-compose.yml \ -f deploy/docker-compose.override.yml \ -f deploy/docker-compose.ssh.yml \ config --format json \ | .venv/bin/python -c \ 'import json, sys; config = json.load(sys.stdin); mounts = config["services"]["gateway"]["volumes"]; assert mounts == [{"type": "bind", "source": "/tmp/k1412-agent-verify-ssh", "target": "/root/.ssh", "read_only": True, "bind": {}}], mounts' docker build -f docker/workspace.Dockerfile -t k1412-agent-workspace:test . RUN_DOCKER_INTEGRATION=1 .venv/bin/pytest tests/test_docker_workspace.py