ddtrace 0.40.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (852) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +502 -180
  3. data/.circleci/images/primary/Dockerfile-2.1.10 +11 -1
  4. data/.circleci/images/primary/Dockerfile-2.2.10 +11 -1
  5. data/.circleci/images/primary/Dockerfile-2.3.8 +10 -0
  6. data/.circleci/images/primary/Dockerfile-2.4.6 +10 -0
  7. data/.circleci/images/primary/Dockerfile-2.5.6 +10 -0
  8. data/.circleci/images/primary/Dockerfile-2.6.4 +10 -0
  9. data/.circleci/images/primary/Dockerfile-2.7.0 +10 -0
  10. data/.circleci/images/primary/{Dockerfile-2.0.0 → Dockerfile-3.0.0} +8 -8
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +88 -0
  12. data/.circleci/images/primary/{Dockerfile-jruby-9.2 → Dockerfile-jruby-9.2.0.0} +1 -5
  13. data/.circleci/images/primary/Dockerfile-truffleruby-21.1.0 +73 -0
  14. data/.dockerignore +0 -1
  15. data/.github/workflows/add-milestone-to-pull-requests.yml +42 -0
  16. data/.github/workflows/create-next-milestone.yml +20 -0
  17. data/.gitignore +0 -1
  18. data/.gitlab-ci.yml +18 -18
  19. data/.rubocop.yml +273 -7
  20. data/.rubocop_todo.yml +438 -0
  21. data/.simplecov +9 -0
  22. data/Appraisals +483 -231
  23. data/CHANGELOG.md +1386 -342
  24. data/CONTRIBUTING.md +2 -2
  25. data/Gemfile +65 -3
  26. data/LICENSE-3rdparty.csv +2 -0
  27. data/README.md +1 -0
  28. data/Rakefile +486 -338
  29. data/benchmarks/data/profiler-submission-marshal.gz +0 -0
  30. data/benchmarks/profiler_sample_loop.rb +69 -0
  31. data/benchmarks/profiler_submission.rb +93 -0
  32. data/bin/ddtracerb +15 -0
  33. data/ddtrace.gemspec +8 -36
  34. data/docker-compose.yml +93 -49
  35. data/docs/DevelopmentGuide.md +40 -2
  36. data/docs/GettingStarted.md +299 -78
  37. data/docs/ProfilingDevelopment.md +88 -0
  38. data/gemfiles/jruby_9.2.0.0_contrib.gemfile +79 -0
  39. data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +1518 -0
  40. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile +35 -0
  41. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +157 -0
  42. data/gemfiles/jruby_9.2.0.0_core_old.gemfile +34 -0
  43. data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +153 -0
  44. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile +35 -0
  45. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +174 -0
  46. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile +35 -0
  47. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +206 -0
  48. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile +35 -0
  49. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +206 -0
  50. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile +40 -0
  51. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +271 -0
  52. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile +40 -0
  53. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +271 -0
  54. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile +41 -0
  55. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +273 -0
  56. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile +41 -0
  57. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +273 -0
  58. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile +42 -0
  59. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +279 -0
  60. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile +40 -0
  61. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +290 -0
  62. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile +40 -0
  63. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +290 -0
  64. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile +41 -0
  65. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +292 -0
  66. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile +41 -0
  67. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +297 -0
  68. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile +40 -0
  69. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +287 -0
  70. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile +40 -0
  71. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +287 -0
  72. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile +41 -0
  73. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +289 -0
  74. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile +41 -0
  75. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +289 -0
  76. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile +42 -0
  77. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +295 -0
  78. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile +36 -0
  79. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +180 -0
  80. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile +36 -0
  81. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +180 -0
  82. data/gemfiles/jruby_9.2.11.1_contrib.gemfile +79 -0
  83. data/gemfiles/jruby_9.2.11.1_contrib.gemfile.lock +1518 -0
  84. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile +35 -0
  85. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile.lock +157 -0
  86. data/gemfiles/jruby_9.2.11.1_core_old.gemfile +34 -0
  87. data/gemfiles/jruby_9.2.11.1_core_old.gemfile.lock +153 -0
  88. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile +35 -0
  89. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile.lock +174 -0
  90. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile +35 -0
  91. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile.lock +206 -0
  92. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile +35 -0
  93. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile.lock +206 -0
  94. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile +40 -0
  95. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile.lock +271 -0
  96. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile +40 -0
  97. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile.lock +271 -0
  98. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile +41 -0
  99. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock +273 -0
  100. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile +41 -0
  101. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock +273 -0
  102. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile +42 -0
  103. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock +279 -0
  104. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile +40 -0
  105. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile.lock +290 -0
  106. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile +40 -0
  107. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile.lock +290 -0
  108. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile +41 -0
  109. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock +292 -0
  110. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile +41 -0
  111. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock +297 -0
  112. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile +40 -0
  113. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile.lock +287 -0
  114. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile +40 -0
  115. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile.lock +287 -0
  116. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile +41 -0
  117. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock +289 -0
  118. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile +41 -0
  119. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile.lock +289 -0
  120. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile +42 -0
  121. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock +295 -0
  122. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile +36 -0
  123. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile.lock +180 -0
  124. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile +36 -0
  125. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile.lock +180 -0
  126. data/gemfiles/ruby_2.1.10_contrib_old.gemfile +66 -0
  127. data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +305 -0
  128. data/gemfiles/ruby_2.1.10_core_old.gemfile +33 -0
  129. data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +118 -0
  130. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile +39 -0
  131. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +196 -0
  132. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile +40 -0
  133. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +205 -0
  134. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile +42 -0
  135. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +215 -0
  136. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile +39 -0
  137. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +204 -0
  138. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile +41 -0
  139. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +223 -0
  140. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile +40 -0
  141. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +213 -0
  142. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile +38 -0
  143. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +218 -0
  144. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile +38 -0
  145. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +218 -0
  146. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile +40 -0
  147. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +237 -0
  148. data/gemfiles/ruby_2.2.10_contrib.gemfile +73 -0
  149. data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +1450 -0
  150. data/gemfiles/ruby_2.2.10_core_old.gemfile +33 -0
  151. data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +118 -0
  152. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile +39 -0
  153. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +196 -0
  154. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile +40 -0
  155. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +205 -0
  156. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile +41 -0
  157. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +212 -0
  158. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile +39 -0
  159. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +204 -0
  160. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile +41 -0
  161. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +223 -0
  162. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile +40 -0
  163. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +213 -0
  164. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile +38 -0
  165. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +218 -0
  166. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile +38 -0
  167. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +218 -0
  168. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile +40 -0
  169. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +237 -0
  170. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile +40 -0
  171. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +229 -0
  172. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile +38 -0
  173. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +234 -0
  174. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile +38 -0
  175. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +234 -0
  176. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile +39 -0
  177. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +236 -0
  178. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile +39 -0
  179. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +236 -0
  180. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile +40 -0
  181. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +245 -0
  182. data/gemfiles/ruby_2.3.8_contrib.gemfile +73 -0
  183. data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +1459 -0
  184. data/gemfiles/ruby_2.3.8_contrib_old.gemfile +34 -0
  185. data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +127 -0
  186. data/gemfiles/ruby_2.3.8_core_old.gemfile +33 -0
  187. data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +123 -0
  188. data/gemfiles/ruby_2.3.8_cucumber3.gemfile +34 -0
  189. data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +144 -0
  190. data/gemfiles/ruby_2.3.8_cucumber4.gemfile +34 -0
  191. data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +174 -0
  192. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile +39 -0
  193. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +201 -0
  194. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile +40 -0
  195. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +210 -0
  196. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile +41 -0
  197. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +217 -0
  198. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile +39 -0
  199. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +209 -0
  200. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile +41 -0
  201. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +228 -0
  202. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile +40 -0
  203. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +218 -0
  204. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile +38 -0
  205. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +223 -0
  206. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile +38 -0
  207. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +223 -0
  208. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile +40 -0
  209. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +242 -0
  210. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile +40 -0
  211. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +234 -0
  212. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile +37 -0
  213. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +234 -0
  214. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile +37 -0
  215. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +234 -0
  216. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile +38 -0
  217. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +236 -0
  218. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile +38 -0
  219. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +236 -0
  220. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile +39 -0
  221. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +245 -0
  222. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile +35 -0
  223. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +150 -0
  224. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile +35 -0
  225. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +150 -0
  226. data/gemfiles/ruby_2.4.6_contrib.gemfile +78 -0
  227. data/gemfiles/ruby_2.4.6_contrib.gemfile.lock +1513 -0
  228. data/gemfiles/ruby_2.4.6_contrib_old.gemfile +38 -0
  229. data/gemfiles/ruby_2.4.6_contrib_old.gemfile.lock +155 -0
  230. data/gemfiles/ruby_2.4.6_core_old.gemfile +37 -0
  231. data/gemfiles/ruby_2.4.6_core_old.gemfile.lock +151 -0
  232. data/gemfiles/ruby_2.4.6_cucumber3.gemfile +38 -0
  233. data/gemfiles/ruby_2.4.6_cucumber3.gemfile.lock +172 -0
  234. data/gemfiles/ruby_2.4.6_cucumber4.gemfile +38 -0
  235. data/gemfiles/ruby_2.4.6_cucumber4.gemfile.lock +202 -0
  236. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile +41 -0
  237. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile.lock +262 -0
  238. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile +41 -0
  239. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile.lock +262 -0
  240. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile +42 -0
  241. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile.lock +264 -0
  242. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile +42 -0
  243. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock +264 -0
  244. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile +43 -0
  245. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock +273 -0
  246. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile +39 -0
  247. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile.lock +178 -0
  248. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile +39 -0
  249. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile.lock +178 -0
  250. data/gemfiles/ruby_2.5.6_contrib.gemfile +83 -0
  251. data/gemfiles/ruby_2.5.6_contrib.gemfile.lock +1526 -0
  252. data/gemfiles/ruby_2.5.6_contrib_old.gemfile +39 -0
  253. data/gemfiles/ruby_2.5.6_contrib_old.gemfile.lock +165 -0
  254. data/gemfiles/ruby_2.5.6_core_old.gemfile +38 -0
  255. data/gemfiles/ruby_2.5.6_core_old.gemfile.lock +161 -0
  256. data/gemfiles/ruby_2.5.6_cucumber3.gemfile +39 -0
  257. data/gemfiles/ruby_2.5.6_cucumber3.gemfile.lock +182 -0
  258. data/gemfiles/ruby_2.5.6_cucumber4.gemfile +39 -0
  259. data/gemfiles/ruby_2.5.6_cucumber4.gemfile.lock +214 -0
  260. data/gemfiles/ruby_2.5.6_cucumber5.gemfile +39 -0
  261. data/gemfiles/ruby_2.5.6_cucumber5.gemfile.lock +214 -0
  262. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile +44 -0
  263. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile.lock +276 -0
  264. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile +44 -0
  265. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile.lock +276 -0
  266. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile +45 -0
  267. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile.lock +278 -0
  268. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile +45 -0
  269. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  270. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile +46 -0
  271. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock +284 -0
  272. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile +44 -0
  273. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile.lock +295 -0
  274. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile +44 -0
  275. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile.lock +295 -0
  276. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile +45 -0
  277. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile.lock +297 -0
  278. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile +45 -0
  279. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock +302 -0
  280. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile +44 -0
  281. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile.lock +292 -0
  282. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile +44 -0
  283. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile.lock +292 -0
  284. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile +45 -0
  285. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile.lock +294 -0
  286. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile +45 -0
  287. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock +294 -0
  288. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile +46 -0
  289. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock +300 -0
  290. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile +40 -0
  291. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile.lock +188 -0
  292. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile +40 -0
  293. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile.lock +188 -0
  294. data/gemfiles/ruby_2.6.4_contrib.gemfile +79 -0
  295. data/gemfiles/ruby_2.6.4_contrib.gemfile.lock +1524 -0
  296. data/gemfiles/ruby_2.6.4_contrib_old.gemfile +39 -0
  297. data/gemfiles/ruby_2.6.4_contrib_old.gemfile.lock +167 -0
  298. data/gemfiles/ruby_2.6.4_core_old.gemfile +38 -0
  299. data/gemfiles/ruby_2.6.4_core_old.gemfile.lock +163 -0
  300. data/gemfiles/ruby_2.6.4_cucumber3.gemfile +39 -0
  301. data/gemfiles/ruby_2.6.4_cucumber3.gemfile.lock +184 -0
  302. data/gemfiles/ruby_2.6.4_cucumber4.gemfile +39 -0
  303. data/gemfiles/ruby_2.6.4_cucumber4.gemfile.lock +216 -0
  304. data/gemfiles/ruby_2.6.4_cucumber5.gemfile +39 -0
  305. data/gemfiles/ruby_2.6.4_cucumber5.gemfile.lock +216 -0
  306. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile +42 -0
  307. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile.lock +276 -0
  308. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile +42 -0
  309. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile.lock +276 -0
  310. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile +43 -0
  311. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile.lock +278 -0
  312. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile +43 -0
  313. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  314. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile +44 -0
  315. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock +284 -0
  316. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile +42 -0
  317. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile.lock +295 -0
  318. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile +42 -0
  319. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile.lock +295 -0
  320. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile +43 -0
  321. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile.lock +297 -0
  322. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile +43 -0
  323. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock +302 -0
  324. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile +42 -0
  325. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile.lock +292 -0
  326. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile +42 -0
  327. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile.lock +292 -0
  328. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile +43 -0
  329. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile.lock +294 -0
  330. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile +43 -0
  331. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock +294 -0
  332. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile +44 -0
  333. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock +300 -0
  334. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile +40 -0
  335. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile.lock +190 -0
  336. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile +40 -0
  337. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile.lock +190 -0
  338. data/gemfiles/ruby_2.7.0_contrib.gemfile +78 -0
  339. data/gemfiles/ruby_2.7.0_contrib.gemfile.lock +1523 -0
  340. data/gemfiles/ruby_2.7.0_contrib_old.gemfile +39 -0
  341. data/gemfiles/ruby_2.7.0_contrib_old.gemfile.lock +167 -0
  342. data/gemfiles/ruby_2.7.0_core_old.gemfile +38 -0
  343. data/gemfiles/ruby_2.7.0_core_old.gemfile.lock +163 -0
  344. data/gemfiles/ruby_2.7.0_cucumber3.gemfile +39 -0
  345. data/gemfiles/ruby_2.7.0_cucumber3.gemfile.lock +184 -0
  346. data/gemfiles/ruby_2.7.0_cucumber4.gemfile +39 -0
  347. data/gemfiles/ruby_2.7.0_cucumber4.gemfile.lock +216 -0
  348. data/gemfiles/ruby_2.7.0_cucumber5.gemfile +39 -0
  349. data/gemfiles/ruby_2.7.0_cucumber5.gemfile.lock +216 -0
  350. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile +42 -0
  351. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +276 -0
  352. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile +42 -0
  353. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +276 -0
  354. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile +44 -0
  355. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile.lock +295 -0
  356. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile +44 -0
  357. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock +295 -0
  358. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile +44 -0
  359. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock +284 -0
  360. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile +42 -0
  361. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +295 -0
  362. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile +42 -0
  363. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +295 -0
  364. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile +43 -0
  365. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +297 -0
  366. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile +43 -0
  367. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock +302 -0
  368. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile +42 -0
  369. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +292 -0
  370. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile +42 -0
  371. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +292 -0
  372. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile +44 -0
  373. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile.lock +311 -0
  374. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile +44 -0
  375. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock +311 -0
  376. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile +44 -0
  377. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock +300 -0
  378. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile +40 -0
  379. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +190 -0
  380. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile +40 -0
  381. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +190 -0
  382. data/gemfiles/ruby_3.0.0_contrib.gemfile +78 -0
  383. data/gemfiles/ruby_3.0.0_contrib.gemfile.lock +1540 -0
  384. data/gemfiles/ruby_3.0.0_core_old.gemfile +39 -0
  385. data/gemfiles/ruby_3.0.0_core_old.gemfile.lock +165 -0
  386. data/gemfiles/ruby_3.0.0_cucumber3.gemfile +40 -0
  387. data/gemfiles/ruby_3.0.0_cucumber3.gemfile.lock +186 -0
  388. data/gemfiles/ruby_3.0.0_cucumber4.gemfile +40 -0
  389. data/gemfiles/ruby_3.0.0_cucumber4.gemfile.lock +218 -0
  390. data/gemfiles/ruby_3.0.0_cucumber5.gemfile +40 -0
  391. data/gemfiles/ruby_3.0.0_cucumber5.gemfile.lock +218 -0
  392. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile +43 -0
  393. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile.lock +295 -0
  394. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile +43 -0
  395. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile.lock +295 -0
  396. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile +44 -0
  397. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile.lock +297 -0
  398. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile +44 -0
  399. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock +302 -0
  400. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile +41 -0
  401. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile.lock +192 -0
  402. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile +41 -0
  403. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile.lock +192 -0
  404. data/integration/README.md +67 -0
  405. data/integration/apps/rack/.dockerignore +1 -0
  406. data/integration/apps/rack/.envrc.sample +1 -0
  407. data/integration/apps/rack/.gitignore +4 -0
  408. data/integration/apps/rack/.rspec +1 -0
  409. data/integration/apps/rack/Dockerfile +28 -0
  410. data/integration/apps/rack/Dockerfile-ci +11 -0
  411. data/integration/apps/rack/Gemfile +24 -0
  412. data/integration/apps/rack/README.md +93 -0
  413. data/integration/apps/rack/app/acme.rb +80 -0
  414. data/integration/apps/rack/app/datadog.rb +17 -0
  415. data/integration/apps/rack/bin/run +22 -0
  416. data/integration/apps/rack/bin/setup +17 -0
  417. data/integration/apps/rack/bin/test +24 -0
  418. data/integration/apps/rack/config.ru +6 -0
  419. data/integration/apps/rack/config/puma.rb +14 -0
  420. data/integration/apps/rack/config/unicorn.rb +23 -0
  421. data/integration/apps/rack/docker-compose.ci.yml +62 -0
  422. data/integration/apps/rack/docker-compose.yml +78 -0
  423. data/integration/apps/rack/script/build-images +38 -0
  424. data/integration/apps/rack/script/ci +51 -0
  425. data/integration/apps/rack/spec/integration/basic_spec.rb +10 -0
  426. data/integration/apps/rack/spec/spec_helper.rb +16 -0
  427. data/integration/apps/rack/spec/support/integration_helper.rb +22 -0
  428. data/integration/apps/rails-five/.dockerignore +1 -0
  429. data/integration/apps/rails-five/.env +3 -0
  430. data/integration/apps/rails-five/.envrc.sample +1 -0
  431. data/integration/apps/rails-five/.gitignore +30 -0
  432. data/integration/apps/rails-five/Dockerfile +25 -0
  433. data/integration/apps/rails-five/Dockerfile-ci +11 -0
  434. data/integration/apps/rails-five/Gemfile +104 -0
  435. data/integration/apps/rails-five/README.md +94 -0
  436. data/integration/apps/rails-five/Rakefile +6 -0
  437. data/integration/apps/rails-five/app/channels/application_cable/channel.rb +4 -0
  438. data/integration/apps/rails-five/app/channels/application_cable/connection.rb +4 -0
  439. data/integration/apps/rails-five/app/controllers/application_controller.rb +2 -0
  440. data/integration/apps/rails-five/app/controllers/basic_controller.rb +36 -0
  441. data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
  442. data/integration/apps/rails-five/app/controllers/health_controller.rb +9 -0
  443. data/integration/apps/rails-five/app/controllers/jobs_controller.rb +12 -0
  444. data/integration/apps/rails-five/app/jobs/application_job.rb +2 -0
  445. data/integration/apps/rails-five/app/jobs/test_job.rb +12 -0
  446. data/integration/apps/rails-five/app/mailers/application_mailer.rb +4 -0
  447. data/integration/apps/rails-five/app/models/application_record.rb +3 -0
  448. data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
  449. data/integration/apps/rails-five/app/models/test.rb +2 -0
  450. data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +13 -0
  451. data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +1 -0
  452. data/integration/apps/rails-five/bin/bundle +3 -0
  453. data/integration/apps/rails-five/bin/rails +9 -0
  454. data/integration/apps/rails-five/bin/rake +9 -0
  455. data/integration/apps/rails-five/bin/run +24 -0
  456. data/integration/apps/rails-five/bin/setup +27 -0
  457. data/integration/apps/rails-five/bin/spring +17 -0
  458. data/integration/apps/rails-five/bin/test +21 -0
  459. data/integration/apps/rails-five/bin/update +28 -0
  460. data/integration/apps/rails-five/config.ru +5 -0
  461. data/integration/apps/rails-five/config/application.rb +97 -0
  462. data/integration/apps/rails-five/config/boot.rb +4 -0
  463. data/integration/apps/rails-five/config/cable.yml +10 -0
  464. data/integration/apps/rails-five/config/credentials.yml.enc +1 -0
  465. data/integration/apps/rails-five/config/database.yml +28 -0
  466. data/integration/apps/rails-five/config/environment.rb +5 -0
  467. data/integration/apps/rails-five/config/environments/development.rb +51 -0
  468. data/integration/apps/rails-five/config/environments/production.rb +82 -0
  469. data/integration/apps/rails-five/config/environments/test.rb +43 -0
  470. data/integration/apps/rails-five/config/initializers/datadog.rb +18 -0
  471. data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +4 -0
  472. data/integration/apps/rails-five/config/initializers/resque.rb +4 -0
  473. data/integration/apps/rails-five/config/initializers/rollbar.rb +5 -0
  474. data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +14 -0
  475. data/integration/apps/rails-five/config/locales/en.yml +33 -0
  476. data/integration/apps/rails-five/config/puma.rb +24 -0
  477. data/integration/apps/rails-five/config/routes.rb +11 -0
  478. data/integration/apps/rails-five/config/spring.rb +6 -0
  479. data/integration/apps/rails-five/config/unicorn.rb +29 -0
  480. data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +11 -0
  481. data/integration/apps/rails-five/db/schema.rb +23 -0
  482. data/integration/apps/rails-five/db/seeds.rb +7 -0
  483. data/integration/apps/rails-five/docker-compose.ci.yml +98 -0
  484. data/integration/apps/rails-five/docker-compose.yml +100 -0
  485. data/integration/apps/rails-five/lib/tasks/.keep +0 -0
  486. data/integration/apps/rails-five/log/.keep +0 -0
  487. data/integration/apps/rails-five/public/robots.txt +1 -0
  488. data/integration/apps/rails-five/script/build-images +35 -0
  489. data/integration/apps/rails-five/script/ci +51 -0
  490. data/integration/apps/rails-five/spec/integration/basic_spec.rb +10 -0
  491. data/integration/apps/rails-five/spec/spec_helper.rb +16 -0
  492. data/integration/apps/rails-five/spec/support/integration_helper.rb +22 -0
  493. data/integration/apps/rails-five/storage/.keep +0 -0
  494. data/integration/apps/rails-five/tmp/.keep +0 -0
  495. data/integration/apps/rails-five/vendor/.keep +0 -0
  496. data/integration/apps/rspec/.dockerignore +1 -0
  497. data/integration/apps/rspec/.envrc.sample +1 -0
  498. data/integration/apps/rspec/.gitignore +2 -0
  499. data/integration/apps/rspec/.rspec +1 -0
  500. data/integration/apps/rspec/Dockerfile +25 -0
  501. data/integration/apps/rspec/Dockerfile-ci +11 -0
  502. data/integration/apps/rspec/Gemfile +14 -0
  503. data/integration/apps/rspec/README.md +70 -0
  504. data/integration/apps/rspec/agent.yaml +3 -0
  505. data/integration/apps/rspec/app/datadog.rb +13 -0
  506. data/integration/apps/rspec/app/fibonacci.rb +30 -0
  507. data/integration/apps/rspec/bin/run +20 -0
  508. data/integration/apps/rspec/bin/setup +17 -0
  509. data/integration/apps/rspec/bin/test +21 -0
  510. data/integration/apps/rspec/docker-compose.ci.yml +51 -0
  511. data/integration/apps/rspec/docker-compose.yml +63 -0
  512. data/integration/apps/rspec/script/build-images +37 -0
  513. data/integration/apps/rspec/script/ci +53 -0
  514. data/integration/apps/rspec/spec/fibonacci_spec.rb +16 -0
  515. data/integration/apps/rspec/spec/rspec_spec.rb +58 -0
  516. data/integration/apps/rspec/spec/spec_helper.rb +24 -0
  517. data/integration/apps/ruby/.dockerignore +1 -0
  518. data/integration/apps/ruby/.envrc.sample +1 -0
  519. data/integration/apps/ruby/.gitignore +2 -0
  520. data/integration/apps/ruby/Dockerfile +25 -0
  521. data/integration/apps/ruby/Dockerfile-ci +11 -0
  522. data/integration/apps/ruby/Gemfile +11 -0
  523. data/integration/apps/ruby/README.md +70 -0
  524. data/integration/apps/ruby/agent.yaml +3 -0
  525. data/integration/apps/ruby/app/datadog.rb +13 -0
  526. data/integration/apps/ruby/app/fibonacci.rb +58 -0
  527. data/integration/apps/ruby/bin/run +20 -0
  528. data/integration/apps/ruby/bin/setup +17 -0
  529. data/integration/apps/ruby/bin/test +21 -0
  530. data/integration/apps/ruby/docker-compose.ci.yml +51 -0
  531. data/integration/apps/ruby/docker-compose.yml +63 -0
  532. data/integration/apps/ruby/script/build-images +38 -0
  533. data/integration/apps/ruby/script/ci +51 -0
  534. data/integration/images/agent/Dockerfile +2 -0
  535. data/integration/images/agent/agent.yaml +3 -0
  536. data/integration/images/include/datadog/analyzer.rb +71 -0
  537. data/integration/images/include/datadog/demo_env.rb +101 -0
  538. data/integration/images/include/http-health-check +33 -0
  539. data/integration/images/ruby/2.1/Dockerfile +54 -0
  540. data/integration/images/ruby/2.2/Dockerfile +54 -0
  541. data/integration/images/ruby/2.3/Dockerfile +70 -0
  542. data/integration/images/ruby/2.4/Dockerfile +54 -0
  543. data/integration/images/ruby/2.5/Dockerfile +54 -0
  544. data/integration/images/ruby/2.6/Dockerfile +54 -0
  545. data/integration/images/ruby/2.7/Dockerfile +54 -0
  546. data/integration/images/ruby/3.0/Dockerfile +54 -0
  547. data/integration/images/wrk/Dockerfile +33 -0
  548. data/integration/images/wrk/scripts/entrypoint.sh +17 -0
  549. data/integration/images/wrk/scripts/scenarios/basic/default.lua +1 -0
  550. data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +1 -0
  551. data/integration/script/build-images +43 -0
  552. data/lib/datadog/ci.rb +16 -0
  553. data/lib/datadog/ci/configuration/components.rb +30 -0
  554. data/lib/datadog/ci/configuration/settings.rb +36 -0
  555. data/lib/datadog/ci/context_flush.rb +28 -0
  556. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +30 -0
  557. data/lib/datadog/ci/contrib/cucumber/ext.rb +19 -0
  558. data/lib/datadog/ci/contrib/cucumber/formatter.rb +97 -0
  559. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +26 -0
  560. data/lib/datadog/ci/contrib/cucumber/integration.rb +47 -0
  561. data/lib/datadog/ci/contrib/cucumber/patcher.rb +25 -0
  562. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +30 -0
  563. data/lib/datadog/ci/contrib/rspec/example.rb +73 -0
  564. data/lib/datadog/ci/contrib/rspec/ext.rb +18 -0
  565. data/lib/datadog/ci/contrib/rspec/integration.rb +48 -0
  566. data/lib/datadog/ci/contrib/rspec/patcher.rb +25 -0
  567. data/lib/datadog/ci/ext/app_types.rb +9 -0
  568. data/lib/datadog/ci/ext/environment.rb +303 -0
  569. data/lib/datadog/ci/ext/settings.rb +10 -0
  570. data/lib/datadog/ci/ext/test.rb +28 -0
  571. data/lib/datadog/ci/extensions.rb +17 -0
  572. data/lib/datadog/ci/test.rb +63 -0
  573. data/lib/ddtrace.rb +9 -5
  574. data/lib/ddtrace/analytics.rb +2 -0
  575. data/lib/ddtrace/auto_instrument.rb +3 -0
  576. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  577. data/lib/ddtrace/buffer.rb +260 -53
  578. data/lib/ddtrace/configuration.rb +113 -21
  579. data/lib/ddtrace/configuration/agent_settings_resolver.rb +230 -0
  580. data/lib/ddtrace/configuration/base.rb +7 -10
  581. data/lib/ddtrace/configuration/components.rb +119 -21
  582. data/lib/ddtrace/configuration/option_definition.rb +1 -3
  583. data/lib/ddtrace/configuration/options.rb +9 -10
  584. data/lib/ddtrace/configuration/settings.rb +119 -10
  585. data/lib/ddtrace/context.rb +40 -20
  586. data/lib/ddtrace/context_flush.rb +14 -2
  587. data/lib/ddtrace/context_provider.rb +16 -5
  588. data/lib/ddtrace/contrib/action_cable/event.rb +5 -4
  589. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  590. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +2 -4
  591. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +1 -1
  592. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  593. data/lib/ddtrace/contrib/action_pack/utils.rb +1 -1
  594. data/lib/ddtrace/contrib/action_view/event.rb +3 -7
  595. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  596. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  597. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  598. data/lib/ddtrace/contrib/action_view/patcher.rb +4 -4
  599. data/lib/ddtrace/contrib/action_view/utils.rb +1 -1
  600. data/lib/ddtrace/contrib/active_model_serializers/event.rb +2 -2
  601. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +30 -0
  602. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +107 -18
  603. data/lib/ddtrace/contrib/active_record/event.rb +2 -2
  604. data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
  605. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  606. data/lib/ddtrace/contrib/active_record/utils.rb +68 -21
  607. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +104 -3
  608. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +25 -4
  609. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -5
  610. data/lib/ddtrace/contrib/active_support/ext.rb +3 -0
  611. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  612. data/lib/ddtrace/contrib/active_support/notifications/event.rb +14 -3
  613. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +2 -1
  614. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +11 -7
  615. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  616. data/lib/ddtrace/contrib/aws/instrumentation.rb +35 -1
  617. data/lib/ddtrace/contrib/aws/patcher.rb +5 -1
  618. data/lib/ddtrace/contrib/aws/services.rb +3 -0
  619. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +1 -1
  620. data/lib/ddtrace/contrib/configurable.rb +64 -38
  621. data/lib/ddtrace/contrib/configuration/resolver.rb +70 -5
  622. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +20 -20
  623. data/lib/ddtrace/contrib/configuration/settings.rb +7 -6
  624. data/lib/ddtrace/contrib/dalli/instrumentation.rb +5 -1
  625. data/lib/ddtrace/contrib/dalli/patcher.rb +1 -39
  626. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +2 -0
  627. data/lib/ddtrace/contrib/delayed_job/ext.rb +2 -0
  628. data/lib/ddtrace/contrib/delayed_job/plugin.rb +38 -15
  629. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +5 -0
  630. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +3 -2
  631. data/lib/ddtrace/contrib/ethon/easy_patch.rb +14 -11
  632. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  633. data/lib/ddtrace/contrib/ethon/multi_patch.rb +5 -1
  634. data/lib/ddtrace/contrib/ethon/patcher.rb +2 -2
  635. data/lib/ddtrace/contrib/excon/middleware.rb +13 -7
  636. data/lib/ddtrace/contrib/extensions.rb +56 -6
  637. data/lib/ddtrace/contrib/faraday/middleware.rb +5 -3
  638. data/lib/ddtrace/contrib/faraday/patcher.rb +2 -38
  639. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -0
  640. data/lib/ddtrace/contrib/grape/endpoint.rb +52 -24
  641. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  642. data/lib/ddtrace/contrib/grape/instrumentation.rb +2 -2
  643. data/lib/ddtrace/contrib/grape/patcher.rb +1 -43
  644. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +8 -8
  645. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +5 -1
  646. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +5 -0
  647. data/lib/ddtrace/contrib/grpc/patcher.rb +1 -37
  648. data/lib/ddtrace/contrib/http/circuit_breaker.rb +1 -3
  649. data/lib/ddtrace/contrib/http/instrumentation.rb +12 -8
  650. data/lib/ddtrace/contrib/http/patcher.rb +1 -1
  651. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  652. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  653. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +147 -0
  654. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  655. data/lib/ddtrace/contrib/httpclient/patcher.rb +38 -0
  656. data/lib/ddtrace/contrib/httprb/instrumentation.rb +19 -22
  657. data/lib/ddtrace/contrib/httprb/patcher.rb +6 -3
  658. data/lib/ddtrace/contrib/integration.rb +3 -3
  659. data/lib/ddtrace/contrib/kafka/event.rb +3 -3
  660. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +4 -2
  661. data/lib/ddtrace/contrib/mongodb/patcher.rb +2 -2
  662. data/lib/ddtrace/contrib/mongodb/subscribers.rb +6 -3
  663. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +5 -1
  664. data/lib/ddtrace/contrib/mysql2/patcher.rb +1 -1
  665. data/lib/ddtrace/contrib/patchable.rb +20 -9
  666. data/lib/ddtrace/contrib/patcher.rb +10 -7
  667. data/lib/ddtrace/contrib/presto/instrumentation.rb +4 -1
  668. data/lib/ddtrace/contrib/presto/patcher.rb +6 -3
  669. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  670. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  671. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  672. data/lib/ddtrace/contrib/qless/patcher.rb +33 -0
  673. data/lib/ddtrace/contrib/qless/qless_job.rb +73 -0
  674. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +33 -0
  675. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  676. data/lib/ddtrace/contrib/que/ext.rb +19 -19
  677. data/lib/ddtrace/contrib/que/tracer.rb +3 -2
  678. data/lib/ddtrace/contrib/racecar/event.rb +7 -2
  679. data/lib/ddtrace/contrib/rack/configuration/settings.rb +3 -3
  680. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  681. data/lib/ddtrace/contrib/rack/middlewares.rb +6 -11
  682. data/lib/ddtrace/contrib/rack/patcher.rb +1 -3
  683. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  684. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  685. data/lib/ddtrace/contrib/rails/patcher.rb +25 -7
  686. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  687. data/lib/ddtrace/contrib/rake/instrumentation.rb +5 -3
  688. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  689. data/lib/ddtrace/contrib/rake/patcher.rb +1 -1
  690. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +14 -5
  691. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  692. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  693. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  694. data/lib/ddtrace/contrib/redis/quantize.rb +28 -0
  695. data/lib/ddtrace/contrib/redis/tags.rb +9 -1
  696. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  697. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +6 -7
  698. data/lib/ddtrace/contrib/registerable.rb +2 -2
  699. data/lib/ddtrace/contrib/registry.rb +2 -2
  700. data/lib/ddtrace/contrib/resque/configuration/settings.rb +18 -1
  701. data/lib/ddtrace/contrib/resque/integration.rb +2 -2
  702. data/lib/ddtrace/contrib/resque/patcher.rb +4 -4
  703. data/lib/ddtrace/contrib/resque/resque_job.rb +25 -2
  704. data/lib/ddtrace/contrib/rest_client/patcher.rb +1 -1
  705. data/lib/ddtrace/contrib/rest_client/request_patch.rb +6 -4
  706. data/lib/ddtrace/contrib/sequel/database.rb +4 -2
  707. data/lib/ddtrace/contrib/sequel/dataset.rb +4 -3
  708. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  709. data/lib/ddtrace/contrib/sequel/patcher.rb +2 -2
  710. data/lib/ddtrace/contrib/sequel/utils.rb +15 -5
  711. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +2 -0
  712. data/lib/ddtrace/contrib/shoryuken/tracer.rb +8 -2
  713. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  714. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +5 -7
  715. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -1
  716. data/lib/ddtrace/contrib/sinatra/env.rb +1 -3
  717. data/lib/ddtrace/contrib/sinatra/headers.rb +1 -3
  718. data/lib/ddtrace/contrib/sinatra/patcher.rb +1 -1
  719. data/lib/ddtrace/contrib/sinatra/tracer.rb +1 -3
  720. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +5 -5
  721. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  722. data/lib/ddtrace/contrib/sneakers/ext.rb +11 -11
  723. data/lib/ddtrace/contrib/sneakers/tracer.rb +16 -21
  724. data/lib/ddtrace/contrib/status_code_matcher.rb +69 -0
  725. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +4 -6
  726. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +4 -0
  727. data/lib/ddtrace/correlation.rb +1 -0
  728. data/lib/ddtrace/diagnostics/environment_logger.rb +5 -4
  729. data/lib/ddtrace/distributed_tracing/headers/headers.rb +1 -0
  730. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +1 -3
  731. data/lib/ddtrace/error.rb +77 -8
  732. data/lib/ddtrace/ext/distributed.rb +8 -2
  733. data/lib/ddtrace/ext/git.rb +11 -0
  734. data/lib/ddtrace/ext/http.rb +1 -1
  735. data/lib/ddtrace/ext/integration.rb +8 -0
  736. data/lib/ddtrace/ext/profiling.rb +53 -0
  737. data/lib/ddtrace/ext/runtime.rb +5 -1
  738. data/lib/ddtrace/ext/test.rb +8 -0
  739. data/lib/ddtrace/ext/transport.rb +2 -0
  740. data/lib/ddtrace/forced_tracing.rb +2 -0
  741. data/lib/ddtrace/logger.rb +1 -1
  742. data/lib/ddtrace/metrics.rb +42 -9
  743. data/lib/ddtrace/opentelemetry/extensions.rb +1 -1
  744. data/lib/ddtrace/opentracer.rb +20 -39
  745. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -1
  746. data/lib/ddtrace/opentracer/span.rb +2 -6
  747. data/lib/ddtrace/opentracer/thread_local_scope.rb +1 -0
  748. data/lib/ddtrace/patcher.rb +27 -6
  749. data/lib/ddtrace/pin.rb +8 -61
  750. data/lib/ddtrace/pipeline/span_filter.rb +1 -1
  751. data/lib/ddtrace/profiling.rb +107 -0
  752. data/lib/ddtrace/profiling/backtrace_location.rb +32 -0
  753. data/lib/ddtrace/profiling/buffer.rb +41 -0
  754. data/lib/ddtrace/profiling/collectors/stack.rb +262 -0
  755. data/lib/ddtrace/profiling/encoding/profile.rb +37 -0
  756. data/lib/ddtrace/profiling/event.rb +13 -0
  757. data/lib/ddtrace/profiling/events/stack.rb +102 -0
  758. data/lib/ddtrace/profiling/exporter.rb +23 -0
  759. data/lib/ddtrace/profiling/ext/cpu.rb +52 -0
  760. data/lib/ddtrace/profiling/ext/cthread.rb +155 -0
  761. data/lib/ddtrace/profiling/ext/forking.rb +97 -0
  762. data/lib/ddtrace/profiling/flush.rb +43 -0
  763. data/lib/ddtrace/profiling/pprof/builder.rb +119 -0
  764. data/lib/ddtrace/profiling/pprof/converter.rb +89 -0
  765. data/lib/ddtrace/profiling/pprof/message_set.rb +12 -0
  766. data/lib/ddtrace/profiling/pprof/payload.rb +18 -0
  767. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  768. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +81 -0
  769. data/lib/ddtrace/profiling/pprof/stack_sample.rb +106 -0
  770. data/lib/ddtrace/profiling/pprof/string_table.rb +10 -0
  771. data/lib/ddtrace/profiling/pprof/template.rb +118 -0
  772. data/lib/ddtrace/profiling/preload.rb +3 -0
  773. data/lib/ddtrace/profiling/profiler.rb +30 -0
  774. data/lib/ddtrace/profiling/recorder.rb +95 -0
  775. data/lib/ddtrace/profiling/scheduler.rb +116 -0
  776. data/lib/ddtrace/profiling/tasks/setup.rb +77 -0
  777. data/lib/ddtrace/profiling/transport/client.rb +12 -0
  778. data/lib/ddtrace/profiling/transport/http.rb +118 -0
  779. data/lib/ddtrace/profiling/transport/http/api.rb +43 -0
  780. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +100 -0
  781. data/lib/ddtrace/profiling/transport/http/api/instance.rb +36 -0
  782. data/lib/ddtrace/profiling/transport/http/api/spec.rb +40 -0
  783. data/lib/ddtrace/profiling/transport/http/builder.rb +28 -0
  784. data/lib/ddtrace/profiling/transport/http/client.rb +33 -0
  785. data/lib/ddtrace/profiling/transport/http/response.rb +21 -0
  786. data/lib/ddtrace/profiling/transport/io.rb +30 -0
  787. data/lib/ddtrace/profiling/transport/io/client.rb +27 -0
  788. data/lib/ddtrace/profiling/transport/io/response.rb +16 -0
  789. data/lib/ddtrace/profiling/transport/parcel.rb +17 -0
  790. data/lib/ddtrace/profiling/transport/request.rb +15 -0
  791. data/lib/ddtrace/profiling/transport/response.rb +8 -0
  792. data/lib/ddtrace/propagation/grpc_propagator.rb +19 -6
  793. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  794. data/lib/ddtrace/quantization/http.rb +1 -0
  795. data/lib/ddtrace/runtime/cgroup.rb +2 -2
  796. data/lib/ddtrace/runtime/container.rb +43 -29
  797. data/lib/ddtrace/runtime/identity.rb +12 -5
  798. data/lib/ddtrace/runtime/metrics.rb +9 -7
  799. data/lib/ddtrace/sampler.rb +3 -3
  800. data/lib/ddtrace/sampling/rate_limiter.rb +65 -16
  801. data/lib/ddtrace/sampling/rule_sampler.rb +4 -9
  802. data/lib/ddtrace/span.rb +154 -29
  803. data/lib/ddtrace/sync_writer.rb +14 -13
  804. data/lib/ddtrace/tasks/exec.rb +48 -0
  805. data/lib/ddtrace/tasks/help.rb +14 -0
  806. data/lib/ddtrace/tracer.rb +68 -50
  807. data/lib/ddtrace/transport/http.rb +41 -31
  808. data/lib/ddtrace/transport/http/adapters/net.rb +34 -9
  809. data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
  810. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -4
  811. data/lib/ddtrace/transport/http/builder.rb +7 -1
  812. data/lib/ddtrace/transport/http/env.rb +8 -0
  813. data/lib/ddtrace/transport/http/statistics.rb +16 -3
  814. data/lib/ddtrace/transport/http/traces.rb +5 -6
  815. data/lib/ddtrace/transport/io.rb +1 -1
  816. data/lib/ddtrace/transport/io/client.rb +15 -8
  817. data/lib/ddtrace/transport/io/response.rb +1 -3
  818. data/lib/ddtrace/transport/io/traces.rb +7 -1
  819. data/lib/ddtrace/transport/parcel.rb +4 -0
  820. data/lib/ddtrace/transport/traces.rb +25 -3
  821. data/lib/ddtrace/utils.rb +16 -13
  822. data/lib/ddtrace/utils/compression.rb +27 -0
  823. data/lib/ddtrace/utils/forking.rb +52 -0
  824. data/lib/ddtrace/utils/object_set.rb +39 -0
  825. data/lib/ddtrace/utils/only_once.rb +40 -0
  826. data/lib/ddtrace/utils/sequence.rb +17 -0
  827. data/lib/ddtrace/utils/string_table.rb +45 -0
  828. data/lib/ddtrace/utils/time.rb +32 -3
  829. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  830. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  831. data/lib/ddtrace/vendor/multipart-post/multipart.rb +12 -0
  832. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +8 -0
  833. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +116 -0
  834. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +57 -0
  835. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +135 -0
  836. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +9 -0
  837. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +32 -0
  838. data/lib/ddtrace/version.rb +14 -2
  839. data/lib/ddtrace/workers.rb +6 -1
  840. data/lib/ddtrace/workers/async.rb +13 -4
  841. data/lib/ddtrace/workers/loop.rb +31 -5
  842. data/lib/ddtrace/workers/polling.rb +12 -5
  843. data/lib/ddtrace/workers/queue.rb +2 -1
  844. data/lib/ddtrace/workers/runtime_metrics.rb +21 -4
  845. data/lib/ddtrace/workers/trace_writer.rb +11 -14
  846. data/lib/ddtrace/writer.rb +30 -6
  847. metadata +642 -338
  848. data/lib/ddtrace/augmentation.rb +0 -13
  849. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  850. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  851. data/lib/ddtrace/augmentation/shim.rb +0 -102
  852. data/lib/ddtrace/monkey.rb +0 -58
