diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 943a8d4..75eadb7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,8 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: [ '3.0', '3.1', '3.2', '3.3', 'head' ] + # TODO: we should test only supported versions: https://endoflife.date/ruby + ruby-version: [ '2.7', '3.0', '3.1', '3.2', '3.3', 'head' ] steps: - uses: actions/checkout@v3 diff --git a/.rubocop.yml b/.rubocop.yml index 9f8c0a8..2626d82 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,23 +1,21 @@ inherit_from: .rubocop_todo.yml require: + - standard + - standard-custom + - standard-performance - rubocop-performance - rubocop-rspec - rubocop-rake - - standard inherit_gem: - standard: - - config/base.yml - - config/ruby-2.5.yml - - config/ruby-2.6.yml - - config/ruby-2.7.yml - - config/ruby-3.0.yml + standard: config/ruby-3.0.yml + standard-custom: config/base.yml + standard-performance: config/base.yml AllCops: - # Last supported version before EOL - # See: https://endoflife.date/ruby TargetRubyVersion: 3.0 NewCops: enable Exclude: + - '**/tmp/**/*' - '**/vendor/**/*' diff --git a/Appraisals b/Appraisals index 9cd36d9..4372820 100644 --- a/Appraisals +++ b/Appraisals @@ -15,3 +15,31 @@ end appraise "elasticsearch-8.9" do gem "elasticsearch", "~> 8.9.0" end + +appraise "elasticsearch-8.15" do + gem "elasticsearch", "~> 8.15.0" +end + +# Supported versions of Rails: +# https://endoflife.date/rails +# +if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.0") + appraise "rails-6.1" do + gem "activesupport", "~> 6.1.x" + gem "sqlite3", "~> 1.4.0" + end +end + +appraise "rails-7.0" do + gem "activesupport", "~> 7.0.x" +end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.1") + appraise "rails-7.1" do + gem "activesupport", "~> 7.1.x" + end + + appraise "rails-7.2" do + gem "activesupport", "~> 7.2.x" + end +end diff --git a/Gemfile b/Gemfile index d9151c2..53b0876 100644 --- a/Gemfile +++ b/Gemfile @@ -5,4 +5,9 @@ gemspec gem "gem-release" gem "simplecov_json_formatter" -gem "sqlite3", "~> 1.4.0" + +if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.1") + gem "activesupport", ">= 5.0", "< 7.1" + gem "activerecord", ">= 5.0", "< 7.1" + gem "sqlite3", "~> 1.4.0" +end diff --git a/caoutsearch.gemspec b/caoutsearch.gemspec index a45a541..1e694da 100644 --- a/caoutsearch.gemspec +++ b/caoutsearch.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |s| s.files = Dir["lib/**/*"] + %w[LICENSE README.md] s.require_paths = ["lib"] - s.add_dependency "activesupport", ">= 5.0" + s.add_dependency "activesupport", ">= 6.1" s.add_dependency "elasticsearch", "~> 8.x" s.add_dependency "hashie", "~> 5.0" s.add_dependency "multi_json", "~> 1.15"