GitHub actions

テーマなしのひとりアドベントカレンダーの初回。

gepubではずっとTravis CIでCIしていたが、GitHub Actions移行してみた。

  1. ActionsのNew workflowsから、Ruby Gemを指定して生成
  2. GitHub Packages Repositoryは今まで使っていなかったので、Personal access tokensから、GitHub Package Repository用のtokenを作成。権限はread:packageswrite:packages
  3. レポジトリのsecretにRUBYGEMS_AUTH_TOKENGPR_AUTH_TOKENを設定
  4. GPRへのリリース用のOWNERを設定
  5. リリースのタイミングはバージョンタグがpushされた時に限定
  6. pushごとにtestを走らせるworkflowも追加
  7. READMEにGitHub Actions Testのバッジを追加
  8. .travis.ymlを削除

これでGitHub Actionsでテストが走り、さらにこれまでrake releaseでやっていたリリースがリリースタグつけてpushで実行されるようになった。GitHub Packages Repositoryにもpushするようになった。

今のところ、Travis CIよりもそれなりに高速に動いていて良い。残念ながらGitHub Actionsでは、skip ciなどのコミットメッセージによる実行制御はできないようだ。

追記:このブログのdeployもGitHub Actionsに変えた