There were a few tricks here, especially for Windows. Background jobs can get garbage collected between steps so you need to run as a scheduled task on Windows runners.
Tailscale required a bit of debugging to figure out my normal VPN was black-holing tailnet packets.
Cloudflare, ngrok, localhost.run and Tunnelmole were all quite simple to set up. Tho figuring out the correct way to automatically parse the localhost.run JSON in a script took a bit.
It's cool to have the runner controllable via an issue control panel using tasklists as checkboxes. I experimented with GitHub Issues Forms, but found they didn't give what I wanted here.
There were a few tricks here, especially for Windows. Background jobs can get garbage collected between steps so you need to run as a scheduled task on Windows runners.
Tailscale required a bit of debugging to figure out my normal VPN was black-holing tailnet packets.
Cloudflare, ngrok, localhost.run and Tunnelmole were all quite simple to set up. Tho figuring out the correct way to automatically parse the localhost.run JSON in a script took a bit.
It's cool to have the runner controllable via an issue control panel using tasklists as checkboxes. I experimented with GitHub Issues Forms, but found they didn't give what I wanted here.