name: Test

on: [push, pull_request]

jobs:
  test:
    name: Test on ruby ${{ matrix.ruby_version }} and ${{ matrix.prawn_version }}
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby_version:
          - 2.6
          - 2.7
          - 3.0
        prawn_version:
          - 2.3
          - 2.4
        exclude:
          - ruby_version: 3.0
            prawn_version: 2.3

    steps:
    - uses: actions/checkout@v1

    - uses: hidakatsuya/setup-diff-pdf@v1
      with:
        diff-pdf-version: 0.5

    - name: Set up Ruby ${{ matrix.ruby_version }}
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby_version }}

    - name: Install dependencies
      run: |
        gem install bundler
        bundle install --gemfile test/gemfiles/prawn-${{ matrix.prawn_version }}.gemfile --jobs 4 --retry 3

    - name: Run tests
      run: bundle exec rake test