data/CONTRIBUTING.md CHANGED
@@ -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,68 @@ 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'
7
- # This file was generated by Appraisal
5
+ # Development dependencies
6
+ gem 'addressable', '~> 2.4.0' # locking transitive dependency of webmock
7
+ gem 'appraisal', '~> 2.2'
8
+ gem 'benchmark-ips', '~> 2.8'
9
+ gem 'benchmark-memory', '~> 0.1'
10
+ gem 'builder'
11
+ gem 'climate_control', '~> 0.2.0'
12
+ # Leave it open as we also have it as an integration and want Appraisal to control the version under test.
13
+ gem 'concurrent-ruby'
14
+ gem 'memory_profiler', '~> 0.9'
15
+ gem 'minitest', '= 5.10.1'
16
+ gem 'minitest-around', '0.5.0'
17
+ gem 'minitest-stub_any_instance', '1.0.2'
18
+ gem 'pimpmychangelog', '>= 0.1.2'
19
+ gem 'pry'
20
+ if RUBY_PLATFORM != 'java'
21
+ # There's a few incompatibilities between pry/pry-byebug on older Rubies
22
+ gem 'pry-byebug' if RUBY_VERSION >= '2.6.0' && RUBY_ENGINE != 'truffleruby'
23
+ gem 'pry-nav' if RUBY_VERSION < '2.6.0'
24
+ gem 'pry-stack_explorer'
25
+ else
26
+ gem 'pry-debugger-jruby'
27
+ end
28
+ gem 'rake', '>= 10.5'
29
+ gem 'redcarpet', '~> 3.4' if RUBY_PLATFORM != 'java'
30
+ gem 'rspec', '~> 3.10'
31
+ gem 'rspec-collection_matchers', '~> 1.1'
32
+ gem 'rspec_junit_formatter', '>= 0.4.1'
33
+ gem 'rspec_n', '~> 1.3' if RUBY_VERSION >= '2.3.0'
34
+ gem 'ruby-prof', '~> 1.4' if RUBY_PLATFORM != 'java' && RUBY_VERSION >= '2.4.0'
35
+ if RUBY_VERSION >= '2.5.0'
36
+ # Merging branch coverage results does not work for old, unsupported rubies.
37
+ # We have a fix up for review, https://github.com/simplecov-ruby/simplecov/pull/972,
38
+ # but given it only affects unsupported version of Ruby, it might not get merged.
39
+ gem 'simplecov', git: 'https://github.com/DataDog/simplecov', ref: '3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db'
40
+ else
41
+ # Compatible with older rubies. This version still produces compatible output
42
+ # with a newer version when the reports are merged.
43
+ gem 'simplecov', '~> 0.17'
44
+ end
45
+ gem 'warning', '~> 1' if RUBY_VERSION >= '2.5.0'
46
+ gem 'webmock', '>= 3.10.0'
47
+ if RUBY_VERSION < '2.3.0'
48
+ gem 'rexml', '< 3.2.5' # Pinned due to https://github.com/ruby/rexml/issues/69
49
+ end
50
+ gem 'webrick', '>= 1.7.0' if RUBY_VERSION >= '3.0.0' # No longer bundled by default since Ruby 3.0
51
+ gem 'yard', '~> 0.9'
52
+
53
+ if RUBY_VERSION >= '2.4.0'
54
+ gem 'rubocop', '~> 1.10', require: false
55
+ gem 'rubocop-performance', '~> 1.9', require: false
56
+ gem 'rubocop-rspec', '~> 2.2', require: false
57
+ end
58
+
59
+ # Optional extensions
60
+ # TODO: Move this to Appraisals?
61
+ gem 'dogstatsd-ruby', '>= 3.3.0'
62
+ gem 'opentracing', '>= 0.4.1'
63
+
64
+ # Profiler optional dependencies
65
+ # NOTE: We're excluding versions 3.7.0 and 3.7.1 for the reasons documented in #1424 and the big comment in
66
+ # lib/ddtrace/profiling.rb: it breaks for some older rubies in CI without BUNDLE_FORCE_RUBY_PLATFORM=true.
67
+ # Since most of our customers won't have BUNDLE_FORCE_RUBY_PLATFORM=true, it's not something we want to add
68
+ # to our CI, so we just shortcut and exclude specific versions that were affecting our CI.
69
+ gem 'google-protobuf', ['~> 3.0', '!= 3.7.0', '!= 3.7.1'] if RUBY_PLATFORM != 'java'
@@ -0,0 +1,2 @@
1
+ Component,Origin,License,Copyright
2
+ ddtrace/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
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
@@ -1,6 +1,6 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'ddtrace/version'
3
- require 'rubocop/rake_task' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
3
+ require 'rubocop/rake_task' if Gem.loaded_specs.key? 'rubocop'
4
4
  require 'rspec/core/rake_task'
