name: RuboCop on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: [2.5, 2.6, 2.7, 3.0, head] continue-on-error: ${{ endsWith(matrix.ruby, 'head') }} steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Cache gems uses: actions/cache@v1 with: path: vendor/bundle key: ${{ runner.os }}-rubocop-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-rubocop- - name: Install gems run: | bundle config path vendor/bundle bundle install --jobs 4 --retry 3 - name: Run tests run: bundle exec rake test - name: Run RuboCop run: bundle exec rubocop --parallel