[Github Actions] CompositeActionではチェックアウト処理でのクリアに気をつけましょう

2024.05.09

結論

CompositeAction側でのactions/checkoutの際は、デフォルトでclean=trueなので気をつけましょう

name: some comsite action
runs:
  using: "composite"
  steps:
    - uses: actions/checkout@v4
      with:
        clean: false # important in some cases
    - run: some task

説明

CompositeActionを使えば、部分的な処理を部品化してDRYなWorkflowを記述できるので、大変有用です。
他方、CompositeActionの利用に関しては、CompositeAction側でも常にチェックアウトする必要があります。この時にデフォルトのままだとワークスペースがクリアされてしまうため、先にConpositeAction外で実施した処理(npm iして作成されたnode_modulesディレクトリなど)が消えてしまいます。

通常はWorkflow側でチェックアウトは済ませていると思うので、CompositeAction側でのチェックアウトは常に clean: false とするように心がけるのが安全かと思います。