ddtrace 0.40.0 → 0.45.0

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 (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