くりにっき

フルスタックキュアエンジニアです

GitHub Actionsでsubmodule更新時のみjobを実行したい

背景

PRで特定のファイルが変更されたときだけjobを実行したいworkflowがあるとします。

name: "workflow for sub_dir"

on:
  push:
    paths:
      - "sub_dir/**/*"

同じリポジトリでこういうsubmoduleがあるとします。

$ cat .gitmodules 
[submodule "submodule_dir"]
        path = submodule_dir
        url = https://github.com/example/submodule_dir.git

.github/dependabot.yml でこういう風にsubmoduleの更新時にdependabotでPRを作っています。

version: 2
updates:
  - package-ecosystem: gitsubmodule
    directory: "/"

この時、submodule更新時のPRでうまくjobが実行されなくてちょっとハマったのでメモ。

解決方法

シンプルにこれでよかった。

name: "workflow for sub_dir"

on:
  push:
    paths:
      - "sub_dir/**/*"
      - "submodule_dir"