5
5
  require 'rake/testtask'
6
6
  require 'appraisal'
@@ -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',
@@ -76,6 +87,7 @@ namespace :spec do
76
87
  t.rspec_opts = args.to_a.join(' ')
77
88
  end
78
89
 
90
+ # Datadog Tracing integrations
79
91
  [
80
92
  :action_cable,
81
93
  :action_pack,
@@ -85,6 +97,7 @@ namespace :spec do
85
97
  :active_support,
86
98
  :aws,
87
99
  :concurrent_ruby,
100
+ :cucumber,
88
101
  :dalli,
89
102
  :delayed_job,
90
103
  :elasticsearch,
@@ -95,11 +108,13 @@ namespace :spec do
95
108
  :graphql,
96
109
  :grpc,
97
110
  :http,
111
+ :httpclient,
98
112
  :httprb,
99
113
  :kafka,
100
114
  :mongodb,
101
115
  :mysql2,
102
116
  :presto,
117
+ :qless,
103
118
  :que,
104
119
  :racecar,
105
120
  :rack,
@@ -107,6 +122,7 @@ namespace :spec do
107
122
  :redis,
108
123
  :resque,
109
124
  :rest_client,
125
+ :rspec,
110
126
  :sequel,
111
127
  :shoryuken,
112
128
  :sidekiq,
@@ -120,20 +136,29 @@ namespace :spec do
120
136
  t.rspec_opts = args.to_a.join(' ')
121
137
  end
122
138
  end
139
+
140
+ # Datadog CI integrations
141
+ [
142
+ :cucumber,
143
+ :rspec
144
+ ].each do |contrib|
145
+ RSpec::Core::RakeTask.new(contrib) do |t, args|
146
+ t.pattern = "spec/datadog/ci/contrib/#{contrib}/**/*_spec.rb"
147
+ t.rspec_opts = args.to_a.join(' ')
148
+ end
149
+ end
123
150
  end
124
151
 
125
152
  namespace :test do
126
153
  task all: [:main,
127
- :rails,
128
- :monkey]
154
+ :rails]
129
155
 
