gh signoff: 手元でテストを通し、コミットに緑のステータスを付ける(ローカル CI)
basecamp の GitHub CLI 拡張。手元でテストが通ったら gh signoff を実行すると、HEAD のコミットに signoff という成功ステータスが付く。gh signoff install でこのステータスをマージの必須条件にすれば、クラウドの CI ランナーを使わずに「テスト済みでないとマージできない」状態を作れる。
どんな時に使う?
- 小さなチームや個人のアプリで、クラウド CI が遅い・高いと感じている
- 開発機は十分速く、テストは手元で回し切れる
やり方
bash
gh extension install basecamp/gh-signoff
# テストが通ったら(例: bin/rails test && gh signoff)
gh signoff # HEAD に signoff ステータスを付ける
gh signoff tests # signoff/tests のように部分ごとのコンテキストも付けられる
gh signoff fail # 失敗を赤いステータスで残す
gh signoff --commit HEAD~1 # 別のコミットを指定
# マージの必須条件にする(リポジトリのルールセット "signoff" を作る)
gh signoff install
gh signoff uninstall # 外す--url か git config signoff.url を設定すると、ステータスの Details リンクから実行ログなどに飛べる。
注意点
- 既定では、HEAD がプッシュ済みでないと拒否される(
-fで上書きできる)。先に push してから signoff する。 - 「手元で本当にテストしたか」は人の規律に任せることになる。クリーンな環境での再現性、OS やブラウザの組み合わせテスト、並列実行が必要なら、引き続きクラウド CI が向いている。
- ルールセットはリポジトリ管理者ならバイパスできる。bot をバイパス対象に足す設定は、install し直しても保持される。
出典
- @jessethanley 2026-06-26: @jessethanley · 2026-06-26
- basecamp/gh-signoff README: github.com