appsignal 2.9.2.alpha.1 → 2.9.18.beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +5 -5
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
  3. data/.github/ISSUE_TEMPLATE/chore.md +14 -0
  4. data/.gitignore +1 -2
  5. data/.rubocop.yml +3 -0
  6. data/.travis.yml +25 -27
  7. data/CHANGELOG.md +632 -535
  8. data/README.md +8 -3
  9. data/Rakefile +118 -122
  10. data/SUPPORT.md +16 -0
  11. data/appsignal.gemspec +14 -4
  12. data/build_matrix.yml +16 -8
  13. data/ext/Rakefile +2 -3
  14. data/ext/agent.yml +40 -37
  15. data/ext/base.rb +37 -14
  16. data/ext/extconf.rb +3 -4
  17. data/gemfiles/capistrano2.gemfile +5 -0
  18. data/gemfiles/capistrano3.gemfile +5 -0
  19. data/gemfiles/grape.gemfile +5 -0
  20. data/gemfiles/no_dependencies.gemfile +5 -0
  21. data/gemfiles/padrino.gemfile +5 -0
  22. data/gemfiles/que.gemfile +5 -0
  23. data/gemfiles/que_beta.gemfile +10 -0
  24. data/gemfiles/rails-3.2.gemfile +5 -0
  25. data/gemfiles/rails-4.0.gemfile +5 -0
  26. data/gemfiles/rails-4.1.gemfile +5 -0
  27. data/gemfiles/rails-4.2.gemfile +5 -0
  28. data/gemfiles/rails-6.0.gemfile +1 -1
  29. data/gemfiles/resque.gemfile +5 -0
  30. data/lib/appsignal.rb +1 -4
  31. data/lib/appsignal/cli/demo.rb +5 -2
  32. data/lib/appsignal/cli/diagnose/utils.rb +2 -0
  33. data/lib/appsignal/cli/install.rb +34 -10
  34. data/lib/appsignal/cli/notify_of_deploy.rb +10 -0
  35. data/lib/appsignal/config.rb +5 -2
  36. data/lib/appsignal/event_formatter/action_view/render_formatter.rb +10 -8
  37. data/lib/appsignal/helpers/instrumentation.rb +18 -9
  38. data/lib/appsignal/helpers/metrics.rb +0 -1
  39. data/lib/appsignal/hooks.rb +3 -1
  40. data/lib/appsignal/hooks/active_support_notifications.rb +2 -5
  41. data/lib/appsignal/hooks/puma.rb +15 -13
  42. data/lib/appsignal/hooks/sequel.rb +1 -1
  43. data/lib/appsignal/hooks/sidekiq.rb +33 -8
  44. data/lib/appsignal/integrations/que.rb +9 -8
  45. data/lib/appsignal/minutely.rb +38 -19
  46. data/lib/appsignal/transaction.rb +5 -0
  47. data/lib/appsignal/utils/rails_helper.rb +4 -0
  48. data/lib/appsignal/version.rb +1 -1
  49. data/lib/puma/plugin/appsignal.rb +26 -0
  50. data/spec/lib/appsignal/cli/diagnose/utils_spec.rb +40 -0
  51. data/spec/lib/appsignal/cli/install_spec.rb +51 -7
  52. data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +10 -0
  53. data/spec/lib/appsignal/config_spec.rb +13 -8
  54. data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +38 -28
  55. data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +104 -25
  56. data/spec/lib/appsignal/hooks/puma_spec.rb +69 -39
  57. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +65 -3
  58. data/spec/lib/appsignal/hooks_spec.rb +4 -0
  59. data/spec/lib/appsignal/minutely_spec.rb +150 -88
  60. data/spec/lib/appsignal/transaction_spec.rb +27 -4
  61. data/spec/lib/appsignal_spec.rb +62 -11
  62. data/spec/lib/puma/appsignal_spec.rb +91 -0
  63. data/spec/support/{project_fixture → fixtures/projects/valid}/config/application.rb +0 -0
  64. data/spec/support/{project_fixture → fixtures/projects/valid}/config/appsignal.yml +0 -0
  65. data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/development.rb +0 -0
  66. data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/production.rb +0 -0
  67. data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/test.rb +0 -0
  68. data/spec/support/{project_fixture → fixtures/projects/valid}/log/.gitkeep +0 -0
  69. data/spec/support/helpers/config_helpers.rb +1 -1
  70. data/spec/support/helpers/wait_for_helper.rb +28 -0
  71. data/spec/support/mocks/mock_probe.rb +11 -0
  72. metadata +38 -30
  73. data/spec/support/fixtures/containers/cgroups/docker +0 -14
  74. data/spec/support/fixtures/containers/cgroups/docker_systemd +0 -8
  75. data/spec/support/fixtures/containers/cgroups/lxc +0 -10
  76. data/spec/support/fixtures/containers/cgroups/no_permission +0 -0
  77. data/spec/support/fixtures/containers/cgroups/none +0 -1
