diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cfe20c3..b0047fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,17 +6,11 @@ jobs: build: name: Ruby ${{ matrix.ruby }}, Rails ${{ matrix.gemfile }} runs-on: ubuntu-latest + timeout-minutes: 5 strategy: matrix: - ruby: [ "2.7", "2.3" ] - gemfile: [ "active_job_60.gemfile", "active_job_52.gemfile", "active_job_51.gemfile", "active_job_50.gemfile", "active_job_42.gemfile" ] - exclude: - - ruby: "2.3" - gemfile: "active_job_60.gemfile" - - ruby: "2.7" - gemfile: "active_job_42.gemfile" - - ruby: "2.6" - gemfile: "active_job_42.gemfile" + ruby: [ "3.2", "3.1", "3.0" ] + gemfile: [ "active_job_71.gemfile", "active_job_70.gemfile", "active_job_61.gemfile", "active_job_60.gemfile" ] services: redis: @@ -34,13 +28,12 @@ jobs: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Install dependencies run: | - gem install bundler --no-document bundle install - name: Run test run: bundle exec rake diff --git a/Gemfile b/Gemfile index 78bd8e5..8ac561a 100644 --- a/Gemfile +++ b/Gemfile @@ -3,3 +3,15 @@ source 'https://rubygems.org' gem 'coveralls', require: false # Specify your gem's dependencies in activejob-cancel.gemspec gemspec + +gem "bundler" +gem "rake" +gem "minitest" +gem "sidekiq" +gem "activerecord", '>= 4.2.0' +gem "delayed_job" +gem "delayed_job_active_record" +gem "resque" +gem "resque-scheduler" +gem "sqlite3" +gem "byebug" diff --git a/activejob-cancel.gemspec b/activejob-cancel.gemspec index 8230ce6..7bd6923 100644 --- a/activejob-cancel.gemspec +++ b/activejob-cancel.gemspec @@ -19,15 +19,4 @@ Gem::Specification.new do |spec| spec.add_dependency 'activejob', '>= 4.2.0' spec.add_dependency 'activesupport', '>= 4.2.0' - spec.add_development_dependency "bundler" - spec.add_development_dependency "rake" - spec.add_development_dependency "minitest" - spec.add_development_dependency "sidekiq" - spec.add_development_dependency "activerecord", '>= 4.2.0' - spec.add_development_dependency "delayed_job" - spec.add_development_dependency "delayed_job_active_record" - spec.add_development_dependency "resque" - spec.add_development_dependency "resque-scheduler" - spec.add_development_dependency "sqlite3" - spec.add_development_dependency "byebug" end diff --git a/gemfiles/active_job_60.gemfile b/gemfiles/active_job_60.gemfile index 4405dd9..1fdbf02 100644 --- a/gemfiles/active_job_60.gemfile +++ b/gemfiles/active_job_60.gemfile @@ -11,3 +11,4 @@ gem 'sqlite3' gem 'activesupport', '~> 6.0.0' gem 'activejob', '~> 6.0.0' gem 'activerecord', '~> 6.0.0' +gem 'debug' diff --git a/gemfiles/active_job_61.gemfile b/gemfiles/active_job_61.gemfile new file mode 100644 index 0000000..058c8e6 --- /dev/null +++ b/gemfiles/active_job_61.gemfile @@ -0,0 +1,14 @@ +source 'https://rubygems.org' + +gem 'coveralls', require: false +gem 'rake' +gem 'sidekiq' +gem 'delayed_job' +gem 'delayed_job_active_record', '>= 4.1.2' +gem 'resque' +gem 'resque-scheduler' +gem 'sqlite3' +gem 'activesupport', '~> 6.1.0' +gem 'activejob', '~> 6.1.0' +gem 'activerecord', '~> 6.1.0' +gem 'debug' diff --git a/gemfiles/active_job_70.gemfile b/gemfiles/active_job_70.gemfile new file mode 100644 index 0000000..b108bdd --- /dev/null +++ b/gemfiles/active_job_70.gemfile @@ -0,0 +1,14 @@ +source 'https://rubygems.org' + +gem 'coveralls', require: false +gem 'rake' +gem 'sidekiq' +gem 'delayed_job' +gem 'delayed_job_active_record', '>= 4.1.2' +gem 'resque' +gem 'resque-scheduler' +gem 'sqlite3' +gem 'activesupport', '~> 7.0.0' +gem 'activejob', '~> 7.0.0' +gem 'activerecord', '~> 7.0.0' +gem 'debug' diff --git a/gemfiles/active_job_71.gemfile b/gemfiles/active_job_71.gemfile new file mode 100644 index 0000000..e38b369 --- /dev/null +++ b/gemfiles/active_job_71.gemfile @@ -0,0 +1,14 @@ +source 'https://rubygems.org' + +gem 'coveralls', require: false +gem 'rake' +gem 'sidekiq' +gem 'delayed_job' +gem 'delayed_job_active_record', '>= 4.1.2' +gem 'resque' +gem 'resque-scheduler' +gem 'sqlite3' +gem 'activesupport', '~> 7.1.0' +gem 'activejob', '~> 7.1.0' +gem 'activerecord', '~> 7.1.0' +gem 'debug' diff --git a/gemfiles/active_job_master.gemfile b/gemfiles/active_job_master.gemfile deleted file mode 100644 index 98330de..0000000 --- a/gemfiles/active_job_master.gemfile +++ /dev/null @@ -1,14 +0,0 @@ -source 'https://rubygems.org' - -gem 'coveralls', require: false -gem 'rake' -gem 'sidekiq' -gem 'delayed_job' -gem 'delayed_job_active_record' -gem 'resque' -gem 'resque-scheduler' -gem 'sqlite3' -gem 'arel', github: 'rails/arel' -gem 'activesupport', github: 'rails/rails' -gem 'activejob', github: 'rails/rails' -gem 'activerecord', github: 'rails/rails' diff --git a/test/support/sidekiq/test_helper.rb b/test/support/sidekiq/test_helper.rb index 0a34d4f..c5212e1 100644 --- a/test/support/sidekiq/test_helper.rb +++ b/test/support/sidekiq/test_helper.rb @@ -2,17 +2,35 @@ require 'sidekiq/cli' require_relative 'workers/not_an_active_job_worker' -Sidekiq.logger = Logger.new(nil) +Sidekiq.configure_server do |config| + config.logger = Logger.new(nil) +end def execute_with_launcher - sidekiq = Sidekiq::Launcher.new({queues: [FailJob.queue_name.call], - environment: "test", - concurrency: 1, - timeout: 1, - }) - Sidekiq.average_scheduled_poll_interval = 3 - Sidekiq.options[:poll_interval_average] = 1 + if Gem::Version.new(Sidekiq::VERSION) >= Gem::Version.new("7") + config = Sidekiq.default_configuration + config.queues = [FailJob.queue_name.call] + config.concurrency = 1 + config.average_scheduled_poll_interval = 0.5 + config.merge!( + environment: "test", + timeout: 1, + poll_interval_average: 3 + ) + else + config = { + queues: [FailJob.queue_name.call], + environment: "test", + concurrency: 1, + timeout: 1, + average_scheduled_poll_interval: 0.5, + poll_interval_average: 3 + } + end + + sidekiq = Sidekiq::Launcher.new(config) sidekiq.run + sleep 0.2 yield sidekiq.stop end