act使いたいメモ
ローカルでGitHub Actionsの実行したい。
インストール
brewでインストール
brew install act
act --version
act version 0.2.64
ランナー
actはGitHub Actionsのワークフローを実行するための仮想環境をDocker環境として用意している。用意されているのはubuntuで複数のイメージサイズが用意されている。
もし、macやwindows環境での実行環境が必要な場合、ホストマシン上で直接実行したりもできるらしい。
実行イメージサイズは3つ用意されていて一番下のmicroだと何も入っていないので困るかも。そしたらMediumにあげる。以下はmicroの実行イメージを-P
オプションで指定する例。
# act -P <platform>=<docker-image>
act -P ubuntu-latest=node:16-buster-slim
これ指定必須か?デフォルトの実行イメージとかないのか?
↑ 指定しないと使用するイメージの選択ができたのでカスタムの実行イメージが必要なければ指定しないでもよさそう
一回選択すると次からはキャッシュが効いて選択肢でなそう。
毎回指定するかMediumくらいにしといたほうが無難かも。
実行
act [event name to run] [flags]
event nameはトリガーの名前でデフォルトはon: push
となる。
M1のmacを使っている場合は以下のフラグをつけると警告が消える。
act --container-architecture linux/amd64
実行場所はフラグで指定もできるがデフォルトはカレントディレクトリ。
--env-file
フラグで.env
ファイルを環境変数として渡すこともできる。
ランナー
actはGitHub Actionsのワークフローを実行するための仮想環境をDocker環境として用意している。用意されているのはubuntuで複数のイメージサイズが用意されている。
もし、macやwindows環境での実行環境が必要な場合、ホストマシン上で直接実行したりもできるらしい。
memo
testcontainers
actはdocker環境内で実行されるのでDinDになってうまくいかないかなと思ったが動いてそうではあった。
Google Cloud
具体的にはcloud-sql-proxyが動かなかった。認証は直接サービスアカウントのキーファイルを渡してみたが動かない。内部的にgcloudが使われていてgcloudがact環境内にないとかかもしれない。