diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd0bd6c..b6e8e60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,15 +1,19 @@ name: CI -on: [push, pull_request] +on: + pull_request: + push: + branches: [master] jobs: build: if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - gemfile: [rails_5_2.gemfile, rails_6_0.gemfile, rails_6_1.gemfile, rails_7_0.gemfile, rails_7_1.gemfile, rails_7_2.gemfile, rails_main.gemfile] - ruby_version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3'] + gemfile: [rails_5_2.gemfile, rails_6_0.gemfile, rails_6_1.gemfile, rails_7_0.gemfile, rails_7_1.gemfile, rails_7_2.gemfile, rails_8_0.gemfile, rails_main.gemfile] + ruby_version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] exclude: - gemfile: rails_main.gemfile ruby_version: '2.3' @@ -25,6 +29,20 @@ jobs: ruby_version: '3.0' - gemfile: rails_main.gemfile ruby_version: '3.1' + - gemfile: rails_8_0.gemfile + ruby_version: '2.3' + - gemfile: rails_8_0.gemfile + ruby_version: '2.4' + - gemfile: rails_8_0.gemfile + ruby_version: '2.5' + - gemfile: rails_8_0.gemfile + ruby_version: '2.6' + - gemfile: rails_8_0.gemfile + ruby_version: '2.7' + - gemfile: rails_8_0.gemfile + ruby_version: '3.0' + - gemfile: rails_8_0.gemfile + ruby_version: '3.1' - gemfile: rails_7_2.gemfile ruby_version: '2.3' - gemfile: rails_7_2.gemfile @@ -53,6 +71,8 @@ jobs: ruby_version: '2.5' - gemfile: rails_7_0.gemfile ruby_version: '2.6' + - gemfile: rails_7_0.gemfile + ruby_version: '3.4' - gemfile: rails_6_1.gemfile ruby_version: '2.3' - gemfile: rails_6_1.gemfile @@ -63,6 +83,8 @@ jobs: ruby_version: '3.2' - gemfile: rails_6_1.gemfile ruby_version: '3.3' + - gemfile: rails_6_1.gemfile + ruby_version: '3.4' - gemfile: rails_6_0.gemfile ruby_version: '2.3' - gemfile: rails_6_0.gemfile @@ -75,6 +97,8 @@ jobs: ruby_version: '3.2' - gemfile: rails_6_0.gemfile ruby_version: '3.3' + - gemfile: rails_6_0.gemfile + ruby_version: '3.4' - gemfile: rails_5_2.gemfile ruby_version: '3.0' - gemfile: rails_5_2.gemfile @@ -83,6 +107,8 @@ jobs: ruby_version: '3.2' - gemfile: rails_5_2.gemfile ruby_version: '3.3' + - gemfile: rails_5_2.gemfile + ruby_version: '3.4' env: BUNDLE_GEMFILE: spec/gemfiles/${{ matrix.gemfile }} steps: @@ -91,7 +117,6 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - name: Before build run: | sudo apt-get install libsqlite3-dev @@ -102,6 +127,8 @@ jobs: CC_TEST_REPORTER_ID: aff2c7b9e07e54d5fc9e5588d2e2a8bab4f69950d35000edc2b6250bbaba477d - name: Run test run: | + bundle update + bundle install --gemfile spec/gemfiles/${{ matrix.gemfile }} --jobs 4 --retry 3 bundle exec rake code_analysis bundle exec rspec - name: Report to CodeClimate diff --git a/spec/gemfiles/rails_5_2.gemfile b/spec/gemfiles/rails_5_2.gemfile index c13ab29..d869b89 100644 --- a/spec/gemfiles/rails_5_2.gemfile +++ b/spec/gemfiles/rails_5_2.gemfile @@ -3,4 +3,4 @@ source 'https://rubygems.org' gemspec path: '../..' gem 'rails', '~> 5.2.0' -gem 'sqlite3', '~> 1.4.4' +gem 'sqlite3', '~> 1.4.2' diff --git a/spec/gemfiles/rails_6_0.gemfile b/spec/gemfiles/rails_6_0.gemfile index 7369aa8..d68315d 100644 --- a/spec/gemfiles/rails_6_0.gemfile +++ b/spec/gemfiles/rails_6_0.gemfile @@ -3,3 +3,4 @@ source 'https://rubygems.org' gemspec path: '../..' gem 'rails', '~> 6.0.0' +gem 'sqlite3', '~> 1.4.2' diff --git a/spec/gemfiles/rails_6_1.gemfile b/spec/gemfiles/rails_6_1.gemfile index f0c02fb..617a8b0 100644 --- a/spec/gemfiles/rails_6_1.gemfile +++ b/spec/gemfiles/rails_6_1.gemfile @@ -3,3 +3,4 @@ source 'https://rubygems.org' gemspec path: '../..' gem 'rails', '~> 6.1.0' +gem 'sqlite3', '~> 1.4.2' diff --git a/spec/gemfiles/rails_7_0.gemfile b/spec/gemfiles/rails_7_0.gemfile index 4c52ee9..abce1b2 100644 --- a/spec/gemfiles/rails_7_0.gemfile +++ b/spec/gemfiles/rails_7_0.gemfile @@ -3,3 +3,4 @@ source 'https://rubygems.org' gemspec path: '../..' gem 'rails', '~> 7.0.0' +gem 'sqlite3', '~> 1.4.2' diff --git a/spec/gemfiles/rails_7_2.gemfile b/spec/gemfiles/rails_7_2.gemfile index 0c33e13..36a0125 100644 --- a/spec/gemfiles/rails_7_2.gemfile +++ b/spec/gemfiles/rails_7_2.gemfile @@ -2,4 +2,4 @@ source 'https://rubygems.org' gemspec path: '../..' -gem 'rails', '~> 7.2.0.beta2' +gem 'rails', '~> 7.2.0' diff --git a/spec/gemfiles/rails_8_0.gemfile b/spec/gemfiles/rails_8_0.gemfile new file mode 100644 index 0000000..a9256b9 --- /dev/null +++ b/spec/gemfiles/rails_8_0.gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +gemspec path: '../..' + +gem 'rails', '~> 8.0.0' diff --git a/spec/gemfiles/rails_main.gemfile b/spec/gemfiles/rails_main.gemfile index f72c302..ff5fd7c 100644 --- a/spec/gemfiles/rails_main.gemfile +++ b/spec/gemfiles/rails_main.gemfile @@ -3,4 +3,3 @@ source 'https://rubygems.org' gemspec path: '../..' gem 'rails', git: 'https://github.com/rails/rails', branch: 'main' -gem 'sqlite3', '~> 2.1.0' diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d4de396..e939f4f 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'bundler/setup' +require 'logger' require 'simplecov' require 'uri' unless defined? URI::Generic require 'active_record' diff --git a/yaaf.gemspec b/yaaf.gemspec index 2499b50..91ee8c6 100644 --- a/yaaf.gemspec +++ b/yaaf.gemspec @@ -30,5 +30,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rspec', '~> 3.9.0' spec.add_development_dependency 'rubocop', '~> 0.80.0' spec.add_development_dependency 'simplecov', '~> 0.17.1' - spec.add_development_dependency 'sqlite3', '~> 1.5.0' + spec.add_development_dependency 'sqlite3' end