130
156
  Rake::TestTask.new(:main) do |t|
131
157
  t.libs << %w[test lib]
132
158
  t.test_files = FileList['test/**/*_test.rb'].reject do |path|
133
159
  path.include?('contrib') ||
134
160
  path.include?('benchmark') ||
135
- path.include?('redis') ||
136
- path.include?('monkey_test.rb')
161
+ path.include?('redis')
137
162
  end
138
163
  end
139
164
 
@@ -141,19 +166,6 @@ namespace :test do
141
166
  t.libs << %w[test lib]
142
167
  t.test_files = FileList['test/contrib/rails/**/*_test.rb']
143
168
  end
144
-
145
- [
146
- ].each do |contrib|
147
- Rake::TestTask.new(contrib) do |t|
148
- t.libs << %w[test lib]
149
- t.test_files = FileList["test/contrib/#{contrib}/*_test.rb"]
150
- end
151
- end
152
-
153
- Rake::TestTask.new(:monkey) do |t|
154
- t.libs << %w[test lib]
155
- t.test_files = FileList['test/monkey_test.rb']
156
- end
157
169
  end
158
170
 
159
171
  Rake::TestTask.new(:benchmark) do |t|
@@ -161,7 +173,7 @@ Rake::TestTask.new(:benchmark) do |t|
161
173
  t.test_files = FileList['test/benchmark_test.rb']
