From 8757f82a230c33a246b8447f833535a19bcbb387 Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:30:56 +0100 Subject: [PATCH 01/12] Ignore MacOS files --- .gitignore | 1 + 1 file changed, 1 insertion(+) 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 From 4d8e62962f5fabc766c74f07512a0af09757ac1b Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:32:08 +0100 Subject: [PATCH 02/12] Remove bundler gem from Gemfile --- redis-rails.gemspec | 1 - 1 file changed, 1 deletion(-) diff --git a/redis-rails.gemspec b/redis-rails.gemspec index 560d7b4..921a54f 100644 --- a/redis-rails.gemspec +++ b/redis-rails.gemspec @@ -21,7 +21,6 @@ Gem::Specification.new do |s| 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" From 3fcbd74b0fe13ca1e43a64c3a4d7e620c59cbd78 Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:35:07 +0100 Subject: [PATCH 03/12] Move dev dependencies to Gemfile --- Gemfile | 31 +++++-------------------------- redis-rails.gemspec | 6 ------ 2 files changed, 5 insertions(+), 32 deletions(-) diff --git a/Gemfile b/Gemfile index 1176ba6..2a53d5e 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' +gem "minitest", [">= 4.2", "< 6"] +gem "mocha", "~> 0.14.0" +gem 'rake', '>= 12.3.3' +gem "redis-store-testing" diff --git a/redis-rails.gemspec b/redis-rails.gemspec index 921a54f..f544a70 100644 --- a/redis-rails.gemspec +++ b/redis-rails.gemspec @@ -19,10 +19,4 @@ Gem::Specification.new do |s| 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 "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 From e8f86198a3efed97866cc876d50cb5ac1328b78a Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:35:48 +0100 Subject: [PATCH 04/12] Use latest version of Appraisal gem --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 2a53d5e..dcb77e6 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source "https://rubygems.org" gemspec -gem 'appraisal' +gem 'appraisal', git: 'https://github.com/thoughtbot/appraisal.git' gem "minitest", [">= 4.2", "< 6"] gem "mocha", "~> 0.14.0" gem 'rake', '>= 12.3.3' From ef08b9ae4baee21b984a0982d4da54f1bed6070a Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:39:56 +0100 Subject: [PATCH 05/12] Update Appraisal file --- Appraisals | 12 ++++++++---- gemfiles/rails_5.gemfile | 9 +++++++-- gemfiles/rails_6.gemfile | 9 +++++++-- gemfiles/rails_7.gemfile | 9 +++++++-- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/Appraisals b/Appraisals index 208d4fc..e903a36 100644 --- a/Appraisals +++ b/Appraisals @@ -1,7 +1,11 @@ -appraise 'rails-4' do - gem 'rails', '~> 4' +appraise 'rails-5' do + gem 'rails', '~> 5.0.0' end -appraise 'rails-5' do - gem 'rails', '~> 5' +appraise 'rails-6' do + gem 'rails', '~> 6.0.0' +end + +appraise 'rails-7' do + gem 'rails', '~> 7.0.0' end diff --git a/gemfiles/rails_5.gemfile b/gemfiles/rails_5.gemfile index 44d0044..a1959ba 100644 --- a/gemfiles/rails_5.gemfile +++ b/gemfiles/rails_5.gemfile @@ -2,6 +2,11 @@ source "https://rubygems.org" -gem "rails", "~> 5" +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 => "../" +gemspec path: "../" diff --git a/gemfiles/rails_6.gemfile b/gemfiles/rails_6.gemfile index af0da38..15ef619 100644 --- a/gemfiles/rails_6.gemfile +++ b/gemfiles/rails_6.gemfile @@ -2,6 +2,11 @@ source "https://rubygems.org" -gem "rails", "~> 6" +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 => "../" +gemspec path: "../" diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile index 38ecb04..aeba0f8 100644 --- a/gemfiles/rails_7.gemfile +++ b/gemfiles/rails_7.gemfile @@ -2,6 +2,11 @@ source "https://rubygems.org" -gem "rails", "~> 7" +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 => "../" +gemspec path: "../" From fdaad11098a5898bbd1c7f8620c398bdb824f0f5 Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:41:24 +0100 Subject: [PATCH 06/12] Rename Appraisal gemfiles --- Appraisals | 6 +++--- gemfiles/{rails_5.gemfile => rails_5.0.gemfile} | 0 gemfiles/{rails_6.gemfile => rails_6.0.gemfile} | 0 gemfiles/{rails_7.gemfile => rails_7.0.gemfile} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename gemfiles/{rails_5.gemfile => rails_5.0.gemfile} (100%) rename gemfiles/{rails_6.gemfile => rails_6.0.gemfile} (100%) rename gemfiles/{rails_7.gemfile => rails_7.0.gemfile} (100%) diff --git a/Appraisals b/Appraisals index e903a36..547bded 100644 --- a/Appraisals +++ b/Appraisals @@ -1,11 +1,11 @@ -appraise 'rails-5' do +appraise 'rails_5.0' do gem 'rails', '~> 5.0.0' end -appraise 'rails-6' do +appraise 'rails_6.0' do gem 'rails', '~> 6.0.0' end -appraise 'rails-7' do +appraise 'rails_7.0' do gem 'rails', '~> 7.0.0' end diff --git a/gemfiles/rails_5.gemfile b/gemfiles/rails_5.0.gemfile similarity index 100% rename from gemfiles/rails_5.gemfile rename to gemfiles/rails_5.0.gemfile diff --git a/gemfiles/rails_6.gemfile b/gemfiles/rails_6.0.gemfile similarity index 100% rename from gemfiles/rails_6.gemfile rename to gemfiles/rails_6.0.gemfile diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.0.gemfile similarity index 100% rename from gemfiles/rails_7.gemfile rename to gemfiles/rails_7.0.gemfile From 5f247f033d3368e0e4f476f86a6a347aa8897a64 Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:45:58 +0100 Subject: [PATCH 07/12] Update GithubActions config --- .github/workflows/ruby.yml | 64 ++++++++++++++------------------------ 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index feaf630..4b8dc3a 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -1,63 +1,45 @@ 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, - ] + ruby: + - '3.1' + - '3.0' + - '2.7' + - '2.6' + - jruby + rails: + - rails_7.0 + - rails_6.0 + - rails_5.0 exclude: - # Ruby 3.1 is not supported by Rails 5.2.x - - ruby_version: 3.1 - gemfile: gemfiles/rails_5.gemfile, - - # Ruby 3.x is not supported by Rails 5.2.x - - ruby_version: 3.0 - gemfile: gemfiles/rails_5.gemfile, - - # Ruby 2.6.x is not supported by Rails 7.0.x - - ruby_version: 2.6 - gemfile: gemfiles/rails_7.gemfile - - # Ruby 2.6.x is not supported by this Gemfile - - ruby_version: 2.6 - gemfile: Gemfile + - ruby: '2.6' + rails: rails_7.0 - # JRuby is not supported by Rails 7.0.x - - ruby_version: jruby - gemfile: gemfiles/rails_7.gemfile - - # JRuby is not supported by this Gemfile - - ruby_version: jruby - gemfile: Gemfile - - 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 From 87ac467f15345f8edecb2936c4f898030a5b9b95 Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:51:05 +0100 Subject: [PATCH 08/12] Run CI with intermediate Rails versions --- .github/workflows/ruby.yml | 3 +++ Appraisals | 12 ++++++++++++ gemfiles/rails_5.1.gemfile | 12 ++++++++++++ gemfiles/rails_5.2.gemfile | 12 ++++++++++++ gemfiles/rails_6.1.gemfile | 12 ++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 gemfiles/rails_5.1.gemfile create mode 100644 gemfiles/rails_5.2.gemfile create mode 100644 gemfiles/rails_6.1.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 4b8dc3a..18b9ffc 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -23,7 +23,10 @@ jobs: - jruby rails: - rails_7.0 + - rails_6.1 - rails_6.0 + - rails_5.2 + - rails_5.1 - rails_5.0 exclude: - ruby: '2.6' diff --git a/Appraisals b/Appraisals index 547bded..edb1c0d 100644 --- a/Appraisals +++ b/Appraisals @@ -2,10 +2,22 @@ appraise 'rails_5.0' do gem 'rails', '~> 5.0.0' end +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 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_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: "../" From c7114de9f61d823da137348de36d7f570296216d Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:53:00 +0100 Subject: [PATCH 09/12] Drop support for Ruby 2.6 --- .github/workflows/ruby.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 18b9ffc..6dc999a 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -19,7 +19,6 @@ jobs: - '3.1' - '3.0' - '2.7' - - '2.6' - jruby rails: - rails_7.0 @@ -28,9 +27,6 @@ jobs: - rails_5.2 - rails_5.1 - rails_5.0 - exclude: - - ruby: '2.6' - rails: rails_7.0 env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.rails }}.gemfile From 5696eddcd698dbc62ef543911226a8cc139cd2bb Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:53:23 +0100 Subject: [PATCH 10/12] Add support for latest Ruby versions --- .github/workflows/ruby.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 6dc999a..344a05a 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -16,6 +16,8 @@ jobs: fail-fast: false matrix: ruby: + - '3.3' + - '3.2' - '3.1' - '3.0' - '2.7' @@ -28,6 +30,35 @@ jobs: - rails_5.1 - rails_5.0 + exclude: + - ruby: '3.0' + rails: 'rails_5.0' + - ruby: '3.0' + rails: 'rails_5.1' + - ruby: '3.0' + rails: 'rails_5.2' + + - ruby: '3.1' + rails: 'rails_5.0' + - ruby: '3.1' + rails: 'rails_5.1' + - ruby: '3.1' + rails: 'rails_5.2' + + - ruby: '3.2' + rails: 'rails_5.0' + - ruby: '3.2' + rails: 'rails_5.1' + - ruby: '3.2' + rails: 'rails_5.2' + + - ruby: '3.3' + rails: 'rails_5.0' + - ruby: '3.3' + rails: 'rails_5.1' + - ruby: '3.3' + rails: 'rails_5.2' + env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.rails }}.gemfile From 356c48ed33b09dc15b22d2833d6716af6268428c Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 13:56:47 +0100 Subject: [PATCH 11/12] Add support for Rails 7.1 and 7.2 --- .github/workflows/ruby.yml | 7 +++++++ Appraisals | 8 ++++++++ gemfiles/rails_7.1.gemfile | 12 ++++++++++++ gemfiles/rails_7.2.gemfile | 12 ++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 gemfiles/rails_7.1.gemfile create mode 100644 gemfiles/rails_7.2.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 344a05a..67b9c81 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -23,6 +23,8 @@ jobs: - '2.7' - jruby rails: + - rails_7.2 + - rails_7.1 - rails_7.0 - rails_6.1 - rails_6.0 @@ -31,12 +33,17 @@ jobs: - rails_5.0 exclude: + - ruby: '2.7' + rails: 'rails_7.2' + - 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: '3.1' rails: 'rails_5.0' diff --git a/Appraisals b/Appraisals index edb1c0d..d927cff 100644 --- a/Appraisals +++ b/Appraisals @@ -21,3 +21,11 @@ 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/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: "../" From b74426a6c2e21c3be39a3580db85a399ecc9b4dc Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Tue, 12 Nov 2024 14:06:15 +0100 Subject: [PATCH 12/12] Cleanup gemspec --- redis-rails.gemspec | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/redis-rails.gemspec b/redis-rails.gemspec index f544a70..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,10 +12,7 @@ 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"]