diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index 380f5daa86..a8d1ba96db 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -1,11 +1,10 @@ --- name: danger - on: pull_request jobs: danger: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: @@ -13,8 +12,9 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6 + ruby-version: 2.7 bundler-cache: true + rubygems: latest - name: Run Danger run: | # the token is public, has public_repo scope and belongs to the grape-bot user owned by @dblock, this is ok diff --git a/.github/workflows/edge.yml b/.github/workflows/edge.yml index 3089415f56..d670b2a982 100644 --- a/.github/workflows/edge.yml +++ b/.github/workflows/edge.yml @@ -6,21 +6,12 @@ jobs: strategy: fail-fast: false matrix: - include: - - ruby: 2.7 - gemfile: 'gemfiles/rails_edge.gemfile' - - ruby: 2.7 - gemfile: 'gemfiles/rack_edge.gemfile' - - ruby: 2.7 - gemfile: 'gemfiles/rack3.gemfile' - - ruby: "ruby-head" - - ruby: "truffleruby-head" - - ruby: "jruby-head" + ruby: ['2.7', '3.0', '3.1', '3.2', ruby-head, truffleruby-head, jruby-head] + gemfile: [rails_edge, rack_edge, rack_3_0] runs-on: ubuntu-latest continue-on-error: true env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} - + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1fb5251af8..910a8cc6ad 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,64 +1,42 @@ ---- name: test -on: - push: - branches: - - "*" - pull_request: - branches: - - "*" + +on: [push, pull_request] + jobs: lint: name: RuboCop - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: 2.7 bundler-cache: true + rubygems: latest + - name: Run RuboCop run: bundle exec rubocop + test: strategy: fail-fast: false matrix: - ruby: - - 2.6 - - 2.7 - - "3.0" - gemfile: - - Gemfile - - gemfiles/rack1.gemfile - - gemfiles/rack2.gemfile - - gemfiles/rack2_2.gemfile - - gemfiles/rails_5.gemfile - - gemfiles/rails_6.gemfile - - gemfiles/rails_6_1.gemfile + ruby: ['2.7', '3.0', '3.1', '3.2'] + gemfile: [rack_2_0, rails_6_0, rails_6_1, rails_7_0] include: - - ruby: 3.1 - gemfile: 'gemfiles/multi_json.gemfile' - - ruby: 3.1 - gemfile: 'gemfiles/multi_xml.gemfile' - - ruby: 3.1 - gemfile: 'gemfiles/rails_7.gemfile' - - ruby: "3.0" - gemfile: 'gemfiles/multi_json.gemfile' - - ruby: "3.0" - gemfile: 'gemfiles/multi_xml.gemfile' - - ruby: "3.0" - gemfile: 'gemfiles/rails_7.gemfile' - - ruby: 2.7 - gemfile: 'gemfiles/multi_json.gemfile' - - ruby: 2.7 - gemfile: 'gemfiles/multi_xml.gemfile' - - ruby: 2.7 - gemfile: 'gemfiles/rails_7.gemfile' - runs-on: ubuntu-20.04 + - ruby: '2.6' + gemfile: rails_5_2 + - ruby: '2.7' + gemfile: rack_1_0 + - ruby: '2.7' + gemfile: multi_json + - ruby: '2.7' + gemfile: multi_xml + runs-on: ubuntu-latest env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} - + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile steps: - uses: actions/checkout@v3 @@ -67,20 +45,22 @@ jobs: with: ruby-version: ${{ matrix.ruby }} bundler-cache: true + rubygems: latest - name: Run tests run: bundle exec rake spec - name: Run tests (spec/integration/eager_load) - if: ${{ matrix.gemfile == 'Gemfile' }} + # rack_2_0.gemfile is equals to Gemfile + if: ${{ matrix.gemfile == 'rack_2_0' }} run: bundle exec rspec spec/integration/eager_load - name: Run tests (spec/integration/multi_json) - if: ${{ matrix.gemfile == 'gemfiles/multi_json.gemfile' }} + if: ${{ matrix.gemfile == 'multi_json' }} run: bundle exec rspec spec/integration/multi_json - name: Run tests (spec/integration/multi_xml) - if: ${{ matrix.gemfile == 'gemfiles/multi_xml.gemfile' }} + if: ${{ matrix.gemfile == 'multi_xml' }} run: bundle exec rspec spec/integration/multi_xml - name: Coveralls @@ -98,4 +78,4 @@ jobs: uses: coverallsapp/github-action@master with: github-token: ${{ secrets.github_token }} - parallel-finished: true + parallel-finished: true \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 372511dbed..e57ddc7d6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * [#2296](https://github.com/ruby-grape/grape/pull/2296): Fix cops and enables some - [@ericproulx](https://github.com/ericproulx). * [#2302](https://github.com/ruby-grape/grape/pull/2302): Rack < 3 and update rack-test - [@ericproulx](https://github.com/ericproulx). * [#2303](https://github.com/ruby-grape/grape/pull/2302): Rack >= 1.3.0 - [@ericproulx](https://github.com/ericproulx). +* [#2301](https://github.com/ruby-grape/grape/pull/2301): Revisit GH workflows - [@ericproulx](https://github.com/ericproulx). * Your contribution here. #### Fixes diff --git a/gemfiles/rack1.gemfile b/gemfiles/rack_1_0.gemfile similarity index 100% rename from gemfiles/rack1.gemfile rename to gemfiles/rack_1_0.gemfile diff --git a/gemfiles/rack2_2.gemfile b/gemfiles/rack_2_0.gemfile similarity index 97% rename from gemfiles/rack2_2.gemfile rename to gemfiles/rack_2_0.gemfile index 31ef181af2..c12cd1fcec 100644 --- a/gemfiles/rack2_2.gemfile +++ b/gemfiles/rack_2_0.gemfile @@ -4,7 +4,7 @@ source 'https://rubygems.org' -gem 'rack', '~> 2.2' +gem 'rack', '~> 2.0' group :development, :test do gem 'bundler' diff --git a/gemfiles/rack2.gemfile b/gemfiles/rack_3_0.gemfile similarity index 97% rename from gemfiles/rack2.gemfile rename to gemfiles/rack_3_0.gemfile index 5d30e7930e..b4d53aee8e 100644 --- a/gemfiles/rack2.gemfile +++ b/gemfiles/rack_3_0.gemfile @@ -4,7 +4,7 @@ source 'https://rubygems.org' -gem 'rack', '~> 2.0.0' +gem 'rack', '~> 3.0.0' group :development, :test do gem 'bundler' diff --git a/gemfiles/rails_5.gemfile b/gemfiles/rails_5_2.gemfile similarity index 100% rename from gemfiles/rails_5.gemfile rename to gemfiles/rails_5_2.gemfile diff --git a/gemfiles/rails_6.gemfile b/gemfiles/rails_6_0.gemfile similarity index 100% rename from gemfiles/rails_6.gemfile rename to gemfiles/rails_6_0.gemfile diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile deleted file mode 100644 index 1c3e639f48..0000000000 --- a/gemfiles/rails_7.gemfile +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -# This file was generated by Appraisal - -source 'https://rubygems.org' - -gem 'rails', '~> 7.0' - -group :development, :test do - gem 'bundler' - gem 'hashie' - gem 'rake' - gem 'rubocop', '1.41.0' - gem 'rubocop-ast' - gem 'rubocop-performance', require: false - gem 'rubocop-rspec', require: false -end - -group :development do - gem 'appraisal' - gem 'benchmark-ips' - gem 'benchmark-memory' - gem 'guard' - gem 'guard-rspec' - gem 'guard-rubocop' -end - -group :test do - gem 'cookiejar' - gem 'grape-entity', '~> 0.6' - gem 'maruku' - gem 'mime-types' - gem 'rack-jsonp', require: 'rack/jsonp' - gem 'rack-test' - gem 'rspec', '~> 3.11.0' - gem 'ruby-grape-danger', '~> 0.2.0', require: false - gem 'simplecov', '~> 0.21.2' - gem 'simplecov-lcov', '~> 0.8.0' - gem 'test-prof', require: false -end - -platforms :jruby do - gem 'racc' -end - -gemspec path: '../' diff --git a/gemfiles/rack3.gemfile b/gemfiles/rails_7_0.gemfile similarity index 97% rename from gemfiles/rack3.gemfile rename to gemfiles/rails_7_0.gemfile index b3ff65fc23..ce8b6256dd 100644 --- a/gemfiles/rack3.gemfile +++ b/gemfiles/rails_7_0.gemfile @@ -4,7 +4,7 @@ source 'https://rubygems.org' -gem 'rack', '~> 3' +gem 'rails', '~> 7.0.0' group :development, :test do gem 'bundler'