162
174
  end
163
175
 
164
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
176
+ if defined?(RuboCop::RakeTask)
165
177
  RuboCop::RakeTask.new(:rubocop) do |t|
166
178
  t.options << ['-D', '--force-exclusion']
167
179
  t.patterns = ['lib/**/*.rb', 'test/**/*.rb', 'spec/**/*.rb', 'Gemfile', 'Rakefile']
@@ -181,6 +193,7 @@ S3_DIR = ENV['S3_DIR']
181
193
  desc 'release the docs website'
182
194
  task :'release:docs' => :docs do
183
195
  raise 'Missing environment variable S3_DIR' if !S3_DIR || S3_DIR.empty?
196
+
184
197
  sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
185
198
  end
186
199
 
@@ -190,6 +203,14 @@ def declare(*args)
190
203
  total_executors = ENV.key?('CIRCLE_NODE_TOTAL') ? ENV['CIRCLE_NODE_TOTAL'].to_i : nil
191
204
  current_executor = ENV.key?('CIRCLE_NODE_INDEX') ? ENV['CIRCLE_NODE_INDEX'].to_i : nil
192
205
 
206
+ ruby_runtime = if defined?(RUBY_ENGINE_VERSION)
207
+ "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}"
208
+ else
209
+ "#{RUBY_ENGINE}-#{RUBY_VERSION}" # For Ruby < 2.3
210
+ end
211
+
212
+ args[0].sub!(/^bundle exec appraisal /, "bundle exec appraisal #{ruby_runtime}-")
213
+
193
214
  if total_executors && current_executor && total_executors > 1
194
215
  @execution_count ||= 0
195
216
  @execution_count += 1
@@ -203,352 +224,320 @@ desc 'CI task; it runs all tests for current version of Ruby'
203
224
  task :ci do
204
225
  if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
205
226
  raise NotImplementedError, "Ruby versions < #{Datadog::VERSION::MINIMUM_RUBY_VERSION} are not supported!"
206
- elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
207
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
208
- # Main library
209
- declare 'bundle exec rake test:main'
210
- declare 'bundle exec rake spec:main'
211
- declare 'bundle exec rake spec:contrib'
212
- # Benchmarks
213
- declare 'bundle exec rake spec:benchmark'
214
-
215
- if RUBY_PLATFORM != 'java'
216
- # Contrib minitests
217
- declare 'bundle exec appraisal contrib-old rake test:monkey'
218
- # Contrib specs
219
- declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
220
- declare 'bundle exec appraisal contrib-old rake spec:active_record'
221
- declare 'bundle exec appraisal contrib-old rake spec:active_support'
222
- declare 'bundle exec appraisal contrib-old rake spec:aws'
223
- declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
224
- declare 'bundle exec appraisal contrib-old rake spec:dalli'
225
- declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
226
- declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
227
- declare 'bundle exec appraisal contrib-old rake spec:ethon'
228
- declare 'bundle exec appraisal contrib-old rake spec:excon'
229
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
230
- declare 'bundle exec appraisal contrib-old rake spec:http'
231
- declare 'bundle exec appraisal contrib-old rake spec:httprb'
232
- declare 'bundle exec appraisal contrib-old rake spec:mongodb'
233
- declare 'bundle exec appraisal contrib-old rake spec:mysql2'
234
- declare 'bundle exec appraisal contrib-old rake spec:rack'
235
- declare 'bundle exec appraisal contrib-old rake spec:rake'
236
- declare 'bundle exec appraisal contrib-old rake spec:redis'
237
- declare 'bundle exec appraisal contrib-old rake spec:resque'
238
- declare 'bundle exec appraisal contrib-old rake spec:rest_client'
239
- declare 'bundle exec appraisal contrib-old rake spec:sequel'
240
- declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
241
- declare 'bundle exec appraisal contrib-old rake spec:sinatra'
242
- declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
243
- declare 'bundle exec appraisal contrib-old rake spec:suite'
244
- # Rails minitests
245
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
246
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
247
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
248
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
249
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
250
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
251
- # Rails specs
252
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
253
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
254
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
255
- # Rails suite specs
256
- declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
257
- declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
258
- declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
259
- declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
260
- end
261
227
  elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
262
228
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
263
229
  # Main library
264
230
  declare 'bundle exec rake test:main'
265
231
  declare 'bundle exec rake spec:main'
232
+ declare 'bundle exec appraisal core-old rake spec:main'
266
233
  declare 'bundle exec rake spec:contrib'
267
234
  declare 'bundle exec rake spec:opentracer'
268
- # Benchmarks
269
- declare 'bundle exec rake spec:benchmark'
270
235
 
271
- if RUBY_PLATFORM != 'java'
272
- # Contrib minitests
273
- declare 'bundle exec appraisal contrib-old rake test:monkey'
274
- # Contrib specs
275
- declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
276
- declare 'bundle exec appraisal contrib-old rake spec:active_record'
277
- declare 'bundle exec appraisal contrib-old rake spec:active_support'
278
- declare 'bundle exec appraisal contrib-old rake spec:aws'
279
- declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
280
- declare 'bundle exec appraisal contrib-old rake spec:dalli'
281
- declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
282
- declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
283
- declare 'bundle exec appraisal contrib-old rake spec:ethon'
284
- declare 'bundle exec appraisal contrib-old rake spec:excon'
285
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
286
- declare 'bundle exec appraisal contrib-old rake spec:http'
287
- declare 'bundle exec appraisal contrib-old rake spec:httprb'
288
- declare 'bundle exec appraisal contrib-old rake spec:mongodb'
289
- declare 'bundle exec appraisal contrib-old rake spec:mysql2'
290
- declare 'bundle exec appraisal contrib-old rake spec:presto'
291
- declare 'bundle exec appraisal contrib-old rake spec:rack'
292
- declare 'bundle exec appraisal contrib-old rake spec:rake'
293
- declare 'bundle exec appraisal contrib-old rake spec:redis'
294
- declare 'bundle exec appraisal contrib-old rake spec:resque'
295
- declare 'bundle exec appraisal contrib-old rake spec:rest_client'
296
- declare 'bundle exec appraisal contrib-old rake spec:sequel'
297
- declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
298
- declare 'bundle exec appraisal contrib-old rake spec:sinatra'
299
- declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
300
- declare 'bundle exec appraisal contrib-old rake spec:suite'
301
- # Rails minitests
302
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
303
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
304
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
305
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
306
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
307
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
308
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
309
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
310
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
311
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
312
- # Rails specs
313
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
314
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
315
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
316
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
317
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
318
- # Rails suite specs
319
- declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
320
- declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
321
- declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
322
- declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
323
- end
236
+ # Contrib specs
237
+ declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
238
+ declare 'bundle exec appraisal contrib-old rake spec:active_record'
239
+ declare 'bundle exec appraisal contrib-old rake spec:active_support'
240
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
241
+ declare 'bundle exec appraisal contrib-old rake spec:aws'
242
+ declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
243
+ declare 'bundle exec appraisal contrib-old rake spec:dalli'
244
+ declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
245
+ declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
246
+ declare 'bundle exec appraisal contrib-old rake spec:ethon'
247
+ declare 'bundle exec appraisal contrib-old rake spec:excon'
248
+ declare 'bundle exec appraisal contrib-old rake spec:faraday'
249
+ declare 'bundle exec appraisal contrib-old rake spec:http'
250
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
251
+ declare 'bundle exec appraisal contrib-old rake spec:httprb'
252
+ declare 'bundle exec appraisal contrib-old rake spec:kafka'
253
+ declare 'bundle exec appraisal contrib-old rake spec:mongodb'
254
+ declare 'bundle exec appraisal contrib-old rake spec:mysql2'
255
+ declare 'bundle exec appraisal contrib-old rake spec:presto'
256
+ declare 'bundle exec appraisal contrib-old rake spec:rack'
257
+ declare 'bundle exec appraisal contrib-old rake spec:rake'
258
+ declare 'bundle exec appraisal contrib-old rake spec:redis'
259
+ declare 'bundle exec appraisal contrib-old rake spec:resque'
260
+ declare 'bundle exec appraisal contrib-old rake spec:rest_client'
261
+ declare 'bundle exec appraisal contrib-old rake spec:rspec'
262
+ declare 'bundle exec appraisal contrib-old rake spec:sequel'
263
+ declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
264
+ declare 'bundle exec appraisal contrib-old rake spec:sinatra'
265
+ declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
266
+ declare 'bundle exec appraisal contrib-old rake spec:suite'
267
+ # Rails minitests
268
+ declare 'bundle exec appraisal rails30-postgres rake test:rails'
269
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
270
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
271
+ declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
272
+ declare 'bundle exec appraisal rails32-postgres rake test:rails'
273
+ declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
274
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
275
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
276
+ declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
277
+ declare 'bundle exec appraisal rails4-postgres rake test:rails'
278
+ declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
279
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
280
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
281
+ # Rails specs
282
+ declare 'bundle exec appraisal rails30-postgres rake spec:rails'
283
+ declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
284
+ declare 'bundle exec appraisal rails32-postgres rake spec:rails'
285
+ declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
286
+ declare 'bundle exec appraisal rails4-postgres rake spec:rails'
287
+ # Rails suite specs
288
+ declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
289
+ declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
290
+ declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
291
+ declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
324
292
  elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION)\
