diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 50602541..16550fa0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['2.6', '2.7', '3.0', '3.1', '3.2'] + ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'head'] gemfile: - rails_5_2 - rails_6_0 @@ -23,8 +23,27 @@ jobs: - rails_7_0 - rails_7_1 - rails_7_2 + - rails_8_0 - rails_main exclude: + - ruby: 'head' + gemfile: rails_6_1 + + - ruby: 'head' + gemfile: rails_6_0 + + - ruby: 'head' + gemfile: rails_5_2 + + - ruby: '3.3' + gemfile: rails_6_1 + + - ruby: '3.3' + gemfile: rails_6_0 + + - ruby: '3.3' + gemfile: rails_5_2 + - ruby: '3.2' gemfile: rails_6_0 @@ -37,7 +56,7 @@ jobs: - ruby: '3.0' gemfile: rails_5_2 - # Rails 7.2 requires Ruby 3.1 or higher + # Rails 8.1 requires Ruby 3.2 or higher - ruby: '2.6' gemfile: rails_main @@ -47,6 +66,9 @@ jobs: - ruby: '3.0' gemfile: rails_main + - ruby: '3.1' + gemfile: rails_main + - ruby: '2.6' gemfile: rails_7_0 @@ -61,6 +83,19 @@ jobs: - ruby: '3.0' gemfile: rails_7_2 + + - ruby: '2.6' + gemfile: rails_8_0 + + - ruby: '2.7' + gemfile: rails_8_0 + + - ruby: '3.0' + gemfile: rails_8_0 + + - ruby: '3.1' + gemfile: rails_8_0 + env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile BUNDLE_PATH_RELATIVE_TO_CWD: true @@ -86,7 +121,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['2.6', '2.7', '3.0', '3.1'] + ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'head'] gemfile: - rails_5_2 - rails_6_0 @@ -94,8 +129,27 @@ jobs: - rails_7_0 - rails_7_1 - rails_7_2 + - rails_8_0 - rails_main exclude: + - ruby: 'head' + gemfile: rails_6_1 + + - ruby: 'head' + gemfile: rails_6_0 + + - ruby: 'head' + gemfile: rails_5_2 + + - ruby: '3.3' + gemfile: rails_6_1 + + - ruby: '3.3' + gemfile: rails_6_0 + + - ruby: '3.3' + gemfile: rails_5_2 + - ruby: '3.2' gemfile: rails_6_0 @@ -108,7 +162,7 @@ jobs: - ruby: '3.0' gemfile: rails_5_2 - # Rails 8 requires Ruby 3.1 or higher + # Rails 8.1 requires Ruby 3.2 or higher - ruby: '2.6' gemfile: rails_main @@ -118,6 +172,9 @@ jobs: - ruby: '3.0' gemfile: rails_main + - ruby: '3.1' + gemfile: rails_main + - ruby: '2.6' gemfile: rails_7_0 @@ -132,6 +189,19 @@ jobs: - ruby: '3.0' gemfile: rails_7_2 + + - ruby: '2.6' + gemfile: rails_8_0 + + - ruby: '2.7' + gemfile: rails_8_0 + + - ruby: '3.0' + gemfile: rails_8_0 + + - ruby: '3.1' + gemfile: rails_8_0 + env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile BUNDLE_PATH_RELATIVE_TO_CWD: true @@ -172,7 +242,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['2.6', '2.7', '3.0', '3.1', '3.2'] + ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'head'] gemfile: - rails_5_2 - rails_6_0 @@ -180,8 +250,27 @@ jobs: - rails_7_0 - rails_7_1 - rails_7_2 + - rails_8_0 - rails_main exclude: + - ruby: 'head' + gemfile: rails_6_1 + + - ruby: 'head' + gemfile: rails_6_0 + + - ruby: 'head' + gemfile: rails_5_2 + + - ruby: '3.3' + gemfile: rails_6_1 + + - ruby: '3.3' + gemfile: rails_6_0 + + - ruby: '3.3' + gemfile: rails_5_2 + - ruby: '3.2' gemfile: rails_6_0 @@ -194,7 +283,7 @@ jobs: - ruby: '3.0' gemfile: rails_5_2 - # Rails 8 requires Ruby 3.1 or higher + # Rails 8.1 requires Ruby 3.2 or higher - ruby: '2.6' gemfile: rails_main @@ -204,6 +293,9 @@ jobs: - ruby: '3.0' gemfile: rails_main + - ruby: '3.1' + gemfile: rails_main + - ruby: '2.6' gemfile: rails_7_0 @@ -218,6 +310,18 @@ jobs: - ruby: '3.0' gemfile: rails_7_2 + + - ruby: '2.6' + gemfile: rails_8_0 + + - ruby: '2.7' + gemfile: rails_8_0 + + - ruby: '3.0' + gemfile: rails_8_0 + + - ruby: '3.1' + gemfile: rails_8_0 env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile BUNDLE_PATH_RELATIVE_TO_CWD: true diff --git a/Appraisals b/Appraisals index 5d3a4503..4433b19d 100644 --- a/Appraisals +++ b/Appraisals @@ -4,14 +4,20 @@ "6_1" => "6.1.0", "7_0" => "7.0.0", "7_1" => "7.1.0", - "7_2" => "7.2.0" + "7_2" => "7.2.0", + "8_0" => "8.0.0.rc1" }.each do |rails, version| appraise "rails-#{rails}" do gem "rails", "~> #{version}" + if rails == "7_0" + gem "base64" + gem "bigdecimal" + gem "drb" + gem "mutex_m" + end end end appraise "rails-main" do gem "rails", github: "rails/rails", branch: "main" - gem "rspec-rails", "~> 6.0.2" end diff --git a/awesome_nested_set.gemspec b/awesome_nested_set.gemspec index 53a92132..4668afc5 100644 --- a/awesome_nested_set.gemspec +++ b/awesome_nested_set.gemspec @@ -18,14 +18,14 @@ Gem::Specification.new do |s| s.required_ruby_version = '>= 2.0.0' - s.add_runtime_dependency 'activerecord', '>= 4.0.0', '< 8.0' + s.add_runtime_dependency 'activerecord', '>= 4.0.0', '< 8.1' s.add_development_dependency 'appraisal' s.add_development_dependency 'database_cleaner' s.add_development_dependency 'pry' s.add_development_dependency 'pry-nav' s.add_development_dependency 'rake', '~> 13' - s.add_development_dependency 'rspec-rails', '>= 4.0.0', '<= 6.2' + s.add_development_dependency 'rspec-rails', '>= 4.0.0', '< 8.0' s.cert_chain = [File.expand_path('certs/parndt.pem', __dir__)] if $PROGRAM_NAME =~ /gem\z/ && ARGV.include?('build') && ARGV.include?(__FILE__) diff --git a/gemfiles/rails_7_0.gemfile b/gemfiles/rails_7_0.gemfile index 61f1bdf6..6c4efd33 100644 --- a/gemfiles/rails_7_0.gemfile +++ b/gemfiles/rails_7_0.gemfile @@ -3,6 +3,10 @@ source "https://rubygems.org" gem "rails", "~> 7.0.0" +gem "base64" +gem "bigdecimal" +gem "drb" +gem "mutex_m" platforms :ruby do gem "sqlite3", "~> 1.4" diff --git a/gemfiles/rails_7_2.gemfile b/gemfiles/rails_7_2.gemfile index 7ef5667b..f5541d46 100644 --- a/gemfiles/rails_7_2.gemfile +++ b/gemfiles/rails_7_2.gemfile @@ -5,9 +5,9 @@ source "https://rubygems.org" gem "rails", "~> 7.2.0" platforms :ruby do + gem "sqlite3" gem "mysql2", "< 1.0.0" gem "pg", "< 2.0.0" - gem "sqlite3" end gemspec path: "../" diff --git a/gemfiles/rails_8_0.gemfile b/gemfiles/rails_8_0.gemfile new file mode 100644 index 00000000..490cae61 --- /dev/null +++ b/gemfiles/rails_8_0.gemfile @@ -0,0 +1,13 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rails", "~> 8.0.0.rc1" + +platforms :ruby do + gem "sqlite3" + gem "mysql2", "< 1.0.0" + gem "pg", "< 2.0.0" +end + +gemspec path: "../" diff --git a/gemfiles/rails_main.gemfile b/gemfiles/rails_main.gemfile index c25a4620..be0278d9 100644 --- a/gemfiles/rails_main.gemfile +++ b/gemfiles/rails_main.gemfile @@ -3,7 +3,6 @@ source "https://rubygems.org" gem "rails", github: "rails/rails", branch: "main" -gem "rspec-rails", "~> 6.0.2" platforms :ruby do gem "sqlite3"