.github/workflows/ci.yml
---
name: CI
on:
push:
branches:
- master
paths-ignore:
- "bin/**"
- "*.md"
pull_request:
branches:
- master
paths-ignore:
- "bin/**"
- "*.md"
jobs:
tests:
name: Ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ruby:
- 2.1
- 2.2
- 2.3
- 2.4
- 2.5
- 2.6
- 2.7
- 3.0
gemfile:
- gemfiles/rails3.2.gemfile
- gemfiles/rails4.0.gemfile
- gemfiles/rails4.1.gemfile
- gemfiles/rails4.2.gemfile
- gemfiles/rails5.0.gemfile
- gemfiles/rails5.1.gemfile
- gemfiles/rails5.2.gemfile
- gemfiles/rails6.0.gemfile
- gemfiles/rails6.1.gemfile
exclude:
- ruby: 2.1
gemfile: gemfiles/rails5.0.gemfile
- ruby: 2.1
gemfile: gemfiles/rails5.1.gemfile
- ruby: 2.1
gemfile: gemfiles/rails5.2.gemfile
- ruby: 2.1
gemfile: gemfiles/rails6.0.gemfile
- ruby: 2.1
gemfile: gemfiles/rails6.1.gemfile
- ruby: 2.2
gemfile: gemfiles/rails5.2.gemfile
- ruby: 2.2
gemfile: gemfiles/rails6.0.gemfile
- ruby: 2.2
gemfile: gemfiles/rails6.1.gemfile
- ruby: 2.3
gemfile: gemfiles/rails6.0.gemfile
- ruby: 2.3
gemfile: gemfiles/rails6.1.gemfile
- ruby: 2.4
gemfile: gemfiles/rails3.2.gemfile
- ruby: 2.4
gemfile: gemfiles/rails4.0.gemfile
- ruby: 2.4
gemfile: gemfiles/rails4.1.gemfile
- ruby: 2.4
gemfile: gemfiles/rails6.0.gemfile
- ruby: 2.4
gemfile: gemfiles/rails6.1.gemfile
- ruby: 2.5
gemfile: gemfiles/rails3.2.gemfile
- ruby: 2.5
gemfile: gemfiles/rails4.0.gemfile
- ruby: 2.5
gemfile: gemfiles/rails4.1.gemfile
- ruby: 2.6
gemfile: gemfiles/rails3.2.gemfile
- ruby: 2.6
gemfile: gemfiles/rails4.0.gemfile
- ruby: 2.6
gemfile: gemfiles/rails4.1.gemfile
- ruby: 2.7
gemfile: gemfiles/rails3.2.gemfile
- ruby: 2.7
gemfile: gemfiles/rails4.0.gemfile
- ruby: 2.7
gemfile: gemfiles/rails4.1.gemfile
- ruby: 2.7
gemfile: gemfiles/rails4.2.gemfile
- ruby: 3.0
gemfile: gemfiles/rails3.2.gemfile
- ruby: 3.0
gemfile: gemfiles/rails4.0.gemfile
- ruby: 3.0
gemfile: gemfiles/rails4.1.gemfile
- ruby: 3.0
gemfile: gemfiles/rails4.2.gemfile
- ruby: 3.0
gemfile: gemfiles/rails5.0.gemfile
- ruby: 3.0
gemfile: gemfiles/rails5.1.gemfile
- ruby: 3.0
gemfile: gemfiles/rails5.2.gemfile
include:
- ruby: 2.7
os: ubuntu-latest
coverage: true
gemfile: gemfiles/rails6.1.gemfile
os:
- ubuntu-latest
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
COVERAGE: ${{ matrix.coverage }}
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: false
- name: Install bundler
run: gem install bundler -v '< 2.0'
- name: Install dependencies
run: bundle _1.17.3_ install --jobs 4 --retry 3
- name: Run tests
run: bundle exec rake ci