325
293
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
326
294
  # Main library
327
295
  declare 'bundle exec rake test:main'
328
296
  declare 'bundle exec rake spec:main'
297
+ declare 'bundle exec appraisal core-old rake spec:main'
329
298
  declare 'bundle exec rake spec:contrib'
330
299
  declare 'bundle exec rake spec:opentracer'
331
- # Benchmarks
332
- declare 'bundle exec rake spec:benchmark'
333
300
 
334
- if RUBY_PLATFORM != 'java'
335
- # Contrib minitests
336
- # Contrib specs
337
- declare 'bundle exec appraisal contrib rake spec:action_pack'
338
- declare 'bundle exec appraisal contrib rake spec:action_view'
339
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
340
- declare 'bundle exec appraisal contrib rake spec:active_record'
341
- declare 'bundle exec appraisal contrib rake spec:active_support'
342
- declare 'bundle exec appraisal contrib rake spec:aws'
343
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
344
- declare 'bundle exec appraisal contrib rake spec:dalli'
345
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
346
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
347
- declare 'bundle exec appraisal contrib rake spec:ethon'
348
- declare 'bundle exec appraisal contrib rake spec:excon'
349
- declare 'bundle exec appraisal contrib rake spec:faraday'
350
- declare 'bundle exec appraisal contrib rake spec:grape'
351
- declare 'bundle exec appraisal contrib rake spec:graphql'
352
- declare 'bundle exec appraisal contrib rake spec:grpc'
353
- declare 'bundle exec appraisal contrib rake spec:http'
354
- declare 'bundle exec appraisal contrib rake spec:httprb'
355
- declare 'bundle exec appraisal contrib rake spec:mongodb'
356
- declare 'bundle exec appraisal contrib rake spec:mysql2'
357
- declare 'bundle exec appraisal contrib rake spec:presto'
358
- declare 'bundle exec appraisal contrib rake spec:que'
359
- declare 'bundle exec appraisal contrib rake spec:racecar'
360
- declare 'bundle exec appraisal contrib rake spec:rack'
361
- declare 'bundle exec appraisal contrib rake spec:rake'
362
- declare 'bundle exec appraisal contrib rake spec:redis'
363
- declare 'bundle exec appraisal contrib rake spec:resque'
364
- declare 'bundle exec appraisal contrib rake spec:rest_client'
365
- declare 'bundle exec appraisal contrib rake spec:sequel'
366
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
367
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
368
- declare 'bundle exec appraisal contrib rake spec:sinatra'
369
- declare 'bundle exec appraisal contrib rake spec:sneakers'
370
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
371
- declare 'bundle exec appraisal contrib rake spec:suite'
372
- # Rails minitests
373
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
374
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
375
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
376
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
377
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
378
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
379
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
380
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
381
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
382
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
383
- declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
384
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
385
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
386
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
387
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
388
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
389
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
390
- # Rails specs
391
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
392
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
393
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
394
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
395
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
396
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
397
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
398
- end
301
+ # Contrib minitests
302
+ # Contrib specs
303
+ declare 'bundle exec appraisal contrib rake spec:action_pack'
304
+ declare 'bundle exec appraisal contrib rake spec:action_view'
305
+ declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
306
+ declare 'bundle exec appraisal contrib rake spec:active_record'
307
+ declare 'bundle exec appraisal contrib rake spec:active_support'
308
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
309
+ declare 'bundle exec appraisal contrib rake spec:aws'
310
+ declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
311
+ declare 'bundle exec appraisal contrib rake spec:dalli'
312
+ declare 'bundle exec appraisal contrib rake spec:delayed_job'
313
+ declare 'bundle exec appraisal contrib rake spec:elasticsearch'
314
+ declare 'bundle exec appraisal contrib rake spec:ethon'
315
+ declare 'bundle exec appraisal contrib rake spec:excon'
316
+ declare 'bundle exec appraisal contrib rake spec:faraday'
317
+ declare 'bundle exec appraisal contrib rake spec:grape'
318
+ declare 'bundle exec appraisal contrib rake spec:graphql'
319
+ declare 'bundle exec appraisal contrib rake spec:grpc'
320
+ declare 'bundle exec appraisal contrib rake spec:http'
321
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
322
+ declare 'bundle exec appraisal contrib rake spec:httprb'
323
+ declare 'bundle exec appraisal contrib rake spec:kafka'
324
+ declare 'bundle exec appraisal contrib rake spec:mongodb'
325
+ declare 'bundle exec appraisal contrib rake spec:mysql2'
326
+ declare 'bundle exec appraisal contrib rake spec:presto'
327
+ declare 'bundle exec appraisal contrib rake spec:qless'
328
+ declare 'bundle exec appraisal contrib rake spec:que'
329
+ declare 'bundle exec appraisal contrib rake spec:racecar'
330
+ declare 'bundle exec appraisal contrib rake spec:rack'
331
+ declare 'bundle exec appraisal contrib rake spec:rake'
332
+ declare 'bundle exec appraisal contrib rake spec:redis'
333
+ declare 'bundle exec appraisal contrib rake spec:resque'
334
+ declare 'bundle exec appraisal contrib rake spec:rest_client'
335
+ declare 'bundle exec appraisal contrib rake spec:rspec'
336
+ declare 'bundle exec appraisal contrib rake spec:sequel'
337
+ declare 'bundle exec appraisal contrib rake spec:shoryuken'
338
+ declare 'bundle exec appraisal contrib rake spec:sidekiq'
339
+ declare 'bundle exec appraisal contrib rake spec:sinatra'
340
+ declare 'bundle exec appraisal contrib rake spec:sneakers'
341
+ declare 'bundle exec appraisal contrib rake spec:sucker_punch'
342
+ declare 'bundle exec appraisal contrib rake spec:suite'
343
+ # Rails minitests
344
+ declare 'bundle exec appraisal rails30-postgres rake test:rails'
345
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
346
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
347
+ declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
348
+ declare 'bundle exec appraisal rails32-postgres rake test:rails'
349
+ declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
350
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
351
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
352
+ declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
353
+ declare 'bundle exec appraisal rails4-postgres rake test:rails'
354
+ declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
355
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
356
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
357
+ declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
358
+ declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
359
+ declare 'bundle exec appraisal rails5-postgres rake test:rails'
360
+ declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
361
+ declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
362
+ declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
363
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
364
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
365
+ # Rails specs
366
+ declare 'bundle exec appraisal rails30-postgres rake spec:rails'
367
+ declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
368
+ declare 'bundle exec appraisal rails32-postgres rake spec:rails'
369
+ declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
370
+ declare 'bundle exec appraisal rails4-postgres rake spec:rails'
371
+ declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
372
+ declare 'bundle exec appraisal rails5-postgres rake spec:rails'
399
373
  elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
400
374
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4.0')
401
375
  # Main library
402
376
  declare 'bundle exec rake test:main'
403
377
  declare 'bundle exec rake spec:main'
378
+ declare 'bundle exec appraisal core-old rake spec:main'
404
379
  declare 'bundle exec rake spec:contrib'
405
380
  declare 'bundle exec rake spec:opentracer'
406
- # Benchmarks
407
- declare 'bundle exec rake spec:benchmark'
408
381
 
409
- if RUBY_PLATFORM != 'java'
410
- # Contrib minitests
411
- # Contrib specs
412
- declare 'bundle exec appraisal contrib rake spec:action_pack'
413
- declare 'bundle exec appraisal contrib rake spec:action_view'
414
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
415
- declare 'bundle exec appraisal contrib rake spec:active_record'
416
- declare 'bundle exec appraisal contrib rake spec:active_support'
417
- declare 'bundle exec appraisal contrib rake spec:aws'
418
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
419
- declare 'bundle exec appraisal contrib rake spec:dalli'
420
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
421
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
422
- declare 'bundle exec appraisal contrib rake spec:ethon'
423
- declare 'bundle exec appraisal contrib rake spec:excon'
424
- declare 'bundle exec appraisal contrib rake spec:faraday'
425
- declare 'bundle exec appraisal contrib rake spec:grape'
426
- declare 'bundle exec appraisal contrib rake spec:graphql'
427
- declare 'bundle exec appraisal contrib rake spec:grpc'
428
- declare 'bundle exec appraisal contrib rake spec:http'
429
- declare 'bundle exec appraisal contrib rake spec:httprb'
430
- declare 'bundle exec appraisal contrib rake spec:mongodb'
431
- declare 'bundle exec appraisal contrib rake spec:mysql2'
432
- declare 'bundle exec appraisal contrib rake spec:presto'
433
- declare 'bundle exec appraisal contrib rake spec:que'
434
- declare 'bundle exec appraisal contrib rake spec:racecar'
435
- declare 'bundle exec appraisal contrib rake spec:rack'
436
- declare 'bundle exec appraisal contrib rake spec:rake'
437
- declare 'bundle exec appraisal contrib rake spec:redis'
438
- declare 'bundle exec appraisal contrib rake spec:resque'
439
- declare 'bundle exec appraisal contrib rake spec:rest_client'
440
- declare 'bundle exec appraisal contrib rake spec:sequel'
441
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
442
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
443
- declare 'bundle exec appraisal contrib rake spec:sinatra'
444
- declare 'bundle exec appraisal contrib rake spec:sneakers'
445
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
446
- declare 'bundle exec appraisal contrib rake spec:suite'
447
- # Contrib specs with old gem versions
448
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
449
- # Rails minitests
450
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
451
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
452
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
453
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
454
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
455
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
456
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
457
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
458
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
459
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
460
- declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
461
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
462
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
463
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
464
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
465
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
466
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
467
- # Rails specs
468
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
469
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
470
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
471
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
472
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
473
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
474
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
475
- end
382
+ # Contrib minitests
383
+ # Contrib specs
384
+ declare 'bundle exec appraisal contrib rake spec:action_pack'
385
+ declare 'bundle exec appraisal contrib rake spec:action_view'
386
+ declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
387
+ declare 'bundle exec appraisal contrib rake spec:active_record'
388
+ declare 'bundle exec appraisal contrib rake spec:active_support'
389
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
390
+ declare 'bundle exec appraisal contrib rake spec:aws'
391
+ declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
392
+ declare 'bundle exec appraisal contrib rake spec:dalli'
393
+ declare 'bundle exec appraisal contrib rake spec:delayed_job'
394
+ declare 'bundle exec appraisal contrib rake spec:elasticsearch'
395
+ declare 'bundle exec appraisal contrib rake spec:ethon'
396
+ declare 'bundle exec appraisal contrib rake spec:excon'
397
+ declare 'bundle exec appraisal contrib rake spec:faraday'
398
+ declare 'bundle exec appraisal contrib rake spec:grape'
399
+ declare 'bundle exec appraisal contrib rake spec:graphql'
400
+ declare 'bundle exec appraisal contrib rake spec:grpc'
401
+ declare 'bundle exec appraisal contrib rake spec:http'
402
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
403
+ declare 'bundle exec appraisal contrib rake spec:httprb'
404
+ declare 'bundle exec appraisal contrib rake spec:kafka'
405
+ declare 'bundle exec appraisal contrib rake spec:mongodb'
406
+ declare 'bundle exec appraisal contrib rake spec:mysql2'
407
+ declare 'bundle exec appraisal contrib rake spec:presto'
408
+ declare 'bundle exec appraisal contrib rake spec:que'
409
+ declare 'bundle exec appraisal contrib rake spec:racecar'
410
+ declare 'bundle exec appraisal contrib rake spec:rack'
411
+ declare 'bundle exec appraisal contrib rake spec:rake'
412
+ declare 'bundle exec appraisal contrib rake spec:redis'
413
+ declare 'bundle exec appraisal contrib rake spec:resque'
414
+ declare 'bundle exec appraisal contrib rake spec:rest_client'
415
+ declare 'bundle exec appraisal contrib rake spec:rspec'
416
+ declare 'bundle exec appraisal contrib rake spec:sequel'
417
+ declare 'bundle exec appraisal contrib rake spec:shoryuken'
418
+ declare 'bundle exec appraisal contrib rake spec:sidekiq'
419
+ declare 'bundle exec appraisal contrib rake spec:sinatra'
420
+ declare 'bundle exec appraisal contrib rake spec:sneakers'
421
+ declare 'bundle exec appraisal contrib rake spec:sucker_punch'
422
+ declare 'bundle exec appraisal contrib rake spec:suite'
423
+ # Contrib specs with old gem versions
424
+ declare 'bundle exec appraisal contrib-old rake spec:faraday'
425
+ # Rails minitests
426
+ declare 'bundle exec appraisal rails30-postgres rake test:rails'
427
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
428
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
429
+ declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
430
+ declare 'bundle exec appraisal rails32-postgres rake test:rails'
431
+ declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
432
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
433
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
434
+ declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
435
+ declare 'bundle exec appraisal rails4-postgres rake test:rails'
436
+ declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
437
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
438
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
439
+ declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
440
+ declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
441
+ declare 'bundle exec appraisal rails5-postgres rake test:rails'
442
+ declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
443
+ declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
444
+ declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
445
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
446
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
447
+ # Rails specs
448
+ declare 'bundle exec appraisal rails30-postgres rake spec:rails'
449
+ declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
450
+ declare 'bundle exec appraisal rails32-postgres rake spec:rails'
451
+ declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
452
+ declare 'bundle exec appraisal rails4-postgres rake spec:rails'
453
+ declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
454
+ declare 'bundle exec appraisal rails5-postgres rake spec:rails'
455
+
456
+ # explicitly test resque-2x compatability
457
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
458
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
476
459
  elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
