Repolode
nektos

nektos/act

GitHub ActionsのワークフローをDocker上でローカル実行し、コミットやプッシュをせずに変更をテストできるCLIです。

スター
72,422
フォーク
2,070
未解決の Issue
398
最終コミット
2 か月前

これは何?

actは.github/workflows/内のワークフローファイルを読み込み、Dockerを使ってジョブを手元のマシンで実行します。各ワークフローに必要なイメージを取得またはビルドし、ジョブの依存関係から実行順を決めて、ステップごとにコンテナを起動します。環境変数やファイルシステムの構成は、GitHubホストランナーのものに近づけて設定されます。

このツールは、コミットしてプッシュすることなくワークフローを変更・反復する場合と、既存のワークフロー定義をMakefileの代わりにタスクランナーとして使う場合を想定しています。ユーザーガイドはnektosact.comで公開されており、プロジェクトはGoで書かれ、MITライセンスでリリースされています。

主な機能

  • 01Dockerコンテナを使ってGitHub Actionsのワークフローをローカルで実行します。
  • 02ジョブの依存関係を解決して、実行順を決定します。
  • 03環境変数とファイルシステムのパスをGitHubのランナーに合わせて設定します。
  • 04既存のワークフローファイルを使ったローカルタスクランナーとして利用できます。
  • 05エディターからワークフローを実行できるVS Code拡張機能があります。

ユースケース

  • プッシュする前に.github/workflows/内のファイルの変更をテストする。
  • リモートランナーを待たずに、失敗したCIジョブをデバッグする。
  • 再利用可能なワークフロー定義をローカルタスクに使い、Makefileを置き換える。

クイックスタート

  1. 1

    Dockerをインストールし、起動していることを確認します

  2. 2

    repoをcloneし、make installでソースからビルドします(Go 1.20以降が必要です)

    make install
  3. 3

    .github/workflows/を含むrepoから、ワークフローをローカルで実行します

    act

使う前に知っておきたいこと

  • Dockerのインストールと起動が必要です。
  • コンテナ内で実行されるため、GitHub-hosted runnerの環境と完全には一致しない場合があります。

トピック

よくある質問

act とは?
GitHub ActionsのワークフローをDocker上でローカル実行し、コミットやプッシュをせずに変更をテストできるCLIです。 actは.github/workflows/内のワークフローファイルを読み込み、Dockerを使ってジョブを手元のマシンで実行します。各ワークフローに必要なイメージを取得またはビルドし、ジョブの依存関係から実行順を決めて、ステップごとにコンテナを起動します。環境変数やファイルシステムの構成は、GitHubホストランナーのものに近づけて設定されます。
act は無料で使えますか?ライセンスは?
act は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
act は今もメンテナンスされていますか?
半年以内に更新あり。act の最終コミットは 2026年8月9日 です。
act は何に使えますか?
プッシュする前に.github/workflows/内のファイルの変更をテストする。 リモートランナーを待たずに、失敗したCIジョブをデバッグする。 再利用可能なワークフロー定義をローカルタスクに使い、Makefileを置き換える。
act のインストール方法は?
Dockerをインストールし、起動していることを確認します repoをcloneし、make installでソースからビルドします(Go 1.20以降が必要です): make install .github/workflows/を含むrepoから、ワークフローをローカルで実行します: act
act はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/nektos/act

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト