mcpField
A
act

act

公式Agent-ready
github.com開発ツール72.5kact今日更新
リポジトリ公式サイト

act について

act は開発者がリポジトリにプッシュすることなく、ローカル環境で GitHub Actions ワークフローを実行できます。複数のイベントタイプとジョブ設定に対応し、CI/CD パイプラインの迅速な反復とデバッグが可能です。

主な機能

  1. 01ローカルコンテナで GitHub Actions ワークフローを実行
  2. 02pull_request や push など複数のトリガーイベントに対応
  3. 03特定のジョブを指定して実行し、フィードバック を高速化
  4. 04既存の開発ツールとの統合対応

活用シーン

  1. 01コミット前にローカルで CI パイプライン設定を検証
  2. 02ワークフロー ロジックと環境変数をデバッグ
  3. 03リポジトリへのプッシュを減らして GitHub Actions をテスト

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install act

インストール後にact --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
act
02
act pull_request
03
act -j test

詳細

act-logo

概要 push Go Report Card awesome-runners

「グローバルに考え、ローカルで act を実行する」

GitHub Actions をローカルで実行しましょう!なぜ実行したいのでしょうか?理由は2つあります。

  • 素早いフィードバック - .github/workflows/ ファイルに加えた変更(または埋め込みの GitHub Actions への変更)をテストするたびにコミット/プッシュする代わりに、act を使ってアクションをローカルで実行できます。環境変数 と ファイルシステム は、GitHub が提供するものと一致するように設定されます。
  • ローカルタスクランナー - 私は make が大好きです。しかし、同じことを繰り返すのは嫌いです。act を使えば、.github/workflows/ で定義した GitHub Actions を Makefile の代わりに利用できます!

ヒント

VS Code から Act を直接管理して実行できるようになりました!
GitHub Local Actions Visual Studio Code 拡張機能をご覧ください。この拡張機能を使えば、エディターを離れることなく act の機能を活用して、ワークフローをローカルで実行・テストできます。

どのように動作するか

act を実行すると、.github/workflows/ から GitHub Actions を読み込み、実行する必要のあるアクションのセットを特定します。Docker API を使って、ワークフローファイルで定義された必要なイメージを取得またはビルドし、最後に定義された依存関係に基づいて実行経路を特定します。実行経路が決まると、準備したイメージを使って、各アクション用のコンテナーを Docker API で実行します。環境変数 と ファイルシステム は、GitHub が提供するものと一致するように設定されます。

サンプルリポジトリ で実際に動作を見てみましょう!

デモ

Act ユーザーガイド

詳しいドキュメントについては、act ユーザーガイドをご覧ください。

サポート

お困りですか?ディスカッションで質問してください!

貢献

act への貢献に興味がありますか?ぜひご参加ください!貢献ガイドラインをご覧ください。

ソースから手動でビルドする

  • Go ツール 1.20 以降をインストールします - (https://golang.org/doc/install)
  • このリポジトリをクローンします git clone [email protected]:nektos/act.git
  • make test で単体テストを実行します
  • ビルドしてインストールします:make install

コメント