477
460
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
478
461
  # Main library
479
462
  declare 'bundle exec rake test:main'
480
463
  declare 'bundle exec rake spec:main'
464
+ declare 'bundle exec appraisal core-old rake spec:main'
481
465
  declare 'bundle exec rake spec:contrib'
482
466
  declare 'bundle exec rake spec:opentracer'
483
467
  declare 'bundle exec rake spec:opentelemetry'
484
- # Benchmarks
485
- declare 'bundle exec rake spec:benchmark'
486
468
 
487
- if RUBY_PLATFORM != 'java'
488
- # Benchmarks
489
- declare 'bundle exec rake benchmark'
490
- # Contrib minitests
491
- # Contrib specs
492
- declare 'bundle exec appraisal contrib rake spec:action_pack'
493
- declare 'bundle exec appraisal contrib rake spec:action_view'
494
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
495
- declare 'bundle exec appraisal contrib rake spec:active_record'
496
- declare 'bundle exec appraisal contrib rake spec:active_support'
497
- declare 'bundle exec appraisal contrib rake spec:aws'
498
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
499
- declare 'bundle exec appraisal contrib rake spec:dalli'
500
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
501
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
502
- declare 'bundle exec appraisal contrib rake spec:ethon'
503
- declare 'bundle exec appraisal contrib rake spec:excon'
504
- declare 'bundle exec appraisal contrib rake spec:faraday'
505
- declare 'bundle exec appraisal contrib rake spec:grape'
506
- declare 'bundle exec appraisal contrib rake spec:graphql'
507
- declare 'bundle exec appraisal contrib rake spec:grpc'
508
- declare 'bundle exec appraisal contrib rake spec:http'
509
- declare 'bundle exec appraisal contrib rake spec:httprb'
510
- declare 'bundle exec appraisal contrib rake spec:mongodb'
511
- declare 'bundle exec appraisal contrib rake spec:mysql2'
512
- declare 'bundle exec appraisal contrib rake spec:presto'
513
- declare 'bundle exec appraisal contrib rake spec:que'
514
- declare 'bundle exec appraisal contrib rake spec:racecar'
515
- declare 'bundle exec appraisal contrib rake spec:rack'
516
- declare 'bundle exec appraisal contrib rake spec:rake'
517
- declare 'bundle exec appraisal contrib rake spec:redis'
518
- declare 'bundle exec appraisal contrib rake spec:resque'
519
- declare 'bundle exec appraisal contrib rake spec:rest_client'
520
- declare 'bundle exec appraisal contrib rake spec:sequel'
521
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
522
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
523
- declare 'bundle exec appraisal contrib rake spec:sinatra'
524
- declare 'bundle exec appraisal contrib rake spec:sneakers'
525
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
526
- declare 'bundle exec appraisal contrib rake spec:suite'
527
- # Contrib specs with old gem versions
528
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
529
- # Rails minitests
530
- # We only test Rails 5+ because older versions require Bundler < 2.0
531
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
532
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
533
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
534
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
535
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
536
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
537
- # Rails specs
538
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
539
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
540
- end
469
+ # Contrib minitests
470
+ # Contrib specs
471
+ declare 'bundle exec appraisal contrib rake spec:action_pack'
472
+ declare 'bundle exec appraisal contrib rake spec:action_view'
473
+ declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
474
+ declare 'bundle exec appraisal contrib rake spec:active_record'
475
+ declare 'bundle exec appraisal contrib rake spec:active_support'
476
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
477
+ declare 'bundle exec appraisal contrib rake spec:aws'
478
+ declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
479
+ declare 'bundle exec appraisal contrib rake spec:dalli'
480
+ declare 'bundle exec appraisal contrib rake spec:delayed_job'
481
+ declare 'bundle exec appraisal contrib rake spec:elasticsearch'
482
+ declare 'bundle exec appraisal contrib rake spec:ethon'
483
+ declare 'bundle exec appraisal contrib rake spec:excon'
484
+ declare 'bundle exec appraisal contrib rake spec:faraday'
485
+ declare 'bundle exec appraisal contrib rake spec:grape'
486
+ declare 'bundle exec appraisal contrib rake spec:graphql'
487
+ declare 'bundle exec appraisal contrib rake spec:grpc'
488
+ declare 'bundle exec appraisal contrib rake spec:http'
489
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
490
+ declare 'bundle exec appraisal contrib rake spec:httprb'
491
+ declare 'bundle exec appraisal contrib rake spec:kafka'
492
+ declare 'bundle exec appraisal contrib rake spec:mongodb'
493
+ declare 'bundle exec appraisal contrib rake spec:mysql2'
494
+ declare 'bundle exec appraisal contrib rake spec:presto'
495
+ declare 'bundle exec appraisal contrib rake spec:que'
496
+ declare 'bundle exec appraisal contrib rake spec:racecar'
497
+ declare 'bundle exec appraisal contrib rake spec:rack'
498
+ declare 'bundle exec appraisal contrib rake spec:rake'
499
+ declare 'bundle exec appraisal contrib rake spec:redis'
500
+ declare 'bundle exec appraisal contrib rake spec:resque'
501
+ declare 'bundle exec appraisal contrib rake spec:rest_client'
502
+ declare 'bundle exec appraisal contrib rake spec:rspec'
503
+ declare 'bundle exec appraisal contrib rake spec:sequel'
504
+ declare 'bundle exec appraisal contrib rake spec:shoryuken'
505
+ declare 'bundle exec appraisal contrib rake spec:sidekiq'
506
+ declare 'bundle exec appraisal contrib rake spec:sinatra'
507
+ declare 'bundle exec appraisal contrib rake spec:sneakers'
508
+ declare 'bundle exec appraisal contrib rake spec:sucker_punch'
509
+ declare 'bundle exec appraisal contrib rake spec:suite'
510
+ # Contrib specs with old gem versions
511
+ declare 'bundle exec appraisal contrib-old rake spec:faraday'
512
+ # Rails minitests
513
+ # We only test Rails 5+ because older versions require Bundler < 2.0
514
+ declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
515
+ declare 'bundle exec appraisal rails5-postgres rake test:rails'
516
+ declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
517
+ declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
518
+ declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
519
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
520
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
521
+ # Rails specs
522
+ declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
523
+ declare 'bundle exec appraisal rails5-postgres rake spec:rails'
524
+
525
+ # explicitly test resque-2x compatability
526
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
527
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
528
+
529
+ # explicitly test cucumber compatibility
530
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
531
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
541
532
  elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
542
533
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
543
534
  # Main library
544
535
  declare 'bundle exec rake test:main'
545
536
  declare 'bundle exec rake spec:main'
537
+ declare 'bundle exec appraisal core-old rake spec:main'
546
538
  declare 'bundle exec rake spec:contrib'
547
539
  declare 'bundle exec rake spec:opentracer'
548
540
  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
541
  # Contrib minitests
553
542
  # Contrib specs
554
543
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -556,8 +545,10 @@ task :ci do
556
545
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
557
546
  declare 'bundle exec appraisal contrib rake spec:active_record'
558
547
  declare 'bundle exec appraisal contrib rake spec:active_support'
548
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
559
549
  declare 'bundle exec appraisal contrib rake spec:aws'
560
550
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
551
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
561
552
  declare 'bundle exec appraisal contrib rake spec:dalli'
562
553
  declare 'bundle exec appraisal contrib rake spec:delayed_job'
563
554
  declare 'bundle exec appraisal contrib rake spec:elasticsearch'
@@ -568,10 +559,13 @@ task :ci do
568
559
  declare 'bundle exec appraisal contrib rake spec:graphql'
569
560
  declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
570
561
  declare 'bundle exec appraisal contrib rake spec:http'
562
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
571
563
  declare 'bundle exec appraisal contrib rake spec:httprb'
564
+ declare 'bundle exec appraisal contrib rake spec:kafka'
572
565
  declare 'bundle exec appraisal contrib rake spec:mongodb'
573
566
  declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
574
567
  declare 'bundle exec appraisal contrib rake spec:presto'
568
+ declare 'bundle exec appraisal contrib rake spec:qless'
575
569
  declare 'bundle exec appraisal contrib rake spec:que'
576
570
  declare 'bundle exec appraisal contrib rake spec:racecar'
577
571
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -579,6 +573,7 @@ task :ci do
579
573
  declare 'bundle exec appraisal contrib rake spec:redis'
580
574
  declare 'bundle exec appraisal contrib rake spec:resque'
581
575
  declare 'bundle exec appraisal contrib rake spec:rest_client'
576
+ declare 'bundle exec appraisal contrib rake spec:rspec'
582
577
  declare 'bundle exec appraisal contrib rake spec:sequel'
583
578
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
584
579
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -596,33 +591,49 @@ task :ci do
596
591
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
597
592
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
598
593
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
594
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
599
595
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
600
596
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
601
597
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
602
598
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
603
599
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
604
600
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
601
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
605
602
  # Rails specs
606
603
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
607
604
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
608
605
  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.
606
+ declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
610
607
  declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
611
608
  declare 'bundle exec appraisal rails6-postgres rake spec:rails'
609
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
610
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
611
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
612
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
613
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
614
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
615
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
616
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
617
+
618
+ # explicitly test resque-2x compatability
619
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
620
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
621
+
622
+ # explicitly test cucumber compatibility
623
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
624
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
625
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
612
626
  elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
613
627
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
614
628
  # Main library
615
629
  declare 'bundle exec rake test:main'
