Merge pull request #1979 from rubocop/fix-wait #2331
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
confirm_config_and_documentation: | |
runs-on: ubuntu-latest | |
name: Confirm config and documentation | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- run: bundle exec rake confirm_config documentation_syntax_check confirm_documentation | |
main: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: | |
- "2.7" | |
- "3.0" | |
- "3.1" | |
- "3.2" | |
- "3.3" | |
- ruby-head | |
- jruby-9.4 | |
task: | |
- internal_investigation | |
- spec | |
name: "Ruby ${{ matrix.ruby }}: ${{ matrix.task }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{ matrix.ruby }}" | |
bundler-cache: true | |
- run: NO_COVERAGE=true bundle exec rake ${{ matrix.task }} | |
coverage: | |
runs-on: ubuntu-latest | |
name: "Test coverage" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- run: bundle exec rake spec | |
edge-rubocop: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
task: | |
- internal_investigation | |
- spec | |
name: "Edge RuboCop: ${{ matrix.task }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use latest RuboCop from `master` | |
run: | | |
echo "gem 'rubocop', github: 'rubocop/rubocop'" > Gemfile.local | |
cat Gemfile.local | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- run: bundle exec rubocop -V | |
- run: NO_COVERAGE=true bundle exec rake ${{ matrix.task }} | |
oldest-rubocop: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
task: | |
- spec | |
name: "Oldest RuboCop: ${{ matrix.task }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use oldest RuboCop allowed by gemspec | |
run: | | |
sed -nr "s/ *spec.add_dependency 'rubocop', '~> ([0-9\.]+)'/gem 'rubocop', '= \1'/p" \ | |
rubocop-rspec.gemspec > Gemfile.local | |
cat Gemfile.local | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- run: bundle exec rubocop -V | |
- run: NO_COVERAGE=true bundle exec rake ${{ matrix.task }} | |
rspec4: | |
runs-on: ubuntu-latest | |
name: RSpec 4 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use latest RSpec 4 from `4-0-dev` branch | |
run: | | |
sed -e '/rspec/d' -i Gemfile | |
cat << EOF > Gemfile.local | |
gem 'rspec', github: 'rspec/rspec-metagem', branch: '4-0-dev' | |
gem 'rspec-core', github: 'rspec/rspec-core', branch: '4-0-dev' | |
gem 'rspec-expectations', github: 'rspec/rspec-expectations', branch: '4-0-dev' | |
gem 'rspec-mocks', github: 'rspec/rspec-mocks', branch: '4-0-dev' | |
gem 'rspec-support', github: 'rspec/rspec-support', branch: '4-0-dev' | |
EOF | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- run: NO_COVERAGE=true bundle exec rake spec |