Skip to content

Commit a6840a4

Browse files
authored
Adding rufus scheduler matrix to gh actions (#742)
* 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
1 parent bfbc753 commit a6840a4

7 files changed

Lines changed: 77 additions & 26 deletions

File tree

.github/workflows/ruby.yml

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88

99
jobs:
1010
test:
11+
continue-on-error: true
1112
runs-on: ubuntu-latest
1213
services:
1314
redis:
@@ -27,17 +28,72 @@ jobs:
2728
- 3.1
2829
- head
2930
- jruby-9.1.17.0
30-
- jruby-9.2.9.0
31-
- jruby-9.2.19.0
31+
- "jruby-9.2.20.0"
32+
- jruby-9.3.3.0
3233
resque-version:
3334
- "master"
34-
- "~> 2.0.0"
35+
- "~> 2.2.0"
3536
- "~> 1.27"
37+
rufus-scheduler:
38+
- "3.2"
39+
- "3.4"
40+
- "3.5"
41+
- "3.6"
42+
exclude:
43+
- ruby-version: head
44+
rufus-scheduler: 3.2
45+
46+
- ruby-version: 2.3
47+
resque-version: 1.27
48+
rufus-scheduler: 3.4
49+
- ruby-version: 2.3
50+
resque-version: 1.27
51+
rufus-scheduler: 3.5
52+
- ruby-version: 2.5
53+
resque-version: 2.2.0
54+
rufus-scheduler: 3.5
55+
- ruby-version: 2.5
56+
resque-version: master
57+
rufus-scheduler: 3.2
58+
59+
- ruby-version: jruby-9.1.17.0
60+
resque-version: master
61+
rufus-scheduler: 3.5
62+
- ruby-version: jruby-9.1.17.0
63+
resque-version: 2.2.0
64+
rufus-scheduler: 3.2
65+
66+
- ruby-version: jruby-9.2.20.0
67+
resque-version: 2.0.0
68+
rufus-scheduler: 3.4
69+
- ruby-version: jruby-9.2.20.0
70+
resque-version: 2.0.0
71+
rufus-scheduler: 3.5
72+
73+
- ruby-version: jruby-9.3.3.0
74+
resque-version: 2.2.0
75+
rufus-scheduler: 3.5
76+
77+
- ruby-version: jruby-9.3.3.0
78+
resque-version: master
79+
rufus-scheduler: 3.2
80+
- ruby-version: jruby-9.3.3.0
81+
resque-version: master
82+
rufus-scheduler: 3.4
83+
- ruby-version: jruby-9.3.3.0
84+
resque-version: master
85+
rufus-scheduler: 3.5
86+
- ruby-version: jruby-9.3.3.0
87+
resque-version: master
88+
rufus-scheduler: 3.6
89+
90+
- ruby-version: jruby-9.3.3.0
91+
resque-version: 1.27
92+
rufus-scheduler: 3.2
3693
env:
3794
RESQUE: "${{ matrix.resque-version }}"
95+
RUFUS_SCHEDULER: "${{ matrix.rufus-scheduler }}"
3896
COVERAGE: 1
39-
JRUBY_OPTS: ""
40-
RUBYOPT: "-W0"
4197

4298
steps:
4399
- uses: actions/checkout@v2

Gemfile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
# vim:fileencoding=utf-8
22
source 'https://rubygems.org'
33

4-
case req = ENV['RESQUE']
5-
when nil
4+
case resque_version = ENV.fetch('RESQUE', 'master')
65
when 'master'
76
gem 'resque', git: 'https://github.com/resque/resque'
87
else
9-
gem 'resque', req
8+
gem 'resque', resque_version
9+
end
10+
11+
case rufus_scheduler_version = ENV.fetch('RUFUS_SCHEDULER', '3.6')
12+
when 'master'
13+
gem 'rufus-scheduler', git: 'https://github.com/jmettraux/rufus-scheduler'
14+
else
15+
gem 'rufus-scheduler', rufus_scheduler_version
1016
end
1117

1218
gemspec

Rakefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Rake::TestTask.new do |t|
1212
o << "--seed #{ENV['SEED']} " if ENV['SEED']
1313
o << '--verbose ' if ENV['VERBOSE']
1414
end
15+
t.warning = false
1516
end
1617

1718
YARD::Rake::YardocTask.new

resque-scheduler.gemspec

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,14 @@ Gem::Specification.new do |spec|
3434
spec.files = `git ls-files -z`.split("\0").reject do |f|
3535
f.match(%r{^(test|spec|features|examples|bin|tasks)/}) ||
3636
f.match(/^(Vagrantfile|Gemfile\.lock)/) ||
37-
f.match(/^\.(rubocop|simplecov|travis|vagrant|gitignore)/)
37+
f.match(/^\.(rubocop|simplecov|vagrant|gitignore)/)
3838
end
3939
spec.bindir = 'exe'
4040
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
4141
spec.require_paths = %w(lib)
4242

4343
spec.add_development_dependency 'bundler'
4444
spec.add_development_dependency 'json'
45-
spec.add_development_dependency 'kramdown'
4645
spec.add_development_dependency 'minitest'
4746
spec.add_development_dependency 'mocha'
4847
spec.add_development_dependency 'pry'
@@ -51,7 +50,6 @@ Gem::Specification.new do |spec|
5150
spec.add_development_dependency 'simplecov'
5251
spec.add_development_dependency 'test-unit'
5352
spec.add_development_dependency 'yard'
54-
spec.add_development_dependency 'tzinfo-data'
5553
spec.add_development_dependency 'timecop'
5654

5755
# We pin rubocop because new cops have a tendency to result in false-y
@@ -62,5 +60,6 @@ Gem::Specification.new do |spec|
6260
spec.add_runtime_dependency 'redis', '>= 3.3'
6361
spec.add_runtime_dependency 'resque', '>= 1.27'
6462
# rufus-scheduler v3.7 causes a failure in test/multi_process_test.rb
65-
spec.add_runtime_dependency 'rufus-scheduler', '~> 3.2', '< 3.7'
63+
# rufus-scheduler v3.3 is missing a to_local method which fails tests
64+
spec.add_runtime_dependency 'rufus-scheduler', '~> 3.2', '< 3.7', '!= 3.3'
6665
end

test/scheduler_locking_test.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def lock_is_not_held(lock)
3030

3131
teardown do
3232
Resque.redis.del(@subject.master_lock.key)
33+
ENV['RESQUE_SCHEDULER_MASTER_LOCK_PREFIX'] = nil
3334
end
3435

3536
test 'should have ENV prefix' do
@@ -67,6 +68,7 @@ def lock_is_not_held(lock)
6768
teardown do
6869
Resque.redis.namespace = 'resque'
6970
Resque.redis.del(@subject.master_lock.key)
71+
ENV['RESQUE_SCHEDULER_MASTER_LOCK_PREFIX'] = nil
7072
end
7173

7274
test 'should have ENV prefix' do

test/scheduler_setup_test.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def wipe
5858
test 'uses $RAILS_ENV if present' do
5959
ENV['RAILS_ENV'] = 'baz'
6060
assert_equal('baz', Resque::Scheduler.env)
61+
ENV['RAILS_ENV'] = nil
6162
end
6263
end
6364

test/test_helper.rb

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# vim:fileencoding=utf-8
21
require 'simplecov'
32

43
require 'test/unit'
@@ -116,19 +115,6 @@ def self.to_s
116115
end
117116
end
118117

119-
%w(
120-
APP_NAME
121-
DYNAMIC_SCHEDULE
122-
LOGFILE
123-
LOGFORMAT
124-
QUIET
125-
RAILS_ENV
126-
RESQUE_SCHEDULER_INTERVAL
127-
VERBOSE
128-
).each do |envvar|
129-
ENV[envvar] = nil
130-
end
131-
132118
def nullify_logger
133119
Resque::Scheduler.configure do |c|
134120
c.quiet = nil

0 commit comments

Comments
 (0)