Open4
WSL + nektos/act で GitHub にSSH接続する
ピン留めされたアイテム

3行で説明
- Agentic Codingでお手軽にGitHub Actions作ってますか?楽に効率化できて便利ですよね!
- Windowsだとtestがつらい…。そこで
WSL + nektos/act
。そのままymlが動きます。 -
GitHubにSSH接続
したい。苦戦。できた。方法をまとめました。

成功したコマンド
eval $(ssh-agent) && ssh-add ~/.ssh/id_rsa
export SSH_AUTH_SOCK=/ssh-agent
act workflow_dispatch --workflows .github/workflows/あなたのワークフローymlファイル名 --secret-file .secrets --container-options "-v /home/user/.ssh:/root/.ssh -v $SSH_AUTH_SOCK:/ssh-agent" --platform ubuntu-latest=catthehacker/ubuntu:act-20.04

いろいろ
- SSH
- https + PATか、SSHか、を最初に選ぼう
- 今回は、なんとなくSSHを選んだ
-
su あなたのユーザ名
しましょう。root作業しながらact動かそうとしたらいろいろ失敗した(そりゃそうだ) - WSLでSSHを動かすためのいろんな手順が必要。agentにきいてすべて打開できたので割愛
- 接続できないと、commit pushに失敗します。commit pushのtestができなくてもいい?そうかな…そうかも…
- https + PATか、SSHか、を最初に選ぼう
- Docker
- nektos/actはDockerを呼び出している
- パース
- nektos/actはGitHub Actions ymlをパースし、そのなかのコマンド部分で、Dockerコンテナを呼び出してコンテナ上でコマンドを動かしている
- option
- nektos/actがDockerにわたすoption、を指定できる
- exe
- WSL Dockerはデフォルトではexeを呼び出してエラーになるので、exeの行を消す必要がある
~/.docker/config.json
- 詳しくは割愛、AIがすぐわかる
- ハルシネーション
- 一番苦戦したのは、actのコマンドライン生成をAIがハルシネーションしたこと
- なので、喉から手が出るほど欲しかったのは、
「このコマンドならエラーにならず成功する」という情報

モチベ : なぜWSL + nektos/act で GitHub にSSH接続するの?
- GitHub ActionsをAgentic Codingして楽をする
- nektos/act で、WindowsローカルでGitHub Actionsをテストできるのは便利
- これまでの課題
- Windowsネイティブ環境で、scriptを使っての、GitHub actionsのtestが困難。ハルシネーション多発した。
- 対策、WSL + nektos/act を使う
- これまでの課題