ddtrace 0.40.0 → 0.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +148 -130
  3. data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
  4. data/.github/workflows/add-milestone-to-pull-requests.yml +42 -0
  5. data/.github/workflows/create-next-milestone.yml +20 -0
  6. data/.simplecov +3 -0
  7. data/Appraisals +414 -135
  8. data/CHANGELOG.md +1112 -342
  9. data/CONTRIBUTING.md +2 -2
  10. data/Gemfile +4 -2
  11. data/README.md +1 -0
  12. data/Rakefile +231 -29
  13. data/ddtrace.gemspec +8 -8
  14. data/docker-compose.yml +30 -0
  15. data/docs/DevelopmentGuide.md +12 -2
  16. data/docs/GettingStarted.md +187 -16
  17. data/lib/ddtrace.rb +10 -0
  18. data/lib/ddtrace/auto_instrument.rb +3 -0
  19. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  20. data/lib/ddtrace/buffer.rb +259 -52
  21. data/lib/ddtrace/configuration.rb +19 -0
  22. data/lib/ddtrace/configuration/options.rb +3 -1
  23. data/lib/ddtrace/configuration/settings.rb +9 -3
  24. data/lib/ddtrace/context.rb +18 -0
  25. data/lib/ddtrace/context_provider.rb +17 -5
  26. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  27. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  28. data/lib/ddtrace/contrib/action_view/event.rb +0 -4
  29. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  30. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  31. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  32. data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
  33. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  34. data/lib/ddtrace/contrib/active_record/utils.rb +67 -21
  35. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +104 -3
  36. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +21 -0
  37. data/lib/ddtrace/contrib/active_support/ext.rb +3 -0
  38. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  39. data/lib/ddtrace/contrib/active_support/notifications/event.rb +10 -0
  40. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +2 -2
  41. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  42. data/lib/ddtrace/contrib/aws/instrumentation.rb +6 -1
  43. data/lib/ddtrace/contrib/aws/patcher.rb +0 -1
  44. data/lib/ddtrace/contrib/aws/services.rb +1 -0
  45. data/lib/ddtrace/contrib/configurable.rb +2 -0
  46. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +6 -5
  47. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +38 -0
  48. data/lib/ddtrace/contrib/cucumber/ext.rb +19 -0
  49. data/lib/ddtrace/contrib/cucumber/formatter.rb +104 -0
  50. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +24 -0
  51. data/lib/ddtrace/contrib/cucumber/integration.rb +45 -0
  52. data/lib/ddtrace/contrib/cucumber/patcher.rb +23 -0
  53. data/lib/ddtrace/contrib/dalli/instrumentation.rb +4 -0
  54. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +2 -0
  55. data/lib/ddtrace/contrib/delayed_job/ext.rb +2 -0
  56. data/lib/ddtrace/contrib/delayed_job/plugin.rb +39 -15
  57. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +4 -0
  58. data/lib/ddtrace/contrib/ethon/easy_patch.rb +10 -7
  59. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  60. data/lib/ddtrace/contrib/ethon/multi_patch.rb +4 -0
  61. data/lib/ddtrace/contrib/excon/middleware.rb +11 -1
  62. data/lib/ddtrace/contrib/extensions.rb +27 -1
  63. data/lib/ddtrace/contrib/faraday/middleware.rb +4 -0
  64. data/lib/ddtrace/contrib/faraday/patcher.rb +1 -1
  65. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -0
  66. data/lib/ddtrace/contrib/grape/endpoint.rb +53 -18
  67. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  68. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +5 -1
  69. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -0
  70. data/lib/ddtrace/contrib/http/instrumentation.rb +6 -2
  71. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  72. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  73. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +152 -0
  74. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  75. data/lib/ddtrace/contrib/httpclient/patcher.rb +35 -0
  76. data/lib/ddtrace/contrib/httprb/instrumentation.rb +6 -3
  77. data/lib/ddtrace/contrib/kafka/event.rb +1 -1
  78. data/lib/ddtrace/contrib/mongodb/subscribers.rb +4 -0
  79. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +4 -0
  80. data/lib/ddtrace/contrib/patchable.rb +18 -7
  81. data/lib/ddtrace/contrib/presto/instrumentation.rb +3 -0
  82. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  83. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  84. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  85. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  86. data/lib/ddtrace/contrib/qless/qless_job.rb +72 -0
  87. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +32 -0
  88. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  89. data/lib/ddtrace/contrib/que/tracer.rb +2 -1
  90. data/lib/ddtrace/contrib/racecar/event.rb +4 -0
  91. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  92. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  93. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  94. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  95. data/lib/ddtrace/contrib/rails/patcher.rb +19 -5
  96. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  97. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  98. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +3 -1
  99. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  100. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  101. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  102. data/lib/ddtrace/contrib/redis/quantize.rb +27 -0
  103. data/lib/ddtrace/contrib/redis/tags.rb +9 -1
  104. data/lib/ddtrace/contrib/resque/configuration/settings.rb +1 -0
  105. data/lib/ddtrace/contrib/resque/integration.rb +1 -1
  106. data/lib/ddtrace/contrib/resque/resque_job.rb +1 -1
  107. data/lib/ddtrace/contrib/rest_client/request_patch.rb +4 -0
  108. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +38 -0
  109. data/lib/ddtrace/contrib/rspec/example.rb +61 -0
  110. data/lib/ddtrace/contrib/rspec/example_group.rb +61 -0
  111. data/lib/ddtrace/contrib/rspec/ext.rb +19 -0
  112. data/lib/ddtrace/contrib/rspec/integration.rb +46 -0
  113. data/lib/ddtrace/contrib/rspec/patcher.rb +25 -0
  114. data/lib/ddtrace/contrib/sequel/database.rb +3 -1
  115. data/lib/ddtrace/contrib/sequel/dataset.rb +3 -2
  116. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  117. data/lib/ddtrace/contrib/sequel/utils.rb +16 -5
  118. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +1 -0
  119. data/lib/ddtrace/contrib/shoryuken/tracer.rb +4 -1
  120. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  121. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +4 -1
  122. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +2 -2
  123. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  124. data/lib/ddtrace/contrib/sneakers/tracer.rb +17 -20
  125. data/lib/ddtrace/contrib/status_code_matcher.rb +67 -0
  126. data/lib/ddtrace/ext/app_types.rb +1 -0
  127. data/lib/ddtrace/ext/ci.rb +297 -0
  128. data/lib/ddtrace/ext/distributed.rb +8 -2
  129. data/lib/ddtrace/ext/git.rb +11 -0
  130. data/lib/ddtrace/ext/integration.rb +8 -0
  131. data/lib/ddtrace/ext/runtime.rb +2 -0
  132. data/lib/ddtrace/ext/test.rb +24 -0
  133. data/lib/ddtrace/opentracer/distributed_headers.rb +1 -1
  134. data/lib/ddtrace/propagation/grpc_propagator.rb +18 -6
  135. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  136. data/lib/ddtrace/runtime/identity.rb +4 -5
  137. data/lib/ddtrace/runtime/metrics.rb +6 -2
  138. data/lib/ddtrace/sampler.rb +2 -2
  139. data/lib/ddtrace/sampling/rate_limiter.rb +65 -16
  140. data/lib/ddtrace/span.rb +152 -27
  141. data/lib/ddtrace/tracer.rb +25 -13
  142. data/lib/ddtrace/transport/http/adapters/net.rb +8 -2
  143. data/lib/ddtrace/transport/http/statistics.rb +14 -1
  144. data/lib/ddtrace/transport/traces.rb +7 -2
  145. data/lib/ddtrace/utils.rb +16 -13
  146. data/lib/ddtrace/utils/forking.rb +52 -0
  147. data/lib/ddtrace/version.rb +1 -1
  148. data/lib/ddtrace/workers/runtime_metrics.rb +7 -3
  149. data/lib/ddtrace/writer.rb +19 -1
  150. metadata +111 -19
