ウェブサービスを作っています。

GitHub Actions で Rails のテストを実行する

GitHub Actions で、Rails + PostgreSQL のシンプルなアプリをテストする方法です。

.ruby-version ファイルで、Ruby のバージョンを指定しているものとします。

2020年7月8日現在の情報です。


.github/workflows/ci.yml

name: CI

on: push

jobs:
  test:
    runs-on: ubuntu-latest

    env:
      RAILS_ENV: test
      DATABASE_URL: "postgres://postgres:postgres@localhost/ci_test"

    services:
      postgres:
        image: postgres
        ports:
          - 5432:5432
        env:
          POSTGRES_PASSWORD: postgres
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    steps:
      - uses: actions/checkout@v2

      - uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true

      - run: bundle exec rake db:setup

      - run: bundle exec rake

Bundler のキャッシュも自動でやってくれて、なかなか便利です。

参考

github.com simple-minds-think-alike.hatenablog.com docs.github.com booth.pm