Dev Classmethod Jp Articles Gha Actionlint Basics
actionlintでGitHub Actionsワークフローの構文・式・シェルを静的解析してみる
- URL: https://dev.classmethod.jp/articles/gha-actionlint-basics/
- 日付: 2026-06-06
- Tier: Tier 3
- 要旨: GitHub Actions ワークフロー専用の静的解析ツール actionlint の基本的な使い方を実例付きで解説。ランナーラベルの検証、式の型チェック、スクリプトインジェクション検出まで対応。
詳細
- ツール概要: actionlint はGo製。
.github/workflows/*.ymlを push 前にローカルで検証できる - 検出できる問題: ①ランナーラベルの typo(ubuntu-latest-xl は無効と指摘)、②
${{ github.event.head_commit.message }}のスクリプトインジェクションリスク、③未定義のmatrix.os参照 - shellcheck 連携: シェルスクリプトを
shellcheckで二次チェック。-shellcheck=で無効化可能 - 設定集約:
.github/actionlint.yamlで self-hosted ランナーラベルなどを設定 - インストール: macOS なら
brew install actionlint - 実用性: CI試行回数を減らせる。終了コード1でCIにそのまま組み込める