GitHub Actions の Composite Run Steps で ecspresso / lambroll をインストールする action を作った

要約

GitHub Actions に Amazon ECS デプロイツール ecspressoAWS Lambda デプロイツール lambroll を簡単にインストール action を用意しました。

steps で以下の指定をするだけです。(Linux 環境専用です)

- uses: kayac/ecspresso@v0
- uses: fujiwara/lambroll@v0

もうちょっと詳しく

これまで GitHub Actions の action は基本的に Node で書く必要があったのですが、やりたいことはバイナリをダウンロードして展開してコピーするだけなのになんで Node を書かないといけないのか……(Linux以外の環境を考えると仕方ないとはいえ)、と面倒くささが先に立って、これまで action を作らないままでした。

が、先日 Composite Run Steps が使えるようになり、これは要するに自分の steps に shell script を書くかのように定義した action.yml を置いておくだけでよいという、顧客が本当に欲しかったものだったのでした。最高。

github.blog

ソースはこれだけで、見ての通り単に curl で落として展開して install するだけ、です。

https://github.com/kayac/ecspresso/blob/master/action.yml

inputs:
  version:
    description: "A version of ecspresso"
    default: "v0.17.3"
runs:
  using: "composite"
  steps:
    - run: |
        FILENAME=ecspresso-${{ inputs.version }}-linux-amd64
        cd /tmp
        curl -sLO https://github.com/kayac/ecspresso/releases/download/${{ inputs.version }}/${FILENAME}.zip
        unzip ${FILENAME}.zip
        sudo install ${FILENAME} /usr/local/bin/ecspresso
        rm -f ${FILENAME} ${FILENAME}.zip
      shell: bash

使う側は他の action と同様、step で uses: kayac/ecspresso@v0 などとするだけです。便利。

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: kayac/ecspresso@v0
        with:
          version: v0.17.3
      - run: |
          ecspresso deploy --config config.yaml

どうぞご利用ください。