@@ -35,94 +35,35 @@ jobs:
3535 - " 3.4"
3636 - ruby-head
3737 - jruby-9.4
38+ gemfile : [Gemfile]
3839 task :
3940 - internal_investigation
4041 - spec
41- name : " Ruby ${{ matrix.ruby }}: ${{ matrix.task }}"
42+ include :
43+ - {ruby: "3.4", gemfile: "gemfiles/oldest_rubocop.rb", task: spec}
44+ - {ruby: "3.4", gemfile: "gemfiles/latest_rubocop.rb", task: internal_investigation}
45+ - {ruby: "3.4", gemfile: "gemfiles/latest_rubocop.rb", task: spec}
46+ - {ruby: "3.4", gemfile: "gemfiles/latest_rspec_4.rb", task: spec}
47+ name : >
48+ "Ruby ${{ matrix.ruby }}: ${{ matrix.task }}
49+ ${{ matrix.gemfile != 'Gemfile' && matrix.gemfile || ''}}
50+ "
51+ env :
52+ BUNDLE_GEMFILE : ${{ matrix.gemfile }}
4253 steps :
4354 - uses : actions/checkout@v5
4455 - uses : ruby/setup-ruby@v1
4556 with :
4657 ruby-version : " ${{ matrix.ruby }}"
4758 bundler-cache : true
48- - run : NO_COVERAGE=true bundle exec rake ${{ matrix.task }}
49-
50- coverage :
51- runs-on : ubuntu-latest
52- name : " Test coverage"
53- steps :
54- - uses : actions/checkout@v5
55- - uses : ruby/setup-ruby@v1
56- with :
57- ruby-version : " 3.4"
58- bundler-cache : true
59- - run : bundle exec rake spec
60-
61- edge-rubocop :
62- runs-on : ubuntu-latest
63- strategy :
64- matrix :
65- task :
66- - internal_investigation
67- - spec
68- name : " Edge RuboCop: ${{ matrix.task }}"
69- steps :
70- - uses : actions/checkout@v5
71- - name : Use latest RuboCop from `master`
72- run : |
73- echo "gem 'rubocop', github: 'rubocop/rubocop'" > Gemfile.local
74- cat Gemfile.local
75- - uses : ruby/setup-ruby@v1
76- with :
77- ruby-version : " 3.4"
78- bundler-cache : true
59+ - name : Show Gemfile for debugging
60+ if : ${{ matrix.gemfile }} != 'Gemfile'
61+ run : cat $BUNDLE_GEMFILE
7962 - name : Show RuboCop version
80- run : grep '^ rubocop' Gemfile.lock | sort
63+ if : ${{ matrix.gemfile }} != 'Gemfile'
64+ run : grep '^ rubocop' $BUNDLE_GEMFILE.lock | sort
8165 - run : NO_COVERAGE=true bundle exec rake ${{ matrix.task }}
8266
83- oldest-rubocop :
84- runs-on : ubuntu-latest
85- strategy :
86- matrix :
87- task :
88- - spec
89- name : " Oldest RuboCop: ${{ matrix.task }}"
90- steps :
91- - uses : actions/checkout@v5
92- - name : Use oldest RuboCop allowed by gemspec
93- run : |
94- sed -nr "s/ *spec.add_dependency 'rubocop'.*'>= ([0-9\.]+)'/gem 'rubocop', '= \1'/p" \
95- rubocop-rspec.gemspec > Gemfile.local
96- cat Gemfile.local
97- - uses : ruby/setup-ruby@v1
98- with :
99- ruby-version : " 3.4"
100- bundler-cache : true
101- - name : Show RuboCop version
102- run : grep '^ rubocop' Gemfile.lock | sort
103- - run : NO_COVERAGE=true bundle exec rake ${{ matrix.task }}
104-
105- rspec4 :
106- runs-on : ubuntu-latest
107- name : RSpec 4
108- steps :
109- - uses : actions/checkout@v5
110- - name : Use latest RSpec 4 from `4-0-dev` branch
111- run : |
112- sed -e '/rspec/d' -i Gemfile
113- cat << EOF > Gemfile.local
114- gem 'rspec', github: 'rspec/rspec', branch: '4-0-dev'
115- gem 'rspec-core', github: 'rspec/rspec', branch: '4-0-dev'
116- gem 'rspec-expectations', github: 'rspec/rspec', branch: '4-0-dev'
117- gem 'rspec-mocks', github: 'rspec/rspec', branch: '4-0-dev'
118- gem 'rspec-support', github: 'rspec/rspec', branch: '4-0-dev'
119- EOF
120- - uses : ruby/setup-ruby@v1
121- with :
122- ruby-version : " 3.4"
123- bundler-cache : true
124- - run : NO_COVERAGE=true bundle exec rake spec
125-
12667 prism :
12768 runs-on : ubuntu-latest
12869 name : Prism
0 commit comments