Skip to content

test: run the e2e lane on a remote Mac over SSH - #116

Merged
arthware-dev merged 1 commit into
mainfrom
feat/remote-e2e
Sep 23, 2026
Merged

arthware-dev merged 1 commit into
mainfrom
feat/remote-e2e

Conversation

@arthware-dev

@arthware-dev arthware-dev commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • script/test remote e2e / remote smoke syncs this working tree to another Mac (default ssh alias famstack-e2e, base dir ~/famstack-dev), runs the lane there with mocked AI, and exits with pytest's exit code. This Mac's containers, instance and AI mode are untouched.
  • One run at a time via a mkdir lock that names its holder; unreachable host fails in 10 s; eval and other lanes are refused. Junit XML and container logs come back to tests/e2e/remote-results/.
  • After every run (pass, fail, dropped session) the remote rig is stopped, the lock released, and core's API LaunchAgent plist removed, so everything the run wrote lives under the base dir apart from Docker's own state.

`script/test remote e2e` (or `remote smoke`) syncs the working tree to
another Mac, runs the lane there with mocked AI and exits with pytest's
exit code. This Mac's containers, instance and AI mode stay untouched,
so the managed rig no longer has to share a machine with a dev instance.

The remote holds one run at a time under a mkdir lock, keeps its
instance, data, uv cache and results under one base dir, and stops the
rig after each run, also when the ssh session drops. Junit XML and
container logs come back to `tests/e2e/remote-results/`. Host and base
dir come from `FAMSTACK_REMOTE_HOST` (default: the ssh alias
`famstack-e2e`) and `FAMSTACK_REMOTE_DIR`.
@arthware-dev
arthware-dev merged commit d82c622 into main Sep 23, 2026
1 check passed
@arthware-dev
arthware-dev deleted the feat/remote-e2e branch October 7, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants