# seelie-bench-runner configuration - sourced by seelie-bench-runner.sh
# (bash syntax). Every knob also reads from the environment.

# The binary handoff dir ON THE CONTROL NODE (read over ssh; the 0.2.0
# rewrite dropped the sshfs mount - HANDOFF_MOUNT is gone, remove it
# from older copies of this file).
HANDOFF_REMOTE=/home/comrade/binary_handoff

# Where results go: the rsync/ssh target and the monorepo working copy on
# the control node. The operator's ssh key must log in here passwordless
# (the runner sets BatchMode). The bare repo is where the runner moves the
# `last-known-good` tag after an all-green test pass (git checkout
# last-known-good to roll back).
CONTROL_USER_HOST=comrade@shell-test-srv01.seelie.co
CONTROL_REPO=/home/seelieagent/git/seelie-co
CONTROL_BARE_REPO=/home/seelieagent/repos/seelie-co.git

# Local dirs. Each new stamp is rsynced into WORK_DIR first (the suite
# benches the local copy, never the wire); STATE_DIR tracks processed
# and failed stamps.
#WORK_DIR=$HOME/.cache/seelie-bench-runner/work
#STATE_DIR=$HOME/.local/state/seelie-bench-runner

# Bench lane subset (comma list; default: all four - see tools/benchall.sh).
#SEELIE_BENCHALL_LANES=walk-dusk-dawn

# Skip the remote test pass (default: 0 = run tests on testable stamps).
# The test pass is the remote half of the sandbox + render suites; set 1
# to bench only.
#SKIP_TESTS=0

# Re-run stamps whose pass kept failing INFRASTRUCTURE (no report ever
# written) past the attempt budget (default: 0 = skip; failed stamps
# keep their work dir for forensics). A failing suite/bench result does
# NOT land here - reports ship pass or fail, the ingests record both.
# Transfer/ssh failures never land here either - those retry
# automatically on the next pass, resuming at the failed step (an
# already-completed pass is not re-run).
#RETRY_FAILED=0

# Attempt budget for the infrastructure-failure class (default: 3). A
# wanted pass that produces no report retries on the next passes until
# the budget is spent, then lands in failed.txt (RETRY_FAILED=1 re-arms
# it with a fresh budget). The forensic drop ships to the store's
# incoming-failed/ on every attempt.
#MAX_ATTEMPTS=3

# Heartbeat (default: 1): each pass writes test-history/runner-status.json
# on the control node (host, timestamp, what the pass did). The file
# going stale by more than a couple of timer intervals means the runner
# itself is down - the reboot/lingering detection the control node
# otherwise cannot see. The store is gitignored; 0 disables.
#RUNNER_STATUS=1

# Process the whole pending backlog (default: 0 = only the NEWEST pending
# actionable stamp is run; older pending stamps are superseded builds and
# get marked done without running - a first install against a long handoff
# history must not bench every historical build).
#BENCH_ALL_PENDING=0

# Keep each stamp's local working copy after a successful run (default: 0
# = delete; the bundle lives on the control node).
#KEEP_WORK=0
