注意
2021/09/26 時点での情報です。
前提
- GitHub Actions では act を用います
- gh コマンド は push されたものを手元から発動するコマンドであって、ローカル環境に存在するジョブを実行するものではないです
- CircleCI では 公式の CLI ツール を用います
結論
- ちょっと込み入った使い方をする場合には act はつらいという印象です
- いずれにしろ archive.ubuntu.com 遠い(遅い)問題 がついてまわります
- GitHub Actions については将来的に gh コマンド に組み込まれそうな予感はします
補足
ローカルで実行する意義というのは以下になるかなと思います。
- CI の無料利用時間を消費したくない
- CI の実行テストのためのコミットを積みたくない・見せたくない*3
「1.」についてはプライベートリポジトリのみの話なので*4、プライベートリポジトリにした上で無料時間の消費を気にするならば素直に💴で叩くべきだとは思います*5。
あるいは「セルフホストランナー」をサクッと立てるのもよいと思います(これ自体は無料です)。GitHub 側としてはローカル実行するならばこの選択肢を選んでもらいたいのではないかと想像しています*6。
「2.」については……まあそういうときはあるのですが、たとえばセンシティブな情報を直書きとかしないのならば、後からsquashする前提でコミットメッセージに「CI のテスト中」であることをそれっぽく書いていれば見る人も察してくれるんじゃないかなと思います。
ローカルの実行では遅すぎたりマシンリソースを持っていかれないようにしたりするために SaaS を使っているので、そのメリットを享受しない理由としては弱いんじゃないかなと思っています*7。
そしてローカルだととにかく apt が遅いのがつらい*8。