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しちゃえばいいし。