New feature : linting #1191
Workflow file for this run
This file contains hidden or 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: test | |
on: [push, pull_request] | |
jobs: | |
lint: | |
name: RuboCop | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.4 | |
bundler-cache: true | |
rubygems: latest | |
- name: Run RuboCop | |
run: bundle exec rubocop | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] | |
gemfile: [Gemfile, gemfiles/rack_2_0.gemfile, gemfiles/rack_3_0.gemfile, gemfiles/rack_3_1.gemfile, gemfiles/rails_6_1.gemfile, gemfiles/rails_7_0.gemfile, gemfiles/rails_7_1.gemfile, gemfiles/rails_7_2.gemfile, gemfiles/rails_8_0.gemfile] | |
specs: ['spec --exclude-pattern=spec/integration/**/*_spec.rb'] | |
include: | |
- ruby: '2.7' | |
gemfile: gemfiles/multi_json.gemfile | |
specs: 'spec/integration/multi_json' | |
- ruby: '2.7' | |
gemfile: gemfiles/multi_xml.gemfile | |
specs: 'spec/integration/multi_xml' | |
- ruby: '2.7' | |
gemfile: gemfiles/rack_3_0.gemfile | |
specs: 'spec/integration/rack_3_0' | |
- ruby: '3.1' | |
gemfile: gemfiles/grape_entity.gemfile | |
specs: 'spec/integration/grape_entity' | |
- ruby: '3.1' | |
gemfile: gemfiles/hashie.gemfile | |
specs: 'spec/integration/hashie' | |
- ruby: '3.1' | |
gemfile: gemfiles/dry_validation.gemfile | |
specs: 'spec/integration/dry_validation' | |
- ruby: '3.1' | |
gemfile: gemfiles/rails_6_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.1' | |
gemfile: gemfiles/rails_7_0.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.1' | |
gemfile: gemfiles/rails_7_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.1' | |
gemfile: gemfiles/rails_7_2.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.2' | |
gemfile: gemfiles/grape_entity.gemfile | |
specs: 'spec/integration/grape_entity' | |
- ruby: '3.2' | |
gemfile: gemfiles/hashie.gemfile | |
specs: 'spec/integration/hashie' | |
- ruby: '3.2' | |
gemfile: gemfiles/dry_validation.gemfile | |
specs: 'spec/integration/dry_validation' | |
- ruby: '3.2' | |
gemfile: gemfiles/rails_6_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.2' | |
gemfile: gemfiles/rails_7_0.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.2' | |
gemfile: gemfiles/rails_7_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.2' | |
gemfile: gemfiles/rails_7_2.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.2' | |
gemfile: gemfiles/rails_8_0.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.3' | |
gemfile: gemfiles/grape_entity.gemfile | |
specs: 'spec/integration/grape_entity' | |
- ruby: '3.3' | |
gemfile: gemfiles/hashie.gemfile | |
specs: 'spec/integration/hashie' | |
- ruby: '3.3' | |
gemfile: gemfiles/dry_validation.gemfile | |
specs: 'spec/integration/dry_validation' | |
- ruby: '3.3' | |
gemfile: gemfiles/rails_6_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.3' | |
gemfile: gemfiles/rails_7_0.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.3' | |
gemfile: gemfiles/rails_7_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.3' | |
gemfile: gemfiles/rails_7_2.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.3' | |
gemfile: gemfiles/rails_8_0.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.4' | |
gemfile: gemfiles/grape_entity.gemfile | |
specs: 'spec/integration/grape_entity' | |
- ruby: '3.4' | |
gemfile: gemfiles/hashie.gemfile | |
specs: 'spec/integration/hashie' | |
- ruby: '3.4' | |
gemfile: gemfiles/dry_validation.gemfile | |
specs: 'spec/integration/dry_validation' | |
- ruby: '3.4' | |
gemfile: gemfiles/rails_6_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.4' | |
gemfile: gemfiles/rails_7_0.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.4' | |
gemfile: gemfiles/rails_7_1.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.4' | |
gemfile: gemfiles/rails_7_2.gemfile | |
specs: 'spec/integration/rails' | |
- ruby: '3.4' | |
gemfile: gemfiles/rails_8_0.gemfile | |
specs: 'spec/integration/rails' | |
exclude: | |
- ruby: '2.7' | |
gemfile: gemfiles/rails_7_2.gemfile | |
- ruby: '3.0' | |
gemfile: gemfiles/rails_7_2.gemfile | |
- ruby: '2.7' | |
gemfile: gemfiles/rails_8_0.gemfile | |
- ruby: '3.0' | |
gemfile: gemfiles/rails_8_0.gemfile | |
- ruby: '3.1' | |
gemfile: gemfiles/rails_8_0.gemfile | |
runs-on: ubuntu-latest | |
env: | |
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run Tests (${{ matrix.specs }}) | |
run: bundle exec rspec ${{ matrix.specs }} | |
- name: Coveralls | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
flag-name: run-${{ matrix.ruby }}-${{ matrix.gemfile }} | |
parallel: true | |
finish: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.github_token }} | |
parallel-finished: true |