diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index bde2fec6..9af4f2af 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -11,13 +11,27 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04 ] - ruby: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3" ] - resque: [ "1.22", "1.23", "1.24", "1.25", "1.26", "1.27", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6" ] + os: [ ubuntu-22.04, ubuntu-24.04 ] + ruby: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4" ] + resque: + - "1.22" + - "1.23" + - "1.24" + - "1.25" + - "1.26" + - "1.27" + - "2.0" + - "2.1" + - "2.2" + - "2.3" + - "2.4" + - "2.5" + - "2.6" + - "2.7" include: - - { resque: "1.22", redis: "2.0" } - - { resque: "1.23", redis: "3.0" } + - { resque: "1.22", redis: "2.2" } + - { resque: "1.23", redis: "2.2" } - { resque: "1.24", redis: "3.0" } - { resque: "1.25", redis: "3.0" } - { resque: "1.26", redis: "3.2" } @@ -29,31 +43,37 @@ jobs: - { resque: "2.4", redis: "4.8" } - { resque: "2.5", redis: "5.0" } - { resque: "2.6", redis: "5.2" } - - - os: ubuntu-20.04 - ruby: "3.3" - resque: "2.6" - redis: "5.2" + - { resque: "2.7", redis: "5.4" } exclude: # The resque 1.22 gemfile seems to be okay with ruby 3.2 and 3.3 - { resque: "1.23", ruby: "3.2" } # unknown incompatibility... - { resque: "1.23", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.23", ruby: "3.4" } # unknown incompatibility... + - { resque: "1.24", ruby: "3.2" } # unknown incompatibility... - { resque: "1.24", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.24", ruby: "3.4" } # unknown incompatibility... + - { resque: "1.25", ruby: "3.2" } # unknown incompatibility... - { resque: "1.25", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.25", ruby: "3.4" } # unknown incompatibility... + - { resque: "1.26", ruby: "3.2" } # unknown incompatibility... - { resque: "1.26", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.26", ruby: "3.4" } # unknown incompatibility... - { resque: "2.1", ruby: "3.0" } # redis-namespace 1.7 requires ruby < 3 - { resque: "2.1", ruby: "3.1" } # redis-namespace 1.7 requires ruby < 3 - { resque: "2.1", ruby: "3.2" } # redis-namespace 1.7 requires ruby < 3 - { resque: "2.1", ruby: "3.3" } # redis-namespace 1.7 requires ruby < 3 + - { resque: "2.1", ruby: "3.4" } # redis-namespace 1.7 requires ruby < 3 - { resque: "2.5", ruby: "2.4" } # redis 5.0 requires ruby 2.5 - { resque: "2.6", ruby: "2.4" } # redis 5.2 requires ruby 2.6 - { resque: "2.6", ruby: "2.5" } # redis 5.2 requires ruby 2.6 + - { resque: "2.7", ruby: "2.4" } # redis 5.2 requires ruby 2.6 + - { resque: "2.7", ruby: "2.5" } # redis 5.2 requires ruby 2.6 services: redis: diff --git a/Appraisals b/Appraisals index 2529cb09..b6b3a6e7 100644 --- a/Appraisals +++ b/Appraisals @@ -1,10 +1,10 @@ -appraise "resque-1.22-redis-2.0" do +appraise "resque-1.22-redis-2.2" do gem "resque", "1.22.0" # 2012-08-21 gem "redis-namespace", "1.0.3" # 2011-05-17 gem "redis", "2.2.2" # 2011-08-04 end -appraise "resque-1.23-redis-2.0" do +appraise "resque-1.23-redis-2.2" do gem "resque", "1.23.1" # 2013-03-07 gem "redis-namespace", "1.1.0" # 2011-08-15 gem "redis", "2.2.2" # 2011-08-04 @@ -75,3 +75,9 @@ appraise "resque-2.6-redis-5.2" do gem "redis-namespace", "1.11.0" # 2023-06-08 gem "redis", "5.2.0" # 2024-04-15 end + +appraise "resque-2.7-redis-5.4" do + gem "resque", "2.7.0" # 2024-12-30 + gem "redis-namespace", "1.11.0" # 2023-06-08 + gem "redis", "5.4.1" # 2025-07-17 +end diff --git a/gemfiles/resque_1.22_redis_2.0.gemfile b/gemfiles/resque_1.22_redis_2.2.gemfile similarity index 100% rename from gemfiles/resque_1.22_redis_2.0.gemfile rename to gemfiles/resque_1.22_redis_2.2.gemfile diff --git a/gemfiles/resque_1.23_redis_2.0.gemfile b/gemfiles/resque_1.23_redis_2.2.gemfile similarity index 100% rename from gemfiles/resque_1.23_redis_2.0.gemfile rename to gemfiles/resque_1.23_redis_2.2.gemfile diff --git a/gemfiles/resque_1.23_redis_3.0.gemfile b/gemfiles/resque_2.7_redis_5.4.gemfile similarity index 59% rename from gemfiles/resque_1.23_redis_3.0.gemfile rename to gemfiles/resque_2.7_redis_5.4.gemfile index 1ed193c3..2faa8249 100644 --- a/gemfiles/resque_1.23_redis_3.0.gemfile +++ b/gemfiles/resque_2.7_redis_5.4.gemfile @@ -3,8 +3,8 @@ source "https://rubygems.org" gem "appraisal" -gem "resque", "1.23.1" -gem "redis-namespace", "1.2.2" -gem "redis", "3.0.7" +gem "resque", "2.7.0" +gem "redis-namespace", "1.11.0" +gem "redis", "5.4.1" gemspec path: "../" diff --git a/spec/logging_spec.rb b/spec/logging_spec.rb index 1d8cf560..7d055114 100644 --- a/spec/logging_spec.rb +++ b/spec/logging_spec.rb @@ -5,6 +5,7 @@ let(:expect_flags) { File::WRONLY | File::APPEND } + # Don't pollute the log output before(:all) { $skip_logging = true } after(:all) { $skip_logging = false } @@ -46,6 +47,7 @@ expect(File.exist?(tmp_path)).to be_truthy expect(@before).to_not eq(File.stat(tmp_path).inspect) expect(@fp.stat.inspect).to eq(File.stat(tmp_path).inspect) + pending("ruby 3.4 reopen resets the encoding to nil!") if "3.4.0" <= RUBY_VERSION expect(@ext).to eq((@fp.external_encoding rescue nil)) expect(@int).to eq((@fp.internal_encoding rescue nil)) expect(expect_flags).to eq((expect_flags & @fp.fcntl(Fcntl::F_GETFL))) @@ -78,6 +80,7 @@ expect(@tmp_path).to eq(fp.path) expect(File.exist?(@tmp_path)).to be_truthy expect(fp.stat.inspect).to eq(File.stat(@tmp_path).inspect) + pending("ruby 3.4 reopen resets the encoding to nil!") if "3.4.0" <= RUBY_VERSION expect(encoding).to eq(fp.external_encoding) expect(fp.internal_encoding).to be_nil expect(expect_flags).to eq((expect_flags & fp.fcntl(Fcntl::F_GETFL))) @@ -106,6 +109,7 @@ expect(@tmp_path).to eq(fp.path) expect(File.exist?(@tmp_path)).to be_truthy expect(fp.stat.inspect).to eq(File.stat(@tmp_path).inspect) + pending("ruby 3.4 reopen resets the encoding to nil!") if "3.4.0" <= RUBY_VERSION expect(ext).to eq(fp.external_encoding) if ext != Encoding::BINARY