Skip to content

GitHub Actionsを再利用する

GitHub Actionsには3つの実行単位があるけれど、どこを再利用したいのかによって選べる手段が変わる。

GitHubのスターターワークフローを使う。

ubuntu-latest など実行環境も含めて再利用したい場合はGitHub ActionsのReusable Workflowを使う。

複数のStepをまとめて再利用する

Section titled “複数のStepをまとめて再利用する”

複合アクションを使う。Reusable Workflowでも input でパラメータを渡せば実現できるが、複合アクションの方が使いやすいだろう。

ただし複合アクションの制限がある。

例えば複雑な run を書いている場合など、この場合は独自のアクションをTypeScript/JavaScriptで実装できるかもしれない。

少し特殊なケースだとは思うが、マトリクスも工夫すれば再利用できる。

matrix:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- id: set-matrix
run: echo "matrix=$(jq -c . matrix.json)" >>$GITHUB_OUTPUT
tasks:
needs:
- matrix
strategy:
matrix: ${{ fromJSON(needs.matrix.outputs.matrix) }}