ddtrace 0.45.0 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (586) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +22 -0
  3. data/.gitignore +7 -1
  4. data/CHANGELOG.md +406 -1
  5. data/CONTRIBUTING.md +1 -5
  6. data/LICENSE-3rdparty.csv +2 -0
  7. data/bin/ddtracerb +15 -0
  8. data/ddtrace.gemspec +19 -38
  9. data/docs/DevelopmentGuide.md +43 -0
  10. data/docs/GettingStarted.md +164 -76
  11. data/docs/ProfilingDevelopment.md +107 -0
  12. data/ext/ddtrace_profiling_native_extension/extconf.rb +28 -0
  13. data/ext/ddtrace_profiling_native_extension/profiling.c +17 -0
  14. data/lib/datadog/ci/configuration/components.rb +31 -0
  15. data/lib/datadog/ci/configuration/settings.rb +37 -0
  16. data/lib/datadog/ci/context_flush.rb +29 -0
  17. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +31 -0
  18. data/lib/datadog/ci/contrib/cucumber/ext.rb +20 -0
  19. data/lib/datadog/ci/contrib/cucumber/formatter.rb +98 -0
  20. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +27 -0
  21. data/lib/datadog/ci/contrib/cucumber/integration.rb +48 -0
  22. data/lib/datadog/ci/contrib/cucumber/patcher.rb +26 -0
  23. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +31 -0
  24. data/lib/datadog/ci/contrib/rspec/example.rb +74 -0
  25. data/lib/datadog/ci/contrib/rspec/ext.rb +19 -0
  26. data/lib/datadog/ci/contrib/rspec/integration.rb +49 -0
  27. data/lib/datadog/ci/contrib/rspec/patcher.rb +26 -0
  28. data/lib/datadog/ci/ext/app_types.rb +10 -0
  29. data/lib/datadog/ci/ext/environment.rb +443 -0
  30. data/lib/datadog/ci/ext/settings.rb +11 -0
  31. data/lib/datadog/ci/ext/test.rb +35 -0
  32. data/lib/datadog/ci/extensions.rb +18 -0
  33. data/lib/datadog/ci/test.rb +77 -0
  34. data/lib/datadog/ci.rb +17 -0
  35. data/lib/datadog/contrib.rb +69 -0
  36. data/lib/datadog/core/environment/cgroup.rb +52 -0
  37. data/lib/datadog/core/environment/class_count.rb +20 -0
  38. data/lib/datadog/core/environment/container.rb +91 -0
  39. data/lib/datadog/core/environment/ext.rb +27 -0
  40. data/lib/datadog/core/environment/gc.rb +19 -0
  41. data/lib/datadog/core/environment/identity.rb +51 -0
  42. data/lib/datadog/core/environment/socket.rb +17 -0
  43. data/lib/datadog/core/environment/thread_count.rb +19 -0
  44. data/lib/datadog/core/environment/variable_helpers.rb +42 -0
  45. data/lib/ddtrace/analytics.rb +3 -0
  46. data/lib/ddtrace/auto_instrument.rb +2 -0
  47. data/lib/ddtrace/auto_instrument_base.rb +1 -0
  48. data/lib/ddtrace/buffer.rb +10 -8
  49. data/lib/ddtrace/chunker.rb +1 -0
  50. data/lib/ddtrace/configuration/agent_settings_resolver.rb +231 -0
  51. data/lib/ddtrace/configuration/base.rb +9 -11
  52. data/lib/ddtrace/configuration/components.rb +167 -26
  53. data/lib/ddtrace/configuration/dependency_resolver.rb +1 -0
  54. data/lib/ddtrace/configuration/option.rb +1 -0
  55. data/lib/ddtrace/configuration/option_definition.rb +2 -3
  56. data/lib/ddtrace/configuration/option_definition_set.rb +1 -0
  57. data/lib/ddtrace/configuration/option_set.rb +1 -0
  58. data/lib/ddtrace/configuration/options.rb +7 -9
  59. data/lib/ddtrace/configuration/pin_setup.rb +1 -0
  60. data/lib/ddtrace/configuration/settings.rb +128 -10
  61. data/lib/ddtrace/configuration.rb +118 -26
  62. data/lib/ddtrace/context.rb +23 -20
  63. data/lib/ddtrace/context_flush.rb +15 -2
  64. data/lib/ddtrace/context_provider.rb +1 -1
  65. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +1 -0
  66. data/lib/ddtrace/contrib/action_cable/event.rb +6 -4
  67. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +1 -0
  68. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +1 -0
  69. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +1 -0
  70. data/lib/ddtrace/contrib/action_cable/events.rb +1 -0
  71. data/lib/ddtrace/contrib/action_cable/ext.rb +1 -0
  72. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +1 -0
  73. data/lib/ddtrace/contrib/action_cable/integration.rb +1 -0
  74. data/lib/ddtrace/contrib/action_cable/patcher.rb +1 -0
  75. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +22 -13
  76. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +2 -1
  77. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +1 -0
  78. data/lib/ddtrace/contrib/action_pack/ext.rb +1 -0
  79. data/lib/ddtrace/contrib/action_pack/integration.rb +1 -0
  80. data/lib/ddtrace/contrib/action_pack/patcher.rb +1 -0
  81. data/lib/ddtrace/contrib/action_pack/utils.rb +2 -1
  82. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +1 -0
  83. data/lib/ddtrace/contrib/action_view/event.rb +4 -3
  84. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  85. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  86. data/lib/ddtrace/contrib/action_view/events.rb +1 -0
  87. data/lib/ddtrace/contrib/action_view/ext.rb +1 -0
  88. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +1 -0
  89. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +1 -0
  90. data/lib/ddtrace/contrib/action_view/integration.rb +1 -0
  91. data/lib/ddtrace/contrib/action_view/patcher.rb +5 -4
  92. data/lib/ddtrace/contrib/action_view/utils.rb +2 -1
  93. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +1 -0
  94. data/lib/ddtrace/contrib/active_model_serializers/event.rb +3 -2
  95. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +1 -0
  96. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +1 -0
  97. data/lib/ddtrace/contrib/active_model_serializers/events.rb +1 -0
  98. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +1 -0
  99. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +1 -0
  100. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +1 -0
  101. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +31 -0
  102. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +108 -18
  103. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +1 -0
  104. data/lib/ddtrace/contrib/active_record/event.rb +3 -2
  105. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +1 -0
  106. data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -0
  107. data/lib/ddtrace/contrib/active_record/events.rb +1 -0
  108. data/lib/ddtrace/contrib/active_record/ext.rb +1 -0
  109. data/lib/ddtrace/contrib/active_record/integration.rb +1 -0
  110. data/lib/ddtrace/contrib/active_record/patcher.rb +1 -0
  111. data/lib/ddtrace/contrib/active_record/utils.rb +5 -3
  112. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +1 -0
  113. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +8 -7
  114. data/lib/ddtrace/contrib/active_support/cache/redis.rb +2 -5
  115. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +1 -0
  116. data/lib/ddtrace/contrib/active_support/ext.rb +1 -0
  117. data/lib/ddtrace/contrib/active_support/integration.rb +1 -0
  118. data/lib/ddtrace/contrib/active_support/notifications/event.rb +5 -3
  119. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +3 -1
  120. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +10 -5
  121. data/lib/ddtrace/contrib/active_support/patcher.rb +1 -0
  122. data/lib/ddtrace/contrib/analytics.rb +1 -0
  123. data/lib/ddtrace/contrib/auto_instrument.rb +4 -3
  124. data/lib/ddtrace/contrib/aws/configuration/settings.rb +1 -0
  125. data/lib/ddtrace/contrib/aws/ext.rb +1 -0
  126. data/lib/ddtrace/contrib/aws/instrumentation.rb +30 -0
  127. data/lib/ddtrace/contrib/aws/integration.rb +1 -0
  128. data/lib/ddtrace/contrib/aws/parsed_context.rb +1 -0
  129. data/lib/ddtrace/contrib/aws/patcher.rb +6 -0
  130. data/lib/ddtrace/contrib/aws/services.rb +3 -0
  131. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +1 -0
  132. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -0
  133. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  134. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +1 -0
  135. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +1 -0
  136. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +3 -1
  137. data/lib/ddtrace/contrib/configurable.rb +65 -40
  138. data/lib/ddtrace/contrib/configuration/resolver.rb +71 -5
  139. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +20 -20
  140. data/lib/ddtrace/contrib/configuration/settings.rb +8 -6
  141. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +1 -0
  142. data/lib/ddtrace/contrib/dalli/ext.rb +1 -0
  143. data/lib/ddtrace/contrib/dalli/instrumentation.rb +2 -1
  144. data/lib/ddtrace/contrib/dalli/integration.rb +1 -0
  145. data/lib/ddtrace/contrib/dalli/patcher.rb +2 -39
  146. data/lib/ddtrace/contrib/dalli/quantize.rb +1 -0
  147. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +1 -0
  148. data/lib/ddtrace/contrib/delayed_job/ext.rb +1 -0
  149. data/lib/ddtrace/contrib/delayed_job/integration.rb +1 -0
  150. data/lib/ddtrace/contrib/delayed_job/patcher.rb +1 -0
  151. data/lib/ddtrace/contrib/delayed_job/plugin.rb +1 -1
  152. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +1 -0
  153. data/lib/ddtrace/contrib/elasticsearch/ext.rb +1 -0
  154. data/lib/ddtrace/contrib/elasticsearch/integration.rb +1 -0
  155. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -0
  156. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +6 -2
  157. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +1 -0
  158. data/lib/ddtrace/contrib/ethon/easy_patch.rb +7 -6
  159. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  160. data/lib/ddtrace/contrib/ethon/integration.rb +1 -0
  161. data/lib/ddtrace/contrib/ethon/multi_patch.rb +2 -1
  162. data/lib/ddtrace/contrib/ethon/patcher.rb +4 -2
  163. data/lib/ddtrace/contrib/excon/configuration/settings.rb +1 -0
  164. data/lib/ddtrace/contrib/excon/ext.rb +1 -0
  165. data/lib/ddtrace/contrib/excon/integration.rb +1 -0
  166. data/lib/ddtrace/contrib/excon/middleware.rb +3 -6
  167. data/lib/ddtrace/contrib/excon/patcher.rb +1 -0
  168. data/lib/ddtrace/contrib/extensions.rb +64 -14
  169. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +1 -0
  170. data/lib/ddtrace/contrib/faraday/connection.rb +1 -0
  171. data/lib/ddtrace/contrib/faraday/ext.rb +1 -0
  172. data/lib/ddtrace/contrib/faraday/integration.rb +1 -0
  173. data/lib/ddtrace/contrib/faraday/middleware.rb +2 -3
  174. data/lib/ddtrace/contrib/faraday/patcher.rb +3 -38
  175. data/lib/ddtrace/contrib/faraday/rack_builder.rb +1 -0
  176. data/lib/ddtrace/contrib/grape/configuration/settings.rb +1 -0
  177. data/lib/ddtrace/contrib/grape/endpoint.rb +34 -31
  178. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  179. data/lib/ddtrace/contrib/grape/instrumentation.rb +4 -3
  180. data/lib/ddtrace/contrib/grape/integration.rb +1 -0
  181. data/lib/ddtrace/contrib/grape/patcher.rb +2 -43
  182. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +1 -0
  183. data/lib/ddtrace/contrib/graphql/ext.rb +1 -0
  184. data/lib/ddtrace/contrib/graphql/integration.rb +1 -0
  185. data/lib/ddtrace/contrib/graphql/patcher.rb +1 -0
  186. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +2 -0
  187. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -0
  188. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -4
  189. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +13 -8
  190. data/lib/ddtrace/contrib/grpc/ext.rb +1 -0
  191. data/lib/ddtrace/contrib/grpc/integration.rb +1 -0
  192. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +1 -0
  193. data/lib/ddtrace/contrib/grpc/patcher.rb +3 -37
  194. data/lib/ddtrace/contrib/http/circuit_breaker.rb +2 -3
  195. data/lib/ddtrace/contrib/http/configuration/settings.rb +1 -0
  196. data/lib/ddtrace/contrib/http/ext.rb +1 -0
  197. data/lib/ddtrace/contrib/http/instrumentation.rb +7 -6
  198. data/lib/ddtrace/contrib/http/integration.rb +1 -0
  199. data/lib/ddtrace/contrib/http/patcher.rb +2 -1
  200. data/lib/ddtrace/contrib/http_annotation_helper.rb +1 -0
  201. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +1 -0
  202. data/lib/ddtrace/contrib/httpclient/ext.rb +1 -0
  203. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +16 -20
  204. data/lib/ddtrace/contrib/httpclient/integration.rb +1 -0
  205. data/lib/ddtrace/contrib/httpclient/patcher.rb +8 -4
  206. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +1 -0
  207. data/lib/ddtrace/contrib/httprb/ext.rb +1 -0
  208. data/lib/ddtrace/contrib/httprb/instrumentation.rb +16 -21
  209. data/lib/ddtrace/contrib/httprb/integration.rb +1 -0
  210. data/lib/ddtrace/contrib/httprb/patcher.rb +8 -4
  211. data/lib/ddtrace/contrib/integration.rb +4 -3
  212. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +1 -0
  213. data/lib/ddtrace/contrib/kafka/consumer_event.rb +1 -0
  214. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +1 -0
  215. data/lib/ddtrace/contrib/kafka/event.rb +3 -2
  216. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +1 -0
  217. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +1 -0
  218. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +1 -0
  219. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +1 -0
  220. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +1 -0
  221. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +1 -0
  222. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +1 -0
  223. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +1 -0
  224. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +1 -0
  225. data/lib/ddtrace/contrib/kafka/events.rb +1 -0
  226. data/lib/ddtrace/contrib/kafka/ext.rb +1 -0
  227. data/lib/ddtrace/contrib/kafka/integration.rb +1 -0
  228. data/lib/ddtrace/contrib/kafka/patcher.rb +1 -0
  229. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +19 -0
  230. data/lib/ddtrace/contrib/lograge/ext.rb +11 -0
  231. data/lib/ddtrace/contrib/lograge/instrumentation.rb +39 -0
  232. data/lib/ddtrace/contrib/lograge/integration.rb +46 -0
  233. data/lib/ddtrace/contrib/{cucumber → lograge}/patcher.rb +7 -4
  234. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +1 -0
  235. data/lib/ddtrace/contrib/mongodb/ext.rb +1 -0
  236. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +5 -2
  237. data/lib/ddtrace/contrib/mongodb/integration.rb +1 -0
  238. data/lib/ddtrace/contrib/mongodb/parsers.rb +1 -0
  239. data/lib/ddtrace/contrib/mongodb/patcher.rb +3 -2
  240. data/lib/ddtrace/contrib/mongodb/subscribers.rb +3 -3
  241. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +1 -0
  242. data/lib/ddtrace/contrib/mysql2/ext.rb +1 -0
  243. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +2 -1
  244. data/lib/ddtrace/contrib/mysql2/integration.rb +1 -0
  245. data/lib/ddtrace/contrib/mysql2/patcher.rb +2 -1
  246. data/lib/ddtrace/contrib/patchable.rb +3 -2
  247. data/lib/ddtrace/contrib/patcher.rb +12 -8
  248. data/lib/ddtrace/contrib/presto/configuration/settings.rb +1 -0
  249. data/lib/ddtrace/contrib/presto/ext.rb +1 -0
  250. data/lib/ddtrace/contrib/presto/instrumentation.rb +2 -1
  251. data/lib/ddtrace/contrib/presto/integration.rb +1 -0
  252. data/lib/ddtrace/contrib/presto/patcher.rb +7 -3
  253. data/lib/ddtrace/contrib/qless/configuration/settings.rb +1 -0
  254. data/lib/ddtrace/contrib/qless/ext.rb +1 -0
  255. data/lib/ddtrace/contrib/qless/integration.rb +1 -0
  256. data/lib/ddtrace/contrib/qless/patcher.rb +5 -5
  257. data/lib/ddtrace/contrib/qless/qless_job.rb +2 -0
  258. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +2 -0
  259. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  260. data/lib/ddtrace/contrib/que/ext.rb +20 -19
  261. data/lib/ddtrace/contrib/que/integration.rb +1 -0
  262. data/lib/ddtrace/contrib/que/patcher.rb +1 -0
  263. data/lib/ddtrace/contrib/que/tracer.rb +2 -1
  264. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +1 -0
  265. data/lib/ddtrace/contrib/racecar/event.rb +4 -2
  266. data/lib/ddtrace/contrib/racecar/events/batch.rb +1 -0
  267. data/lib/ddtrace/contrib/racecar/events/consume.rb +1 -0
  268. data/lib/ddtrace/contrib/racecar/events/message.rb +1 -0
  269. data/lib/ddtrace/contrib/racecar/events.rb +1 -0
  270. data/lib/ddtrace/contrib/racecar/ext.rb +1 -0
  271. data/lib/ddtrace/contrib/racecar/integration.rb +1 -0
  272. data/lib/ddtrace/contrib/racecar/patcher.rb +1 -0
  273. data/lib/ddtrace/contrib/rack/configuration/settings.rb +4 -3
  274. data/lib/ddtrace/contrib/rack/ext.rb +1 -0
  275. data/lib/ddtrace/contrib/rack/integration.rb +1 -0
  276. data/lib/ddtrace/contrib/rack/middlewares.rb +7 -11
  277. data/lib/ddtrace/contrib/rack/patcher.rb +2 -3
  278. data/lib/ddtrace/contrib/rack/request_queue.rb +1 -0
  279. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +1 -0
  280. data/lib/ddtrace/contrib/rails/configuration/settings.rb +1 -0
  281. data/lib/ddtrace/contrib/rails/ext.rb +1 -0
  282. data/lib/ddtrace/contrib/rails/framework.rb +26 -1
  283. data/lib/ddtrace/contrib/rails/integration.rb +1 -0
  284. data/lib/ddtrace/contrib/rails/log_injection.rb +1 -40
  285. data/lib/ddtrace/contrib/rails/middlewares.rb +1 -0
  286. data/lib/ddtrace/contrib/rails/patcher.rb +18 -11
  287. data/lib/ddtrace/contrib/rails/railtie.rb +1 -0
  288. data/lib/ddtrace/contrib/rails/utils.rb +1 -0
  289. data/lib/ddtrace/contrib/rake/configuration/settings.rb +1 -0
  290. data/lib/ddtrace/contrib/rake/ext.rb +1 -0
  291. data/lib/ddtrace/contrib/rake/instrumentation.rb +6 -3
  292. data/lib/ddtrace/contrib/rake/integration.rb +1 -0
  293. data/lib/ddtrace/contrib/rake/patcher.rb +2 -1
  294. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +12 -4
  295. data/lib/ddtrace/contrib/redis/configuration/settings.rb +1 -0
  296. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  297. data/lib/ddtrace/contrib/redis/integration.rb +1 -0
  298. data/lib/ddtrace/contrib/redis/patcher.rb +1 -0
  299. data/lib/ddtrace/contrib/redis/quantize.rb +2 -0
  300. data/lib/ddtrace/contrib/redis/tags.rb +1 -0
  301. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  302. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +7 -7
  303. data/lib/ddtrace/contrib/registerable.rb +5 -4
  304. data/lib/ddtrace/contrib/registry.rb +3 -2
  305. data/lib/ddtrace/contrib/resque/configuration/settings.rb +18 -1
  306. data/lib/ddtrace/contrib/resque/ext.rb +1 -0
  307. data/lib/ddtrace/contrib/resque/integration.rb +2 -1
  308. data/lib/ddtrace/contrib/resque/patcher.rb +5 -4
  309. data/lib/ddtrace/contrib/resque/resque_job.rb +25 -1
  310. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +1 -0
  311. data/lib/ddtrace/contrib/rest_client/ext.rb +1 -0
  312. data/lib/ddtrace/contrib/rest_client/integration.rb +1 -0
  313. data/lib/ddtrace/contrib/rest_client/patcher.rb +3 -1
  314. data/lib/ddtrace/contrib/rest_client/request_patch.rb +3 -4
  315. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +19 -0
  316. data/lib/ddtrace/contrib/semantic_logger/ext.rb +11 -0
  317. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +43 -0
  318. data/lib/ddtrace/contrib/semantic_logger/integration.rb +48 -0
  319. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +26 -0
  320. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +1 -0
  321. data/lib/ddtrace/contrib/sequel/database.rb +2 -1
  322. data/lib/ddtrace/contrib/sequel/dataset.rb +2 -1
  323. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  324. data/lib/ddtrace/contrib/sequel/integration.rb +1 -0
  325. data/lib/ddtrace/contrib/sequel/patcher.rb +3 -2
  326. data/lib/ddtrace/contrib/sequel/utils.rb +6 -6
  327. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +2 -0
  328. data/lib/ddtrace/contrib/shoryuken/ext.rb +1 -0
  329. data/lib/ddtrace/contrib/shoryuken/integration.rb +1 -0
  330. data/lib/ddtrace/contrib/shoryuken/patcher.rb +1 -0
  331. data/lib/ddtrace/contrib/shoryuken/tracer.rb +8 -4
  332. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +1 -0
  333. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  334. data/lib/ddtrace/contrib/sidekiq/ext.rb +1 -0
  335. data/lib/ddtrace/contrib/sidekiq/integration.rb +1 -0
  336. data/lib/ddtrace/contrib/sidekiq/patcher.rb +1 -0
  337. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +3 -7
  338. data/lib/ddtrace/contrib/sidekiq/tracing.rb +1 -1
  339. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +1 -0
  340. data/lib/ddtrace/contrib/sinatra/env.rb +2 -3
  341. data/lib/ddtrace/contrib/sinatra/ext.rb +1 -0
  342. data/lib/ddtrace/contrib/sinatra/headers.rb +2 -3
  343. data/lib/ddtrace/contrib/sinatra/integration.rb +1 -0
  344. data/lib/ddtrace/contrib/sinatra/patcher.rb +3 -1
  345. data/lib/ddtrace/contrib/sinatra/tracer.rb +14 -6
  346. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +11 -4
  347. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  348. data/lib/ddtrace/contrib/sneakers/ext.rb +12 -11
  349. data/lib/ddtrace/contrib/sneakers/integration.rb +1 -0
  350. data/lib/ddtrace/contrib/sneakers/patcher.rb +1 -0
  351. data/lib/ddtrace/contrib/sneakers/tracer.rb +3 -4
  352. data/lib/ddtrace/contrib/status_code_matcher.rb +6 -3
  353. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +1 -0
  354. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +5 -6
  355. data/lib/ddtrace/contrib/sucker_punch/ext.rb +1 -0
  356. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +5 -0
  357. data/lib/ddtrace/contrib/sucker_punch/integration.rb +1 -0
  358. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +2 -0
  359. data/lib/ddtrace/correlation.rb +3 -1
  360. data/lib/ddtrace/diagnostics/environment_logger.rb +9 -7
  361. data/lib/ddtrace/diagnostics/health.rb +1 -0
  362. data/lib/ddtrace/distributed_tracing/headers/b3.rb +1 -0
  363. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +1 -0
  364. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -0
  365. data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
  366. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +2 -3
  367. data/lib/ddtrace/encoding.rb +3 -0
  368. data/lib/ddtrace/error.rb +78 -8
  369. data/lib/ddtrace/event.rb +1 -0
  370. data/lib/ddtrace/ext/analytics.rb +1 -0
  371. data/lib/ddtrace/ext/app_types.rb +1 -1
  372. data/lib/ddtrace/ext/correlation.rb +1 -0
  373. data/lib/ddtrace/ext/diagnostics.rb +1 -0
  374. data/lib/ddtrace/ext/distributed.rb +2 -1
  375. data/lib/ddtrace/ext/environment.rb +8 -0
  376. data/lib/ddtrace/ext/errors.rb +1 -0
  377. data/lib/ddtrace/ext/forced_tracing.rb +1 -0
  378. data/lib/ddtrace/ext/git.rb +10 -1
  379. data/lib/ddtrace/ext/http.rb +2 -1
  380. data/lib/ddtrace/ext/integration.rb +1 -0
  381. data/lib/ddtrace/ext/manual_tracing.rb +1 -0
  382. data/lib/ddtrace/ext/metrics.rb +1 -0
  383. data/lib/ddtrace/ext/net.rb +1 -0
  384. data/lib/ddtrace/ext/priority.rb +1 -0
  385. data/lib/ddtrace/ext/profiling.rb +56 -0
  386. data/lib/ddtrace/ext/runtime.rb +1 -7
  387. data/lib/ddtrace/ext/sampling.rb +1 -0
  388. data/lib/ddtrace/ext/sql.rb +1 -0
  389. data/lib/ddtrace/ext/test.rb +3 -18
  390. data/lib/ddtrace/ext/transport.rb +3 -0
  391. data/lib/ddtrace/forced_tracing.rb +3 -0
  392. data/lib/ddtrace/logger.rb +2 -1
  393. data/lib/ddtrace/metrics.rb +84 -24
  394. data/lib/ddtrace/opentelemetry/extensions.rb +2 -1
  395. data/lib/ddtrace/opentelemetry/span.rb +1 -0
  396. data/lib/ddtrace/opentracer/binary_propagator.rb +1 -0
  397. data/lib/ddtrace/opentracer/carrier.rb +1 -0
  398. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -0
  399. data/lib/ddtrace/opentracer/global_tracer.rb +1 -0
  400. data/lib/ddtrace/opentracer/propagator.rb +1 -0
  401. data/lib/ddtrace/opentracer/rack_propagator.rb +1 -0
  402. data/lib/ddtrace/opentracer/scope.rb +1 -0
  403. data/lib/ddtrace/opentracer/scope_manager.rb +1 -0
  404. data/lib/ddtrace/opentracer/span.rb +3 -6
  405. data/lib/ddtrace/opentracer/span_context.rb +1 -0
  406. data/lib/ddtrace/opentracer/span_context_factory.rb +1 -0
  407. data/lib/ddtrace/opentracer/text_map_propagator.rb +1 -0
  408. data/lib/ddtrace/opentracer/thread_local_scope.rb +2 -0
  409. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +1 -0
  410. data/lib/ddtrace/opentracer/tracer.rb +1 -0
  411. data/lib/ddtrace/opentracer.rb +21 -39
  412. data/lib/ddtrace/patcher.rb +28 -6
  413. data/lib/ddtrace/pin.rb +9 -61
  414. data/lib/ddtrace/pipeline/span_filter.rb +2 -1
  415. data/lib/ddtrace/pipeline/span_processor.rb +1 -0
  416. data/lib/ddtrace/pipeline.rb +1 -0
  417. data/lib/ddtrace/profiling/backtrace_location.rb +33 -0
  418. data/lib/ddtrace/profiling/buffer.rb +42 -0
  419. data/lib/ddtrace/profiling/collectors/stack.rb +257 -0
  420. data/lib/ddtrace/profiling/encoding/profile.rb +38 -0
  421. data/lib/ddtrace/profiling/event.rb +14 -0
  422. data/lib/ddtrace/profiling/events/stack.rb +81 -0
  423. data/lib/ddtrace/profiling/exporter.rb +24 -0
  424. data/lib/ddtrace/profiling/ext/cpu.rb +67 -0
  425. data/lib/ddtrace/profiling/ext/cthread.rb +156 -0
  426. data/lib/ddtrace/profiling/ext/forking.rb +98 -0
  427. data/lib/ddtrace/profiling/flush.rb +44 -0
  428. data/lib/ddtrace/profiling/native_extension.rb +18 -0
  429. data/lib/ddtrace/profiling/pprof/builder.rb +120 -0
  430. data/lib/ddtrace/profiling/pprof/converter.rb +90 -0
  431. data/lib/ddtrace/profiling/pprof/message_set.rb +15 -0
  432. data/lib/ddtrace/profiling/pprof/payload.rb +19 -0
  433. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  434. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +82 -0
  435. data/lib/ddtrace/profiling/pprof/stack_sample.rb +117 -0
  436. data/lib/ddtrace/profiling/pprof/string_table.rb +11 -0
  437. data/lib/ddtrace/profiling/pprof/template.rb +119 -0
  438. data/lib/ddtrace/profiling/preload.rb +4 -0
  439. data/lib/ddtrace/profiling/profiler.rb +31 -0
  440. data/lib/ddtrace/profiling/recorder.rb +96 -0
  441. data/lib/ddtrace/profiling/scheduler.rb +134 -0
  442. data/lib/ddtrace/profiling/tasks/setup.rb +82 -0
  443. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +41 -0
  444. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +46 -0
  445. data/lib/ddtrace/profiling/transport/client.rb +15 -0
  446. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +101 -0
  447. data/lib/ddtrace/profiling/transport/http/api/instance.rb +37 -0
  448. data/lib/ddtrace/profiling/transport/http/api/spec.rb +41 -0
  449. data/lib/ddtrace/profiling/transport/http/api.rb +44 -0
  450. data/lib/ddtrace/profiling/transport/http/builder.rb +29 -0
  451. data/lib/ddtrace/profiling/transport/http/client.rb +34 -0
  452. data/lib/ddtrace/profiling/transport/http/response.rb +22 -0
  453. data/lib/ddtrace/profiling/transport/http.rb +120 -0
  454. data/lib/ddtrace/profiling/transport/io/client.rb +28 -0
  455. data/lib/ddtrace/profiling/transport/io/response.rb +17 -0
  456. data/lib/ddtrace/profiling/transport/io.rb +31 -0
  457. data/lib/ddtrace/profiling/transport/parcel.rb +18 -0
  458. data/lib/ddtrace/profiling/transport/request.rb +16 -0
  459. data/lib/ddtrace/profiling/transport/response.rb +9 -0
  460. data/lib/ddtrace/profiling.rb +151 -0
  461. data/lib/ddtrace/propagation/grpc_propagator.rb +2 -0
  462. data/lib/ddtrace/propagation/http_propagator.rb +3 -2
  463. data/lib/ddtrace/quantization/hash.rb +1 -0
  464. data/lib/ddtrace/quantization/http.rb +4 -0
  465. data/lib/ddtrace/runtime/metrics.rb +21 -14
  466. data/lib/ddtrace/sampler.rb +2 -1
  467. data/lib/ddtrace/sampling/matcher.rb +1 -0
  468. data/lib/ddtrace/sampling/rate_limiter.rb +1 -0
  469. data/lib/ddtrace/sampling/rule.rb +2 -1
  470. data/lib/ddtrace/sampling/rule_sampler.rb +6 -10
  471. data/lib/ddtrace/sampling.rb +1 -0
  472. data/lib/ddtrace/span.rb +44 -19
  473. data/lib/ddtrace/sync_writer.rb +17 -15
  474. data/lib/ddtrace/tasks/exec.rb +47 -0
  475. data/lib/ddtrace/tasks/help.rb +15 -0
  476. data/lib/ddtrace/tracer.rb +48 -50
  477. data/lib/ddtrace/transport/http/adapters/net.rb +28 -8
  478. data/lib/ddtrace/transport/http/adapters/registry.rb +2 -0
  479. data/lib/ddtrace/transport/http/adapters/test.rb +1 -0
  480. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +3 -4
  481. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  482. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  483. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  484. data/lib/ddtrace/transport/http/api/map.rb +1 -0
  485. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  486. data/lib/ddtrace/transport/http/api.rb +1 -0
  487. data/lib/ddtrace/transport/http/builder.rb +8 -1
  488. data/lib/ddtrace/transport/http/client.rb +3 -1
  489. data/lib/ddtrace/transport/http/env.rb +9 -0
  490. data/lib/ddtrace/transport/http/response.rb +1 -0
  491. data/lib/ddtrace/transport/http/statistics.rb +3 -2
  492. data/lib/ddtrace/transport/http/traces.rb +6 -6
  493. data/lib/ddtrace/transport/http.rb +51 -38
  494. data/lib/ddtrace/transport/io/client.rb +17 -9
  495. data/lib/ddtrace/transport/io/response.rb +2 -3
  496. data/lib/ddtrace/transport/io/traces.rb +10 -1
  497. data/lib/ddtrace/transport/io.rb +2 -1
  498. data/lib/ddtrace/transport/parcel.rb +7 -0
  499. data/lib/ddtrace/transport/request.rb +1 -0
  500. data/lib/ddtrace/transport/response.rb +1 -0
  501. data/lib/ddtrace/transport/statistics.rb +1 -0
  502. data/lib/ddtrace/transport/traces.rb +21 -3
  503. data/lib/ddtrace/utils/compression.rb +28 -0
  504. data/lib/ddtrace/utils/database.rb +1 -0
  505. data/lib/ddtrace/utils/forking.rb +2 -1
  506. data/lib/ddtrace/utils/object_set.rb +40 -0
  507. data/lib/ddtrace/utils/only_once.rb +41 -0
  508. data/lib/ddtrace/utils/sequence.rb +18 -0
  509. data/lib/ddtrace/utils/string_table.rb +46 -0
  510. data/lib/ddtrace/utils/time.rb +34 -2
  511. data/lib/ddtrace/utils.rb +14 -2
  512. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  513. data/lib/ddtrace/vendor/active_record/connection_specification.rb +1 -0
  514. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  515. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +117 -0
  516. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +58 -0
  517. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +136 -0
  518. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +10 -0
  519. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +9 -0
  520. data/lib/ddtrace/vendor/multipart-post/multipart.rb +13 -0
  521. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +33 -0
  522. data/lib/ddtrace/version.rb +15 -2
  523. data/lib/ddtrace/worker.rb +1 -0
  524. data/lib/ddtrace/workers/async.rb +15 -5
  525. data/lib/ddtrace/workers/loop.rb +32 -5
  526. data/lib/ddtrace/workers/polling.rb +13 -5
  527. data/lib/ddtrace/workers/queue.rb +3 -1
  528. data/lib/ddtrace/workers/runtime_metrics.rb +15 -1
  529. data/lib/ddtrace/workers/trace_writer.rb +14 -16
  530. data/lib/ddtrace/workers.rb +8 -2
  531. data/lib/ddtrace/writer.rb +14 -7
  532. data/lib/ddtrace.rb +20 -56
  533. metadata +130 -446
  534. data/.circleci/config.yml +0 -566
  535. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -73
  536. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -73
  537. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -73
  538. data/.circleci/images/primary/Dockerfile-2.3.8 +0 -75
  539. data/.circleci/images/primary/Dockerfile-2.4.6 +0 -73
  540. data/.circleci/images/primary/Dockerfile-2.5.6 +0 -73
  541. data/.circleci/images/primary/Dockerfile-2.6.4 +0 -73
  542. data/.circleci/images/primary/Dockerfile-2.7.0 +0 -73
  543. data/.circleci/images/primary/Dockerfile-3.0.0 +0 -73
  544. data/.circleci/images/primary/Dockerfile-jruby-9.2 +0 -77
  545. data/.dockerignore +0 -1
  546. data/.env +0 -26
  547. data/.github/CODEOWNERS +0 -1
  548. data/.github/workflows/add-milestone-to-pull-requests.yml +0 -42
  549. data/.github/workflows/create-next-milestone.yml +0 -20
  550. data/.gitlab-ci.yml +0 -27
  551. data/.rspec +0 -1
  552. data/.rubocop.yml +0 -85
  553. data/.simplecov +0 -41
  554. data/Appraisals +0 -1350
  555. data/Gemfile +0 -9
  556. data/Rakefile +0 -993
  557. data/benchmarks/postgres_database.yml +0 -9
  558. data/benchmarks/sidekiq_test.rb +0 -154
  559. data/docker-compose.yml +0 -400
  560. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  561. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  562. data/lib/ddtrace/augmentation/shim.rb +0 -102
  563. data/lib/ddtrace/augmentation.rb +0 -13
  564. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -38
  565. data/lib/ddtrace/contrib/cucumber/ext.rb +0 -19
  566. data/lib/ddtrace/contrib/cucumber/formatter.rb +0 -104
  567. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +0 -24
  568. data/lib/ddtrace/contrib/cucumber/integration.rb +0 -45
  569. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -38
  570. data/lib/ddtrace/contrib/rspec/example.rb +0 -61
  571. data/lib/ddtrace/contrib/rspec/example_group.rb +0 -61
  572. data/lib/ddtrace/contrib/rspec/ext.rb +0 -19
  573. data/lib/ddtrace/contrib/rspec/integration.rb +0 -46
  574. data/lib/ddtrace/contrib/rspec/patcher.rb +0 -25
  575. data/lib/ddtrace/environment.rb +0 -41
  576. data/lib/ddtrace/ext/ci.rb +0 -297
  577. data/lib/ddtrace/monkey.rb +0 -58
  578. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  579. data/lib/ddtrace/runtime/class_count.rb +0 -17
  580. data/lib/ddtrace/runtime/container.rb +0 -73
  581. data/lib/ddtrace/runtime/gc.rb +0 -16
  582. data/lib/ddtrace/runtime/identity.rb +0 -40
  583. data/lib/ddtrace/runtime/object_space.rb +0 -19
  584. data/lib/ddtrace/runtime/socket.rb +0 -14
  585. data/lib/ddtrace/runtime/thread_count.rb +0 -16
  586. data/tasks/release_gem.rake +0 -28