@@ -56,7 +56,7 @@ We welcome code contributions to the library, which you can [submit as a pull re
56
56
  2. **Make any changes** for your patch.
57
57
  3. **Write tests** that demonstrate how the feature works or how the bug is fixed.
58
58
  4. **Update any documentation** such as `docs/GettingStarted.md`, especially for new features.
59
- 5. **Submit the pull request** from your fork back to https://github.com/DataDog/dd-trace-rb. Bugs should merge back to `master`, and new features should merge back to the latest `dev` branch (e.g. `0.24-dev`).
59
+ 5. **Submit the pull request** from your fork back to the latest revision of the `master` branch on https://github.com/DataDog/dd-trace-rb.
60
60
 
61
61
  The pull request will be run through our CI pipeline, and a project member will review the changes with you. At a minimum, to be accepted and merged, pull requests must:
62
62
 
@@ -76,7 +76,7 @@ We also recommend that you share in your description:
76
76
 
77
77
  Pull requests will be reviewed and added to [our Community project](https://github.com/DataDog/dd-trace-rb/projects/2).
78
78
 
79
- For more information on common topics such as debugging locally, or how to write new integrations, check out [our development guide](https://github.com/DataDog/dd-trace-rb/docs/DevelopmentGuide.md). If at any point you have a question or need assistance with your pull request, feel free to mention a project member! We're always happy to help contributors with their pull requests.
79
+ For more information on common topics such as debugging locally, or how to write new integrations, check out [our development guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md). If at any point you have a question or need assistance with your pull request, feel free to mention a project member! We're always happy to help contributors with their pull requests.
80
80
 
81
81
  ## Final word
82
82
 
data/Gemfile CHANGED
@@ -2,6 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- # Add debugger for pry that's compatible with 0.10.4
6
- gem 'pry-nav', git: 'https://github.com/nixme/pry-nav.git', branch: 'master'
5
+ if RUBY_VERSION >= '3.0.0'
6
+ gem 'webrick', '>= 1.7.0' # No longer bundled by default since Ruby 3.0
7
+ end
8
+
7
9
  # This file was generated by Appraisal
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Datadog Trace Client
2
2
 
3
3
  [![CircleCI](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master.svg?style=svg&circle-token=b0bd5ef866ec7f7b018f48731bb495f2d1372cc1)](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
4
+ [![codecov](https://codecov.io/gh/DataDog/dd-trace-rb/branch/master/graph/badge.svg)](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
4
5
 
5
6
  ``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
6
7
  databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
data/Rakefile CHANGED
@@ -17,7 +17,8 @@ namespace :spec do
17
17
 
18
18
  RSpec::Core::RakeTask.new(:main) do |t, args|
19
19
  t.pattern = 'spec/**/*_spec.rb'
20
- t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry}/**/*_spec.rb'
20
+ t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry,auto_instrument}/**/*_spec.rb,'\
21
+ ' spec/**/auto_instrument_spec.rb'
21
22
  t.rspec_opts = args.to_a.join(' ')
22
23
  end
23
24
 
@@ -38,7 +39,7 @@ namespace :spec do
38
39
 
39
40
  RSpec::Core::RakeTask.new(:rails) do |t, args|
40
41
  t.pattern = 'spec/ddtrace/contrib/rails/**/*_spec.rb'
41
- t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache}*_spec.rb'
42
+ t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument}*_spec.rb'
42
43
  t.rspec_opts = args.to_a.join(' ')
43
44
  end
44
45
 
@@ -57,6 +58,16 @@ namespace :spec do
57
58
  t.rspec_opts = args.to_a.join(' ')
58
59
  end
59
60
 
61
+ RSpec::Core::RakeTask.new(:railsautoinstrument) do |t, args|
62
+ t.pattern = 'spec/ddtrace/contrib/rails/**/*auto_instrument*_spec.rb'
63
+ t.rspec_opts = args.to_a.join(' ')
64
+ end
65
+
66
+ RSpec::Core::RakeTask.new(:autoinstrument) do |t, args|
67
+ t.pattern = 'spec/ddtrace/auto_instrument_spec.rb'
68
+ t.rspec_opts = args.to_a.join(' ')
69
+ end
70
+
60
71
  RSpec::Core::RakeTask.new(:contrib) do |t, args|
61
72
  contrib_paths = [
62
73
  'analytics',
@@ -85,6 +96,7 @@ namespace :spec do
85
96
  :active_support,
86
97
  :aws,
87
98
  :concurrent_ruby,
99
+ :cucumber,
88
100
  :dalli,
89
101
  :delayed_job,
90
102
  :elasticsearch,
@@ -95,11 +107,13 @@ namespace :spec do
95
107
  :graphql,
96
108
  :grpc,
97
109
  :http,
110
+ :httpclient,
98
111
  :httprb,
99
112
  :kafka,
100
113
  :mongodb,
101
114
  :mysql2,
102
115
  :presto,
116
+ :qless,
103
117
  :que,
104
118
  :racecar,
105
119
  :rack,
@@ -107,6 +121,7 @@ namespace :spec do
107
121
  :redis,
108
122
  :resque,
109
123
  :rest_client,
124
+ :rspec,
110
125
  :sequel,
111
126
  :shoryuken,
112
127
  :sidekiq,
@@ -209,8 +224,6 @@ task :ci do
209
224
  declare 'bundle exec rake test:main'
210
225
  declare 'bundle exec rake spec:main'
211
226
  declare 'bundle exec rake spec:contrib'
212
- # Benchmarks
213
- declare 'bundle exec rake spec:benchmark'
214
227
 
215
228
  if RUBY_PLATFORM != 'java'
216
229
  # Contrib minitests
@@ -219,6 +232,7 @@ task :ci do
219
232
  declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
220
233
  declare 'bundle exec appraisal contrib-old rake spec:active_record'
221
234
  declare 'bundle exec appraisal contrib-old rake spec:active_support'
235
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
222
236
  declare 'bundle exec appraisal contrib-old rake spec:aws'
223
237
  declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
224
238
  declare 'bundle exec appraisal contrib-old rake spec:dalli'
@@ -228,6 +242,7 @@ task :ci do
228
242
  declare 'bundle exec appraisal contrib-old rake spec:excon'
229
243
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
230
244
  declare 'bundle exec appraisal contrib-old rake spec:http'
245
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
231
246
  declare 'bundle exec appraisal contrib-old rake spec:httprb'
232
247
  declare 'bundle exec appraisal contrib-old rake spec:mongodb'
233
248
  declare 'bundle exec appraisal contrib-old rake spec:mysql2'
@@ -236,6 +251,7 @@ task :ci do
236
251
  declare 'bundle exec appraisal contrib-old rake spec:redis'
237
252
  declare 'bundle exec appraisal contrib-old rake spec:resque'
238
253
  declare 'bundle exec appraisal contrib-old rake spec:rest_client'
254
+ declare 'bundle exec appraisal contrib-old rake spec:rspec'
239
255
  declare 'bundle exec appraisal contrib-old rake spec:sequel'
240
256
  declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
241
257
  declare 'bundle exec appraisal contrib-old rake spec:sinatra'
@@ -244,10 +260,12 @@ task :ci do
244
260
  # Rails minitests
245
261
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
246
262
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
263
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
247
264
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
248
265
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
249
266
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
250
267
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
268
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
251
269
  # Rails specs
252
270
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
253
271
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -265,8 +283,6 @@ task :ci do
265
283
  declare 'bundle exec rake spec:main'
266
284
  declare 'bundle exec rake spec:contrib'
267
285
  declare 'bundle exec rake spec:opentracer'
268
- # Benchmarks
269
- declare 'bundle exec rake spec:benchmark'
270
286
 
271
287
  if RUBY_PLATFORM != 'java'
272
288
  # Contrib minitests
@@ -275,6 +291,7 @@ task :ci do
275
291
  declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
276
292
  declare 'bundle exec appraisal contrib-old rake spec:active_record'
277
293
  declare 'bundle exec appraisal contrib-old rake spec:active_support'
294
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
278
295
  declare 'bundle exec appraisal contrib-old rake spec:aws'
279
296
  declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
280
297
  declare 'bundle exec appraisal contrib-old rake spec:dalli'
@@ -284,7 +301,9 @@ task :ci do
284
301
  declare 'bundle exec appraisal contrib-old rake spec:excon'
285
302
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
286
303
  declare 'bundle exec appraisal contrib-old rake spec:http'
304
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
287
305
  declare 'bundle exec appraisal contrib-old rake spec:httprb'
306
+ declare 'bundle exec appraisal contrib-old rake spec:kafka'
288
307
  declare 'bundle exec appraisal contrib-old rake spec:mongodb'
289
308
  declare 'bundle exec appraisal contrib-old rake spec:mysql2'
290
309
  declare 'bundle exec appraisal contrib-old rake spec:presto'
@@ -293,6 +312,7 @@ task :ci do
293
312
  declare 'bundle exec appraisal contrib-old rake spec:redis'
294
313
  declare 'bundle exec appraisal contrib-old rake spec:resque'
295
314
  declare 'bundle exec appraisal contrib-old rake spec:rest_client'
315
+ declare 'bundle exec appraisal contrib-old rake spec:rspec'
296
316
  declare 'bundle exec appraisal contrib-old rake spec:sequel'
297
317
  declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
298
318
  declare 'bundle exec appraisal contrib-old rake spec:sinatra'
@@ -301,14 +321,17 @@ task :ci do
301
321
  # Rails minitests
302
322
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
303
323
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
324
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
304
325
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
305
326
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
306
327
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
307
328
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
329
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
308
330
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
309
331
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
310
332
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
311
333
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
334
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
312
335
  # Rails specs
313
336
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
314
337
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -328,8 +351,6 @@ task :ci do
328
351
  declare 'bundle exec rake spec:main'
329
352
  declare 'bundle exec rake spec:contrib'
330
353
  declare 'bundle exec rake spec:opentracer'
331
- # Benchmarks
332
- declare 'bundle exec rake spec:benchmark'
333
354
 
334
355
  if RUBY_PLATFORM != 'java'
335
356
  # Contrib minitests
@@ -339,6 +360,7 @@ task :ci do
339
360
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
340
361
  declare 'bundle exec appraisal contrib rake spec:active_record'
341
362
  declare 'bundle exec appraisal contrib rake spec:active_support'
363
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
342
364
  declare 'bundle exec appraisal contrib rake spec:aws'
343
365
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
344
366
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -351,10 +373,13 @@ task :ci do
351
373
  declare 'bundle exec appraisal contrib rake spec:graphql'
352
374
  declare 'bundle exec appraisal contrib rake spec:grpc'
353
375
  declare 'bundle exec appraisal contrib rake spec:http'
376
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
354
377
  declare 'bundle exec appraisal contrib rake spec:httprb'
378
+ declare 'bundle exec appraisal contrib rake spec:kafka'
355
379
  declare 'bundle exec appraisal contrib rake spec:mongodb'
356
380
  declare 'bundle exec appraisal contrib rake spec:mysql2'
357
381
  declare 'bundle exec appraisal contrib rake spec:presto'
382
+ declare 'bundle exec appraisal contrib rake spec:qless'
358
383
  declare 'bundle exec appraisal contrib rake spec:que'
359
384
  declare 'bundle exec appraisal contrib rake spec:racecar'
360
385
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -362,6 +387,7 @@ task :ci do
362
387
  declare 'bundle exec appraisal contrib rake spec:redis'
363
388
  declare 'bundle exec appraisal contrib rake spec:resque'
364
389
  declare 'bundle exec appraisal contrib rake spec:rest_client'
390
+ declare 'bundle exec appraisal contrib rake spec:rspec'
365
391
  declare 'bundle exec appraisal contrib rake spec:sequel'
366
392
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
367
393
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -372,14 +398,17 @@ task :ci do
372
398
  # Rails minitests
373
399
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
374
400
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
401
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
375
402
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
376
403
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
377
404
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
378
405
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
406
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
379
407
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
380
408
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
381
409
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
382
410
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
411
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
383
412
  declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
384
413
  declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
385
414
  declare 'bundle exec appraisal rails5-postgres rake test:rails'
@@ -387,6 +416,7 @@ task :ci do
387
416
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
388
417
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
389
418
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
419
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
390
420
  # Rails specs
391
421
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
392
422
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -403,8 +433,6 @@ task :ci do
403
433
  declare 'bundle exec rake spec:main'
404
434
  declare 'bundle exec rake spec:contrib'
405
435
  declare 'bundle exec rake spec:opentracer'
406
- # Benchmarks
407
- declare 'bundle exec rake spec:benchmark'
408
436
 
409
437
  if RUBY_PLATFORM != 'java'
410
438
  # Contrib minitests
@@ -414,6 +442,7 @@ task :ci do
414
442
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
415
443
  declare 'bundle exec appraisal contrib rake spec:active_record'
416
444
  declare 'bundle exec appraisal contrib rake spec:active_support'
445
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
417
446
  declare 'bundle exec appraisal contrib rake spec:aws'
418
447
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
419
448
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -426,7 +455,9 @@ task :ci do
426
455
  declare 'bundle exec appraisal contrib rake spec:graphql'
427
456
  declare 'bundle exec appraisal contrib rake spec:grpc'
428
457
  declare 'bundle exec appraisal contrib rake spec:http'
458
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
429
459
  declare 'bundle exec appraisal contrib rake spec:httprb'
460
+ declare 'bundle exec appraisal contrib rake spec:kafka'
430
461
  declare 'bundle exec appraisal contrib rake spec:mongodb'
431
462
  declare 'bundle exec appraisal contrib rake spec:mysql2'
432
463
  declare 'bundle exec appraisal contrib rake spec:presto'
@@ -437,6 +468,7 @@ task :ci do
437
468
  declare 'bundle exec appraisal contrib rake spec:redis'
438
469
  declare 'bundle exec appraisal contrib rake spec:resque'
439
470
  declare 'bundle exec appraisal contrib rake spec:rest_client'
471
+ declare 'bundle exec appraisal contrib rake spec:rspec'
440
472
  declare 'bundle exec appraisal contrib rake spec:sequel'
441
473
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
442
474
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -449,14 +481,17 @@ task :ci do
449
481
  # Rails minitests
450
482
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
451
483
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
484
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
452
485
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
453
486
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
454
487
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
455
488
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
489
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
456
490
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
457
491
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
458
492
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
459
493
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
494
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
460
495
  declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
461
496
  declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
462
497
  declare 'bundle exec appraisal rails5-postgres rake test:rails'
@@ -464,6 +499,7 @@ task :ci do
464
499
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
465
500
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
466
501
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
502
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
467
503
  # Rails specs
468
504
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
469
505
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -472,6 +508,10 @@ task :ci do
472
508
  declare 'bundle exec appraisal rails4-postgres rake spec:rails'
473
509
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
474
510
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
511
+
512
+ # explicitly test resque-2x compatability
513
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
514
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
475
515
  end
476
516
  elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
477
517
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
@@ -481,12 +521,8 @@ task :ci do
481
521
  declare 'bundle exec rake spec:contrib'
482
522
  declare 'bundle exec rake spec:opentracer'
483
523
  declare 'bundle exec rake spec:opentelemetry'
484
- # Benchmarks
485
- declare 'bundle exec rake spec:benchmark'
486
524
 
487
525
  if RUBY_PLATFORM != 'java'
488
- # Benchmarks
489
- declare 'bundle exec rake benchmark'
490
526
  # Contrib minitests
491
527
  # Contrib specs
492
528
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -494,6 +530,7 @@ task :ci do
494
530
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
495
531
  declare 'bundle exec appraisal contrib rake spec:active_record'
496
532
  declare 'bundle exec appraisal contrib rake spec:active_support'
533
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
497
534
  declare 'bundle exec appraisal contrib rake spec:aws'
498
535
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
499
536
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -506,7 +543,9 @@ task :ci do
506
543
  declare 'bundle exec appraisal contrib rake spec:graphql'
507
544
  declare 'bundle exec appraisal contrib rake spec:grpc'
508
545
  declare 'bundle exec appraisal contrib rake spec:http'
546
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
509
547
  declare 'bundle exec appraisal contrib rake spec:httprb'
548
+ declare 'bundle exec appraisal contrib rake spec:kafka'
510
549
  declare 'bundle exec appraisal contrib rake spec:mongodb'
511
550
  declare 'bundle exec appraisal contrib rake spec:mysql2'
512
551
  declare 'bundle exec appraisal contrib rake spec:presto'
@@ -517,6 +556,7 @@ task :ci do
517
556
  declare 'bundle exec appraisal contrib rake spec:redis'
518
557
  declare 'bundle exec appraisal contrib rake spec:resque'
519
558
  declare 'bundle exec appraisal contrib rake spec:rest_client'
559
+ declare 'bundle exec appraisal contrib rake spec:rspec'
520
560
  declare 'bundle exec appraisal contrib rake spec:sequel'
521
561
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
522
562
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -534,9 +574,18 @@ task :ci do
534
574
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
535
575
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
536
576
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
577
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
537
578
  # Rails specs
538
579
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
539
580
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
581
+
582
+ # explicitly test resque-2x compatability
583
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
584
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
585
+
586
+ # explicitly test cucumber compatibility
587
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
588
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
540
589
  end
541
590
  elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
542
591
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
@@ -546,9 +595,6 @@ task :ci do
546
595
  declare 'bundle exec rake spec:contrib'
547
596
  declare 'bundle exec rake spec:opentracer'
548
597
  declare 'bundle exec rake spec:opentelemetry'
549
- # Benchmarks
550
- declare 'bundle exec rake spec:benchmark' if RUBY_PLATFORM != 'java' # Too slow due to repeated JVM instantiation
551
- declare 'bundle exec rake benchmark'
552
598
  # Contrib minitests
553
599
  # Contrib specs
554
600
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -556,8 +602,10 @@ task :ci do
556
602
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
557
603
  declare 'bundle exec appraisal contrib rake spec:active_record'
558
604
  declare 'bundle exec appraisal contrib rake spec:active_support'
605
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
559
606
  declare 'bundle exec appraisal contrib rake spec:aws'
560
607
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
608
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
561
609
  declare 'bundle exec appraisal contrib rake spec:dalli'
562
610
  declare 'bundle exec appraisal contrib rake spec:delayed_job'
563
611
  declare 'bundle exec appraisal contrib rake spec:elasticsearch'
@@ -568,10 +616,13 @@ task :ci do
568
616
  declare 'bundle exec appraisal contrib rake spec:graphql'
569
617
  declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
570
618
  declare 'bundle exec appraisal contrib rake spec:http'
619
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
571
620
  declare 'bundle exec appraisal contrib rake spec:httprb'
621
+ declare 'bundle exec appraisal contrib rake spec:kafka'
572
622
  declare 'bundle exec appraisal contrib rake spec:mongodb'
573
623
  declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
574
624
  declare 'bundle exec appraisal contrib rake spec:presto'
625
+ declare 'bundle exec appraisal contrib rake spec:qless'
575
626
  declare 'bundle exec appraisal contrib rake spec:que'
576
627
  declare 'bundle exec appraisal contrib rake spec:racecar'
577
628
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -579,6 +630,7 @@ task :ci do
579
630
  declare 'bundle exec appraisal contrib rake spec:redis'
580
631
  declare 'bundle exec appraisal contrib rake spec:resque'
581
632
  declare 'bundle exec appraisal contrib rake spec:rest_client'
633
+ declare 'bundle exec appraisal contrib rake spec:rspec'
582
634
  declare 'bundle exec appraisal contrib rake spec:sequel'
583
635
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
584
636
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -596,19 +648,38 @@ task :ci do
596
648
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
597
649
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
598
650
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
651
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
599
652
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
600
653
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
601
654
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
602
655
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
603
656
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
604
657
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
658
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
605
659
  # Rails specs
606
660
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
607
661
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
608
662
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
609
- # declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
663
+ declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
610
664
  declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
611
665
  declare 'bundle exec appraisal rails6-postgres rake spec:rails'
666
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
667
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
668
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
669
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
670
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
671
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
672
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
673
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
674
+
675
+ # explicitly test resque-2x compatability
676
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
677
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
678
+
679
+ # explicitly test cucumber compatibility
680
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
681
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
682
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
612
683
  elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
613
684
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
614
685
  # Main library
@@ -617,12 +688,8 @@ task :ci do
617
688
  declare 'bundle exec rake spec:contrib'
618
689
  declare 'bundle exec rake spec:opentracer'
619
690
  declare 'bundle exec rake spec:opentelemetry'
620
- # Benchmarks
621
- declare 'bundle exec rake spec:benchmark'
622
691
 
623
692
  if RUBY_PLATFORM != 'java'
624
- # Benchmarks
625
- declare 'bundle exec rake benchmark'
626
693
  # Contrib minitests
627
694
  # Contrib specs
628
695
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -630,8 +697,10 @@ task :ci do
630
697
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
631
698
  declare 'bundle exec appraisal contrib rake spec:active_record'
632
699
  declare 'bundle exec appraisal contrib rake spec:active_support'
700
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
633
701
  declare 'bundle exec appraisal contrib rake spec:aws'
634
702
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
703
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
635
704
  declare 'bundle exec appraisal contrib rake spec:dalli'
636
705
  declare 'bundle exec appraisal contrib rake spec:delayed_job'
637
706
  declare 'bundle exec appraisal contrib rake spec:elasticsearch'
@@ -642,10 +711,13 @@ task :ci do
642
711
  declare 'bundle exec appraisal contrib rake spec:graphql'
643
712
  declare 'bundle exec appraisal contrib rake spec:grpc'
644
713
  declare 'bundle exec appraisal contrib rake spec:http'
714
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
645
715
  declare 'bundle exec appraisal contrib rake spec:httprb'
716
+ declare 'bundle exec appraisal contrib rake spec:kafka'
646
717
  declare 'bundle exec appraisal contrib rake spec:mongodb'
647
718
  declare 'bundle exec appraisal contrib rake spec:mysql2'
648
719
  declare 'bundle exec appraisal contrib rake spec:presto'
720
+ declare 'bundle exec appraisal contrib rake spec:qless'
649
721
  declare 'bundle exec appraisal contrib rake spec:que'
650
722
  declare 'bundle exec appraisal contrib rake spec:racecar'
651
723
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -653,6 +725,7 @@ task :ci do
653
725
  declare 'bundle exec appraisal contrib rake spec:redis'
654
726
  declare 'bundle exec appraisal contrib rake spec:resque'
655
727
  declare 'bundle exec appraisal contrib rake spec:rest_client'
728
+ declare 'bundle exec appraisal contrib rake spec:rspec'
656
729
  declare 'bundle exec appraisal contrib rake spec:sequel'
657
730
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
658
731
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -660,6 +733,7 @@ task :ci do
660
733
  declare 'bundle exec appraisal contrib rake spec:sneakers'
661
734
  declare 'bundle exec appraisal contrib rake spec:sucker_punch'
662
735
  declare 'bundle exec appraisal contrib rake spec:suite'
736
+
663
737
  # Contrib specs with old gem versions
664
738
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
665
739
  # Rails minitests
@@ -670,33 +744,49 @@ task :ci do
670
744
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
671
745
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
672
746
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
747
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
673
748
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
674
749
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
675
750
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
676
751
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
677
752
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
678
753
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
754
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
679
755
  # Rails specs
680
756
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
681
757
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
682
758
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
683
- # declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
759
+ declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
684
760
  declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
685
761
  declare 'bundle exec appraisal rails6-postgres rake spec:rails'
762
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
763
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
764
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
765
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
766
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
767
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
768
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
769
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
770
+
771
+ # explicitly test resque-2x compatability
772
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
773
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
774
+
775
+ # explicitly test cucumber compatibility
776
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
777
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
778
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
686
779
  end
687
- elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
780
+ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION) \
781
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0')
688
782
  # Main library
689
783
  declare 'bundle exec rake test:main'
690
784
  declare 'bundle exec rake spec:main'
691
785
  declare 'bundle exec rake spec:contrib'
692
786
  declare 'bundle exec rake spec:opentracer'
693
787
  declare 'bundle exec rake spec:opentelemetry'
694
- # Benchmarks
695
- declare 'bundle exec rake spec:benchmark'
696
788
 
697
789
  if RUBY_PLATFORM != 'java'
698
- # Benchmarks
699
- declare 'bundle exec rake benchmark'
700
790
  # Contrib minitests
701
791
  # Contrib specs
702
792
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -704,8 +794,10 @@ task :ci do
704
794
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
705
795
  declare 'bundle exec appraisal contrib rake spec:active_record'
706
796
  declare 'bundle exec appraisal contrib rake spec:active_support'
797
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
707
798
  declare 'bundle exec appraisal contrib rake spec:aws'
708
799
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
800
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
709
801
  declare 'bundle exec appraisal contrib rake spec:dalli'
710
802
  declare 'bundle exec appraisal contrib rake spec:delayed_job'
711
803
  declare 'bundle exec appraisal contrib rake spec:elasticsearch'
@@ -716,10 +808,13 @@ task :ci do
716
808
  declare 'bundle exec appraisal contrib rake spec:graphql'
717
809
  declare 'bundle exec appraisal contrib rake spec:grpc'
718
810
  declare 'bundle exec appraisal contrib rake spec:http'
811
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
719
812
  declare 'bundle exec appraisal contrib rake spec:httprb'
813
+ declare 'bundle exec appraisal contrib rake spec:kafka'
720
814
  declare 'bundle exec appraisal contrib rake spec:mongodb'
721
815
  declare 'bundle exec appraisal contrib rake spec:mysql2'
722
816
  declare 'bundle exec appraisal contrib rake spec:presto'
817
+ declare 'bundle exec appraisal contrib rake spec:qless'
723
818
  declare 'bundle exec appraisal contrib rake spec:que'
724
819
  declare 'bundle exec appraisal contrib rake spec:racecar'
725
820
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -727,6 +822,7 @@ task :ci do
727
822
  declare 'bundle exec appraisal contrib rake spec:redis'
728
823
  declare 'bundle exec appraisal contrib rake spec:resque'
729
824
  declare 'bundle exec appraisal contrib rake spec:rest_client'
825
+ declare 'bundle exec appraisal contrib rake spec:rspec'
730
826
  declare 'bundle exec appraisal contrib rake spec:sequel'
731
827
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
732
828
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -734,6 +830,7 @@ task :ci do
734
830
  declare 'bundle exec appraisal contrib rake spec:sneakers'
735
831
  declare 'bundle exec appraisal contrib rake spec:sucker_punch'
736
832
  declare 'bundle exec appraisal contrib rake spec:suite'
833
+
737
834
  # Contrib specs with old gem versions
738
835
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
739
836
  # Rails minitests
@@ -744,17 +841,108 @@ task :ci do
744
841
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
745
842
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
746
843
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
844
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
747
845
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
748
846
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
749
847
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
750
848
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
751
849
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
752
850
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
851
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
753
852
  # Rails specs
754
853
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
755
854
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
855
+ declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
756
856
  declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
757
857
  declare 'bundle exec appraisal rails6-postgres rake spec:rails'
858
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
859
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
860
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
861
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
862
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
863
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
864
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
865
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
866
+
867
+ # explicitly test resque-2x compatability
868
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
869
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
870
+
871
+ # explicitly test cucumber compatibility
872
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
873
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
874
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
875
+ end
876
+ elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
877
+ # Main library
878
+ declare 'bundle exec rake test:main'
879
+ declare 'bundle exec rake spec:main'
880
+ declare 'bundle exec rake spec:contrib'
881
+ declare 'bundle exec rake spec:opentracer'
882
+ declare 'bundle exec rake spec:opentelemetry'
883
+
884
+ if RUBY_PLATFORM != 'java'
885
+ # Contrib minitests
886
+ # Contrib specs
887
+ declare 'bundle exec appraisal contrib rake spec:action_pack'
888
+ declare 'bundle exec appraisal contrib rake spec:action_view'
889
+ declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
890
+ declare 'bundle exec appraisal contrib rake spec:active_record'
891
+ declare 'bundle exec appraisal contrib rake spec:active_support'
892
+ declare 'bundle exec appraisal contrib rake spec:aws'
893
+ declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
894
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
895
+ declare 'bundle exec appraisal contrib rake spec:dalli'
896
+ declare 'bundle exec appraisal contrib rake spec:delayed_job'
897
+ declare 'bundle exec appraisal contrib rake spec:elasticsearch'
898
+ declare 'bundle exec appraisal contrib rake spec:ethon'
899
+ declare 'bundle exec appraisal contrib rake spec:excon'
900
+ declare 'bundle exec appraisal contrib rake spec:faraday'
901
+ declare 'bundle exec appraisal contrib rake spec:grape'
902
+ declare 'bundle exec appraisal contrib rake spec:graphql'
903
+ # declare 'bundle exec appraisal contrib rake spec:grpc' # Pending https://github.com/protocolbuffers/protobuf/issues/7922
904
+ declare 'bundle exec appraisal contrib rake spec:http'
905
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
906
+ declare 'bundle exec appraisal contrib rake spec:httprb'
907
+ declare 'bundle exec appraisal contrib rake spec:kafka'
908
+ declare 'bundle exec appraisal contrib rake spec:mongodb'
909
+ declare 'bundle exec appraisal contrib rake spec:mysql2'
910
+ declare 'bundle exec appraisal contrib rake spec:presto'
911
+ declare 'bundle exec appraisal contrib rake spec:qless'
912
+ declare 'bundle exec appraisal contrib rake spec:que'
913
+ # declare 'bundle exec appraisal contrib rake spec:racecar' # Pending release of our fix: https://github.com/appsignal/rdkafka-ruby/pull/144
914
+ declare 'bundle exec appraisal contrib rake spec:rack'
915
+ declare 'bundle exec appraisal contrib rake spec:rake'
916
+ declare 'bundle exec appraisal contrib rake spec:redis'
917
+ declare 'bundle exec appraisal contrib rake spec:resque'
918
+ declare 'bundle exec appraisal contrib rake spec:rest_client'
919
+ declare 'bundle exec appraisal contrib rake spec:rspec'
920
+ declare 'bundle exec appraisal contrib rake spec:sequel'
921
+ declare 'bundle exec appraisal contrib rake spec:shoryuken'
922
+ declare 'bundle exec appraisal contrib rake spec:sidekiq'
923
+ declare 'bundle exec appraisal contrib rake spec:sinatra'
924
+ declare 'bundle exec appraisal contrib rake spec:sneakers'
925
+ declare 'bundle exec appraisal contrib rake spec:sucker_punch'
926
+ declare 'bundle exec appraisal contrib rake spec:suite'
927
+
928
+ # Rails
929
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
930
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
931
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
932
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
933
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
934
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
935
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
936
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
937
+
938
+ # explicitly test resque-2x compatability
939
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
940
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
941
+
942
+ # explicitly test cucumber compatibility
943
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
944
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
945
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
758
946
  end
759
947
  end
760
948
  end
@@ -769,7 +957,13 @@ namespace :coverage do
769
957
 
770
958
  SimpleCov.collate resultset_files do
771
959
  coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report"
772
- formatter SimpleCov::Formatter::HTMLFormatter
960
+ if ENV['CI'] == 'true'
961
+ require 'codecov'
962
+ formatter SimpleCov::Formatter::MultiFormatter.new([SimpleCov::Formatter::HTMLFormatter,
963
+ SimpleCov::Formatter::Codecov])
964
+ else
965
+ formatter SimpleCov::Formatter::HTMLFormatter
966
+ end
773
967
  end
774
968
  end
775
969
 
@@ -788,4 +982,12 @@ namespace :coverage do
788
982
  end
789
983
  end
790
984
 
985
+ namespace :changelog do
986
+ task :format do
987
+ require 'pimpmychangelog'
988
+
989
+ PimpMyChangelog::CLI.run!
990
+ end
991
+ end
992
+
791
993
  task default: :test