[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
とするように心がけるのが安全かと思います。