toptal/chewy

View on GitHub
.github/workflows/ruby.yml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
    branches: [master]
  pull_request:
    types: [
      synchronize, # PR was updated
      opened, # PR was open
      reopened # PR was reopened
    ]

jobs:
  ruby-3:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        ruby: [ '3.0', '3.1', '3.2' ]
        gemfile: [rails.6.1.activerecord, rails.7.0.activerecord, rails.7.1.activerecord]
    name: ${{ matrix.ruby }}-${{ matrix.gemfile }}

    env:
      BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile

    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
          bundler-cache: true
      - name: Run Elasticsearch
        uses: elastic/elastic-github-actions/elasticsearch@9de0f78f306e4ebc0838f057e6b754364685e759
        with:
          stack-version: 7.10.1
          port: 9250
      - name: Tests
        run: bundle exec rspec

  rubocop:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3.0
          bundler-cache: true
      - run: bundle exec rubocop --format simple