投稿

[GitHub 100日チャレンジ] Day 86 - Custom Actionsを作る

GitHub Actionsで繰り返し使う処理をCustom Actionとして切り出し、workflowを読みやすくする考え方を学びます。

[GitHub 100日チャレンジ] Day 86 - Custom Actionsを作る

Custom Actionとは

Custom Actionは、workflowで繰り返し使う処理を再利用可能な部品にしたものです。複数Repositoryで同じ処理を使う場合や、workflowを短く保ちたい場合に役立ちます。

action.yml

Actionの定義は action.yml に書きます。

1
2
3
4
5
6
7
8
9
10
11
name: hello-action
description: Say hello
inputs:
  name:
    required: true
    default: world
runs:
  using: composite
  steps:
    - run: echo "Hello ${{ inputs.name }}"
      shell: bash

種類

action.ymlは部品の定義で、保存しただけでは自動実行されません。たとえば.github/actions/hello/action.ymlに置いた場合は、checkout済みのworkflowのstepからuses: ./.github/actions/helloで呼び出し、withのnameで挨拶の相手を渡します。ログにその名前の挨拶が出るところまでが最初の確認です。 GitHub公式のComposite Action作成手順に呼び出し側の例もあります。

  • Composite Action: shell commandをまとめる
  • JavaScript Action: Node.jsで実装する
  • Docker Action: container内で実行する

最初はComposite Actionが理解しやすいです。

今日のゴール

Custom Actionは、workflowの重複を減らすための部品です。まずは小さなComposite Actionから始めましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。