#!/usr/bin/env bash # The end-to-end test (Development Plan M1.6): the whole agent against real # services, driven by a scripted operator. Run after each milestone; it # spends model tokens and takes minutes, so it is not part of check.sh or CI. # # scripts/e2e.sh on the bring-up build VM (configured below) # scripts/e2e.sh --local on a throwaway local sshd instead # # Uses tests/integration/nisse-test.yaml and its secrets (.env at the repo # root), like the integration tests. set -euo pipefail cd "$(dirname "$0")/.." if [ "${1:-}" = "--local" ]; then shift else export NISSE_E2E_BUILD_HOST=${NISSE_E2E_BUILD_HOST:-nisse-dev.garrett-hall.com} export NISSE_E2E_BUILD_KEY=${NISSE_E2E_BUILD_KEY:-/root/nisse-e2e/ssh/id_ed25519} fi # Each run's state store is kept here, for nisse_dev.dump after a failure. export NISSE_E2E_RUNS=${NISSE_E2E_RUNS:-/root/nisse-e2e/test-runs} exec uv run pytest -m e2e -rs tests/integration/test_end_to_end.py tests/integration/test_end_to_end_loop.py "$@"