SSH into GitHub Actions using wush. Debug workflows as if they were running on your machine.
- Add
coder/wush-actionto a GitHub Actions workflow:
jobs:
wush:
steps:
...
- uses: coder/[email protected]
timeout-minutes: 30
...- Install wush on your local machine:
curl -fsSL https://github.com/coder/wush/raw/refs/heads/main/install.sh | sh- Copy the authentication key from GitHub Actions logs:
- Run
wush ssh, and paste the key.
- You're in!
- Linux (
x86_64andarm64) - Windows (
x86_64andarm64) - macOS (
x86_64andarm64)
Wush establishes a WireGuard tunnel between your local machine and a GitHub Actions runner - traffic is E2E-encrypted. It doesn't require you to trust any 3rd party authentication or relay servers, instead using x25519 keys to authenticate connections.
For more information, see wush's README and source code.
To run coder/wush-action regardless of whether a job succeeds or fails, consider using ${{ !cancelled() }} instead of ${{ always() }}:
jobs:
wush:
steps:
...
- name: Run wush
if: ${{ !cancelled() }}
uses: coder/[email protected]always() is immune to cancellation, so you won't be able to stop wush by cancelling the workflow. Instead, you'll need to SSH into GitHub Actions and kill the wush process manually.
