From c87c634839f279c0491638d607ffcfc0a0979485 Mon Sep 17 00:00:00 2001 From: nick evans Date: Tue, 2 Dec 2025 12:47:26 -0500 Subject: [PATCH 1/2] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20CI=20matrix?= =?UTF-8?q?=20with=20modern=20versions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adds ubuntu-24.04 runner * Drops ubuntu-22.04 runner (was only used for job) * Renames two appraisals to reflect correct redis version * Adds ruby 3.4 * Adds resque 2.7 * Adds redis 5.4 (tested with resque 2.7) --- .github/workflows/ruby.yml | 40 ++++++++++++++----- Appraisals | 10 ++++- ....gemfile => resque_1.22_redis_2.2.gemfile} | 0 ....gemfile => resque_1.23_redis_2.2.gemfile} | 0 ...0.gemfile => resque_2.7_redis_5.4.gemfile} | 6 +-- 5 files changed, 41 insertions(+), 15 deletions(-) rename gemfiles/{resque_1.22_redis_2.0.gemfile => resque_1.22_redis_2.2.gemfile} (100%) rename gemfiles/{resque_1.23_redis_2.0.gemfile => resque_1.23_redis_2.2.gemfile} (100%) rename gemfiles/{resque_1.23_redis_3.0.gemfile => resque_2.7_redis_5.4.gemfile} (59%) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index bde2fec..9af4f2a 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 2529cb0..b6b3a6e 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 1ed193c..2faa824 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: "../" From 7024b3c8e40bf4e85cc575c66805dcccfb3eb183 Mon Sep 17 00:00:00 2001 From: nick evans Date: Tue, 2 Dec 2025 14:54:08 -0500 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=9A=A7=20TEMP:=20Mark=20reopen=20spec?= =?UTF-8?q?=20as=20pending=20for=20ruby=203.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/logging_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/logging_spec.rb b/spec/logging_spec.rb index 1d8cf56..7d05511 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