data/README.md CHANGED
@@ -6,6 +6,7 @@ issues.
6
6
 
7
7
  - [AppSignal.com website][appsignal]
8
8
  - [Documentation][docs]
9
+ - [Ruby code documentation][ruby-doc]
9
10
  - [Support][contact]
10
11
 
11
12
  [![Build Status](https://travis-ci.org/appsignal/appsignal-ruby.png?branch=master)](https://travis-ci.org/appsignal/appsignal-ruby)
@@ -230,9 +231,9 @@ BUNDLE_GEMFILE=gemfiles/sinatra.gemfile bundle exec rspec
230
231
  BUNDLE_GEMFILE=gemfiles/webmachine.gemfile bundle exec rspec
231
232
  ```
232
233
 
233
- If you have either [RVM][rvm] or [rbenv][rbenv] installed you can also use
234
- `rake generate_bundle_and_spec_all` to generate a script that runs specs for
235
- all Ruby versions and gem combinations we support.
234
+ If you have either [RVM][rvm], [rbenv][rbenv] or [chruby][chruby] installed you
235
+ can also use `rake build_matrix:local:generate` to generate a script that runs
236
+ specs for all Ruby versions and gem combinations we support.
236
237
 
237
238
  We run the suite against all of the Gemfiles mentioned above and on
238
239
  a number of different Ruby versions.
@@ -267,12 +268,15 @@ we send a package to so far on our [Stroopwafles page][waffles-page].
267
268
  AppSignal. They will help you get set up, tweak your code and make sure you get
268
269
  the most out of using AppSignal.
269
270
 
271
+ Also see our [SUPPORT.md file](SUPPORT.md).
272
+
270
273
  [appsignal]: https://appsignal.com
271
274
  [appsignal-sign-up]: https://appsignal.com/users/sign_up
272
275
  [contact]: mailto:support@appsignal.com
273
276
  [coc]: https://docs.appsignal.com/appsignal/code-of-conduct.html
274
277
  [waffles-page]: https://appsignal.com/waffles
275
278
  [docs]: http://docs.appsignal.com
279
+ [ruby-doc]: https://www.rubydoc.info/gems/appsignal
276
280
  [contributing-guide]: http://docs.appsignal.com/appsignal/contributing.html
277
281
  [supported-systems]: http://docs.appsignal.com/support/operating-systems.html
278
282
  [integrations]: http://docs.appsignal.com/ruby/integrations/index.html
@@ -286,3 +290,4 @@ the most out of using AppSignal.
286
290
  [semver]: http://semver.org/
287
291
  [rvm]: http://rvm.io/
288
292
  [rbenv]: https://github.com/rbenv/rbenv
293
+ [chruby]: https://github.com/postmodern/chruby/
data/Rakefile CHANGED
@@ -2,100 +2,134 @@ require "bundler"
2
2
  require "rubygems/package_task"
3
3
  require "fileutils"
4
4
 
5
- GEMFILES = %w[
6
- capistrano2
7
- capistrano3
8
- grape
9
- no_dependencies
10
- padrino
11
- rails-3.2
12
- rails-4.0
13
- rails-4.1
14
- rails-4.2
15
- rails-5.0
16
- resque
17
- sequel
18
- sequel-435
19
- sinatra
20
- grape
21
- webmachine
22
- que
23
- ].freeze
24
-
25
- RUBY_VERSIONS = %w[
26
- 2.0.0-p648
27
- 2.1.8
28
- 2.2.4
29
- 2.3.0
30
- 2.4.0
31
- ].freeze
32
-
33
- EXCLUSIONS = {
34
- "rails-5.0" => %w[2.0.0 2.1.8]
35
- }.freeze
36
-
37
5
  VERSION_MANAGERS = {
38
- :rbenv => ->(version) { "rbenv local #{version}" },
39
- :rvm => ->(version) { "rvm use --default #{version.split("-").first}" }
6
+ :chruby => {
7
+ :env => "#!/bin/bash\nsource /usr/local/opt/chruby/share/chruby/chruby.sh",
8
+ :switch_command => lambda { |version| "chruby #{version}" }
9
+ },
10
+ :rbenv => {
11
+ :env => "#!/bin/bash",
12
+ :switch_command => lambda { |version| "rbenv local #{version}" }
13
+ },
14
+ :rvm => {
15
+ :env => "#!/bin/bash --login",
16
+ :switch_command => lambda { |version| "rvm use --default #{version}" }
17
+ }
40
18
  }.freeze
41
19
 
42
- namespace :travis do
43
- task :generate do
44
- yaml = YAML.load_file("build_matrix.yml")
45
- matrix = yaml["matrix"]
46
- defaults = matrix["defaults"]
47
- gems = matrix["gems"]
20
+ namespace :build_matrix do
21
+ namespace :travis do
22
+ task :generate do
23
+ yaml = YAML.load_file("build_matrix.yml")
24
+ matrix = yaml["matrix"]
25
+ defaults = matrix["defaults"]
26
+
27
+ builds = []
28
+ matrix["ruby"].each do |ruby|
29
+ ruby_version = ruby["ruby"]
30
+ gemset_for_ruby(ruby, matrix).each do |gem|
31
+ next if excluded_for_ruby?(gem, ruby)
32
+
33
+ env = ""
34
+ rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
35
+ env = "_RUBYGEMS_VERSION=#{rubygems}" if rubygems
36
+ bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
37
+ env += " _BUNDLER_VERSION=#{bundler}" if bundler
38
+
39
+ builds << {
40
+ "rvm" => ruby_version,
41
+ "gemfile" => "gemfiles/#{gem["gem"]}.gemfile",
42
+ "env" => env
43
+ }
44
+ end
45
+ end
46
+ travis = yaml["travis"]
47
+ travis["matrix"]["include"] = travis["matrix"]["include"] + builds
48
+
49
+ header = "# DO NOT EDIT\n" \
50
+ "# This is a generated file by the `rake build_matrix:travis:generate` task.\n" \
51
+ "# See `build_matrix.yml` for the build matrix.\n" \
52
+ "# Generate this file with `rake build_matrix:travis:generate`.\n"
53
+ generated_yaml = header + YAML.dump(travis)
54
+ File.write(".travis.yml", generated_yaml)
55
+ puts "Generated `.travis.yml`"
56
+ puts "Build count: #{builds.length}"
57
+ end
58
+
59
+ task :validate => :generate do
60
+ `git status | grep .travis.yml 2>&1`
61
+ if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
62
+ puts "The `.travis.yml` is modified. The changes were not committed."
63
+ puts "Please run `rake build_matrix:travis:generate` and commit the changes."
64
+ exit 1
65
+ end
66
+ end
67
+ end
68
+
69
+ namespace :local do
70
+ task :generate do
71
+ yaml = YAML.load_file("build_matrix.yml")
72
+ matrix = yaml["matrix"]
73
+ defaults = matrix["defaults"]
74
+
75
+ VERSION_MANAGERS.each do |version_manager, config|
76
+ out = []
77
+ out << config[:env]
78
+ out << "rm -f .ruby-version"
79
+ out << "echo 'Using #{version_manager}'"
80
+ matrix["ruby"].each do |ruby|
81
+ ruby_version = ruby["ruby"]
82
+ out << "echo 'Switching to #{ruby_version}'"
83
+ out << "#{config[:switch_command].call(ruby_version)} || { echo 'Switching Ruby failed'; exit 1; }"
84
+ out << "ruby -v"
85
+ out << "echo 'Compiling extension'"
86
+ out << "./support/bundler_wrapper exec rake extension:install"
87
+ out << "rm -f gemfiles/*.gemfile.lock"
88
+ gemset_for_ruby(ruby, matrix).each do |gem|
89
+ next if excluded_for_ruby?(gem, ruby)
90
+ gemfile = gem["gem"]
91
+ out << "echo 'Bundling #{gemfile} in #{ruby_version}'"
92
+ rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
93
+ rubygems_version = "env _RUBYGEMS_VERSION=#{rubygems_version}" if rubygems
94
+ bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
95
+ bundler_version = "env _BUNDLER_VERSION=#{bundler}" if bundler
96
+ gemfile_env = "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile"
97
+ out << "#{bundler_version} #{rubygems_version} ./support/install_deps"
98
+ out << "#{bundler_version} #{gemfile_env} ./support/bundler_wrapper install --quiet || { echo 'Bundling failed'; exit 1; }"
99
+ out << "echo 'Running #{gemfile} in #{ruby_version}'"
100
+ out << "#{bundler_version} #{gemfile_env} ./support/bundler_wrapper exec rspec || { echo 'Running specs failed'; exit 1; }"
101
+ end
102
+ out << ""
103
+ end
104
+ out << "rm -f .ruby-version"
105
+ out << "echo 'Successfully ran specs for all environments'"
48
106
 
49
- builds = []
50
- matrix["ruby"].each do |ruby|
51
- ruby_version = ruby["ruby"]
52
- gemset =
53
- if ruby["gems"]
54
- # Only a specific gemset for this Ruby
55
- selected_gems = matrix["gemsets"].fetch(ruby["gems"])
56
- gems.select { |g| selected_gems.include?(g["gem"]) }
57
- else
58
- # All gems for this Ruby
59
- gems
107
+ script = "bundle_and_spec_all_#{version_manager}"
108
+ FileUtils.rm_f(script)
109
+ File.open(script, "w") do |file|
110
+ file.write out.join("\n")
60
111
  end
61
- gemset.each do |gem|
62
- # Don't add build if ignored for this combination of Ruby and gem
63
- next if (gem.dig("exclude", "ruby") || []).include?(ruby_version)
64
-
65
- env = ""
66
- rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
67
- env = "_RUBYGEMS_VERSION=#{rubygems}" if rubygems
68
- bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
69
- env += " _BUNDLER_VERSION=#{bundler}" if bundler
70
-
71
- builds << {
72
- "rvm" => ruby_version,
73
- "gemfile" => "gemfiles/#{gem["gem"]}.gemfile",
74
- "env" => env
75
- }
112
+ File.chmod(0o775, script)
113
+ puts "Generated #{script}"
76
114
  end
77
115
  end
78
- travis = yaml["travis"]
79
- travis["matrix"]["include"] = travis["matrix"]["include"] + builds
80
-
81
- header = "# DO NOT EDIT\n" \
82
- "# This is a generated file by the `rake travis:generate` task.\n" \
83
- "# See `build_matrix.yml` for the build matrix.\n" \
84
- "# Generate this file with `rake travis:generate`.\n"
85
- generated_yaml = header + YAML.dump(travis)
86
- File.write(".travis.yml", generated_yaml)
87
- puts "Generated `.travis.yml`"
88
- puts "Build count: #{builds.length}"
89
116
  end
90
117
 
91
- task :validate => :generate do
92
- `git status | grep .travis.yml 2>&1`
93
- if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
94
- puts "The `.travis.yml` is modified. The changes were not committed."
95
- puts "Please run `rake travis:generate` and commit the changes."
96
- exit 1
118
+ def gemset_for_ruby(ruby, matrix)
119
+ gems = matrix["gems"]
120
+ if ruby["gems"]
121
+ # Only a specific gemset for this Ruby
122
+ selected_gems = matrix["gemsets"].fetch(ruby["gems"])
123
+ gems.select { |g| selected_gems.include?(g["gem"]) }
124
+ else
125
+ # All gems for this Ruby
126
+ gems
97
127
  end
98
128
  end
129
+
130
+ def excluded_for_ruby?(gem, ruby)
131
+ (gem.dig("exclude", "ruby") || []).include?(ruby["ruby"])
132
+ end
99
133
  end
100
134
 
101
135
  namespace :build do
@@ -180,7 +214,7 @@ namespace :publish do
180
214
  Dir.chdir("#{File.dirname(__FILE__)}/pkg") do
181
215
  Dir["*.gem"].each do |gem_package|
182
216
  puts "## Publishing gem package: #{gem_package}"
183
- puts `gem push #{gem_package}`
217
+ system "gem push #{gem_package}"
184
218
  end
185
219
  end
186
220
  end
@@ -234,44 +268,6 @@ task :spec_all_gemfiles do
234
268
  end
235
269
  end
236
270
 
237
- task :generate_bundle_and_spec_all do
238
- VERSION_MANAGERS.each do |version_manager, switch_command|
239
- out = []
240
- out << if version_manager == :rvm
241
- "#!/bin/bash --login"
242
- else
243
- "#!/bin/sh"
244
- end
245
- out << "rm -f .ruby-version"
246
- out << "echo 'Using #{version_manager}'"
247
- RUBY_VERSIONS.each do |version|
248
- short_version = version.split("-").first
249
- out << "echo 'Switching to #{short_version}'"
250
- out << "#{switch_command.call(version)} || { echo 'Switching Ruby failed'; exit 1; }"
251
- out << "ruby -v"
252
- out << "echo 'Compiling extension'"
253
- out << "cd ext && rm -f appsignal-agent appsignal_extension.bundle appsignal.h libappsignal.a Makefile && ruby extconf.rb && make && cd .."
254
- GEMFILES.each do |gemfile|
255
- next if EXCLUSIONS[gemfile] && EXCLUSIONS[gemfile].include?(short_version)
256
- out << "echo 'Bundling #{gemfile} in #{short_version}'"
257
- out << "bundle --quiet --gemfile gemfiles/#{gemfile}.gemfile || { echo 'Bundling failed'; exit 1; }"
258
- out << "echo 'Running #{gemfile} in #{short_version}'"
259
- out << "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile bundle exec rspec || { echo 'Running specs failed'; exit 1; }"
260
- end
261
- end
262
- out << "rm -f .ruby-version"
263
- out << "echo 'Successfully ran specs for all environments'"
264
-
265
- script = "bundle_and_spec_all_#{version_manager}"
266
- FileUtils.rm_f(script)
267
- File.open(script, "w") do |file|
268
- file.write out.join("\n")
269
- end
270
- File.chmod(0o775, script)
271
- puts "Generated #{script}"
272
- end
273
- end
274
-
275
271
  task :console do
276
272
  require "irb"
277
273
  require "irb/completion"
@@ -0,0 +1,16 @@
1
+ # Support
2
+
3
+ [Contact us][contact] and speak directly with the engineers working on
4
+ AppSignal. They will help you get set up, tweak your code and make sure you get
5
+ the most out of using AppSignal. You can also find our documentation at
6
+ [docs.appsignal.com](https://docs.appsignal.com/).
7
+
8
+ We do not recommend creating an issue on the Ruby gem's GitHub project if it
9
+ concerns your private app data. During the support process we'll need the
10
+ AppSignal logs and other resources that contain your app's private data,
11
+ something for which the public GitHub issue tracker is not suited.
12
+
13
+ Please contact us on our website [appsignal.com](https://appsignal.com/) or via
14
+ email at [support@appsignal.com][contact].
15
+
16
+ [contact]: mailto:support@appsignal.com
@@ -2,10 +2,11 @@
2
2
 
3
3
  require File.expand_path("../lib/appsignal/version", __FILE__)
4
4
 
5
- Gem::Specification.new do |gem|
5
+ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
6
6
  gem.authors = [
7
7
  "Robert Beekman",
8
- "Thijs Cadier"
8
+ "Thijs Cadier",
9
+ "Tom de Bruijn"
9
10
  ]
10
11
  gem.email = ["support@appsignal.com"]
11
12
  gem.description = "The official appsignal.com gem"
@@ -25,13 +26,22 @@ Gem::Specification.new do |gem|
25
26
  # `Rakefile`.
26
27
  gem.extensions = %w[ext/extconf.rb]
27
28
 
29
+ gem.metadata = {
30
+ "bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
31
+ "changelog_uri" =>
32
+ "https://github.com/appsignal/appsignal-ruby/blob/master/CHANGELOG.md",
33
+ "documentation_uri" => "https://docs.appsignal.com/ruby/",
34
+ "homepage_uri" => "https://docs.appsignal.com/ruby/",
35
+ "source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
36
+ }
37
+
28
38
  gem.add_dependency "rack"
29
39
 
30
40
  gem.add_development_dependency "rake", "~> 11"
31
- gem.add_development_dependency "rspec", "~> 3.7"
41
+ gem.add_development_dependency "rspec", "~> 3.8"
32
42
  gem.add_development_dependency "pry"
33
43
  gem.add_development_dependency "timecop"
34
44
  gem.add_development_dependency "webmock"
35
45
  gem.add_development_dependency "rubocop", "0.50.0"
36
- gem.add_development_dependency "yard"
46
+ gem.add_development_dependency "yard", ">= 0.9.20"
37
47
  end
@@ -9,17 +9,18 @@ travis: # Default `.travis.yml` contents
9
9
  language: ruby
10
10
  cache:
11
11
  directories:
12
- - vendor/bundle
12
+ - "$TRAVIS_BUILD_DIR/vendor/cache"
13
13
 
14
14
  env:
15
15
  global:
16
+ - "BUNDLE_PATH=$TRAVIS_BUILD_DIR/vendor/cache"
16
17
  - "RUNNING_IN_CI=true"
17
18
  - "RAILS_ENV=test"
18
19
  - "JRUBY_OPTS=''" # Workaround https://github.com/travis-ci/travis-ci/issues/6471
19
20
 
20
21
  before_install:
21
22
  - "./support/install_deps"
22
- install: "./support/bundler_wrapper install --jobs=3 --retry=3"
23
+ install: "./support/bundler_wrapper install --jobs=3 --retry=3 --path=${BUNDLE_PATH:-$TRAVIS_BUILD_DIR/vendor/cache}"
23
24
  before_script:
24
25
  - "./support/bundler_wrapper exec rake extension:install"
25
26
  script: "./support/bundler_wrapper exec rake test"
@@ -30,11 +31,11 @@ travis: # Default `.travis.yml` contents
30
31
  matrix:
31
32
  fast_finish: true
32
33
  include: # Builds based on the matrix below are added to this list
33
- - rvm: "2.6.0"
34
+ - rvm: "2.6.4"
34
35
  gemfile: "gemfiles/no_dependencies.gemfile"
35
36
  before_script: "" # Unset default: No need to install the extension
36
37
  script:
37
- - "./support/bundler_wrapper exec rake travis:validate"
38
+ - "./support/bundler_wrapper exec rake build_matrix:travis:validate"
38
39
  - "./support/bundler_wrapper exec rubocop"
39
40
 
40
41
  matrix:
@@ -47,7 +48,6 @@ matrix:
47
48
  - "no_dependencies"
48
49
  minimal:
49
50
  - "no_dependencies"
50
- - "rails-4.2"
51
51
  - "rails-5.2"
52
52
 
53
53
  ruby:
@@ -65,7 +65,7 @@ matrix:
65
65
  gems: "none"
66
66
  - ruby: "2.5.3"
67
67
  gems: "minimal"
68
- - ruby: "2.6.0"
68
+ - ruby: "2.6.4"
69
69
  - ruby: "jruby-19mode"
70
70
  gems: "minimal"
71
71
  gems:
@@ -76,16 +76,20 @@ matrix:
76
76
  - gem: "padrino"
77
77
  bundler: "1.17.3"
78
78
  - gem: "que"
79
+ - gem: "que_beta"
80
+ exclude:
81
+ ruby:
82
+ - "2.0.0"
79
83
  - gem: "rails-3.2"
80
84
  bundler: "1.17.3"
81
85
  exclude:
82
86
  ruby:
83
- - "2.6.0"
87
+ - "2.6.4"
84
88
  - gem: "rails-4.2"
85
89
  bundler: "1.17.3"
86
90
  exclude:
87
91
  ruby:
88
- - "2.6.0"
92
+ - "2.6.4"
89
93
  - gem: "rails-5.0"
90
94
  exclude:
91
95
  ruby:
@@ -102,6 +106,10 @@ matrix:
102
106
  exclude:
103
107
  ruby:
104
108
  - "2.0.0"
109
+ - "2.1.8"
110
+ - "2.2.4"
111
+ - "2.3.8"
112
+ - "2.4.5"
105
113
  - gem: "resque"
106
114
  bundler: "1.17.3"
107
115
  - gem: "sequel"