Repository navigation
Conversation
The SSH endpoint this action hands out is a tmate relay, not an sshd on the runner, and tmate does not implement the SSH X11 channel — so `ssh -X` has nothing to attach to and X11 forwarding is not a feature the action can grow. Document the path that does work: run the GUI under Xvfb, serve it with x11vnc bound to loopback, put noVNC in front of it, and expose port 6080 from inside the session either through a cloudflared quick tunnel (no account) or a reverse SSH tunnel to a host you control. Includes a security note on what the tunnel URL grants. Resolves WarpBuilds#12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Adds a README section, Watching a GUI session (browser / e2e tests), answering #12.
Why a docs change and not X11 forwarding
The SSH command the action prints connects to the tmate relay (
gha.warp.build), not to ansshdon the runner. tmate multiplexes a terminal and does not implement the SSH X11 channel, sossh -X/ssh -Yhave nothing on the far end to attach to. That makes X11 forwarding a property of tmate's transport rather than something this action can add — but the underlying need in #12 (watch an e2e session live instead of only recording it) is straightforward to meet.What the section documents
Xvfb, serve the display withx11vncbound to loopback (-localhost -viewonly), and put noVNC (websockify) in front on port 6080 — all started in a step before the debugger, with the debugger indetachedmode so the session is live while tests run.cloudflaredquick tunnel (no account) orssh -Rto a host the user controls.-viewonly,-passwd, prefer the SSH variant,Ctrl-Cthe tunnel when done).Verification
Chain verified locally end to end on Ubuntu:
Xvfb :99→ GUI app →x11vnc(RFB 003.008 handshake on 5900) →websockifyserving noVNC on 6080 (vnc.htmlreturns 200). The cloudflared step was exercised only up to tunnel provisioning in my environment (egress-restricted); on a runner with normal egress it prints atrycloudflare.comURL.Happy to turn this into a
vnc: trueinput that automates the setup and prints the URL in the job summary if that is a direction you'd take — thought a docs change was the right first step rather than adding a third-party binary to the action unasked.Resolves #12