GitHub Actions の workflow_call とは?
workflow_call は、ワークフローを他のワークフローから呼び出せるようにするトリガーで、再利用可能なワークフローに変えます。
再利用可能なワークフローは、呼び出せることを宣言する必要があります。workflow_call イベントはまさにそれを行い、別のワークフローが呼び出す際に受け付ける input と secret を定義します。
概要
on: の下で宣言されるトリガーで、他からの呼び出しに向けてワークフローを公開します。呼び出し側がどの inputs と secrets を渡す必要があるか、または渡せるかという契約を定義します。
Declaring workflow_call
on:
workflow_call:
inputs:
env:
required: true
type: string
secrets:
token:
required: true仕組み
呼び出し側はジョブの uses: でワークフローを参照し、with: で input を、secrets: で secret を渡します。GitHub は宣言された契約に従い、呼び出される側のジョブを呼び出し側の実行の一部として実行します。
input と secret
input は型付きで、必須にも、デフォルト付きの任意にもできます。secret は明示的に渡す (または secrets: inherit で継承する) 必要があり、呼び出される側が呼び出し側の secret を暗黙に読み取ることはできません。
重要な理由
workflow_call は再利用可能なワークフローの基盤であり、チームが共有 CI ロジックを各リポジトリにコピーする代わりに、集中管理してバージョン管理できるようにします。
関連する概念
これは再利用可能なワークフローを再利用可能にするものであり、手動実行のための workflow_dispatch とは別物です。
重要なポイント
workflow_callはワークフローを他から呼び出せるようにします。- 型付きの input と必須の secret を定義します。
- 再利用可能なワークフローの土台となります。
関連ガイド
What Is a Reusable Workflow in GitHub Actions?A reusable workflow is a whole workflow called from another workflow with workflow_call, letting you share CI…
What Is the workflow_dispatch Event in GitHub Actions?workflow_dispatch is a trigger that lets you run a GitHub Actions workflow manually from the UI or API, optio…
What Is a GitHub Actions Secret?A GitHub Actions secret is an encrypted variable for sensitive values like API keys, available to workflows a…
What Is a Workflow Trigger in GitHub Actions?A workflow trigger is the event that starts a GitHub Actions workflow. Triggers are declared in the on key, s…