はじめに
GitHub Actionsは、GitHub上で実行できるCI/CDツールであり、業務で使用しているが多いのではないでしょうか。GitHub Actions用のymlファイルを編集する際、実際のコミットをプッシュして結果を確認しており、効率が悪いなと思っていました。ローカルで実行結果を確認できるツールがないか探していたところ、actというツールを見つけたたので、インストール方法と基本的な使い方を説明します。
「act」のインストール
homebrewでインストールする際は下記コマンドになります。他のOS等でインストールしたい場合は、公式ドキュメントをご参照ください。
brew install act
「act」の使い方
「act」を使うには、まずGitHub Actionsのワークフローファイルを用意する必要があります。例えば、以下のような内容のワークフローファイルを用意します。
name: Test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Hello
run: echo "Hello, world!"
上記のワークフローファイルでは、GitHub上でプッシュされた時に、Ubuntuの環境で「Hello, world!」と表示するジョブを実行するようになっています。
このワークフローファイルを含むディレクトリに移動し、以下のコマンドを実行します。
act
これにより、ローカルでGitHub Actionsの実行が行われます。以下は、実行結果の一部です。
[1/3] 🚀 Starting virtual environment.
[2/3] 🐳 Docker network created.
[3/3] 🐳 Docker images built.
ACTION hello
✔︎ runs-on: 'ubuntu-latest'
✔︎ uses: 'actions/checkout@v2'
✔︎ name: 'Hello'
✔︎ run: echo "Hello, world!"
Hello, world!
実行結果は、GitHub Actionsと同じように出力されます🙆
他にもactにはさまざまなオプションが用意されています。
例えば、特定のjobを実行したい場合には下記コマンドを実行しましょう。
act -j <ジョブ名>
まとめ
本記事では、「act」を使ってGitHub Actionsの実行結果をローカルで確認する方法について説明しました。「act」を使うことで、GitHub上での実行を待つことなく、効率的にワークフローファイルの作成やデバッグができます。公式ドキュメントに他にもさまざまなオプションが載っているので、ぜひ一度読んで見てください。