From 20ae3b738b9cc0bf8341284024b4fc88615a6a32 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 16:25:05 -0500 Subject: [PATCH 01/14] Github Actions --- .github/workflows/ruby.yml | 74 +++++++++++++++++++++++++ .travis.yml | 111 ------------------------------------- 2 files changed, 74 insertions(+), 111 deletions(-) create mode 100644 .github/workflows/ruby.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml new file mode 100644 index 00000000..db93c630 --- /dev/null +++ b/.github/workflows/ruby.yml @@ -0,0 +1,74 @@ +name: Test + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + ruby: + - 2.2.10 + - 2.3.8 + - 2.4.9 + - 2.5.7 + - 2.6.5 + - 2.7.0 + - ruby-head + - truffleruby-head + gemfile: + - gemfiles/rails42.gemfile + - gemfiles/rails50.gemfile + - gemfiles/rails51.gemfile + - gemfiles/rails52.gemfile + - gemfiles/rails60.gemfile + - gemfiles/rails42_haml.gemfile + - gemfiles/rails50_haml.gemfile + - gemfiles/rails51_haml.gemfile + - gemfiles/rails52_haml.gemfile + - gemfiles/rails60_haml.gemfile + - gemfiles/rails42_boc.gemfile + - gemfiles/rails50_boc.gemfile + - gemfiles/rails51_boc.gemfile + - gemfiles/rails52_boc.gemfile + - gemfiles/rails60_boc.gemfile + - gemfiles/rack.gemfile + - gemfiles/rack_boc.gemfile + - gemfiles/pry09.gemfile + - gemfiles/pry010.gemfile + - gemfiles/pry011.gemfile + + steps: + - uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + + - uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles('gemfiles/*.gemfile') }} + restore-keys: | + ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} + ${{ runner.os }}-ruby-${{ matrix.ruby }} + + - name: Configure bundler + run: bundle config path vendor/bundle + + - name: Bundle install + run: bundle install --jobs 4 --retry 3 + env: + BUNDLE_GEMFILE: ${{ matrix.gemfile }} + + - name: RSpec + run: bundle exec rspec -f doc --color + env: + BUNDLE_GEMFILE: ${{ matrix.gemfile }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0193b6d9..00000000 --- a/.travis.yml +++ /dev/null @@ -1,111 +0,0 @@ -language: ruby -cache: bundler -notifications: - webhooks: - # With COVERALLS_PARALLEL, coverage information sent to coveralls will not be processed until - # this webhook is sent. - # https://coveralls.zendesk.com/hc/en-us/articles/203484329-Parallel-Build-Webhook - - secure: "YnHYbTq51ySistjvOxsuNhyg4GLuUffEJstTYeGYXiBF7HG5h43IVYo8KNuLzwkgsOYBcNo+YMdQX7qCqJffSbhsr1FZRSzBmjFFxcyD4hu+ukM2theZ4mePVAZiePscYvQPRNY4hIb4d3egStJEytkalDhB3sOebF57tIaCssg=" -rvm: - - 2.2.10 - - 2.3.8 - - 2.4.9 - - 2.5.7 - - 2.6.5 - - 2.7.0 - - ruby-head - - truffleruby-head -gemfile: - - gemfiles/rails42.gemfile - - gemfiles/rails50.gemfile - - gemfiles/rails51.gemfile - - gemfiles/rails52.gemfile - - gemfiles/rails60.gemfile - - gemfiles/rails42_haml.gemfile - - gemfiles/rails50_haml.gemfile - - gemfiles/rails51_haml.gemfile - - gemfiles/rails52_haml.gemfile - - gemfiles/rails60_haml.gemfile - - gemfiles/rails42_boc.gemfile - - gemfiles/rails50_boc.gemfile - - gemfiles/rails51_boc.gemfile - - gemfiles/rails52_boc.gemfile - - gemfiles/rails60_boc.gemfile - - gemfiles/rack.gemfile - - gemfiles/rack_boc.gemfile - - gemfiles/pry09.gemfile - - gemfiles/pry010.gemfile - - gemfiles/pry011.gemfile -matrix: - fast_finish: true - allow_failures: - - rvm: ruby-head - - gemfile: gemfiles/pry010.gemfile - - gemfile: gemfiles/pry011.gemfile - exclude: - - rvm: 2.2.10 - gemfile: gemfiles/rails60.gemfile - - rvm: 2.2.10 - gemfile: gemfiles/rails60_boc.gemfile - - rvm: 2.2.10 - gemfile: gemfiles/rails60_haml.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails42.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails42_boc.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails42_haml.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails60.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails60_boc.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails60_haml.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails42.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails42_boc.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails42_haml.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails60.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails60_boc.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails60_haml.gemfile - - rvm: 2.5.7 - gemfile: gemfiles/rails42.gemfile - - rvm: 2.5.7 - gemfile: gemfiles/rails42_boc.gemfile - - rvm: 2.5.7 - gemfile: gemfiles/rails42_haml.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails42.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails42_boc.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails42_haml.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails42.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails42_boc.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails42_haml.gemfile - - rvm: ruby-head - gemfile: gemfiles/rails42.gemfile - - rvm: ruby-head - gemfile: gemfiles/rails42_boc.gemfile - - rvm: ruby-head - gemfile: gemfiles/rails42_haml.gemfile - - rvm: truffleruby-head - gemfile: gemfiles/rails42_boc.gemfile - - rvm: truffleruby-head - gemfile: gemfiles/rails50_boc.gemfile - - rvm: truffleruby-head - gemfile: gemfiles/rails51_boc.gemfile - - rvm: truffleruby-head - gemfile: gemfiles/rails52_boc.gemfile - - rvm: truffleruby-head - gemfile: gemfiles/rails60_boc.gemfile - - rvm: truffleruby-head - gemfile: gemfiles/rack_boc.gemfile From a3895626b189ab6db306005c9c977c0e1a2f8e44 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 16:48:43 -0500 Subject: [PATCH 02/14] Improve job name --- .github/workflows/{ruby.yml => ci.yml} | 48 ++++++++++++++------------ 1 file changed, 25 insertions(+), 23 deletions(-) rename .github/workflows/{ruby.yml => ci.yml} (54%) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ci.yml similarity index 54% rename from .github/workflows/ruby.yml rename to .github/workflows/ci.yml index db93c630..910591cd 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Test +name: CI on: push: @@ -12,6 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: true matrix: ruby: - 2.2.10 @@ -23,26 +24,27 @@ jobs: - ruby-head - truffleruby-head gemfile: - - gemfiles/rails42.gemfile - - gemfiles/rails50.gemfile - - gemfiles/rails51.gemfile - - gemfiles/rails52.gemfile - - gemfiles/rails60.gemfile - - gemfiles/rails42_haml.gemfile - - gemfiles/rails50_haml.gemfile - - gemfiles/rails51_haml.gemfile - - gemfiles/rails52_haml.gemfile - - gemfiles/rails60_haml.gemfile - - gemfiles/rails42_boc.gemfile - - gemfiles/rails50_boc.gemfile - - gemfiles/rails51_boc.gemfile - - gemfiles/rails52_boc.gemfile - - gemfiles/rails60_boc.gemfile - - gemfiles/rack.gemfile - - gemfiles/rack_boc.gemfile - - gemfiles/pry09.gemfile - - gemfiles/pry010.gemfile - - gemfiles/pry011.gemfile + # These are located in the gemfiles/ folder + - rails42 + - rails50 + - rails51 + - rails52 + - rails60 + - rails42_haml + - rails50_haml + - rails51_haml + - rails52_haml + - rails60_haml + - rails42_boc + - rails50_boc + - rails51_boc + - rails52_boc + - rails60_boc + - rack + - rack_boc + - pry09 + - pry010 + - pry011 steps: - uses: actions/checkout@v2 @@ -66,9 +68,9 @@ jobs: - name: Bundle install run: bundle install --jobs 4 --retry 3 env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile - name: RSpec run: bundle exec rspec -f doc --color env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile From a5a77c96f43ceec57e6058402b6f1bccb3364baa Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 17:19:43 -0500 Subject: [PATCH 03/14] Update rubies and add `experimental` --- .github/workflows/ci.yml | 62 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 910591cd..8044499e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,16 +11,19 @@ jobs: runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: fail-fast: true matrix: + experimental: [false] ruby: - 2.2.10 - 2.3.8 - 2.4.9 - - 2.5.7 - - 2.6.5 - - 2.7.0 + - 2.5.8 + - 2.6.6 + - 2.7.2 - ruby-head - truffleruby-head gemfile: @@ -43,8 +46,57 @@ jobs: - rack - rack_boc - pry09 - - pry010 - - pry011 + exclude: + - { ruby: 2.2.10, gemfile: rails60, experimental: false } + - { ruby: 2.2.10, gemfile: rails60_boc, experimental: false } + - { ruby: 2.2.10, gemfile: rails60_haml, experimental: false } + - { ruby: 2.3.8, gemfile: rails42, experimental: false } + - { ruby: 2.3.8, gemfile: rails42_boc, experimental: false } + - { ruby: 2.3.8, gemfile: rails42_haml, experimental: false } + - { ruby: 2.3.8, gemfile: rails60, experimental: false } + - { ruby: 2.3.8, gemfile: rails60_boc, experimental: false } + - { ruby: 2.3.8, gemfile: rails60_haml, experimental: false } + - { ruby: 2.4.9, gemfile: rails42, experimental: false } + - { ruby: 2.4.9, gemfile: rails42_boc, experimental: false } + - { ruby: 2.4.9, gemfile: rails42_haml, experimental: false } + - { ruby: 2.4.9, gemfile: rails60, experimental: false } + - { ruby: 2.4.9, gemfile: rails60_boc, experimental: false } + - { ruby: 2.4.9, gemfile: rails60_haml, experimental: false } + - { ruby: 2.5.8, gemfile: rails42, experimental: false } + - { ruby: 2.5.8, gemfile: rails42_boc, experimental: false } + - { ruby: 2.5.8, gemfile: rails42_haml, experimental: false } + - { ruby: 2.6.6, gemfile: rails42, experimental: false } + - { ruby: 2.6.6, gemfile: rails42_boc, experimental: false } + - { ruby: 2.6.6, gemfile: rails42_haml, experimental: false } + - { ruby: 2.7.2, gemfile: rails42, experimental: false } + - { ruby: 2.7.2, gemfile: rails42_boc, experimental: false } + - { ruby: 2.7.2, gemfile: rails42_haml, experimental: false } + - { ruby: ruby-head, gemfile: rails42, experimental: false } + - { ruby: ruby-head, gemfile: rails42_boc, experimental: false } + - { ruby: ruby-head, gemfile: rails42_haml, experimental: false } + - { ruby: truffleruby-head, gemfile: rails42_boc, experimental: false } + - { ruby: truffleruby-head, gemfile: rails50_boc, experimental: false } + - { ruby: truffleruby-head, gemfile: rails51_boc, experimental: false } + - { ruby: truffleruby-head, gemfile: rails52_boc, experimental: false } + - { ruby: truffleruby-head, gemfile: rails60_boc, experimental: false } + - { ruby: truffleruby-head, gemfile: rack_boc, experimental: false } + include: + - { ruby: 2.2.10, gemfile: pry010, experimental: true } + - { ruby: 2.3.8, gemfile: pry010, experimental: true } + - { ruby: 2.4.9, gemfile: pry010, experimental: true } + - { ruby: 2.5.8, gemfile: pry010, experimental: true } + - { ruby: 2.6.6, gemfile: pry010, experimental: true } + - { ruby: 2.7.2, gemfile: pry010, experimental: true } + - { ruby: ruby-head, gemfile: pry010, experimental: true } + - { ruby: truffleruby-head, gemfile: pry010, experimental: true } + - { ruby: 2.2.10, gemfile: pry011, experimental: true } + - { ruby: 2.3.8, gemfile: pry011, experimental: true } + - { ruby: 2.4.9, gemfile: pry011, experimental: true } + - { ruby: 2.5.8, gemfile: pry011, experimental: true } + - { ruby: 2.6.6, gemfile: pry011, experimental: true } + - { ruby: 2.7.2, gemfile: pry011, experimental: true } + - { ruby: ruby-head, gemfile: pry011, experimental: true } + - { ruby: truffleruby-head, gemfile: pry011, experimental: true } steps: - uses: actions/checkout@v2 From 33c84cb79afbcc8ab598354c8bc2c409ab4a82af Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 17:26:18 -0500 Subject: [PATCH 04/14] Remove experimental flag --- .github/workflows/ci.yml | 86 +++++++++++++++------------------------- 1 file changed, 33 insertions(+), 53 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8044499e..3bedd97f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,12 +11,9 @@ jobs: runs-on: ubuntu-latest - continue-on-error: ${{ matrix.experimental }} - strategy: fail-fast: true matrix: - experimental: [false] ruby: - 2.2.10 - 2.3.8 @@ -47,56 +44,39 @@ jobs: - rack_boc - pry09 exclude: - - { ruby: 2.2.10, gemfile: rails60, experimental: false } - - { ruby: 2.2.10, gemfile: rails60_boc, experimental: false } - - { ruby: 2.2.10, gemfile: rails60_haml, experimental: false } - - { ruby: 2.3.8, gemfile: rails42, experimental: false } - - { ruby: 2.3.8, gemfile: rails42_boc, experimental: false } - - { ruby: 2.3.8, gemfile: rails42_haml, experimental: false } - - { ruby: 2.3.8, gemfile: rails60, experimental: false } - - { ruby: 2.3.8, gemfile: rails60_boc, experimental: false } - - { ruby: 2.3.8, gemfile: rails60_haml, experimental: false } - - { ruby: 2.4.9, gemfile: rails42, experimental: false } - - { ruby: 2.4.9, gemfile: rails42_boc, experimental: false } - - { ruby: 2.4.9, gemfile: rails42_haml, experimental: false } - - { ruby: 2.4.9, gemfile: rails60, experimental: false } - - { ruby: 2.4.9, gemfile: rails60_boc, experimental: false } - - { ruby: 2.4.9, gemfile: rails60_haml, experimental: false } - - { ruby: 2.5.8, gemfile: rails42, experimental: false } - - { ruby: 2.5.8, gemfile: rails42_boc, experimental: false } - - { ruby: 2.5.8, gemfile: rails42_haml, experimental: false } - - { ruby: 2.6.6, gemfile: rails42, experimental: false } - - { ruby: 2.6.6, gemfile: rails42_boc, experimental: false } - - { ruby: 2.6.6, gemfile: rails42_haml, experimental: false } - - { ruby: 2.7.2, gemfile: rails42, experimental: false } - - { ruby: 2.7.2, gemfile: rails42_boc, experimental: false } - - { ruby: 2.7.2, gemfile: rails42_haml, experimental: false } - - { ruby: ruby-head, gemfile: rails42, experimental: false } - - { ruby: ruby-head, gemfile: rails42_boc, experimental: false } - - { ruby: ruby-head, gemfile: rails42_haml, experimental: false } - - { ruby: truffleruby-head, gemfile: rails42_boc, experimental: false } - - { ruby: truffleruby-head, gemfile: rails50_boc, experimental: false } - - { ruby: truffleruby-head, gemfile: rails51_boc, experimental: false } - - { ruby: truffleruby-head, gemfile: rails52_boc, experimental: false } - - { ruby: truffleruby-head, gemfile: rails60_boc, experimental: false } - - { ruby: truffleruby-head, gemfile: rack_boc, experimental: false } - include: - - { ruby: 2.2.10, gemfile: pry010, experimental: true } - - { ruby: 2.3.8, gemfile: pry010, experimental: true } - - { ruby: 2.4.9, gemfile: pry010, experimental: true } - - { ruby: 2.5.8, gemfile: pry010, experimental: true } - - { ruby: 2.6.6, gemfile: pry010, experimental: true } - - { ruby: 2.7.2, gemfile: pry010, experimental: true } - - { ruby: ruby-head, gemfile: pry010, experimental: true } - - { ruby: truffleruby-head, gemfile: pry010, experimental: true } - - { ruby: 2.2.10, gemfile: pry011, experimental: true } - - { ruby: 2.3.8, gemfile: pry011, experimental: true } - - { ruby: 2.4.9, gemfile: pry011, experimental: true } - - { ruby: 2.5.8, gemfile: pry011, experimental: true } - - { ruby: 2.6.6, gemfile: pry011, experimental: true } - - { ruby: 2.7.2, gemfile: pry011, experimental: true } - - { ruby: ruby-head, gemfile: pry011, experimental: true } - - { ruby: truffleruby-head, gemfile: pry011, experimental: true } + - { ruby: 2.2.10, gemfile: rails60 } + - { ruby: 2.2.10, gemfile: rails60_boc } + - { ruby: 2.2.10, gemfile: rails60_haml } + - { ruby: 2.3.8, gemfile: rails42 } + - { ruby: 2.3.8, gemfile: rails42_boc } + - { ruby: 2.3.8, gemfile: rails42_haml } + - { ruby: 2.3.8, gemfile: rails60 } + - { ruby: 2.3.8, gemfile: rails60_boc } + - { ruby: 2.3.8, gemfile: rails60_haml } + - { ruby: 2.4.9, gemfile: rails42 } + - { ruby: 2.4.9, gemfile: rails42_boc } + - { ruby: 2.4.9, gemfile: rails42_haml } + - { ruby: 2.4.9, gemfile: rails60 } + - { ruby: 2.4.9, gemfile: rails60_boc } + - { ruby: 2.4.9, gemfile: rails60_haml } + - { ruby: 2.5.8, gemfile: rails42 } + - { ruby: 2.5.8, gemfile: rails42_boc } + - { ruby: 2.5.8, gemfile: rails42_haml } + - { ruby: 2.6.6, gemfile: rails42 } + - { ruby: 2.6.6, gemfile: rails42_boc } + - { ruby: 2.6.6, gemfile: rails42_haml } + - { ruby: 2.7.2, gemfile: rails42 } + - { ruby: 2.7.2, gemfile: rails42_boc } + - { ruby: 2.7.2, gemfile: rails42_haml } + - { ruby: ruby-head, gemfile: rails42 } + - { ruby: ruby-head, gemfile: rails42_boc } + - { ruby: ruby-head, gemfile: rails42_haml } + - { ruby: truffleruby-head, gemfile: rails42_boc } + - { ruby: truffleruby-head, gemfile: rails50_boc } + - { ruby: truffleruby-head, gemfile: rails51_boc } + - { ruby: truffleruby-head, gemfile: rails52_boc } + - { ruby: truffleruby-head, gemfile: rails60_boc } + - { ruby: truffleruby-head, gemfile: rack_boc } steps: - uses: actions/checkout@v2 From afda98bae89ffbca28936584fc04459e7f8053d3 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 17:48:41 -0500 Subject: [PATCH 05/14] Remove ruby-head, use minor Ruby version and use latest truffleruby release --- .github/workflows/ci.yml | 82 ++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3bedd97f..8b0d7022 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,14 +15,14 @@ jobs: fail-fast: true matrix: ruby: - - 2.2.10 - - 2.3.8 - - 2.4.9 - - 2.5.8 - - 2.6.6 - - 2.7.2 - - ruby-head - - truffleruby-head + - 2.2 + - 2.3 + - 2.4 + - 2.5 + - 2.6 + - 2.7 + # - ruby-head + - truffleruby gemfile: # These are located in the gemfiles/ folder - rails42 @@ -44,39 +44,39 @@ jobs: - rack_boc - pry09 exclude: - - { ruby: 2.2.10, gemfile: rails60 } - - { ruby: 2.2.10, gemfile: rails60_boc } - - { ruby: 2.2.10, gemfile: rails60_haml } - - { ruby: 2.3.8, gemfile: rails42 } - - { ruby: 2.3.8, gemfile: rails42_boc } - - { ruby: 2.3.8, gemfile: rails42_haml } - - { ruby: 2.3.8, gemfile: rails60 } - - { ruby: 2.3.8, gemfile: rails60_boc } - - { ruby: 2.3.8, gemfile: rails60_haml } - - { ruby: 2.4.9, gemfile: rails42 } - - { ruby: 2.4.9, gemfile: rails42_boc } - - { ruby: 2.4.9, gemfile: rails42_haml } - - { ruby: 2.4.9, gemfile: rails60 } - - { ruby: 2.4.9, gemfile: rails60_boc } - - { ruby: 2.4.9, gemfile: rails60_haml } - - { ruby: 2.5.8, gemfile: rails42 } - - { ruby: 2.5.8, gemfile: rails42_boc } - - { ruby: 2.5.8, gemfile: rails42_haml } - - { ruby: 2.6.6, gemfile: rails42 } - - { ruby: 2.6.6, gemfile: rails42_boc } - - { ruby: 2.6.6, gemfile: rails42_haml } - - { ruby: 2.7.2, gemfile: rails42 } - - { ruby: 2.7.2, gemfile: rails42_boc } - - { ruby: 2.7.2, gemfile: rails42_haml } - - { ruby: ruby-head, gemfile: rails42 } - - { ruby: ruby-head, gemfile: rails42_boc } - - { ruby: ruby-head, gemfile: rails42_haml } - - { ruby: truffleruby-head, gemfile: rails42_boc } - - { ruby: truffleruby-head, gemfile: rails50_boc } - - { ruby: truffleruby-head, gemfile: rails51_boc } - - { ruby: truffleruby-head, gemfile: rails52_boc } - - { ruby: truffleruby-head, gemfile: rails60_boc } - - { ruby: truffleruby-head, gemfile: rack_boc } + - { ruby: 2.2, gemfile: rails60 } + - { ruby: 2.2, gemfile: rails60_boc } + - { ruby: 2.2, gemfile: rails60_haml } + - { ruby: 2.3, gemfile: rails42 } + - { ruby: 2.3, gemfile: rails42_boc } + - { ruby: 2.3, gemfile: rails42_haml } + - { ruby: 2.3, gemfile: rails60 } + - { ruby: 2.3, gemfile: rails60_boc } + - { ruby: 2.3, gemfile: rails60_haml } + - { ruby: 2.4, gemfile: rails42 } + - { ruby: 2.4, gemfile: rails42_boc } + - { ruby: 2.4, gemfile: rails42_haml } + - { ruby: 2.4, gemfile: rails60 } + - { ruby: 2.4, gemfile: rails60_boc } + - { ruby: 2.4, gemfile: rails60_haml } + - { ruby: 2.5, gemfile: rails42 } + - { ruby: 2.5, gemfile: rails42_boc } + - { ruby: 2.5, gemfile: rails42_haml } + - { ruby: 2.6, gemfile: rails42 } + - { ruby: 2.6, gemfile: rails42_boc } + - { ruby: 2.6, gemfile: rails42_haml } + - { ruby: 2.7, gemfile: rails42 } + - { ruby: 2.7, gemfile: rails42_boc } + - { ruby: 2.7, gemfile: rails42_haml } + # - { ruby: ruby-head, gemfile: rails42 } + # - { ruby: ruby-head, gemfile: rails42_boc } + # - { ruby: ruby-head, gemfile: rails42_haml } + - { ruby: truffleruby, gemfile: rails42_boc } + - { ruby: truffleruby, gemfile: rails50_boc } + - { ruby: truffleruby, gemfile: rails51_boc } + - { ruby: truffleruby, gemfile: rails52_boc } + - { ruby: truffleruby, gemfile: rails60_boc } + - { ruby: truffleruby, gemfile: rack_boc } steps: - uses: actions/checkout@v2 From f528291537978802394fe6abdbf4de71067f38c0 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 18:48:59 -0500 Subject: [PATCH 06/14] Disable pry builds for now they're failing in new CI, and Pry 0.9 is way outdated anyway. --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b0d7022..9828e897 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: - fail-fast: true + fail-fast: false matrix: ruby: - 2.2 @@ -42,7 +42,9 @@ jobs: - rails60_boc - rack - rack_boc - - pry09 + # - pry09 + # - pry10 + # - pry11 exclude: - { ruby: 2.2, gemfile: rails60 } - { ruby: 2.2, gemfile: rails60_boc } From 0b18732768da94577a5984c8097319f19bed62c1 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 18:55:03 -0500 Subject: [PATCH 07/14] Use specific gemfile for caching bundle --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9828e897..6faa4bc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: - uses: actions/cache@v2 with: path: vendor/bundle - key: ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles('gemfiles/*.gemfile') }} + key: ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles(format('gemfiles/{0}.gemfile', matrix.gemfile)) }} restore-keys: | ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} ${{ runner.os }}-ruby-${{ matrix.ruby }} From a8a22449c6180a700a01a8ed0efc997b6a3789d4 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 19:14:26 -0500 Subject: [PATCH 08/14] Use truffleruby head Since the latest release apparently doesn't work. --- .github/workflows/ci.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6faa4bc1..6dabdc8b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,9 +8,7 @@ on: jobs: test: - runs-on: ubuntu-latest - strategy: fail-fast: false matrix: @@ -22,7 +20,7 @@ jobs: - 2.6 - 2.7 # - ruby-head - - truffleruby + - truffleruby-head gemfile: # These are located in the gemfiles/ folder - rails42 @@ -73,14 +71,15 @@ jobs: # - { ruby: ruby-head, gemfile: rails42 } # - { ruby: ruby-head, gemfile: rails42_boc } # - { ruby: ruby-head, gemfile: rails42_haml } - - { ruby: truffleruby, gemfile: rails42_boc } - - { ruby: truffleruby, gemfile: rails50_boc } - - { ruby: truffleruby, gemfile: rails51_boc } - - { ruby: truffleruby, gemfile: rails52_boc } - - { ruby: truffleruby, gemfile: rails60_boc } - - { ruby: truffleruby, gemfile: rack_boc } + - { ruby: truffleruby-head, gemfile: rails42_boc } + - { ruby: truffleruby-head, gemfile: rails50_boc } + - { ruby: truffleruby-head, gemfile: rails51_boc } + - { ruby: truffleruby-head, gemfile: rails52_boc } + - { ruby: truffleruby-head, gemfile: rails60_boc } + - { ruby: truffleruby-head, gemfile: rack_boc } steps: + - uses: actions/checkout@v2 - name: Set up Ruby From 0f76489abe83025df45ec4da8af6249e9eadd953 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 19:48:04 -0500 Subject: [PATCH 09/14] Remove truffleruby --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6dabdc8b..883afffb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: - 2.6 - 2.7 # - ruby-head - - truffleruby-head + # - truffleruby-head gemfile: # These are located in the gemfiles/ folder - rails42 From f8c07fff8710f32e4eb90953f32090fd9fba58a1 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 19:48:53 -0500 Subject: [PATCH 10/14] Improve caching by using branch name --- .github/workflows/ci.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 883afffb..567fbd7d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,16 +90,15 @@ jobs: - uses: actions/cache@v2 with: path: vendor/bundle - key: ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles(format('gemfiles/{0}.gemfile', matrix.gemfile)) }} + key: ${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles(format('gemfiles/{0}.gemfile', matrix.gemfile)) }} restore-keys: | - ${{ runner.os }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} - ${{ runner.os }}-ruby-${{ matrix.ruby }} - - - name: Configure bundler - run: bundle config path vendor/bundle + ${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} + ${{ runner.os }}-branch-master-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} - name: Bundle install - run: bundle install --jobs 4 --retry 3 + run: | + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile From c52a06a005a5897f62212a4d02dc2f9f4ae7a224 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 19:59:48 -0500 Subject: [PATCH 11/14] Report completion to Coveralls --- .github/workflows/ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 567fbd7d..e1f0726e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -106,3 +106,15 @@ jobs: run: bundle exec rspec -f doc --color env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile + + + finish: + needs: test + runs-on: ubuntu-latest + steps: + + - name: Report completion to Coveralls + uses: coverallsapp/github-action@v1 + with: + github-token: ${{ secrets.github_token }} + parallel-finished: true From caa2cc9e2182f784ed3b9d78a763ab43c3499b65 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 20:10:14 -0500 Subject: [PATCH 12/14] Trying to get the cache working --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1f0726e..e8b6b77c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,11 +89,11 @@ jobs: - uses: actions/cache@v2 with: - path: vendor/bundle - key: ${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles(format('gemfiles/{0}.gemfile', matrix.gemfile)) }} + path: gemfiles/vendor/bundle + key: v3-${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles(format('gemfiles/{0}.gemfile', matrix.gemfile)) }} restore-keys: | - ${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} - ${{ runner.os }}-branch-master-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} + v3-${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} + v3-${{ runner.os }}-branch-master-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }} - name: Bundle install run: | From 773edc5f1de973135a28d405e69ca990b35af3ee Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 3 Nov 2020 20:45:14 -0500 Subject: [PATCH 13/14] Use coveralls for each job --- .github/workflows/ci.yml | 9 ++++++++- gemfiles/pry010.gemfile | 3 ++- gemfiles/pry011.gemfile | 3 ++- gemfiles/pry09.gemfile | 3 ++- gemfiles/rack.gemfile | 3 ++- gemfiles/rack_boc.gemfile | 3 ++- gemfiles/rails42.gemfile | 3 ++- gemfiles/rails42_boc.gemfile | 3 ++- gemfiles/rails42_haml.gemfile | 3 ++- gemfiles/rails50.gemfile | 3 ++- gemfiles/rails50_boc.gemfile | 3 ++- gemfiles/rails50_haml.gemfile | 3 ++- gemfiles/rails51.gemfile | 3 ++- gemfiles/rails51_boc.gemfile | 3 ++- gemfiles/rails51_haml.gemfile | 3 ++- gemfiles/rails52.gemfile | 3 ++- gemfiles/rails52_boc.gemfile | 3 ++- gemfiles/rails52_haml.gemfile | 3 ++- gemfiles/rails60.gemfile | 3 ++- gemfiles/rails60_boc.gemfile | 3 ++- gemfiles/rails60_haml.gemfile | 3 ++- spec/spec_helper.rb | 28 +++++++++++++++------------- 22 files changed, 63 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8b6b77c..d2f0943e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,6 +107,13 @@ jobs: env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile + - name: Report to Coveralls + uses: coverallsapp/github-action@v1.1.2 + with: + github-token: ${{ secrets.github_token }} + flag-name: test-${{ matrix.ruby }}-${{ matrix.gemfile }} + parallel: true + finish: needs: test @@ -114,7 +121,7 @@ jobs: steps: - name: Report completion to Coveralls - uses: coverallsapp/github-action@v1 + uses: coverallsapp/github-action@v1.1.2 with: github-token: ${{ secrets.github_token }} parallel-finished: true diff --git a/gemfiles/pry010.gemfile b/gemfiles/pry010.gemfile index 4503b67c..1daca580 100644 --- a/gemfiles/pry010.gemfile +++ b/gemfiles/pry010.gemfile @@ -4,6 +4,7 @@ gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0' gem "binding_of_caller" gem "pry", "~> 0.10.0" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/pry011.gemfile b/gemfiles/pry011.gemfile index 761c5918..206b89d7 100644 --- a/gemfiles/pry011.gemfile +++ b/gemfiles/pry011.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0' gem "pry", "~> 0.11.0pre" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/pry09.gemfile b/gemfiles/pry09.gemfile index db7fa6bc..130326b9 100644 --- a/gemfiles/pry09.gemfile +++ b/gemfiles/pry09.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0' gem "pry", "~> 0.9.12" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rack.gemfile b/gemfiles/rack.gemfile index 4f2bab73..b5bbff7a 100644 --- a/gemfiles/rack.gemfile +++ b/gemfiles/rack.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0' -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rack_boc.gemfile b/gemfiles/rack_boc.gemfile index 0899c028..09520d9b 100644 --- a/gemfiles/rack_boc.gemfile +++ b/gemfiles/rack_boc.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0' gem "binding_of_caller" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index ba2e191f..caaeb8ef 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 4.2.0" gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7' gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails42_boc.gemfile b/gemfiles/rails42_boc.gemfile index 2e66ac54..c3619a6a 100644 --- a/gemfiles/rails42_boc.gemfile +++ b/gemfiles/rails42_boc.gemfile @@ -5,6 +5,7 @@ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7' gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "binding_of_caller" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails42_haml.gemfile b/gemfiles/rails42_haml.gemfile index a22370a6..6f656aae 100644 --- a/gemfiles/rails42_haml.gemfile +++ b/gemfiles/rails42_haml.gemfile @@ -5,6 +5,7 @@ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7' gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "haml" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails50.gemfile b/gemfiles/rails50.gemfile index 7d31f08d..856109f5 100644 --- a/gemfiles/rails50.gemfile +++ b/gemfiles/rails50.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "rails", "~> 5.0.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails50_boc.gemfile b/gemfiles/rails50_boc.gemfile index a7955aad..6632ab09 100644 --- a/gemfiles/rails50_boc.gemfile +++ b/gemfiles/rails50_boc.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 5.0.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "binding_of_caller" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails50_haml.gemfile b/gemfiles/rails50_haml.gemfile index 5ad597ec..c549086b 100644 --- a/gemfiles/rails50_haml.gemfile +++ b/gemfiles/rails50_haml.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 5.0.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "haml" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails51.gemfile b/gemfiles/rails51.gemfile index 5532febb..6b80d819 100644 --- a/gemfiles/rails51.gemfile +++ b/gemfiles/rails51.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "rails", "~> 5.1.0" gem 'i18n', '< 1.5.2', require: false if RUBY_VERSION < '2.3' -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails51_boc.gemfile b/gemfiles/rails51_boc.gemfile index bfb2cc92..391459d4 100644 --- a/gemfiles/rails51_boc.gemfile +++ b/gemfiles/rails51_boc.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 5.1.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "binding_of_caller" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails51_haml.gemfile b/gemfiles/rails51_haml.gemfile index a870a7cf..4be7c4bc 100644 --- a/gemfiles/rails51_haml.gemfile +++ b/gemfiles/rails51_haml.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 5.1.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "haml" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails52.gemfile b/gemfiles/rails52.gemfile index 070970cd..887de07d 100644 --- a/gemfiles/rails52.gemfile +++ b/gemfiles/rails52.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "rails", "~> 5.2.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails52_boc.gemfile b/gemfiles/rails52_boc.gemfile index 195e4e23..669c73fd 100644 --- a/gemfiles/rails52_boc.gemfile +++ b/gemfiles/rails52_boc.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 5.2.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "binding_of_caller" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails52_haml.gemfile b/gemfiles/rails52_haml.gemfile index dd9f0dc9..c2bb1f57 100644 --- a/gemfiles/rails52_haml.gemfile +++ b/gemfiles/rails52_haml.gemfile @@ -4,6 +4,7 @@ gem "rails", "~> 5.2.0" gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3' gem "haml" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails60.gemfile b/gemfiles/rails60.gemfile index 55f89c5e..825f46ca 100644 --- a/gemfiles/rails60.gemfile +++ b/gemfiles/rails60.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" gem "rails", "~> 6.0.0" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails60_boc.gemfile b/gemfiles/rails60_boc.gemfile index 190c573c..c32cb5d9 100644 --- a/gemfiles/rails60_boc.gemfile +++ b/gemfiles/rails60_boc.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "rails", "~> 6.0.0" gem "binding_of_caller" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/gemfiles/rails60_haml.gemfile b/gemfiles/rails60_haml.gemfile index 84d3401a..e4f3179c 100644 --- a/gemfiles/rails60_haml.gemfile +++ b/gemfiles/rails60_haml.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "rails", "~> 6.0.0" gem "haml" -gem 'coveralls', require: false +gem 'simplecov', require: false +gem 'simplecov-lcov', require: false gemspec path: "../" diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 29e5ac18..c4544d78 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -2,19 +2,21 @@ ENV["EDITOR"] = nil -# Ruby 2.4.0 and 2.4.1 has a bug with its Coverage module that causes segfaults. -# https://bugs.ruby-lang.org/issues/13305 -# 2.4.2 should include this patch. -if ENV['CI'] - unless RUBY_VERSION == '2.4.0' || RUBY_VERSION == '2.4.1' - require 'coveralls' - Coveralls.wear! do - add_filter 'spec/' - end - end -else - require 'simplecov' - SimpleCov.start +require 'simplecov' +require 'simplecov-lcov' + +SimpleCov::Formatter::LcovFormatter.config do |c| + c.report_with_single_file = true + c.single_report_path = 'coverage/lcov.info' +end +SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new( + [ + SimpleCov::Formatter::HTMLFormatter, + SimpleCov::Formatter::LcovFormatter, + ] +) +SimpleCov.start do + add_filter 'spec/' end require 'bundler/setup' From db589f2463d274f54a003442a11858bd6dc546af Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Wed, 4 Nov 2020 09:14:44 -0500 Subject: [PATCH 14/14] Fix simplecov-lcov incompatible with older simplecov (which is required to support Ruby < 2.4) --- spec/spec_helper.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index c4544d78..9828c3f3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -5,6 +5,16 @@ require 'simplecov' require 'simplecov-lcov' +# Fix incompatibility of simplecov-lcov with older versions of simplecov that are not expresses in its gemspec. +# https://github.com/fortissimo1997/simplecov-lcov/pull/25 +if !SimpleCov.respond_to?(:branch_coverage) + module SimpleCov + def self.branch_coverage? + false + end + end +end + SimpleCov::Formatter::LcovFormatter.config do |c| c.report_with_single_file = true c.single_report_path = 'coverage/lcov.info'