mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
100f7a7f64
Since c1e7268c83
we install the latest
version of RuboCop in our GitHub Actions workflow for speed, but this
sacrifices reproducibility; the results will change whenever RuboCop
publishes a new version. Instead we can add a new group to our Gemfile
that just contains the dependencies necessary to run RuboCop, and skip
installing everything else in CI.
Unfortunately it's not possible to tell Bundler to only install gems
from a single group, so we have to tell it not to install every other
group instead.
28 lines
715 B
YAML
28 lines
715 B
YAML
name: RuboCop
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Ruby 2.7
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.7
|
|
- 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 config set without 'default doc job cable storage ujs test db'
|
|
bundle install --jobs 4 --retry 3
|
|
- name: Run RuboCop
|
|
run: bundle exec rubocop --parallel
|