Skip to content

Commit

Permalink
Adding rufus scheduler matrix to gh actions (#742)
Browse files Browse the repository at this point in the history
* Adding rufus scheduler matrix to gh actions

* Exclude rufus 3.3

* Use last supported rufus version as default

* Excluding ruby 3.2 with rufus 3.2

* Stop all of the warnings

* Excluding more failing versions

* Stop all of the warnings

* Cleanup unneeded dependencies in gemspec

* Stop clobbering all of the env variables

* Ensure some test env variables are reset

* Excluding more failures

* more failing matrix entries

* Hopefully last exclusion

* Another round of tweaks

* Another round of fixes

* Another round of fixes

* One last exclusion

* Adding continue-on-error
  • Loading branch information
iloveitaly authored Feb 21, 2022
1 parent bfbc753 commit a6840a4
Show file tree
Hide file tree
Showing 7 changed files with 77 additions and 26 deletions.
66 changes: 61 additions & 5 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:

jobs:
test:
continue-on-error: true
runs-on: ubuntu-latest
services:
redis:
Expand All @@ -27,17 +28,72 @@ jobs:
- 3.1
- head
- jruby-9.1.17.0
- jruby-9.2.9.0
- jruby-9.2.19.0
- "jruby-9.2.20.0"
- jruby-9.3.3.0
resque-version:
- "master"
- "~> 2.0.0"
- "~> 2.2.0"
- "~> 1.27"
rufus-scheduler:
- "3.2"
- "3.4"
- "3.5"
- "3.6"
exclude:
- ruby-version: head
rufus-scheduler: 3.2

- ruby-version: 2.3
resque-version: 1.27
rufus-scheduler: 3.4
- ruby-version: 2.3
resque-version: 1.27
rufus-scheduler: 3.5
- ruby-version: 2.5
resque-version: 2.2.0
rufus-scheduler: 3.5
- ruby-version: 2.5
resque-version: master
rufus-scheduler: 3.2

- ruby-version: jruby-9.1.17.0
resque-version: master
rufus-scheduler: 3.5
- ruby-version: jruby-9.1.17.0
resque-version: 2.2.0
rufus-scheduler: 3.2

- ruby-version: jruby-9.2.20.0
resque-version: 2.0.0
rufus-scheduler: 3.4
- ruby-version: jruby-9.2.20.0
resque-version: 2.0.0
rufus-scheduler: 3.5

- ruby-version: jruby-9.3.3.0
resque-version: 2.2.0
rufus-scheduler: 3.5

- ruby-version: jruby-9.3.3.0
resque-version: master
rufus-scheduler: 3.2
- ruby-version: jruby-9.3.3.0
resque-version: master
rufus-scheduler: 3.4
- ruby-version: jruby-9.3.3.0
resque-version: master
rufus-scheduler: 3.5
- ruby-version: jruby-9.3.3.0
resque-version: master
rufus-scheduler: 3.6

- ruby-version: jruby-9.3.3.0
resque-version: 1.27
rufus-scheduler: 3.2
env:
RESQUE: "${{ matrix.resque-version }}"
RUFUS_SCHEDULER: "${{ matrix.rufus-scheduler }}"
COVERAGE: 1
JRUBY_OPTS: ""
RUBYOPT: "-W0"

steps:
- uses: actions/checkout@v2
Expand Down
12 changes: 9 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# vim:fileencoding=utf-8
source 'https://rubygems.org'

case req = ENV['RESQUE']
when nil
case resque_version = ENV.fetch('RESQUE', 'master')
when 'master'
gem 'resque', git: 'https://github.com/resque/resque'
else
gem 'resque', req
gem 'resque', resque_version
end

case rufus_scheduler_version = ENV.fetch('RUFUS_SCHEDULER', '3.6')
when 'master'
gem 'rufus-scheduler', git: 'https://github.com/jmettraux/rufus-scheduler'
else
gem 'rufus-scheduler', rufus_scheduler_version
end

gemspec
1 change: 1 addition & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Rake::TestTask.new do |t|
o << "--seed #{ENV['SEED']} " if ENV['SEED']
o << '--verbose ' if ENV['VERBOSE']
end
t.warning = false
end

YARD::Rake::YardocTask.new
7 changes: 3 additions & 4 deletions resque-scheduler.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,14 @@ Gem::Specification.new do |spec|
spec.files = `git ls-files -z`.split("\0").reject do |f|
f.match(%r{^(test|spec|features|examples|bin|tasks)/}) ||
f.match(/^(Vagrantfile|Gemfile\.lock)/) ||
f.match(/^\.(rubocop|simplecov|travis|vagrant|gitignore)/)
f.match(/^\.(rubocop|simplecov|vagrant|gitignore)/)
end
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = %w(lib)

spec.add_development_dependency 'bundler'
spec.add_development_dependency 'json'
spec.add_development_dependency 'kramdown'
spec.add_development_dependency 'minitest'
spec.add_development_dependency 'mocha'
spec.add_development_dependency 'pry'
Expand All @@ -51,7 +50,6 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'simplecov'
spec.add_development_dependency 'test-unit'
spec.add_development_dependency 'yard'
spec.add_development_dependency 'tzinfo-data'
spec.add_development_dependency 'timecop'

# We pin rubocop because new cops have a tendency to result in false-y
Expand All @@ -62,5 +60,6 @@ Gem::Specification.new do |spec|
spec.add_runtime_dependency 'redis', '>= 3.3'
spec.add_runtime_dependency 'resque', '>= 1.27'
# rufus-scheduler v3.7 causes a failure in test/multi_process_test.rb
spec.add_runtime_dependency 'rufus-scheduler', '~> 3.2', '< 3.7'
# rufus-scheduler v3.3 is missing a to_local method which fails tests
spec.add_runtime_dependency 'rufus-scheduler', '~> 3.2', '< 3.7', '!= 3.3'
end
2 changes: 2 additions & 0 deletions test/scheduler_locking_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ def lock_is_not_held(lock)

teardown do
Resque.redis.del(@subject.master_lock.key)
ENV['RESQUE_SCHEDULER_MASTER_LOCK_PREFIX'] = nil
end

test 'should have ENV prefix' do
Expand Down Expand Up @@ -67,6 +68,7 @@ def lock_is_not_held(lock)
teardown do
Resque.redis.namespace = 'resque'
Resque.redis.del(@subject.master_lock.key)
ENV['RESQUE_SCHEDULER_MASTER_LOCK_PREFIX'] = nil
end

test 'should have ENV prefix' do
Expand Down
1 change: 1 addition & 0 deletions test/scheduler_setup_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ def wipe
test 'uses $RAILS_ENV if present' do
ENV['RAILS_ENV'] = 'baz'
assert_equal('baz', Resque::Scheduler.env)
ENV['RAILS_ENV'] = nil
end
end

Expand Down
14 changes: 0 additions & 14 deletions test/test_helper.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# vim:fileencoding=utf-8
require 'simplecov'

require 'test/unit'
Expand Down Expand Up @@ -116,19 +115,6 @@ def self.to_s
end
end

%w(
APP_NAME
DYNAMIC_SCHEDULE
LOGFILE
LOGFORMAT
QUIET
RAILS_ENV
RESQUE_SCHEDULER_INTERVAL
VERBOSE
).each do |envvar|
ENV[envvar] = nil
end

def nullify_logger
Resque::Scheduler.configure do |c|
c.quiet = nil
Expand Down

0 comments on commit a6840a4

Please sign in to comment.