Merge pull request #135 from rubocop/docs #296
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: | |
- main | |
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 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- 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 | |
prism: | |
runs-on: ubuntu-latest | |
name: Prism | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use prism parser | |
run: | | |
cat << EOF > Gemfile.local | |
gem 'prism' | |
EOF | |
- name: set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
# Specify the minimum Ruby version 2.7 required for Prism to run. | |
ruby-version: 2.7 | |
bundler-cache: true | |
- name: spec | |
env: | |
PARSER_ENGINE: parser_prism | |
run: NO_COVERAGE=true bundle exec rake |