name: CI

on: [pull_request]

jobs:
  tests:
    name: >-
      Specs | ${{ matrix.ruby }}
    runs-on: ${{ matrix.os }}-latest
    env:
      # See https://github.com/tmm1/test-queue#environment-variables
      TEST_QUEUE_WORKERS: 2
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu ]
        ruby: [ 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, head ]
    steps:
      - name: checkout
        uses: actions/checkout@v2
      - name: set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: install dependencies
        run: bundle install --jobs 3 --retry 3
      - name: install specs
        run: git submodule update --init --recursive
      - name: spec
        run:  bundle exec rake test all_spec
  internal_investigation:
    name: >-
      Coding Style
    runs-on: ${{ matrix.os }}-latest
    env:
      TEST_QUEUE_WORKERS: 2
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu ]
        ruby: [ 2.7 ]
    steps:
      - name: checkout
        uses: actions/checkout@v2
      - name: set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: install dependencies
        run: bundle install --jobs 3 --retry 3
      - name: internal investigation
        run: bundle exec rubocop