data/Rakefile DELETED
@@ -1,993 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'ddtrace/version'
3
- require 'rubocop/rake_task' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
4
- require 'rspec/core/rake_task'
5
- require 'rake/testtask'
6
- require 'appraisal'
7
- require 'yard'
8
-
9
- Dir.glob('tasks/*.rake').each { |r| import r }
10
-
11
- desc 'Run RSpec'
12
- # rubocop:disable Metrics/BlockLength
13
- namespace :spec do
14
- task all: [:main, :benchmark,
15
- :rails, :railsredis, :railsactivejob,
16
- :elasticsearch, :http, :redis, :sidekiq, :sinatra]
17
-
18
- RSpec::Core::RakeTask.new(:main) do |t, args|
19
- t.pattern = 'spec/**/*_spec.rb'
20
- t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry,auto_instrument}/**/*_spec.rb,'\
21
- ' spec/**/auto_instrument_spec.rb'
22
- t.rspec_opts = args.to_a.join(' ')
23
- end
24
-
25
- RSpec::Core::RakeTask.new(:benchmark) do |t, args|
26
- t.pattern = 'spec/ddtrace/benchmark/**/*_spec.rb'
27
- t.rspec_opts = args.to_a.join(' ')
28
- end
29
-
30
- RSpec::Core::RakeTask.new(:opentracer) do |t, args|
31
- t.pattern = 'spec/ddtrace/opentracer/**/*_spec.rb'
32
- t.rspec_opts = args.to_a.join(' ')
33
- end
34
-
35
- RSpec::Core::RakeTask.new(:opentelemetry) do |t, args|
36
- t.pattern = 'spec/ddtrace/opentelemetry/**/*_spec.rb'
37
- t.rspec_opts = args.to_a.join(' ')
38
- end
39
-
40
- RSpec::Core::RakeTask.new(:rails) do |t, args|
41
- t.pattern = 'spec/ddtrace/contrib/rails/**/*_spec.rb'
42
- t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument}*_spec.rb'
43
- t.rspec_opts = args.to_a.join(' ')
44
- end
45
-
46
- RSpec::Core::RakeTask.new(:railsredis) do |t, args|
47
- t.pattern = 'spec/ddtrace/contrib/rails/**/*redis*_spec.rb'
48
- t.rspec_opts = args.to_a.join(' ')
49
- end
50
-
51
- RSpec::Core::RakeTask.new(:railsactivejob) do |t, args|
52
- t.pattern = 'spec/ddtrace/contrib/rails/**/*active_job*_spec.rb'
53
- t.rspec_opts = args.to_a.join(' ')
54
- end
55
-
56
- RSpec::Core::RakeTask.new(:railsdisableenv) do |t, args|
57
- t.pattern = 'spec/ddtrace/contrib/rails/**/*disable_env*_spec.rb'
58
- t.rspec_opts = args.to_a.join(' ')
59
- end
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
-
71
- RSpec::Core::RakeTask.new(:contrib) do |t, args|
72
- contrib_paths = [
73
- 'analytics',
74
- 'configurable',
75
- 'configuration/*',
76
- 'configuration/resolvers/*',
77
- 'extensions',
78
- 'integration',
79
- 'patchable',
80
- 'patcher',
81
- 'registerable',
82
- 'registry',
83
- 'registry/*'
84
- ].join(',')
85
-
86
- t.pattern = "spec/**/contrib/{#{contrib_paths}}_spec.rb"
87
- t.rspec_opts = args.to_a.join(' ')
88
- end
89
-
90
- [
91
- :action_cable,
92
- :action_pack,
93
- :action_view,
94
- :active_model_serializers,
95
- :active_record,
96
- :active_support,
97
- :aws,
98
- :concurrent_ruby,
99
- :cucumber,
100
- :dalli,
101
- :delayed_job,
102
- :elasticsearch,
103
- :ethon,
104
- :excon,
105
- :faraday,
106
- :grape,
107
- :graphql,
108
- :grpc,
109
- :http,
110
- :httpclient,
111
- :httprb,
112
- :kafka,
113
- :mongodb,
114
- :mysql2,
115
- :presto,
116
- :qless,
117
- :que,
118
- :racecar,
119
- :rack,
120
- :rake,
121
- :redis,
122
- :resque,
123
- :rest_client,
124
- :rspec,
125
- :sequel,
126
- :shoryuken,
127
- :sidekiq,
128
- :sinatra,
129
- :sneakers,
130
- :sucker_punch,
131
- :suite
132
- ].each do |contrib|
133
- RSpec::Core::RakeTask.new(contrib) do |t, args|
134
- t.pattern = "spec/ddtrace/contrib/#{contrib}/**/*_spec.rb"
135
- t.rspec_opts = args.to_a.join(' ')
136
- end
137
- end
138
- end
139
-
140
- namespace :test do
141
- task all: [:main,
142
- :rails,
143
- :monkey]
144
-
145
- Rake::TestTask.new(:main) do |t|
146
- t.libs << %w[test lib]
147
- t.test_files = FileList['test/**/*_test.rb'].reject do |path|
148
- path.include?('contrib') ||
149
- path.include?('benchmark') ||
150
- path.include?('redis') ||
151
- path.include?('monkey_test.rb')
152
- end
153
- end
154
-
155
- Rake::TestTask.new(:rails) do |t|
156
- t.libs << %w[test lib]
157
- t.test_files = FileList['test/contrib/rails/**/*_test.rb']
158
- end
159
-
160
- [
161
- ].each do |contrib|
162
- Rake::TestTask.new(contrib) do |t|
163
- t.libs << %w[test lib]
164
- t.test_files = FileList["test/contrib/#{contrib}/*_test.rb"]
165
- end
166
- end
167
-
168
- Rake::TestTask.new(:monkey) do |t|
169
- t.libs << %w[test lib]
170
- t.test_files = FileList['test/monkey_test.rb']
171
- end
172
- end
173
-
174
- Rake::TestTask.new(:benchmark) do |t|
175
- t.libs << %w[test lib]
176
- t.test_files = FileList['test/benchmark_test.rb']
177
- end
178
-
179
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
180
- RuboCop::RakeTask.new(:rubocop) do |t|
181
- t.options << ['-D', '--force-exclusion']
182
- t.patterns = ['lib/**/*.rb', 'test/**/*.rb', 'spec/**/*.rb', 'Gemfile', 'Rakefile']
183
- end
184
- end
185
-
186
- YARD::Rake::YardocTask.new(:docs) do |t|
187
- t.options += ['--title', "ddtrace #{Datadog::VERSION::STRING} documentation"]
188
- t.options += ['--markup', 'markdown']
189
- t.options += ['--markup-provider', 'redcarpet']
190
- end
191
-
192
- # Deploy tasks
193
- S3_BUCKET = 'gems.datadoghq.com'.freeze
194
- S3_DIR = ENV['S3_DIR']
195
-
196
- desc 'release the docs website'
197
- task :'release:docs' => :docs do
198
- raise 'Missing environment variable S3_DIR' if !S3_DIR || S3_DIR.empty?
199
- sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
200
- end
201
-
202
- # Declare a command for execution.
203
- # Jobs are parallelized if running in CI.
204
- def declare(*args)
205
- total_executors = ENV.key?('CIRCLE_NODE_TOTAL') ? ENV['CIRCLE_NODE_TOTAL'].to_i : nil
206
- current_executor = ENV.key?('CIRCLE_NODE_INDEX') ? ENV['CIRCLE_NODE_INDEX'].to_i : nil
207
-
208
- if total_executors && current_executor && total_executors > 1
209
- @execution_count ||= 0
210
- @execution_count += 1
211
- sh(*args) if @execution_count % total_executors == current_executor
212
- else
213
- sh(*args)
214
- end
215
- end
216
-
217
- desc 'CI task; it runs all tests for current version of Ruby'
218
- task :ci do
219
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
220
- raise NotImplementedError, "Ruby versions < #{Datadog::VERSION::MINIMUM_RUBY_VERSION} are not supported!"
221
- elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
222
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
223
- # Main library
224
- declare 'bundle exec rake test:main'
225
- declare 'bundle exec rake spec:main'
226
- declare 'bundle exec rake spec:contrib'
227
-
228
- if RUBY_PLATFORM != 'java'
229
- # Contrib minitests
230
- declare 'bundle exec appraisal contrib-old rake test:monkey'
231
- # Contrib specs
232
- declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
233
- declare 'bundle exec appraisal contrib-old rake spec:active_record'
234
- declare 'bundle exec appraisal contrib-old rake spec:active_support'
235
- declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
236
- declare 'bundle exec appraisal contrib-old rake spec:aws'
237
- declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
238
- declare 'bundle exec appraisal contrib-old rake spec:dalli'
239
- declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
240
- declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
241
- declare 'bundle exec appraisal contrib-old rake spec:ethon'
242
- declare 'bundle exec appraisal contrib-old rake spec:excon'
243
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
244
- declare 'bundle exec appraisal contrib-old rake spec:http'
245
- declare 'bundle exec appraisal contrib-old rake spec:httpclient'
246
- declare 'bundle exec appraisal contrib-old rake spec:httprb'
247
- declare 'bundle exec appraisal contrib-old rake spec:mongodb'
248
- declare 'bundle exec appraisal contrib-old rake spec:mysql2'
249
- declare 'bundle exec appraisal contrib-old rake spec:rack'
250
- declare 'bundle exec appraisal contrib-old rake spec:rake'
251
- declare 'bundle exec appraisal contrib-old rake spec:redis'
252
- declare 'bundle exec appraisal contrib-old rake spec:resque'
253
- declare 'bundle exec appraisal contrib-old rake spec:rest_client'
254
- declare 'bundle exec appraisal contrib-old rake spec:rspec'
255
- declare 'bundle exec appraisal contrib-old rake spec:sequel'
256
- declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
257
- declare 'bundle exec appraisal contrib-old rake spec:sinatra'
258
- declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
259
- declare 'bundle exec appraisal contrib-old rake spec:suite'
260
- # Rails minitests
261
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
262
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
263
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
264
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
265
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
266
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
267
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
268
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
269
- # Rails specs
270
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
271
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
272
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
273
- # Rails suite specs
274
- declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
275
- declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
276
- declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
277
- declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
278
- end
279
- elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
280
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
281
- # Main library
282
- declare 'bundle exec rake test:main'
283
- declare 'bundle exec rake spec:main'
284
- declare 'bundle exec rake spec:contrib'
285
- declare 'bundle exec rake spec:opentracer'
286
-
287
- if RUBY_PLATFORM != 'java'
288
- # Contrib minitests
289
- declare 'bundle exec appraisal contrib-old rake test:monkey'
290
- # Contrib specs
291
- declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
292
- declare 'bundle exec appraisal contrib-old rake spec:active_record'
293
- declare 'bundle exec appraisal contrib-old rake spec:active_support'
294
- declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
295
- declare 'bundle exec appraisal contrib-old rake spec:aws'
296
- declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
297
- declare 'bundle exec appraisal contrib-old rake spec:dalli'
298
- declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
299
- declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
300
- declare 'bundle exec appraisal contrib-old rake spec:ethon'
301
- declare 'bundle exec appraisal contrib-old rake spec:excon'
302
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
303
- declare 'bundle exec appraisal contrib-old rake spec:http'
304
- declare 'bundle exec appraisal contrib-old rake spec:httpclient'
305
- declare 'bundle exec appraisal contrib-old rake spec:httprb'
306
- declare 'bundle exec appraisal contrib-old rake spec:kafka'
307
- declare 'bundle exec appraisal contrib-old rake spec:mongodb'
308
- declare 'bundle exec appraisal contrib-old rake spec:mysql2'
309
- declare 'bundle exec appraisal contrib-old rake spec:presto'
310
- declare 'bundle exec appraisal contrib-old rake spec:rack'
311
- declare 'bundle exec appraisal contrib-old rake spec:rake'
312
- declare 'bundle exec appraisal contrib-old rake spec:redis'
313
- declare 'bundle exec appraisal contrib-old rake spec:resque'
314
- declare 'bundle exec appraisal contrib-old rake spec:rest_client'
315
- declare 'bundle exec appraisal contrib-old rake spec:rspec'
316
- declare 'bundle exec appraisal contrib-old rake spec:sequel'
317
- declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
318
- declare 'bundle exec appraisal contrib-old rake spec:sinatra'
319
- declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
320
- declare 'bundle exec appraisal contrib-old rake spec:suite'
321
- # Rails minitests
322
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
323
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
324
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
325
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
326
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
327
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
328
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
329
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
330
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
331
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
332
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
333
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
334
- declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
335
- # Rails specs
336
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
337
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
338
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
339
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
340
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
341
- # Rails suite specs
342
- declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
343
- declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
344
- declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
345
- declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
346
- end
347
- elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION)\
348
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
349
- # Main library
350
- declare 'bundle exec rake test:main'
351
- declare 'bundle exec rake spec:main'
352
- declare 'bundle exec rake spec:contrib'
353
- declare 'bundle exec rake spec:opentracer'
354
-
355
- if RUBY_PLATFORM != 'java'
356
- # Contrib minitests
357
- # Contrib specs
358
- declare 'bundle exec appraisal contrib rake spec:action_pack'
359
- declare 'bundle exec appraisal contrib rake spec:action_view'
360
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
361
- declare 'bundle exec appraisal contrib rake spec:active_record'
362
- declare 'bundle exec appraisal contrib rake spec:active_support'
363
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
364
- declare 'bundle exec appraisal contrib rake spec:aws'
365
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
366
- declare 'bundle exec appraisal contrib rake spec:dalli'
367
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
368
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
369
- declare 'bundle exec appraisal contrib rake spec:ethon'
370
- declare 'bundle exec appraisal contrib rake spec:excon'
371
- declare 'bundle exec appraisal contrib rake spec:faraday'
372
- declare 'bundle exec appraisal contrib rake spec:grape'
373
- declare 'bundle exec appraisal contrib rake spec:graphql'
374
- declare 'bundle exec appraisal contrib rake spec:grpc'
375
- declare 'bundle exec appraisal contrib rake spec:http'
376
- declare 'bundle exec appraisal contrib rake spec:httpclient'
377
- declare 'bundle exec appraisal contrib rake spec:httprb'
378
- declare 'bundle exec appraisal contrib rake spec:kafka'
379
- declare 'bundle exec appraisal contrib rake spec:mongodb'
380
- declare 'bundle exec appraisal contrib rake spec:mysql2'
381
- declare 'bundle exec appraisal contrib rake spec:presto'
382
- declare 'bundle exec appraisal contrib rake spec:qless'
383
- declare 'bundle exec appraisal contrib rake spec:que'
384
- declare 'bundle exec appraisal contrib rake spec:racecar'
385
- declare 'bundle exec appraisal contrib rake spec:rack'
386
- declare 'bundle exec appraisal contrib rake spec:rake'
387
- declare 'bundle exec appraisal contrib rake spec:redis'
388
- declare 'bundle exec appraisal contrib rake spec:resque'
389
- declare 'bundle exec appraisal contrib rake spec:rest_client'
390
- declare 'bundle exec appraisal contrib rake spec:rspec'
391
- declare 'bundle exec appraisal contrib rake spec:sequel'
392
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
393
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
394
- declare 'bundle exec appraisal contrib rake spec:sinatra'
395
- declare 'bundle exec appraisal contrib rake spec:sneakers'
396
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
397
- declare 'bundle exec appraisal contrib rake spec:suite'
398
- # Rails minitests
399
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
400
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
401
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
402
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
403
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
404
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
405
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
406
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
407
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
408
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
409
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
410
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
411
- declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
412
- declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
413
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
414
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
415
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
416
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
417
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
418
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
419
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
420
- # Rails specs
421
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
422
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
423
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
424
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
425
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
426
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
427
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
428
- end
429
- elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
430
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4.0')
431
- # Main library
432
- declare 'bundle exec rake test:main'
433
- declare 'bundle exec rake spec:main'
434
- declare 'bundle exec rake spec:contrib'
435
- declare 'bundle exec rake spec:opentracer'
436
-
437
- if RUBY_PLATFORM != 'java'
438
- # Contrib minitests
439
- # Contrib specs
440
- declare 'bundle exec appraisal contrib rake spec:action_pack'
441
- declare 'bundle exec appraisal contrib rake spec:action_view'
442
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
443
- declare 'bundle exec appraisal contrib rake spec:active_record'
444
- declare 'bundle exec appraisal contrib rake spec:active_support'
445
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
446
- declare 'bundle exec appraisal contrib rake spec:aws'
447
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
448
- declare 'bundle exec appraisal contrib rake spec:dalli'
449
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
450
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
451
- declare 'bundle exec appraisal contrib rake spec:ethon'
452
- declare 'bundle exec appraisal contrib rake spec:excon'
453
- declare 'bundle exec appraisal contrib rake spec:faraday'
454
- declare 'bundle exec appraisal contrib rake spec:grape'
455
- declare 'bundle exec appraisal contrib rake spec:graphql'
456
- declare 'bundle exec appraisal contrib rake spec:grpc'
457
- declare 'bundle exec appraisal contrib rake spec:http'
458
- declare 'bundle exec appraisal contrib rake spec:httpclient'
459
- declare 'bundle exec appraisal contrib rake spec:httprb'
460
- declare 'bundle exec appraisal contrib rake spec:kafka'
461
- declare 'bundle exec appraisal contrib rake spec:mongodb'
462
- declare 'bundle exec appraisal contrib rake spec:mysql2'
463
- declare 'bundle exec appraisal contrib rake spec:presto'
464
- declare 'bundle exec appraisal contrib rake spec:que'
465
- declare 'bundle exec appraisal contrib rake spec:racecar'
466
- declare 'bundle exec appraisal contrib rake spec:rack'
467
- declare 'bundle exec appraisal contrib rake spec:rake'
468
- declare 'bundle exec appraisal contrib rake spec:redis'
469
- declare 'bundle exec appraisal contrib rake spec:resque'
470
- declare 'bundle exec appraisal contrib rake spec:rest_client'
471
- declare 'bundle exec appraisal contrib rake spec:rspec'
472
- declare 'bundle exec appraisal contrib rake spec:sequel'
473
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
474
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
475
- declare 'bundle exec appraisal contrib rake spec:sinatra'
476
- declare 'bundle exec appraisal contrib rake spec:sneakers'
477
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
478
- declare 'bundle exec appraisal contrib rake spec:suite'
479
- # Contrib specs with old gem versions
480
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
481
- # Rails minitests
482
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
483
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
484
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
485
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
486
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
487
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
488
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
489
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
490
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
491
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
492
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
493
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
494
- declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
495
- declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
496
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
497
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
498
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
499
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
500
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
501
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
502
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
503
- # Rails specs
504
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
505
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
506
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
507
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
508
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
509
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
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'
515
- end
516
- elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
517
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
518
- # Main library
519
- declare 'bundle exec rake test:main'
520
- declare 'bundle exec rake spec:main'
521
- declare 'bundle exec rake spec:contrib'
522
- declare 'bundle exec rake spec:opentracer'
523
- declare 'bundle exec rake spec:opentelemetry'
524
-
525
- if RUBY_PLATFORM != 'java'
526
- # Contrib minitests
527
- # Contrib specs
528
- declare 'bundle exec appraisal contrib rake spec:action_pack'
529
- declare 'bundle exec appraisal contrib rake spec:action_view'
530
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
531
- declare 'bundle exec appraisal contrib rake spec:active_record'
532
- declare 'bundle exec appraisal contrib rake spec:active_support'
533
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
534
- declare 'bundle exec appraisal contrib rake spec:aws'
535
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
536
- declare 'bundle exec appraisal contrib rake spec:dalli'
537
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
538
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
539
- declare 'bundle exec appraisal contrib rake spec:ethon'
540
- declare 'bundle exec appraisal contrib rake spec:excon'
541
- declare 'bundle exec appraisal contrib rake spec:faraday'
542
- declare 'bundle exec appraisal contrib rake spec:grape'
543
- declare 'bundle exec appraisal contrib rake spec:graphql'
544
- declare 'bundle exec appraisal contrib rake spec:grpc'
545
- declare 'bundle exec appraisal contrib rake spec:http'
546
- declare 'bundle exec appraisal contrib rake spec:httpclient'
547
- declare 'bundle exec appraisal contrib rake spec:httprb'
548
- declare 'bundle exec appraisal contrib rake spec:kafka'
549
- declare 'bundle exec appraisal contrib rake spec:mongodb'
550
- declare 'bundle exec appraisal contrib rake spec:mysql2'
551
- declare 'bundle exec appraisal contrib rake spec:presto'
552
- declare 'bundle exec appraisal contrib rake spec:que'
553
- declare 'bundle exec appraisal contrib rake spec:racecar'
554
- declare 'bundle exec appraisal contrib rake spec:rack'
555
- declare 'bundle exec appraisal contrib rake spec:rake'
556
- declare 'bundle exec appraisal contrib rake spec:redis'
557
- declare 'bundle exec appraisal contrib rake spec:resque'
558
- declare 'bundle exec appraisal contrib rake spec:rest_client'
559
- declare 'bundle exec appraisal contrib rake spec:rspec'
560
- declare 'bundle exec appraisal contrib rake spec:sequel'
561
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
562
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
563
- declare 'bundle exec appraisal contrib rake spec:sinatra'
564
- declare 'bundle exec appraisal contrib rake spec:sneakers'
565
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
566
- declare 'bundle exec appraisal contrib rake spec:suite'
567
- # Contrib specs with old gem versions
568
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
569
- # Rails minitests
570
- # We only test Rails 5+ because older versions require Bundler < 2.0
571
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
572
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
573
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
574
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
575
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
576
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
577
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
578
- # Rails specs
579
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
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'
589
- end
590
- elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
591
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
592
- # Main library
593
- declare 'bundle exec rake test:main'
594
- declare 'bundle exec rake spec:main'
595
- declare 'bundle exec rake spec:contrib'
596
- declare 'bundle exec rake spec:opentracer'
597
- declare 'bundle exec rake spec:opentelemetry'
598
- # Contrib minitests
599
- # Contrib specs
600
- declare 'bundle exec appraisal contrib rake spec:action_pack'
601
- declare 'bundle exec appraisal contrib rake spec:action_view'
602
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
603
- declare 'bundle exec appraisal contrib rake spec:active_record'
604
- declare 'bundle exec appraisal contrib rake spec:active_support'
605
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
606
- declare 'bundle exec appraisal contrib rake spec:aws'
607
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
608
- declare 'bundle exec appraisal contrib rake spec:cucumber'
609
- declare 'bundle exec appraisal contrib rake spec:dalli'
610
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
611
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
612
- declare 'bundle exec appraisal contrib rake spec:ethon'
613
- declare 'bundle exec appraisal contrib rake spec:excon'
614
- declare 'bundle exec appraisal contrib rake spec:faraday'
615
- declare 'bundle exec appraisal contrib rake spec:grape'
616
- declare 'bundle exec appraisal contrib rake spec:graphql'
617
- declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
618
- declare 'bundle exec appraisal contrib rake spec:http'
619
- declare 'bundle exec appraisal contrib rake spec:httpclient'
620
- declare 'bundle exec appraisal contrib rake spec:httprb'
621
- declare 'bundle exec appraisal contrib rake spec:kafka'
622
- declare 'bundle exec appraisal contrib rake spec:mongodb'
623
- declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
624
- declare 'bundle exec appraisal contrib rake spec:presto'
625
- declare 'bundle exec appraisal contrib rake spec:qless'
626
- declare 'bundle exec appraisal contrib rake spec:que'
627
- declare 'bundle exec appraisal contrib rake spec:racecar'
628
- declare 'bundle exec appraisal contrib rake spec:rack'
629
- declare 'bundle exec appraisal contrib rake spec:rake'
630
- declare 'bundle exec appraisal contrib rake spec:redis'
631
- declare 'bundle exec appraisal contrib rake spec:resque'
632
- declare 'bundle exec appraisal contrib rake spec:rest_client'
633
- declare 'bundle exec appraisal contrib rake spec:rspec'
634
- declare 'bundle exec appraisal contrib rake spec:sequel'
635
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
636
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
637
- declare 'bundle exec appraisal contrib rake spec:sinatra'
638
- declare 'bundle exec appraisal contrib rake spec:sneakers'
639
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
640
- declare 'bundle exec appraisal contrib rake spec:suite'
641
- # Contrib specs with old gem versions
642
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
643
- # Rails minitests
644
- # We only test Rails 5+ because older versions require Bundler < 2.0
645
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
646
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
647
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
648
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
649
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
650
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
651
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
652
- declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
653
- declare 'bundle exec appraisal rails6-postgres rake test:rails'
654
- declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
655
- declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
656
- declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
657
- declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
658
- declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
659
- # Rails specs
660
- declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
661
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
662
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
663
- declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
664
- declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
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'
683
- elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
684
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
685
- # Main library
686
- declare 'bundle exec rake test:main'
687
- declare 'bundle exec rake spec:main'
688
- declare 'bundle exec rake spec:contrib'
689
- declare 'bundle exec rake spec:opentracer'
690
- declare 'bundle exec rake spec:opentelemetry'
691
-
692
- if RUBY_PLATFORM != 'java'
693
- # Contrib minitests
694
- # Contrib specs
695
- declare 'bundle exec appraisal contrib rake spec:action_pack'
696
- declare 'bundle exec appraisal contrib rake spec:action_view'
697
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
698
- declare 'bundle exec appraisal contrib rake spec:active_record'
699
- declare 'bundle exec appraisal contrib rake spec:active_support'
700
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
701
- declare 'bundle exec appraisal contrib rake spec:aws'
702
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
703
- declare 'bundle exec appraisal contrib rake spec:cucumber'
704
- declare 'bundle exec appraisal contrib rake spec:dalli'
705
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
706
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
707
- declare 'bundle exec appraisal contrib rake spec:ethon'
708
- declare 'bundle exec appraisal contrib rake spec:excon'
709
- declare 'bundle exec appraisal contrib rake spec:faraday'
710
- declare 'bundle exec appraisal contrib rake spec:grape'
711
- declare 'bundle exec appraisal contrib rake spec:graphql'
712
- declare 'bundle exec appraisal contrib rake spec:grpc'
713
- declare 'bundle exec appraisal contrib rake spec:http'
714
- declare 'bundle exec appraisal contrib rake spec:httpclient'
715
- declare 'bundle exec appraisal contrib rake spec:httprb'
716
- declare 'bundle exec appraisal contrib rake spec:kafka'
717
- declare 'bundle exec appraisal contrib rake spec:mongodb'
718
- declare 'bundle exec appraisal contrib rake spec:mysql2'
719
- declare 'bundle exec appraisal contrib rake spec:presto'
720
- declare 'bundle exec appraisal contrib rake spec:qless'
721
- declare 'bundle exec appraisal contrib rake spec:que'
722
- declare 'bundle exec appraisal contrib rake spec:racecar'
723
- declare 'bundle exec appraisal contrib rake spec:rack'
724
- declare 'bundle exec appraisal contrib rake spec:rake'
725
- declare 'bundle exec appraisal contrib rake spec:redis'
726
- declare 'bundle exec appraisal contrib rake spec:resque'
727
- declare 'bundle exec appraisal contrib rake spec:rest_client'
728
- declare 'bundle exec appraisal contrib rake spec:rspec'
729
- declare 'bundle exec appraisal contrib rake spec:sequel'
730
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
731
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
732
- declare 'bundle exec appraisal contrib rake spec:sinatra'
733
- declare 'bundle exec appraisal contrib rake spec:sneakers'
734
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
735
- declare 'bundle exec appraisal contrib rake spec:suite'
736
-
737
- # Contrib specs with old gem versions
738
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
739
- # Rails minitests
740
- # We only test Rails 5+ because older versions require Bundler < 2.0
741
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
742
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
743
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
744
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
745
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
746
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
747
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
748
- declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
749
- declare 'bundle exec appraisal rails6-postgres rake test:rails'
750
- declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
751
- declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
752
- declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
753
- declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
754
- declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
755
- # Rails specs
756
- declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
757
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
758
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
759
- declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
760
- declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
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'
779
- end
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')
782
- # Main library
783
- declare 'bundle exec rake test:main'
784
- declare 'bundle exec rake spec:main'
785
- declare 'bundle exec rake spec:contrib'
786
- declare 'bundle exec rake spec:opentracer'
787
- declare 'bundle exec rake spec:opentelemetry'
788
-
789
- if RUBY_PLATFORM != 'java'
790
- # Contrib minitests
791
- # Contrib specs
792
- declare 'bundle exec appraisal contrib rake spec:action_pack'
793
- declare 'bundle exec appraisal contrib rake spec:action_view'
794
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
795
- declare 'bundle exec appraisal contrib rake spec:active_record'
796
- declare 'bundle exec appraisal contrib rake spec:active_support'
797
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
798
- declare 'bundle exec appraisal contrib rake spec:aws'
799
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
800
- declare 'bundle exec appraisal contrib rake spec:cucumber'
801
- declare 'bundle exec appraisal contrib rake spec:dalli'
802
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
803
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
804
- declare 'bundle exec appraisal contrib rake spec:ethon'
805
- declare 'bundle exec appraisal contrib rake spec:excon'
806
- declare 'bundle exec appraisal contrib rake spec:faraday'
807
- declare 'bundle exec appraisal contrib rake spec:grape'
808
- declare 'bundle exec appraisal contrib rake spec:graphql'
809
- declare 'bundle exec appraisal contrib rake spec:grpc'
810
- declare 'bundle exec appraisal contrib rake spec:http'
811
- declare 'bundle exec appraisal contrib rake spec:httpclient'
812
- declare 'bundle exec appraisal contrib rake spec:httprb'
813
- declare 'bundle exec appraisal contrib rake spec:kafka'
814
- declare 'bundle exec appraisal contrib rake spec:mongodb'
815
- declare 'bundle exec appraisal contrib rake spec:mysql2'
816
- declare 'bundle exec appraisal contrib rake spec:presto'
817
- declare 'bundle exec appraisal contrib rake spec:qless'
818
- declare 'bundle exec appraisal contrib rake spec:que'
819
- declare 'bundle exec appraisal contrib rake spec:racecar'
820
- declare 'bundle exec appraisal contrib rake spec:rack'
821
- declare 'bundle exec appraisal contrib rake spec:rake'
822
- declare 'bundle exec appraisal contrib rake spec:redis'
823
- declare 'bundle exec appraisal contrib rake spec:resque'
824
- declare 'bundle exec appraisal contrib rake spec:rest_client'
825
- declare 'bundle exec appraisal contrib rake spec:rspec'
826
- declare 'bundle exec appraisal contrib rake spec:sequel'
827
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
828
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
829
- declare 'bundle exec appraisal contrib rake spec:sinatra'
830
- declare 'bundle exec appraisal contrib rake spec:sneakers'
831
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
832
- declare 'bundle exec appraisal contrib rake spec:suite'
833
-
834
- # Contrib specs with old gem versions
835
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
836
- # Rails minitests
837
- # We only test Rails 5+ because older versions require Bundler < 2.0
838
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
839
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
840
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
841
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
842
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
843
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
844
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
845
- declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
846
- declare 'bundle exec appraisal rails6-postgres rake test:rails'
847
- declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
848
- declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
849
- declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
850
- declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
851
- declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
852
- # Rails specs
853
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
854
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
855
- declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
856
- declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
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'
946
- end
947
- end
948
- end
949
-
950
- namespace :coverage do
951
- # Generates one global report for all tracer tests
952
- task :report do
953
- require 'simplecov'
954
-
955
- resultset_files = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/.resultset.json"] +
956
- Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/**/.resultset.json"]
957
-
958
- SimpleCov.collate resultset_files do
959
- coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report"
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
967
- end
968
- end
969
-
970
- # Generates one report for each Ruby version
971
- task :report_per_ruby_version do
972
- require 'simplecov'
973
-
974
- versions = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/*"].map { |f| File.basename(f) }
975
- versions.map do |version|
976
- puts "Generating report for: #{version}"
977
- SimpleCov.collate Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/#{version}/**/.resultset.json"] do
978
- coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report/versions/#{version}"
979
- formatter SimpleCov::Formatter::HTMLFormatter
980
- end
981
- end
982
- end
983
- end
984
-
985
- namespace :changelog do
986
- task :format do
987
- require 'pimpmychangelog'
988
-
989
- PimpMyChangelog::CLI.run!
990
- end
991
- end
992
-
993
- task default: :test