created: 2022-11-11T07:10:11.559Z

GitHub Action の開発作業に nektos/act を使おうとしたけど使わない

GitHub Action をほとんど使ったことがないのだが、ローカルでの開発ができないように見うけられる。

検索すると上の方に出てくる2021年の記事でも「GitHubActionは実装して動かしてというプロセスが面倒臭いですよ」といった記述があった。 まだローカルで開発するような環境はサクッとしてないようだ。

ワークフローを編集する際にデバッグしていると結構な時間を消費してしまいます。 言わずと知れたローカル実行ツールです。 すべてを再現することはできませんがコミットを増やさずにデバッグができます。

また、開発ブランチのワークフローも動かせないようだ。masterにマージしたコードじゃないと動かせないのはちょっと。。。いろいろ試行錯誤しているコミットログとかもややこしくて嫌だなぁというところ。

nektos/act を使う

先述の通り、このツールがデファクトになっているみたいなので、ローカルでやるのにこれを使う。ただし、作り的に環境依存の処理とかがあるとけっこうハマりそうである。

インストールは brew でできた。

$ brew install act

動作確認。ちゃんと配置したyamlの内容が出力されているので動いてそう。

$ act -l
Stage  Job ID           Job name         Workflow name    Workflow file  Events
0      diary-generator  diary-generator  Diary Generator  diary.yaml     workflow_dispatch

と思ったけど使わない

ググってすこし使ってみた記事を漁った程度なのだが、どうにも評判が良くないので使わないことにした。

  • 本番通りには動作はしない
  • if文がバグってる
  • Dockerイメージがすごい重い

個人的にはエミュレーターとして使えないのにバグっているというのがけっこう辛そうだなという印象に。

masterのコミットが汚れるツールで苦労する を秤にかけて、個人プロジェクトなら masterのコミットが汚れる でいいかなという結論とした。rebaseしちゃえばいいし。

参考