diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index feaf630..67b9c81 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -1,63 +1,82 @@ name: Ruby on: - # Trigger the workflow on push or pull request, - # but only for the master branch push: branches: - - master + - '**' pull_request: branches: - - master + - '**' jobs: build: - env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} + runs-on: ubuntu-latest + strategy: fail-fast: false matrix: - ruby_version: [3.1, "3.0", 2.7, 2.6, jruby] - gemfile: - [ - Gemfile, - gemfiles/rails_5.gemfile, - gemfiles/rails_6.gemfile, - gemfiles/rails_7.gemfile, - ] - exclude: - # Ruby 3.1 is not supported by Rails 5.2.x - - ruby_version: 3.1 - gemfile: gemfiles/rails_5.gemfile, + ruby: + - '3.3' + - '3.2' + - '3.1' + - '3.0' + - '2.7' + - jruby + rails: + - rails_7.2 + - rails_7.1 + - rails_7.0 + - rails_6.1 + - rails_6.0 + - rails_5.2 + - rails_5.1 + - rails_5.0 - # Ruby 3.x is not supported by Rails 5.2.x - - ruby_version: 3.0 - gemfile: gemfiles/rails_5.gemfile, + exclude: + - ruby: '2.7' + rails: 'rails_7.2' - # Ruby 2.6.x is not supported by Rails 7.0.x - - ruby_version: 2.6 - gemfile: gemfiles/rails_7.gemfile + - ruby: '3.0' + rails: 'rails_5.0' + - ruby: '3.0' + rails: 'rails_5.1' + - ruby: '3.0' + rails: 'rails_5.2' + - ruby: '3.0' + rails: 'rails_7.2' - # Ruby 2.6.x is not supported by this Gemfile - - ruby_version: 2.6 - gemfile: Gemfile + - ruby: '3.1' + rails: 'rails_5.0' + - ruby: '3.1' + rails: 'rails_5.1' + - ruby: '3.1' + rails: 'rails_5.2' - # JRuby is not supported by Rails 7.0.x - - ruby_version: jruby - gemfile: gemfiles/rails_7.gemfile + - ruby: '3.2' + rails: 'rails_5.0' + - ruby: '3.2' + rails: 'rails_5.1' + - ruby: '3.2' + rails: 'rails_5.2' - # JRuby is not supported by this Gemfile - - ruby_version: jruby - gemfile: Gemfile + - ruby: '3.3' + rails: 'rails_5.0' + - ruby: '3.3' + rails: 'rails_5.1' + - ruby: '3.3' + rails: 'rails_5.2' - runs-on: ubuntu-latest + env: + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.rails }}.gemfile steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true # 'bundle install' and cache + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Build and test with Rake run: bundle exec rake diff --git a/.gitignore b/.gitignore index d1c2b01..1603c4c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ tmp/ gemfiles/*.lock gemfiles/vendor stdout +.DS_Store diff --git a/Appraisals b/Appraisals index 208d4fc..d927cff 100644 --- a/Appraisals +++ b/Appraisals @@ -1,7 +1,31 @@ -appraise 'rails-4' do - gem 'rails', '~> 4' +appraise 'rails_5.0' do + gem 'rails', '~> 5.0.0' end -appraise 'rails-5' do - gem 'rails', '~> 5' +appraise 'rails_5.1' do + gem 'rails', '~> 5.1.0' +end + +appraise 'rails_5.2' do + gem 'rails', '~> 5.2.0' +end + +appraise 'rails_6.0' do + gem 'rails', '~> 6.0.0' +end + +appraise 'rails_6.1' do + gem 'rails', '~> 6.1.0' +end + +appraise 'rails_7.0' do + gem 'rails', '~> 7.0.0' +end + +appraise 'rails_7.1' do + gem 'rails', '~> 7.1.0' +end + +appraise 'rails_7.2' do + gem 'rails', '~> 7.2.0' end diff --git a/Gemfile b/Gemfile index 1176ba6..dcb77e6 100644 --- a/Gemfile +++ b/Gemfile @@ -1,29 +1,8 @@ source "https://rubygems.org" gemspec -# if ::File.directory?(gem_path = "../redis-store") -# gem "redis-store", [">= 1.2.0", "< 1.4"], path: gem_path -# end - -# if ::File.directory?(gem_path = "../redis-rack") -# gem "redis-rack", "~> 2.0.0.pre", path: gem_path -# end - -# if ::File.directory?(gem_path = "../redis-activesupport") -# gem "redis-activesupport", '>= 4.0.0', '< 5.1', path: gem_path -# end - -# if ::File.directory?(gem_path = "../redis-actionpack") -# gem "redis-actionpack", ">= 4.0.0", '< 5.1', path: gem_path -# end - -version = ENV["RAILS_VERSION"] || '7' - -rails = case version -when "master" - {:github => "rails/rails"} -else - "~> #{version}.0" -end - -gem "rails", rails +gem 'appraisal', git: 'https://github.com/thoughtbot/appraisal.git' +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem 'rake', '>= 12.3.3' +gem "redis-store-testing" diff --git a/gemfiles/rails_5.0.gemfile b/gemfiles/rails_5.0.gemfile new file mode 100644 index 0000000..a1959ba --- /dev/null +++ b/gemfiles/rails_5.0.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 5.0.0" + +gemspec path: "../" diff --git a/gemfiles/rails_5.1.gemfile b/gemfiles/rails_5.1.gemfile new file mode 100644 index 0000000..65d4196 --- /dev/null +++ b/gemfiles/rails_5.1.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 5.1.0" + +gemspec path: "../" diff --git a/gemfiles/rails_5.2.gemfile b/gemfiles/rails_5.2.gemfile new file mode 100644 index 0000000..b9746d6 --- /dev/null +++ b/gemfiles/rails_5.2.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 5.2.0" + +gemspec path: "../" diff --git a/gemfiles/rails_5.gemfile b/gemfiles/rails_5.gemfile deleted file mode 100644 index 44d0044..0000000 --- a/gemfiles/rails_5.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "rails", "~> 5" - -gemspec :path => "../" diff --git a/gemfiles/rails_6.0.gemfile b/gemfiles/rails_6.0.gemfile new file mode 100644 index 0000000..15ef619 --- /dev/null +++ b/gemfiles/rails_6.0.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 6.0.0" + +gemspec path: "../" diff --git a/gemfiles/rails_6.1.gemfile b/gemfiles/rails_6.1.gemfile new file mode 100644 index 0000000..252b729 --- /dev/null +++ b/gemfiles/rails_6.1.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 6.1.0" + +gemspec path: "../" diff --git a/gemfiles/rails_6.gemfile b/gemfiles/rails_6.gemfile deleted file mode 100644 index af0da38..0000000 --- a/gemfiles/rails_6.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "rails", "~> 6" - -gemspec :path => "../" diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile new file mode 100644 index 0000000..aeba0f8 --- /dev/null +++ b/gemfiles/rails_7.0.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 7.0.0" + +gemspec path: "../" diff --git a/gemfiles/rails_7.1.gemfile b/gemfiles/rails_7.1.gemfile new file mode 100644 index 0000000..f82f134 --- /dev/null +++ b/gemfiles/rails_7.1.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 7.1.0" + +gemspec path: "../" diff --git a/gemfiles/rails_7.2.gemfile b/gemfiles/rails_7.2.gemfile new file mode 100644 index 0000000..8fbbb15 --- /dev/null +++ b/gemfiles/rails_7.2.gemfile @@ -0,0 +1,12 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git" +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem "rake", ">= 12.3.3" +gem "redis-store-testing" +gem "rails", "~> 7.2.0" + +gemspec path: "../" diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile deleted file mode 100644 index 38ecb04..0000000 --- a/gemfiles/rails_7.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "rails", "~> 7" - -gemspec :path => "../" diff --git a/redis-rails.gemspec b/redis-rails.gemspec index 560d7b4..571cbde 100644 --- a/redis-rails.gemspec +++ b/redis-rails.gemspec @@ -1,6 +1,6 @@ # -*- encoding: utf-8 -*- -$:.push File.expand_path("../lib", __FILE__) -require "redis-rails/version" + +require_relative "lib/redis-rails/version" Gem::Specification.new do |s| s.name = "redis-rails" @@ -12,18 +12,8 @@ Gem::Specification.new do |s| s.description = %q{Redis for Ruby on Rails} s.license = 'MIT' - s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") - s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } - s.require_paths = ["lib"] + s.files = `git ls-files`.split("\n") s.add_dependency "redis-activesupport", [">= 3.0", "< 8"] s.add_dependency "redis-actionpack", [">= 3.0", "< 8"] - - s.add_development_dependency 'rake', '>= 12.3.3' - s.add_development_dependency "bundler", "~> 2" - s.add_development_dependency "mocha", "~> 0.14.0" - s.add_development_dependency "minitest", [">= 4.2", "< 6"] - s.add_development_dependency "redis-store-testing" - s.add_development_dependency 'appraisal' end