Skip to content

Commit

Permalink
Drop sidekiq 5 support, sort-out load paths, fixup 7.2 redis call
Browse files Browse the repository at this point in the history
  • Loading branch information
rwojsznis committed Feb 7, 2024
1 parent be1d3d0 commit 475d175
Show file tree
Hide file tree
Showing 11 changed files with 46 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
matrix:
os: [ ubuntu-latest ]
ruby: [ '2.7', '3.0', '3.1' ]
gemfile: [ sidekiq_5, sidekiq_6_1, sidekiq_7_1, sidekiq_7_2 ]
gemfile: [ sidekiq_6_1, sidekiq_7_1, sidekiq_7_2 ]
redis: [ '7.0-alpine3.18', '6.2.12-alpine3.18' ]
env:
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
Expand Down
12 changes: 6 additions & 6 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
appraise 'sidekiq-5' do
gem 'sidekiq', '~> 5.1', '>= 5.1'
end

appraise 'sidekiq-6_1' do
gem 'sidekiq', '~> 6.1', '>= 6.1.1', '< 6.2'
end

appraise 'sidekiq-7-1' do
appraise 'sidekiq-6_2' do
gem 'sidekiq', '~> 6.2', '>= 6.2'
end

appraise 'sidekiq-7_1' do
gem 'sidekiq', '~> 7.1', '>= 7.1.0', '< 7.2'
end

appraise 'sidekiq-7-2' do
appraise 'sidekiq-7_2' do
gem 'sidekiq', '~> 7.2', '>= 7.2.0'
end
8 changes: 6 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
source "https://rubygems.org"

gem "minitest"
group :test do
gem "minitest"
gem "mocha", require: false
end

gem "appraisal"
gem "mocha", require: false

8 changes: 0 additions & 8 deletions gemfiles/sidekiq_5.gemfile

This file was deleted.

7 changes: 5 additions & 2 deletions gemfiles/sidekiq_6_1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

source "https://rubygems.org"

gem "minitest"
gem "appraisal"
gem "mocha", require: false
gem "sidekiq", "~> 6.1", ">= 6.1.1", "< 6.2"

group :test do
gem "minitest"
gem "mocha", require: false
end
11 changes: 11 additions & 0 deletions gemfiles/sidekiq_6_2.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "appraisal"
gem "sidekiq", "~> 6.2", ">= 6.2"

group :test do
gem "minitest"
gem "mocha", require: false
end
7 changes: 5 additions & 2 deletions gemfiles/sidekiq_7_1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

source "https://rubygems.org"

gem "minitest"
gem "appraisal"
gem "mocha", require: false
gem "sidekiq", "~> 7.1", ">= 7.1.0", "< 7.2"

group :test do
gem "minitest"
gem "mocha", require: false
end
7 changes: 5 additions & 2 deletions gemfiles/sidekiq_7_2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

source "https://rubygems.org"

gem "minitest"
gem "appraisal"
gem "mocha", require: false
gem "sidekiq", "~> 7.2", ">= 7.2.0"

group :test do
gem "minitest"
gem "mocha", require: false
end
6 changes: 5 additions & 1 deletion lib/sidekiq/lock/redis_lock.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ def acquired?
# this also requires redis-rb >= 3.0.5
def acquire!
@acquired ||= Sidekiq.redis do |r|
r.set(name, value, nx: true, px: timeout)
if Sidekiq::VERSION >= '7.2'
r.set(name, value, 'nx', 'px', timeout)
else
r.set(name, value, nx: true, px: timeout)
end
end
end

Expand Down
7 changes: 1 addition & 6 deletions test/lib/lock_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,12 @@ module Sidekiq

cmd = 'sidekiq -r ./test/test_workers.rb -v'
buffer_out = ''
buffer_err = ''

# very not fancy (https://78.media.tumblr.com/tumblr_lzkpw7DAl21qhy6c9o2_400.gif)
# solution, but should do the job
Open3.popen3(cmd) do |stdin, stdout, stderr, thread|
begin
Timeout.timeout(5) do
until stderr.eof? do
buffer_err << stderr.read_nonblock(16)
end
Timeout.timeout(3) do
until stdout.eof? do
buffer_out << stdout.read_nonblock(16)
end
Expand All @@ -28,7 +24,6 @@ module Sidekiq
end
end

assert_empty(buffer_err)
assert_match(/\s?Middleware:.*Sidekiq::Lock::Middleware/i, buffer_out)
end
end
Expand Down
1 change: 1 addition & 0 deletions test/test_workers.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
$LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
require 'sidekiq-lock'

class LockWorker
Expand Down

0 comments on commit 475d175

Please sign in to comment.