🔩

Composite Actions Tips

2022/01/21に公開

GitHub ActionsのComposite Actionsではworkflowと同じリポジトリ内で複数のステップを使用したアクションを作ることができる。主な使い方は、 GitHub Actionsの共通したアクションを切り出してシンプルに保つ がわかりやすく説明してくれている。本記事では例の記事にはない細かい点を記載する。

Tips

  • .github/actionsaction.ymlというルールに則していれば、パスは多階層でもよい
  • composite アクションから別のcompositeアクションも利用できる

サンプルコード

Actions a/b

.github/actions/a/b/action.yml
name: a/b
on:
  push

jobs:
  job1:
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      # ... steps
      - name: Run composite action c
        uses: ./.github/actions/c

Actions c

.github/actions/c/action.yml
# 省略

Workflows

.github/workflows/main.yml
name: main
on:
  push

jobs:
  job1:
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Run composite action a/b
        uses: ./.github/actions/a/b

注意点

  • Composite Actionsを使用すると、ワークフローからすれば単一のステップになるので、Actions内部のステップ間の経過時間が表示できない

参考

Discussion