616
630
  declare 'bundle exec rake spec:main'
631
+ declare 'bundle exec appraisal core-old rake spec:main'
617
632
  declare 'bundle exec rake spec:contrib'
618
633
  declare 'bundle exec rake spec:opentracer'
619
634
  declare 'bundle exec rake spec:opentelemetry'
620
- # Benchmarks
621
- declare 'bundle exec rake spec:benchmark'
622
635
 
623
636
  if RUBY_PLATFORM != 'java'
624
- # Benchmarks
625
- declare 'bundle exec rake benchmark'
626
637
  # Contrib minitests
627
638
  # Contrib specs
628
639
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -630,8 +641,10 @@ task :ci do
630
641
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
631
642
  declare 'bundle exec appraisal contrib rake spec:active_record'
632
643
  declare 'bundle exec appraisal contrib rake spec:active_support'
644
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
633
645
  declare 'bundle exec appraisal contrib rake spec:aws'
634
646
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
647
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
635
648
  declare 'bundle exec appraisal contrib rake spec:dalli'
636
649
  declare 'bundle exec appraisal contrib rake spec:delayed_job'
637
650
  declare 'bundle exec appraisal contrib rake spec:elasticsearch'
@@ -642,10 +655,13 @@ task :ci do
642
655
  declare 'bundle exec appraisal contrib rake spec:graphql'
643
656
  declare 'bundle exec appraisal contrib rake spec:grpc'
644
657
  declare 'bundle exec appraisal contrib rake spec:http'
658
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
645
659
  declare 'bundle exec appraisal contrib rake spec:httprb'
660
+ declare 'bundle exec appraisal contrib rake spec:kafka'
646
661
  declare 'bundle exec appraisal contrib rake spec:mongodb'
647
662
  declare 'bundle exec appraisal contrib rake spec:mysql2'
648
663
  declare 'bundle exec appraisal contrib rake spec:presto'
664
+ declare 'bundle exec appraisal contrib rake spec:qless'
649
665
  declare 'bundle exec appraisal contrib rake spec:que'
650
666
  declare 'bundle exec appraisal contrib rake spec:racecar'
651
667
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -653,6 +669,7 @@ task :ci do
653
669
  declare 'bundle exec appraisal contrib rake spec:redis'
654
670
  declare 'bundle exec appraisal contrib rake spec:resque'
655
671
  declare 'bundle exec appraisal contrib rake spec:rest_client'
672
+ declare 'bundle exec appraisal contrib rake spec:rspec'
656
673
  declare 'bundle exec appraisal contrib rake spec:sequel'
657
674
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
658
675
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -660,6 +677,7 @@ task :ci do
660
677
  declare 'bundle exec appraisal contrib rake spec:sneakers'
661
678
  declare 'bundle exec appraisal contrib rake spec:sucker_punch'
662
679
  declare 'bundle exec appraisal contrib rake spec:suite'
680
+
663
681
  # Contrib specs with old gem versions
664
682
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
665
683
  # Rails minitests
@@ -670,33 +688,50 @@ task :ci do
670
688
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
671
689
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
672
690
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
691
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
673
692
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
674
693
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
675
694
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
676
695
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
677
696
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
678
697
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
698
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
679
699
  # Rails specs
680
700
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
681
701
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
682
702
  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.
703
+ declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
684
704
  declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
685
705
  declare 'bundle exec appraisal rails6-postgres rake spec:rails'
706
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
707
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
708
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
709
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
710
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
711
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
712
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
713
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
714
+
715
+ # explicitly test resque-2x compatability
716
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
717
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
718
+
719
+ # explicitly test cucumber compatibility
720
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
721
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
722
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
686
723
  end
687
- elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
724
+ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION) \
725
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0')
688
726
  # Main library
689
727
  declare 'bundle exec rake test:main'
690
728
  declare 'bundle exec rake spec:main'
729
+ declare 'bundle exec appraisal core-old rake spec:main'
691
730
  declare 'bundle exec rake spec:contrib'
692
731
  declare 'bundle exec rake spec:opentracer'
693
732
  declare 'bundle exec rake spec:opentelemetry'
694
- # Benchmarks
695
- declare 'bundle exec rake spec:benchmark'
696
733
 
697
734
  if RUBY_PLATFORM != 'java'
698
- # Benchmarks
699
- declare 'bundle exec rake benchmark'
700
735
  # Contrib minitests
701
736
  # Contrib specs
702
737
  declare 'bundle exec appraisal contrib rake spec:action_pack'
@@ -704,8 +739,10 @@ task :ci do
704
739
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
705
740
  declare 'bundle exec appraisal contrib rake spec:active_record'
706
741
  declare 'bundle exec appraisal contrib rake spec:active_support'
742
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
707
743
  declare 'bundle exec appraisal contrib rake spec:aws'
708
744
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
745
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
709
746
  declare 'bundle exec appraisal contrib rake spec:dalli'
710
747
  declare 'bundle exec appraisal contrib rake spec:delayed_job'
711
748
  declare 'bundle exec appraisal contrib rake spec:elasticsearch'
@@ -716,10 +753,13 @@ task :ci do
716
753
  declare 'bundle exec appraisal contrib rake spec:graphql'
717
754
  declare 'bundle exec appraisal contrib rake spec:grpc'
718
755
  declare 'bundle exec appraisal contrib rake spec:http'
756
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
719
757
  declare 'bundle exec appraisal contrib rake spec:httprb'
758
+ declare 'bundle exec appraisal contrib rake spec:kafka'
720
759
  declare 'bundle exec appraisal contrib rake spec:mongodb'
721
760
  declare 'bundle exec appraisal contrib rake spec:mysql2'
722
761
  declare 'bundle exec appraisal contrib rake spec:presto'
762
+ declare 'bundle exec appraisal contrib rake spec:qless'
723
763
  declare 'bundle exec appraisal contrib rake spec:que'
724
764
  declare 'bundle exec appraisal contrib rake spec:racecar'
725
765
  declare 'bundle exec appraisal contrib rake spec:rack'
@@ -727,6 +767,7 @@ task :ci do
727
767
  declare 'bundle exec appraisal contrib rake spec:redis'
728
768
  declare 'bundle exec appraisal contrib rake spec:resque'
729
769
  declare 'bundle exec appraisal contrib rake spec:rest_client'
770
+ declare 'bundle exec appraisal contrib rake spec:rspec'
730
771
  declare 'bundle exec appraisal contrib rake spec:sequel'
731
772
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
732
773
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -734,6 +775,7 @@ task :ci do
734
775
  declare 'bundle exec appraisal contrib rake spec:sneakers'
735
776
  declare 'bundle exec appraisal contrib rake spec:sucker_punch'
736
777
  declare 'bundle exec appraisal contrib rake spec:suite'
778
+
737
779
  # Contrib specs with old gem versions
738
780
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
739
781
  # Rails minitests
@@ -744,17 +786,109 @@ task :ci do
744
786
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
745
787
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
746
788
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
789
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
747
790
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
748
791
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
749
792
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
750
793
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
751
794
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
752
795
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
796
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
753
797
  # Rails specs
754
798
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
755
799
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
800
+ declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
756
801
  declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
757
802
  declare 'bundle exec appraisal rails6-postgres rake spec:rails'
803
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
804
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
805
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
806
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
807
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
808
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
809
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
810
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
811
+
812
+ # explicitly test resque-2x compatability
813
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
814
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
815
+
816
+ # explicitly test cucumber compatibility
817
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
818
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
819
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
820
+ end
821
+ elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
822
+ # Main library
823
+ declare 'bundle exec rake test:main'
824
+ declare 'bundle exec rake spec:main'
825
+ declare 'bundle exec appraisal core-old rake spec:main'
826
+ declare 'bundle exec rake spec:contrib'
827
+ declare 'bundle exec rake spec:opentracer'
828
+ declare 'bundle exec rake spec:opentelemetry'
829
+
830
+ if RUBY_PLATFORM != 'java'
831
+ # Contrib minitests
832
+ # Contrib specs
833
+ declare 'bundle exec appraisal contrib rake spec:action_pack'
834
+ declare 'bundle exec appraisal contrib rake spec:action_view'
835
+ declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
836
+ declare 'bundle exec appraisal contrib rake spec:active_record'
837
+ declare 'bundle exec appraisal contrib rake spec:active_support'
838
+ declare 'bundle exec appraisal contrib rake spec:aws'
839
+ declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
840
+ declare 'bundle exec appraisal contrib rake spec:cucumber'
841
+ declare 'bundle exec appraisal contrib rake spec:dalli'
842
+ declare 'bundle exec appraisal contrib rake spec:delayed_job'
843
+ declare 'bundle exec appraisal contrib rake spec:elasticsearch'
844
+ declare 'bundle exec appraisal contrib rake spec:ethon'
845
+ declare 'bundle exec appraisal contrib rake spec:excon'
846
+ declare 'bundle exec appraisal contrib rake spec:faraday'
847
+ declare 'bundle exec appraisal contrib rake spec:grape'
848
+ declare 'bundle exec appraisal contrib rake spec:graphql'
849
+ declare 'bundle exec appraisal contrib rake spec:grpc'
850
+ declare 'bundle exec appraisal contrib rake spec:http'
851
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
852
+ declare 'bundle exec appraisal contrib rake spec:httprb'
853
+ declare 'bundle exec appraisal contrib rake spec:kafka'
854
+ declare 'bundle exec appraisal contrib rake spec:mongodb'
855
+ declare 'bundle exec appraisal contrib rake spec:mysql2'
856
+ declare 'bundle exec appraisal contrib rake spec:presto'
857
+ declare 'bundle exec appraisal contrib rake spec:qless'
858
+ declare 'bundle exec appraisal contrib rake spec:que'
859
+ # declare 'bundle exec appraisal contrib rake spec:racecar' # Pending release of our fix: https://github.com/appsignal/rdkafka-ruby/pull/144
860
+ declare 'bundle exec appraisal contrib rake spec:rack'
861
+ declare 'bundle exec appraisal contrib rake spec:rake'
862
+ declare 'bundle exec appraisal contrib rake spec:redis'
863
+ declare 'bundle exec appraisal contrib rake spec:resque'
864
+ declare 'bundle exec appraisal contrib rake spec:rest_client'
865
+ declare 'bundle exec appraisal contrib rake spec:rspec'
866
+ declare 'bundle exec appraisal contrib rake spec:sequel'
867
+ declare 'bundle exec appraisal contrib rake spec:shoryuken'
868
+ declare 'bundle exec appraisal contrib rake spec:sidekiq'
869
+ declare 'bundle exec appraisal contrib rake spec:sinatra'
870
+ declare 'bundle exec appraisal contrib rake spec:sneakers'
871
+ declare 'bundle exec appraisal contrib rake spec:sucker_punch'
872
+ declare 'bundle exec appraisal contrib rake spec:suite'
873
+
874
+ # Rails
875
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
876
+ declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
877
+ declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
878
+ declare 'bundle exec appraisal rails61-postgres rake spec:rails'
879
+ declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
880
+ declare 'bundle exec appraisal rails61-postgres rake test:rails'
881
+ declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
882
+ declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
883
+
884
+ # explicitly test resque-2x compatability
885
+ declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
886
+ declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
887
+
888
+ # explicitly test cucumber compatibility
889
+ declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
890
+ declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
891
+ declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
758
892
  end
759
893
  end
760
894
  end
@@ -769,7 +903,13 @@ namespace :coverage do
769
903
 
770
904
  SimpleCov.collate resultset_files do
771
905
  coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report"
772
- formatter SimpleCov::Formatter::HTMLFormatter
906
+ if ENV['CI'] == 'true'
907
+ require 'codecov'
908
+ formatter SimpleCov::Formatter::MultiFormatter.new([SimpleCov::Formatter::HTMLFormatter,
909
+ SimpleCov::Formatter::Codecov])
910
+ else
911
+ formatter SimpleCov::Formatter::HTMLFormatter
912
+ end
773
913
  end
774
914
  end
775
915
 
@@ -788,4 +928,12 @@ namespace :coverage do
788
928
  end
789
929
  end
790
930
 
931
+ namespace :changelog do
932
+ task :format do
933
+ require 'pimpmychangelog'
934
+
935
+ PimpMyChangelog::CLI.run!
936
+ end
937
+ end
938
+
791
939
  task default: :test