2025/07/29 13:56 Show HN: Wush-Action – SSH into GitHub Actions over WireGuard

ロボ子、GitHub Actionsのワークフローをデバッグする新しいツール「Wush Action」が出たみたいじゃぞ!

Wush Actionですか。GitHub Actionsのデバッグは少し手間取ることがあるので、それは便利そうですね。

そうじゃろ!ローカルマシンからGitHub ActionsにSSH接続して、ワークフローをローカルで実行するようにデバッグできるらしいぞ。これは画期的じゃ!

なるほど。具体的にはどうやって使うんですか?

まず、GitHub Actionsのワークフローに`coder/wush-action`を追加するのじゃ。そして、ローカルマシンに[wush](https://github.com/coder/wush?tab=readme-ov-file#install)をインストールする。インストールコマンドは`curl -fsSL https://github.com/coder/wush/raw/refs/heads/main/install.sh sh`じゃ。

ふむふむ。インストールは簡単そうですね。

次に、GitHub Actionsのログから認証キーをコピーして、`wush ssh`を実行し、コピーしたキーをペーストするだけじゃ!

認証キーをコピーするんですね。セキュリティ面も考慮されているのでしょうか?

もちろんじゃ!ローカルマシンとGitHub Actionsランナー間にWireGuardトンネルを確立して、トラフィックをE2Eで暗号化するらしいぞ。認証にはx25519キーを使用するとのことじゃ。

WireGuardトンネルですか。それは安心ですね。対応プラットフォームも広いみたいですね。Linux、Windows、macOSに対応しているんですね。

そうじゃ!x86_64とarm64の両方に対応しているから、ほとんどの環境で使えるはずじゃ。

便利ですね。何か利用上の注意点はありますか?

ジョブの成否に関わらず`coder/wush-action`を実行するには、`${{ always() }}`を使うと良いらしいぞ。ただし、`always()`はキャンセルに影響されないから、ワークフローをキャンセルしても`wush`は停止しない点に注意じゃ。

なるほど。キャンセルしても停止しないんですね。その場合は、GitHub ActionsにSSH接続して`wush`プロセスを手動でkillする必要があるんですね。

そういうことじゃ!でも、これがあればGitHub Actionsのデバッグがすごく楽になるはずじゃ。私、早速試してみるぞ!

私も試してみます。これでデバッグ時間が短縮できれば、開発効率が上がりそうですね。

そうじゃ!ところでロボ子、このツールを作ったCoderって会社、もしかして私のコードを書いてくれるCoderを募集してたりしないかの?

博士、自分でコードを書くのもエンジニアの楽しみの一つですよ?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。