GitHub Actions の Ruby プロジェクトで use-ruby-action を使う
GitHub Actions で Ruby を使う場合、何も考えなければ GitHub 謹製の setup-ruby を使うと思います。
しかし、この setup-ruby、驚くことに 2020/01 上旬時点で使用できる Ruby のバージョンが 2.4 - 2.6 となっています。 setup-ruby の状況や、それ以外の選択肢については、以下の記事で詳しく書かれています。
今回 jp_prefecture gem のビルドを GitHub Actions に移行するにあたって、 use-ruby-action というサードパーティ製の Action を使って Ruby のバージョンを指定するようにしました。
jp_prefecture gem の設定は以下にあります。
- jp_prefecture/build.yml at 1f93bc05062dca365956257e55404453497c4154 · chocoby/jp_prefecture · GitHub
Ruby に関する指定を抜粋するとこんな感じ。
jobs:
matrix:
# 省略
strategy:
matrix:
ruby:
- 2.3
- 2.4
- 2.5
- 2.6
- 2.7
steps:
# 省略
- name: Set up Ruby ${{ matrix.ruby }}
uses: eregon/use-ruby-action@master
with:
ruby-version: ${{ matrix.ruby }}
使い勝手としては、Ruby のバージョンを 2.6
と指定できるので便利です。もちろん 2.6.5
と指定することもできます。
2.6
と指定した場合は、2.6
系の最新のパッチバージョンを使用します。プロジェクトに .ruby-version
が存在すれば、そこに記述している Ruby を使用してくれます。
しかし、use-ruby-action がサポートしている以外の Ruby を使いたい場合は、手動で Ruby をビルドする必要があります。 例えば、rubicure gem では Ruby の Docker コンテナを指定し、複数バージョンの Ruby でビルドを行うアプローチを取っているようです。
GitHub Actions は使われはじめたばかりで、use-ruby-action は選択肢の一つなので、今後の setup-ruby に期待です。