name: rspec on: push: branches: [ master ] pull_request: jobs: build: name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: ruby: [ '2.6', '2.5', '2.4' ] os: [ ubuntu-latest, windows-latest, macos-latest ] experimental: [ false ] include: - ruby: '2.7' os: 'ubuntu-latest' experimental: true - ruby: '2.7' os: 'windows-latest' experimental: true - ruby: '2.7' os: 'macos-latest' experimental: true steps: - uses: actions/checkout@master - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - uses: actions/cache@v1 with: path: vendor/bundle key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }} restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }} - if: matrix.os == 'macos-latest' run: brew install lcdf-typetools - run: bundle config set path 'vendor/bundle' - run: bundle install --jobs 4 --retry 3 - if: matrix.os == 'macos-latest' run: bundle exec rspec env: TEST_ENV: CI - if: matrix.os != 'macos-latest' run: bundle exec rspec --tag ~dev env: TEST_ENV: CI