← Jobs
success

headless ant/term ↗

started 17 Sep 2026 12:57 UTC · ran for
2m 38s, success 2m 32s, success 2m 41s, success 2m 37s, success 3m 43s, success 3m 29s, success 3m 47s, success 3m 37s, success 3m 31s, success 3m 46s, success avg 3m 14s ± 33s over the last 10 runs
fix: tmux missing from devShell — the real cause of the tmux test flake The actual root cause of test_e2e_tmux_secondary_da_no_corruption's "flaky" timeouts under real ci-tron runs: tmux isn't declared in flake.nix's devShell (unlike sway/grim/wlrctl/wl-clipboard, all added for the exact same reason — see the previous two fix commits), and ci-tron.service deliberately gives its runner a curated, minimal PATH with no /run/current-system/sw/bin, so nothing puts tmux within reach there. `tmux -f /dev/null new-session /bin/sh` fails outright; since PS1 is cleared, the outer shell's own prompt is invisible, so the test's "$ " marker (the nested shell tmux was supposed to start) simply never appears — e2e_pump_until times out at whatever bound it's given, not because anything was slow. Traced by watching the process tree of a real, isolated ci-tron test run at 1.5s resolution: tmux never appears at all, at any point in the run's lifetime — ruling out the timing-race explanation the previous commit assumed. Confirmed by reproducing (deterministically, 5/5) via systemd-run configured to match ci-tron.service's exact hardening properties *and* its literal PATH value read from the live unit, then watching the same reproduction turn green once tmux is added here. See the corrected comment on e2e_pump_until in e2e_test.odin for the same account in-place, so it doesn't keep pointing at CPU contention the next time someone reads it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KpDBFeBQKx9f5U3pfVeVV3
$ headless success · exit 0 · raw
++ mktemp -d
+ checkout=/tmp/tmp.0V7mgDfnmM
+ trap 'rm -rf "$checkout"' EXIT
+ cp -R /var/lib/ci-tron/sources/c36b6c1057ab22c2/. /tmp/tmp.0V7mgDfnmM
+ cd /tmp/tmp.0V7mgDfnmM
+ nix develop --command python3 scripts/headless_test.py
GC Warning: Could not open /proc/stat
headless_test: building term...
headless_test: starting headless sway...
headless_test: headless sway is on wayland-1 (pid 4180129)
headless_test: starting term...
headless_test: term window mapped
headless_test: screenshot captured (5810 bytes)
headless_test: wlrctl found — exercising wl_pointer capability negotiation
headless_test: wl_pointer wiring survived a synthetic scroll (does not confirm axis_discrete fired)
headless_test: wlrctl found — exercising pointer motion + click
headless_test: wl_pointer click/motion wiring survived a synthetic click and follow-up motion
headless_test: resizing headless output (term was 1280x672)...
headless_test: term resized to 640x432
headless_test: post-resize screenshot captured (12352 bytes) — resize path survived
headless_test: middle-click never reached term after 5 synthetic attempts — known wlrctl virtual-pointer enter/leave race (see check_pointer_click's docstring and ROADMAP.md's Known v1 limitations), not a paste-logic failure; skipping the round-trip assertion
headless_test: PASS
+ rm -rf /tmp/tmp.0V7mgDfnmM
Artifacts

no artifacts