Skip to content
Latchkey

GitHub Actions の workflow ファイルとは?

workflow は GitHub Actions における最上位の単位です。イベントを、実行すべき job にマッピングする YAML ファイルです。

GitHub Actions のすべては workflow から始まります。「これが起きたら、これらの job を実行する」と記述する設定ファイルです。1 つのリポジトリは、それぞれ異なる目的の多数の workflow を持つことができます。

何であるか

workflow は .github/workflows/ に保存される YAML ファイルです。名前、on: の下のトリガーイベントの集合、そして実行すべき作業を記述する jobs: ブロックを持ちます。

仕組み

イベントが workflow の on: フィルターに一致すると、GitHub は workflow run を作成します。その run は各 job を runner にスケジュールし、全体の成否を追跡します。

Workflow structure
name: Build and Test
on:
  push:
    branches: [main]
  pull_request:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: make build

1 つのリポジトリ、多数の workflow

通常は関心事を別々のファイルに分割します。テスト用に 1 つ、linting 用に 1 つ、deployment 用に 1 つ、という具合です。それぞれが独立して実行され、独自の status check を報告します。

なぜ重要か

workflow はリポジトリのイベントと自動化の間の契約です。小さく焦点を絞って保つことで、読みやすく、デバッグしやすく、再利用しやすくなります。

関連する概念

workflow は job を含み、job は step を含みます。イベントによってトリガーされ、Actions タブで確認できる workflow run を生成します。

重要なポイント

  • workflow は .github/workflows/ 内の YAML ファイルです。
  • イベント(on:)を job に結びつけます。
  • リポジトリは多数の独立した workflow を持てます。

関連ガイド