ddtrace 0.40.0 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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