actionlint の「label "ubuntu-26.04" is unknown. available labels are ...」
runs-on を ubuntu-26.04 に変えたか、Renovate が「Update dependency ubuntu to v26」というプルリクエストで変えた。ジョブはちゃんと動くのに、lint のジョブだけが落ちる。Ubuntu 26.04 のランナーは2026年9月17日から一般提供です(GitHub の変更履歴)。actionlint の最後のリリース v1.7.12 は2026年3月30日でそれより前なので、GitHub のホストのラベルの一覧が ubuntu-24.04 と ubuntu-24.04-arm で止まっています。ubuntu-latest は一覧にあるので、これが出るのは ubuntu-26.04 か ubuntu-26.04-arm と名指ししたときだけです。
出る文
.github/workflows/ci.yml:10:14: label "ubuntu-26.04" is unknown. available labels are "windows-latest", ..., "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", ... if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]
これは lint の言い分で、GitHub のではありません。ubuntu-26.04 は実在するホストのラベルです。reviewdog を通すと、ワークフローのファイルごとに出ます。jekyll-github-deploy #93 では、reviewdog/action-actionlint@v1.72.0 で10本のワークフローがすべてこれで落ちました。
新しい actionlint で直らない理由
このラベルは6月から頼まれています。issue #682 と、プルリクエスト #683(6月12日)・#723・#743 は、11月4日の時点でどれも開いたままです。rhysd/actionlint の最後のコミットは2026年4月19日です。rhysd/actionlint のビルドは、リリースから入れても、go install でも、Docker のイメージでも v1.7.12 以前で、このラベルを知りません。super-linter はイメージに rhysd/actionlint:1.7.12 を写しているので、こちらも知りません。
直し方1:actionlint にラベルを教える
actionlint は .github/actionlint.yaml(か .yml)を読みます。self-hosted-runner の下に書いたラベルは通ります:
self-hosted-runner:
labels:
- ubuntu-26.04
- ubuntu-26.04-arm
コマンドライン・pre-commit・Docker のイメージ・reviewdog のどれで動かしても効きます。super-linter は代わりに .github/linters/actionlint.yml を読みます(LINTER_RULES_PATH と GITHUB_ACTIONS_CONFIG_FILE の既定)。turbo-themes #1186 は同じ2行を足し、actionlint がラベルを知ったら消すとコメントを書いています。まねしておくとよい習慣です。
直し方2:reviewdog/action-actionlint を v1.75.0 以降にする
reviewdog/action-actionlint は、v1.75.0(2026年9月16日)から、rhysd/actionlint 1.7.12 の代わりに kjanat/actionlint 1.17.0 を入れます。このフォークは ubuntu-26.04 と ubuntu-26.04-arm を知っています(v1.10.0 から v1.17.0 までのリリースで確かめた)。reviewdog を使っているなら、v1.74.0 以前から今の版に上げるだけで足ります:
- uses: reviewdog/action-actionlint@v1.81.1
このフォークは、元の作者とは別の人が保守しています(#719「Any active forks?」)。使いたくなければ、直し方1で rhysd/actionlint のままにできます。
自分のラベル
セルフホストのランナーのラベルや、自分で作った大きいランナーの名前でも、同じ文が出ます。直し方は同じ一覧で、path.Match のパターンも書けます:
self-hosted-runner:
labels:
- ubuntu-26.04
- ubuntu-26.04-arm
- build-*
見分け方
ubuntu-26.04を使うジョブは通り、lint のステップだけが落ちて、行の最後に[runner-label]が付いています。actionlint -versionをログに出すと版が分かります。rhysd/actionlint の最後のリリースは 1.7.12 です。runs-onがubuntu-latestのままで、ジョブそのものが 26.04 で落ちるなら、それは lint ではなくubuntu-latestの移行です:Ubuntu 26.04 で変わること。
失敗したジョブを IntelliJ IDEA から見るなら
Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。
GitHub と GitHub Actions は GitHub, Inc. の商標、Ubuntu は Canonical Ltd. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Canonical・actionlint・reviewdog・super-linter の各プロジェクト・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:「The ubuntu-latest label will migrate to Ubuntu 26」 · 「Invalid workflow file」 · 「Waiting for a runner to pick up this job」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English