ddtrace 0.45.0 → 0.52.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 (586) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +22 -0
  3. data/.gitignore +7 -1
  4. data/CHANGELOG.md +406 -1
  5. data/CONTRIBUTING.md +1 -5
  6. data/LICENSE-3rdparty.csv +2 -0
  7. data/bin/ddtracerb +15 -0
  8. data/ddtrace.gemspec +19 -38
  9. data/docs/DevelopmentGuide.md +43 -0
  10. data/docs/GettingStarted.md +164 -76
  11. data/docs/ProfilingDevelopment.md +107 -0
  12. data/ext/ddtrace_profiling_native_extension/extconf.rb +28 -0
  13. data/ext/ddtrace_profiling_native_extension/profiling.c +17 -0
  14. data/lib/datadog/ci/configuration/components.rb +31 -0
  15. data/lib/datadog/ci/configuration/settings.rb +37 -0
  16. data/lib/datadog/ci/context_flush.rb +29 -0
  17. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +31 -0
  18. data/lib/datadog/ci/contrib/cucumber/ext.rb +20 -0
  19. data/lib/datadog/ci/contrib/cucumber/formatter.rb +98 -0
  20. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +27 -0
  21. data/lib/datadog/ci/contrib/cucumber/integration.rb +48 -0
  22. data/lib/datadog/ci/contrib/cucumber/patcher.rb +26 -0
  23. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +31 -0
  24. data/lib/datadog/ci/contrib/rspec/example.rb +74 -0
  25. data/lib/datadog/ci/contrib/rspec/ext.rb +19 -0
  26. data/lib/datadog/ci/contrib/rspec/integration.rb +49 -0
  27. data/lib/datadog/ci/contrib/rspec/patcher.rb +26 -0
  28. data/lib/datadog/ci/ext/app_types.rb +10 -0
  29. data/lib/datadog/ci/ext/environment.rb +443 -0
  30. data/lib/datadog/ci/ext/settings.rb +11 -0
  31. data/lib/datadog/ci/ext/test.rb +35 -0
  32. data/lib/datadog/ci/extensions.rb +18 -0
  33. data/lib/datadog/ci/test.rb +77 -0
  34. data/lib/datadog/ci.rb +17 -0
  35. data/lib/datadog/contrib.rb +69 -0
  36. data/lib/datadog/core/environment/cgroup.rb +52 -0
  37. data/lib/datadog/core/environment/class_count.rb +20 -0
  38. data/lib/datadog/core/environment/container.rb +91 -0
  39. data/lib/datadog/core/environment/ext.rb +27 -0
  40. data/lib/datadog/core/environment/gc.rb +19 -0
  41. data/lib/datadog/core/environment/identity.rb +51 -0
  42. data/lib/datadog/core/environment/socket.rb +17 -0
  43. data/lib/datadog/core/environment/thread_count.rb +19 -0
  44. data/lib/datadog/core/environment/variable_helpers.rb +42 -0
  45. data/lib/ddtrace/analytics.rb +3 -0
  46. data/lib/ddtrace/auto_instrument.rb +2 -0
  47. data/lib/ddtrace/auto_instrument_base.rb +1 -0
  48. data/lib/ddtrace/buffer.rb +10 -8
  49. data/lib/ddtrace/chunker.rb +1 -0
  50. data/lib/ddtrace/configuration/agent_settings_resolver.rb +231 -0
  51. data/lib/ddtrace/configuration/base.rb +9 -11
  52. data/lib/ddtrace/configuration/components.rb +167 -26
  53. data/lib/ddtrace/configuration/dependency_resolver.rb +1 -0
  54. data/lib/ddtrace/configuration/option.rb +1 -0
  55. data/lib/ddtrace/configuration/option_definition.rb +2 -3
  56. data/lib/ddtrace/configuration/option_definition_set.rb +1 -0
  57. data/lib/ddtrace/configuration/option_set.rb +1 -0
  58. data/lib/ddtrace/configuration/options.rb +7 -9
  59. data/lib/ddtrace/configuration/pin_setup.rb +1 -0
  60. data/lib/ddtrace/configuration/settings.rb +128 -10
  61. data/lib/ddtrace/configuration.rb +118 -26
  62. data/lib/ddtrace/context.rb +23 -20
  63. data/lib/ddtrace/context_flush.rb +15 -2
  64. data/lib/ddtrace/context_provider.rb +1 -1
  65. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +1 -0
  66. data/lib/ddtrace/contrib/action_cable/event.rb +6 -4
  67. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +1 -0
  68. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +1 -0
  69. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +1 -0
  70. data/lib/ddtrace/contrib/action_cable/events.rb +1 -0
  71. data/lib/ddtrace/contrib/action_cable/ext.rb +1 -0
  72. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +1 -0
  73. data/lib/ddtrace/contrib/action_cable/integration.rb +1 -0
  74. data/lib/ddtrace/contrib/action_cable/patcher.rb +1 -0
  75. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +22 -13
  76. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +2 -1
  77. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +1 -0
  78. data/lib/ddtrace/contrib/action_pack/ext.rb +1 -0
  79. data/lib/ddtrace/contrib/action_pack/integration.rb +1 -0
  80. data/lib/ddtrace/contrib/action_pack/patcher.rb +1 -0
  81. data/lib/ddtrace/contrib/action_pack/utils.rb +2 -1
  82. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +1 -0
  83. data/lib/ddtrace/contrib/action_view/event.rb +4 -3
  84. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  85. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  86. data/lib/ddtrace/contrib/action_view/events.rb +1 -0
  87. data/lib/ddtrace/contrib/action_view/ext.rb +1 -0
  88. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +1 -0
  89. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +1 -0
  90. data/lib/ddtrace/contrib/action_view/integration.rb +1 -0
  91. data/lib/ddtrace/contrib/action_view/patcher.rb +5 -4
  92. data/lib/ddtrace/contrib/action_view/utils.rb +2 -1
  93. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +1 -0
  94. data/lib/ddtrace/contrib/active_model_serializers/event.rb +3 -2
  95. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +1 -0
  96. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +1 -0
  97. data/lib/ddtrace/contrib/active_model_serializers/events.rb +1 -0
  98. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +1 -0
  99. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +1 -0
  100. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +1 -0
  101. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +31 -0
  102. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +108 -18
  103. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +1 -0
  104. data/lib/ddtrace/contrib/active_record/event.rb +3 -2
  105. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +1 -0
  106. data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -0
  107. data/lib/ddtrace/contrib/active_record/events.rb +1 -0
  108. data/lib/ddtrace/contrib/active_record/ext.rb +1 -0
  109. data/lib/ddtrace/contrib/active_record/integration.rb +1 -0
  110. data/lib/ddtrace/contrib/active_record/patcher.rb +1 -0
  111. data/lib/ddtrace/contrib/active_record/utils.rb +5 -3
  112. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +1 -0
  113. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +8 -7
  114. data/lib/ddtrace/contrib/active_support/cache/redis.rb +2 -5
  115. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +1 -0
  116. data/lib/ddtrace/contrib/active_support/ext.rb +1 -0
  117. data/lib/ddtrace/contrib/active_support/integration.rb +1 -0
  118. data/lib/ddtrace/contrib/active_support/notifications/event.rb +5 -3
  119. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +3 -1
  120. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +10 -5
  121. data/lib/ddtrace/contrib/active_support/patcher.rb +1 -0
  122. data/lib/ddtrace/contrib/analytics.rb +1 -0
  123. data/lib/ddtrace/contrib/auto_instrument.rb +4 -3
  124. data/lib/ddtrace/contrib/aws/configuration/settings.rb +1 -0
  125. data/lib/ddtrace/contrib/aws/ext.rb +1 -0
  126. data/lib/ddtrace/contrib/aws/instrumentation.rb +30 -0
  127. data/lib/ddtrace/contrib/aws/integration.rb +1 -0
  128. data/lib/ddtrace/contrib/aws/parsed_context.rb +1 -0
  129. data/lib/ddtrace/contrib/aws/patcher.rb +6 -0
  130. data/lib/ddtrace/contrib/aws/services.rb +3 -0
  131. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +1 -0
  132. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -0
  133. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  134. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +1 -0
  135. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +1 -0
  136. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +3 -1
  137. data/lib/ddtrace/contrib/configurable.rb +65 -40
  138. data/lib/ddtrace/contrib/configuration/resolver.rb +71 -5
  139. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +20 -20
  140. data/lib/ddtrace/contrib/configuration/settings.rb +8 -6
  141. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +1 -0
  142. data/lib/ddtrace/contrib/dalli/ext.rb +1 -0
  143. data/lib/ddtrace/contrib/dalli/instrumentation.rb +2 -1
  144. data/lib/ddtrace/contrib/dalli/integration.rb +1 -0
  145. data/lib/ddtrace/contrib/dalli/patcher.rb +2 -39
  146. data/lib/ddtrace/contrib/dalli/quantize.rb +1 -0
  147. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +1 -0
  148. data/lib/ddtrace/contrib/delayed_job/ext.rb +1 -0
  149. data/lib/ddtrace/contrib/delayed_job/integration.rb +1 -0
  150. data/lib/ddtrace/contrib/delayed_job/patcher.rb +1 -0
  151. data/lib/ddtrace/contrib/delayed_job/plugin.rb +1 -1
  152. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +1 -0
  153. data/lib/ddtrace/contrib/elasticsearch/ext.rb +1 -0
  154. data/lib/ddtrace/contrib/elasticsearch/integration.rb +1 -0
  155. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -0
  156. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +6 -2
  157. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +1 -0
  158. data/lib/ddtrace/contrib/ethon/easy_patch.rb +7 -6
  159. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  160. data/lib/ddtrace/contrib/ethon/integration.rb +1 -0
  161. data/lib/ddtrace/contrib/ethon/multi_patch.rb +2 -1
  162. data/lib/ddtrace/contrib/ethon/patcher.rb +4 -2
  163. data/lib/ddtrace/contrib/excon/configuration/settings.rb +1 -0
  164. data/lib/ddtrace/contrib/excon/ext.rb +1 -0
  165. data/lib/ddtrace/contrib/excon/integration.rb +1 -0
  166. data/lib/ddtrace/contrib/excon/middleware.rb +3 -6
  167. data/lib/ddtrace/contrib/excon/patcher.rb +1 -0
  168. data/lib/ddtrace/contrib/extensions.rb +64 -14
  169. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +1 -0
  170. data/lib/ddtrace/contrib/faraday/connection.rb +1 -0
  171. data/lib/ddtrace/contrib/faraday/ext.rb +1 -0
  172. data/lib/ddtrace/contrib/faraday/integration.rb +1 -0
  173. data/lib/ddtrace/contrib/faraday/middleware.rb +2 -3
  174. data/lib/ddtrace/contrib/faraday/patcher.rb +3 -38
  175. data/lib/ddtrace/contrib/faraday/rack_builder.rb +1 -0
  176. data/lib/ddtrace/contrib/grape/configuration/settings.rb +1 -0
  177. data/lib/ddtrace/contrib/grape/endpoint.rb +34 -31
  178. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  179. data/lib/ddtrace/contrib/grape/instrumentation.rb +4 -3
  180. data/lib/ddtrace/contrib/grape/integration.rb +1 -0
  181. data/lib/ddtrace/contrib/grape/patcher.rb +2 -43
  182. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +1 -0
  183. data/lib/ddtrace/contrib/graphql/ext.rb +1 -0
  184. data/lib/ddtrace/contrib/graphql/integration.rb +1 -0
  185. data/lib/ddtrace/contrib/graphql/patcher.rb +1 -0
  186. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +2 -0
  187. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -0
  188. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -4
  189. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +13 -8
  190. data/lib/ddtrace/contrib/grpc/ext.rb +1 -0
  191. data/lib/ddtrace/contrib/grpc/integration.rb +1 -0
  192. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +1 -0
  193. data/lib/ddtrace/contrib/grpc/patcher.rb +3 -37
  194. data/lib/ddtrace/contrib/http/circuit_breaker.rb +2 -3
  195. data/lib/ddtrace/contrib/http/configuration/settings.rb +1 -0
  196. data/lib/ddtrace/contrib/http/ext.rb +1 -0
  197. data/lib/ddtrace/contrib/http/instrumentation.rb +7 -6
  198. data/lib/ddtrace/contrib/http/integration.rb +1 -0
  199. data/lib/ddtrace/contrib/http/patcher.rb +2 -1
  200. data/lib/ddtrace/contrib/http_annotation_helper.rb +1 -0
  201. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +1 -0
  202. data/lib/ddtrace/contrib/httpclient/ext.rb +1 -0
  203. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +16 -20
  204. data/lib/ddtrace/contrib/httpclient/integration.rb +1 -0
  205. data/lib/ddtrace/contrib/httpclient/patcher.rb +8 -4
  206. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +1 -0
  207. data/lib/ddtrace/contrib/httprb/ext.rb +1 -0
  208. data/lib/ddtrace/contrib/httprb/instrumentation.rb +16 -21
  209. data/lib/ddtrace/contrib/httprb/integration.rb +1 -0
  210. data/lib/ddtrace/contrib/httprb/patcher.rb +8 -4
  211. data/lib/ddtrace/contrib/integration.rb +4 -3
  212. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +1 -0
  213. data/lib/ddtrace/contrib/kafka/consumer_event.rb +1 -0
  214. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +1 -0
  215. data/lib/ddtrace/contrib/kafka/event.rb +3 -2
  216. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +1 -0
  217. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +1 -0
  218. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +1 -0
  219. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +1 -0
  220. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +1 -0
  221. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +1 -0
  222. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +1 -0
  223. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +1 -0
  224. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +1 -0
  225. data/lib/ddtrace/contrib/kafka/events.rb +1 -0
  226. data/lib/ddtrace/contrib/kafka/ext.rb +1 -0
  227. data/lib/ddtrace/contrib/kafka/integration.rb +1 -0
  228. data/lib/ddtrace/contrib/kafka/patcher.rb +1 -0
  229. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +19 -0
  230. data/lib/ddtrace/contrib/lograge/ext.rb +11 -0
  231. data/lib/ddtrace/contrib/lograge/instrumentation.rb +39 -0
  232. data/lib/ddtrace/contrib/lograge/integration.rb +46 -0
  233. data/lib/ddtrace/contrib/{cucumber → lograge}/patcher.rb +7 -4
  234. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +1 -0
  235. data/lib/ddtrace/contrib/mongodb/ext.rb +1 -0
  236. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +5 -2
  237. data/lib/ddtrace/contrib/mongodb/integration.rb +1 -0
  238. data/lib/ddtrace/contrib/mongodb/parsers.rb +1 -0
  239. data/lib/ddtrace/contrib/mongodb/patcher.rb +3 -2
  240. data/lib/ddtrace/contrib/mongodb/subscribers.rb +3 -3
  241. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +1 -0
  242. data/lib/ddtrace/contrib/mysql2/ext.rb +1 -0
  243. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +2 -1
  244. data/lib/ddtrace/contrib/mysql2/integration.rb +1 -0
  245. data/lib/ddtrace/contrib/mysql2/patcher.rb +2 -1
  246. data/lib/ddtrace/contrib/patchable.rb +3 -2
  247. data/lib/ddtrace/contrib/patcher.rb +12 -8
  248. data/lib/ddtrace/contrib/presto/configuration/settings.rb +1 -0
  249. data/lib/ddtrace/contrib/presto/ext.rb +1 -0
  250. data/lib/ddtrace/contrib/presto/instrumentation.rb +2 -1
  251. data/lib/ddtrace/contrib/presto/integration.rb +1 -0
  252. data/lib/ddtrace/contrib/presto/patcher.rb +7 -3
  253. data/lib/ddtrace/contrib/qless/configuration/settings.rb +1 -0
  254. data/lib/ddtrace/contrib/qless/ext.rb +1 -0
  255. data/lib/ddtrace/contrib/qless/integration.rb +1 -0
  256. data/lib/ddtrace/contrib/qless/patcher.rb +5 -5
  257. data/lib/ddtrace/contrib/qless/qless_job.rb +2 -0
  258. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +2 -0
  259. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  260. data/lib/ddtrace/contrib/que/ext.rb +20 -19
  261. data/lib/ddtrace/contrib/que/integration.rb +1 -0
  262. data/lib/ddtrace/contrib/que/patcher.rb +1 -0
  263. data/lib/ddtrace/contrib/que/tracer.rb +2 -1
  264. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +1 -0
  265. data/lib/ddtrace/contrib/racecar/event.rb +4 -2
  266. data/lib/ddtrace/contrib/racecar/events/batch.rb +1 -0
  267. data/lib/ddtrace/contrib/racecar/events/consume.rb +1 -0
  268. data/lib/ddtrace/contrib/racecar/events/message.rb +1 -0
  269. data/lib/ddtrace/contrib/racecar/events.rb +1 -0
  270. data/lib/ddtrace/contrib/racecar/ext.rb +1 -0
  271. data/lib/ddtrace/contrib/racecar/integration.rb +1 -0
  272. data/lib/ddtrace/contrib/racecar/patcher.rb +1 -0
  273. data/lib/ddtrace/contrib/rack/configuration/settings.rb +4 -3
  274. data/lib/ddtrace/contrib/rack/ext.rb +1 -0
  275. data/lib/ddtrace/contrib/rack/integration.rb +1 -0
  276. data/lib/ddtrace/contrib/rack/middlewares.rb +7 -11
  277. data/lib/ddtrace/contrib/rack/patcher.rb +2 -3
  278. data/lib/ddtrace/contrib/rack/request_queue.rb +1 -0
  279. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +1 -0
  280. data/lib/ddtrace/contrib/rails/configuration/settings.rb +1 -0
  281. data/lib/ddtrace/contrib/rails/ext.rb +1 -0
  282. data/lib/ddtrace/contrib/rails/framework.rb +26 -1
  283. data/lib/ddtrace/contrib/rails/integration.rb +1 -0
  284. data/lib/ddtrace/contrib/rails/log_injection.rb +1 -40
  285. data/lib/ddtrace/contrib/rails/middlewares.rb +1 -0
  286. data/lib/ddtrace/contrib/rails/patcher.rb +18 -11
  287. data/lib/ddtrace/contrib/rails/railtie.rb +1 -0
  288. data/lib/ddtrace/contrib/rails/utils.rb +1 -0
  289. data/lib/ddtrace/contrib/rake/configuration/settings.rb +1 -0
  290. data/lib/ddtrace/contrib/rake/ext.rb +1 -0
  291. data/lib/ddtrace/contrib/rake/instrumentation.rb +6 -3
  292. data/lib/ddtrace/contrib/rake/integration.rb +1 -0
  293. data/lib/ddtrace/contrib/rake/patcher.rb +2 -1
  294. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +12 -4
  295. data/lib/ddtrace/contrib/redis/configuration/settings.rb +1 -0
  296. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  297. data/lib/ddtrace/contrib/redis/integration.rb +1 -0
  298. data/lib/ddtrace/contrib/redis/patcher.rb +1 -0
  299. data/lib/ddtrace/contrib/redis/quantize.rb +2 -0
  300. data/lib/ddtrace/contrib/redis/tags.rb +1 -0
  301. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  302. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +7 -7
  303. data/lib/ddtrace/contrib/registerable.rb +5 -4
  304. data/lib/ddtrace/contrib/registry.rb +3 -2
  305. data/lib/ddtrace/contrib/resque/configuration/settings.rb +18 -1
  306. data/lib/ddtrace/contrib/resque/ext.rb +1 -0
  307. data/lib/ddtrace/contrib/resque/integration.rb +2 -1
  308. data/lib/ddtrace/contrib/resque/patcher.rb +5 -4
  309. data/lib/ddtrace/contrib/resque/resque_job.rb +25 -1
  310. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +1 -0
  311. data/lib/ddtrace/contrib/rest_client/ext.rb +1 -0
  312. data/lib/ddtrace/contrib/rest_client/integration.rb +1 -0
  313. data/lib/ddtrace/contrib/rest_client/patcher.rb +3 -1
  314. data/lib/ddtrace/contrib/rest_client/request_patch.rb +3 -4
  315. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +19 -0
  316. data/lib/ddtrace/contrib/semantic_logger/ext.rb +11 -0
  317. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +43 -0
  318. data/lib/ddtrace/contrib/semantic_logger/integration.rb +48 -0
  319. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +26 -0
  320. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +1 -0
  321. data/lib/ddtrace/contrib/sequel/database.rb +2 -1
  322. data/lib/ddtrace/contrib/sequel/dataset.rb +2 -1
  323. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  324. data/lib/ddtrace/contrib/sequel/integration.rb +1 -0
  325. data/lib/ddtrace/contrib/sequel/patcher.rb +3 -2
  326. data/lib/ddtrace/contrib/sequel/utils.rb +6 -6
  327. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +2 -0
  328. data/lib/ddtrace/contrib/shoryuken/ext.rb +1 -0
  329. data/lib/ddtrace/contrib/shoryuken/integration.rb +1 -0
  330. data/lib/ddtrace/contrib/shoryuken/patcher.rb +1 -0
  331. data/lib/ddtrace/contrib/shoryuken/tracer.rb +8 -4
  332. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +1 -0
  333. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  334. data/lib/ddtrace/contrib/sidekiq/ext.rb +1 -0
  335. data/lib/ddtrace/contrib/sidekiq/integration.rb +1 -0
  336. data/lib/ddtrace/contrib/sidekiq/patcher.rb +1 -0
  337. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +3 -7
  338. data/lib/ddtrace/contrib/sidekiq/tracing.rb +1 -1
  339. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +1 -0
  340. data/lib/ddtrace/contrib/sinatra/env.rb +2 -3
  341. data/lib/ddtrace/contrib/sinatra/ext.rb +1 -0
  342. data/lib/ddtrace/contrib/sinatra/headers.rb +2 -3
  343. data/lib/ddtrace/contrib/sinatra/integration.rb +1 -0
  344. data/lib/ddtrace/contrib/sinatra/patcher.rb +3 -1
  345. data/lib/ddtrace/contrib/sinatra/tracer.rb +14 -6
  346. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +11 -4
  347. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  348. data/lib/ddtrace/contrib/sneakers/ext.rb +12 -11
  349. data/lib/ddtrace/contrib/sneakers/integration.rb +1 -0
  350. data/lib/ddtrace/contrib/sneakers/patcher.rb +1 -0
  351. data/lib/ddtrace/contrib/sneakers/tracer.rb +3 -4
  352. data/lib/ddtrace/contrib/status_code_matcher.rb +6 -3
  353. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +1 -0
  354. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +5 -6
  355. data/lib/ddtrace/contrib/sucker_punch/ext.rb +1 -0
  356. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +5 -0
  357. data/lib/ddtrace/contrib/sucker_punch/integration.rb +1 -0
  358. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +2 -0
  359. data/lib/ddtrace/correlation.rb +3 -1
  360. data/lib/ddtrace/diagnostics/environment_logger.rb +9 -7
  361. data/lib/ddtrace/diagnostics/health.rb +1 -0
  362. data/lib/ddtrace/distributed_tracing/headers/b3.rb +1 -0
  363. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +1 -0
  364. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -0
  365. data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
  366. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +2 -3
  367. data/lib/ddtrace/encoding.rb +3 -0
  368. data/lib/ddtrace/error.rb +78 -8
  369. data/lib/ddtrace/event.rb +1 -0
  370. data/lib/ddtrace/ext/analytics.rb +1 -0
  371. data/lib/ddtrace/ext/app_types.rb +1 -1
  372. data/lib/ddtrace/ext/correlation.rb +1 -0
  373. data/lib/ddtrace/ext/diagnostics.rb +1 -0
  374. data/lib/ddtrace/ext/distributed.rb +2 -1
  375. data/lib/ddtrace/ext/environment.rb +8 -0
  376. data/lib/ddtrace/ext/errors.rb +1 -0
  377. data/lib/ddtrace/ext/forced_tracing.rb +1 -0
  378. data/lib/ddtrace/ext/git.rb +10 -1
  379. data/lib/ddtrace/ext/http.rb +2 -1
  380. data/lib/ddtrace/ext/integration.rb +1 -0
  381. data/lib/ddtrace/ext/manual_tracing.rb +1 -0
  382. data/lib/ddtrace/ext/metrics.rb +1 -0
  383. data/lib/ddtrace/ext/net.rb +1 -0
  384. data/lib/ddtrace/ext/priority.rb +1 -0
  385. data/lib/ddtrace/ext/profiling.rb +56 -0
  386. data/lib/ddtrace/ext/runtime.rb +1 -7
  387. data/lib/ddtrace/ext/sampling.rb +1 -0
  388. data/lib/ddtrace/ext/sql.rb +1 -0
  389. data/lib/ddtrace/ext/test.rb +3 -18
  390. data/lib/ddtrace/ext/transport.rb +3 -0
  391. data/lib/ddtrace/forced_tracing.rb +3 -0
  392. data/lib/ddtrace/logger.rb +2 -1
  393. data/lib/ddtrace/metrics.rb +84 -24
  394. data/lib/ddtrace/opentelemetry/extensions.rb +2 -1
  395. data/lib/ddtrace/opentelemetry/span.rb +1 -0
  396. data/lib/ddtrace/opentracer/binary_propagator.rb +1 -0
  397. data/lib/ddtrace/opentracer/carrier.rb +1 -0
  398. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -0
  399. data/lib/ddtrace/opentracer/global_tracer.rb +1 -0
  400. data/lib/ddtrace/opentracer/propagator.rb +1 -0
  401. data/lib/ddtrace/opentracer/rack_propagator.rb +1 -0
  402. data/lib/ddtrace/opentracer/scope.rb +1 -0
  403. data/lib/ddtrace/opentracer/scope_manager.rb +1 -0
  404. data/lib/ddtrace/opentracer/span.rb +3 -6
  405. data/lib/ddtrace/opentracer/span_context.rb +1 -0
  406. data/lib/ddtrace/opentracer/span_context_factory.rb +1 -0
  407. data/lib/ddtrace/opentracer/text_map_propagator.rb +1 -0
  408. data/lib/ddtrace/opentracer/thread_local_scope.rb +2 -0
  409. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +1 -0
  410. data/lib/ddtrace/opentracer/tracer.rb +1 -0
  411. data/lib/ddtrace/opentracer.rb +21 -39
  412. data/lib/ddtrace/patcher.rb +28 -6
  413. data/lib/ddtrace/pin.rb +9 -61
  414. data/lib/ddtrace/pipeline/span_filter.rb +2 -1
  415. data/lib/ddtrace/pipeline/span_processor.rb +1 -0
  416. data/lib/ddtrace/pipeline.rb +1 -0
  417. data/lib/ddtrace/profiling/backtrace_location.rb +33 -0
  418. data/lib/ddtrace/profiling/buffer.rb +42 -0
  419. data/lib/ddtrace/profiling/collectors/stack.rb +257 -0
  420. data/lib/ddtrace/profiling/encoding/profile.rb +38 -0
  421. data/lib/ddtrace/profiling/event.rb +14 -0
  422. data/lib/ddtrace/profiling/events/stack.rb +81 -0
  423. data/lib/ddtrace/profiling/exporter.rb +24 -0
  424. data/lib/ddtrace/profiling/ext/cpu.rb +67 -0
  425. data/lib/ddtrace/profiling/ext/cthread.rb +156 -0
  426. data/lib/ddtrace/profiling/ext/forking.rb +98 -0
  427. data/lib/ddtrace/profiling/flush.rb +44 -0
  428. data/lib/ddtrace/profiling/native_extension.rb +18 -0
  429. data/lib/ddtrace/profiling/pprof/builder.rb +120 -0
  430. data/lib/ddtrace/profiling/pprof/converter.rb +90 -0
  431. data/lib/ddtrace/profiling/pprof/message_set.rb +15 -0
  432. data/lib/ddtrace/profiling/pprof/payload.rb +19 -0
  433. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  434. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +82 -0
  435. data/lib/ddtrace/profiling/pprof/stack_sample.rb +117 -0
  436. data/lib/ddtrace/profiling/pprof/string_table.rb +11 -0
  437. data/lib/ddtrace/profiling/pprof/template.rb +119 -0
  438. data/lib/ddtrace/profiling/preload.rb +4 -0
  439. data/lib/ddtrace/profiling/profiler.rb +31 -0
  440. data/lib/ddtrace/profiling/recorder.rb +96 -0
  441. data/lib/ddtrace/profiling/scheduler.rb +134 -0
  442. data/lib/ddtrace/profiling/tasks/setup.rb +82 -0
  443. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +41 -0
  444. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +46 -0
  445. data/lib/ddtrace/profiling/transport/client.rb +15 -0
  446. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +101 -0
  447. data/lib/ddtrace/profiling/transport/http/api/instance.rb +37 -0
  448. data/lib/ddtrace/profiling/transport/http/api/spec.rb +41 -0
  449. data/lib/ddtrace/profiling/transport/http/api.rb +44 -0
  450. data/lib/ddtrace/profiling/transport/http/builder.rb +29 -0
  451. data/lib/ddtrace/profiling/transport/http/client.rb +34 -0
  452. data/lib/ddtrace/profiling/transport/http/response.rb +22 -0
  453. data/lib/ddtrace/profiling/transport/http.rb +120 -0
  454. data/lib/ddtrace/profiling/transport/io/client.rb +28 -0
  455. data/lib/ddtrace/profiling/transport/io/response.rb +17 -0
  456. data/lib/ddtrace/profiling/transport/io.rb +31 -0
  457. data/lib/ddtrace/profiling/transport/parcel.rb +18 -0
  458. data/lib/ddtrace/profiling/transport/request.rb +16 -0
  459. data/lib/ddtrace/profiling/transport/response.rb +9 -0
  460. data/lib/ddtrace/profiling.rb +151 -0
  461. data/lib/ddtrace/propagation/grpc_propagator.rb +2 -0
  462. data/lib/ddtrace/propagation/http_propagator.rb +3 -2
  463. data/lib/ddtrace/quantization/hash.rb +1 -0
  464. data/lib/ddtrace/quantization/http.rb +4 -0
  465. data/lib/ddtrace/runtime/metrics.rb +21 -14
  466. data/lib/ddtrace/sampler.rb +2 -1
  467. data/lib/ddtrace/sampling/matcher.rb +1 -0
  468. data/lib/ddtrace/sampling/rate_limiter.rb +1 -0
  469. data/lib/ddtrace/sampling/rule.rb +2 -1
  470. data/lib/ddtrace/sampling/rule_sampler.rb +6 -10
  471. data/lib/ddtrace/sampling.rb +1 -0
  472. data/lib/ddtrace/span.rb +44 -19
  473. data/lib/ddtrace/sync_writer.rb +17 -15
  474. data/lib/ddtrace/tasks/exec.rb +47 -0
  475. data/lib/ddtrace/tasks/help.rb +15 -0
  476. data/lib/ddtrace/tracer.rb +48 -50
  477. data/lib/ddtrace/transport/http/adapters/net.rb +28 -8
  478. data/lib/ddtrace/transport/http/adapters/registry.rb +2 -0
  479. data/lib/ddtrace/transport/http/adapters/test.rb +1 -0
  480. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +3 -4
  481. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  482. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  483. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  484. data/lib/ddtrace/transport/http/api/map.rb +1 -0
  485. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  486. data/lib/ddtrace/transport/http/api.rb +1 -0
  487. data/lib/ddtrace/transport/http/builder.rb +8 -1
  488. data/lib/ddtrace/transport/http/client.rb +3 -1
  489. data/lib/ddtrace/transport/http/env.rb +9 -0
  490. data/lib/ddtrace/transport/http/response.rb +1 -0
  491. data/lib/ddtrace/transport/http/statistics.rb +3 -2
  492. data/lib/ddtrace/transport/http/traces.rb +6 -6
  493. data/lib/ddtrace/transport/http.rb +51 -38
  494. data/lib/ddtrace/transport/io/client.rb +17 -9
  495. data/lib/ddtrace/transport/io/response.rb +2 -3
  496. data/lib/ddtrace/transport/io/traces.rb +10 -1
  497. data/lib/ddtrace/transport/io.rb +2 -1
  498. data/lib/ddtrace/transport/parcel.rb +7 -0
  499. data/lib/ddtrace/transport/request.rb +1 -0
  500. data/lib/ddtrace/transport/response.rb +1 -0
  501. data/lib/ddtrace/transport/statistics.rb +1 -0
  502. data/lib/ddtrace/transport/traces.rb +21 -3
  503. data/lib/ddtrace/utils/compression.rb +28 -0
  504. data/lib/ddtrace/utils/database.rb +1 -0
  505. data/lib/ddtrace/utils/forking.rb +2 -1
  506. data/lib/ddtrace/utils/object_set.rb +40 -0
  507. data/lib/ddtrace/utils/only_once.rb +41 -0
  508. data/lib/ddtrace/utils/sequence.rb +18 -0
  509. data/lib/ddtrace/utils/string_table.rb +46 -0
  510. data/lib/ddtrace/utils/time.rb +34 -2
  511. data/lib/ddtrace/utils.rb +14 -2
  512. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  513. data/lib/ddtrace/vendor/active_record/connection_specification.rb +1 -0
  514. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  515. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +117 -0
  516. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +58 -0
  517. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +136 -0
  518. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +10 -0
  519. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +9 -0
  520. data/lib/ddtrace/vendor/multipart-post/multipart.rb +13 -0
  521. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +33 -0
  522. data/lib/ddtrace/version.rb +15 -2
  523. data/lib/ddtrace/worker.rb +1 -0
  524. data/lib/ddtrace/workers/async.rb +15 -5
  525. data/lib/ddtrace/workers/loop.rb +32 -5
  526. data/lib/ddtrace/workers/polling.rb +13 -5
  527. data/lib/ddtrace/workers/queue.rb +3 -1
  528. data/lib/ddtrace/workers/runtime_metrics.rb +15 -1
  529. data/lib/ddtrace/workers/trace_writer.rb +14 -16
  530. data/lib/ddtrace/workers.rb +8 -2
  531. data/lib/ddtrace/writer.rb +14 -7
  532. data/lib/ddtrace.rb +20 -56
  533. metadata +130 -446
  534. data/.circleci/config.yml +0 -566
  535. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -73
  536. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -73
  537. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -73
  538. data/.circleci/images/primary/Dockerfile-2.3.8 +0 -75
  539. data/.circleci/images/primary/Dockerfile-2.4.6 +0 -73
  540. data/.circleci/images/primary/Dockerfile-2.5.6 +0 -73
  541. data/.circleci/images/primary/Dockerfile-2.6.4 +0 -73
  542. data/.circleci/images/primary/Dockerfile-2.7.0 +0 -73
  543. data/.circleci/images/primary/Dockerfile-3.0.0 +0 -73
  544. data/.circleci/images/primary/Dockerfile-jruby-9.2 +0 -77
  545. data/.dockerignore +0 -1
  546. data/.env +0 -26
  547. data/.github/CODEOWNERS +0 -1
  548. data/.github/workflows/add-milestone-to-pull-requests.yml +0 -42
  549. data/.github/workflows/create-next-milestone.yml +0 -20
  550. data/.gitlab-ci.yml +0 -27
  551. data/.rspec +0 -1
  552. data/.rubocop.yml +0 -85
  553. data/.simplecov +0 -41
  554. data/Appraisals +0 -1350
  555. data/Gemfile +0 -9
  556. data/Rakefile +0 -993
  557. data/benchmarks/postgres_database.yml +0 -9
  558. data/benchmarks/sidekiq_test.rb +0 -154
  559. data/docker-compose.yml +0 -400
  560. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  561. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  562. data/lib/ddtrace/augmentation/shim.rb +0 -102
  563. data/lib/ddtrace/augmentation.rb +0 -13
  564. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -38
  565. data/lib/ddtrace/contrib/cucumber/ext.rb +0 -19
  566. data/lib/ddtrace/contrib/cucumber/formatter.rb +0 -104
  567. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +0 -24
  568. data/lib/ddtrace/contrib/cucumber/integration.rb +0 -45
  569. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -38
  570. data/lib/ddtrace/contrib/rspec/example.rb +0 -61
  571. data/lib/ddtrace/contrib/rspec/example_group.rb +0 -61
  572. data/lib/ddtrace/contrib/rspec/ext.rb +0 -19
  573. data/lib/ddtrace/contrib/rspec/integration.rb +0 -46
  574. data/lib/ddtrace/contrib/rspec/patcher.rb +0 -25
  575. data/lib/ddtrace/environment.rb +0 -41
  576. data/lib/ddtrace/ext/ci.rb +0 -297
  577. data/lib/ddtrace/monkey.rb +0 -58
  578. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  579. data/lib/ddtrace/runtime/class_count.rb +0 -17
  580. data/lib/ddtrace/runtime/container.rb +0 -73
  581. data/lib/ddtrace/runtime/gc.rb +0 -16
  582. data/lib/ddtrace/runtime/identity.rb +0 -40
  583. data/lib/ddtrace/runtime/object_space.rb +0 -19
  584. data/lib/ddtrace/runtime/socket.rb +0 -14
  585. data/lib/ddtrace/runtime/thread_count.rb +0 -16
  586. data/tasks/release_gem.rake +0 -28
@@ -1,73 +0,0 @@
1
- # Last version: https://github.com/docker-library/ruby/blob/99def14400fcd612782367830836dfcbc10c8c50/2.1/Dockerfile
2
- FROM ruby:2.1.10
3
-
4
- # Add Jessie repos
5
- # Fixes https://superuser.com/questions/1423486/issue-with-fetching-http-deb-debian-org-debian-dists-jessie-updates-inrelease
6
- RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
7
-
8
- # Make apt non-interactive
9
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
10
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
11
-
12
- ENV DEBIAN_FRONTEND=noninteractive
13
-
14
- # Install required packages
15
- RUN set -ex; \
16
- apt-get update; \
17
- mkdir -p /usr/share/man/man1; \
18
- apt-get install -y --no-install-recommends \
19
- git mercurial xvfb \
20
- locales sudo openssh-client ca-certificates tar gzip parallel \
21
- net-tools netcat unzip zip bzip2 gnupg curl wget \
22
- tzdata rsync vim; \
23
- rm -rf /var/lib/apt/lists/*;
24
-
25
- # Set timezone to UTC by default
26
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
27
-
28
- # Set language
29
- RUN locale-gen en_US.UTF-8
30
- ENV LANG en_US.UTF-8
31
- ENV LANGUAGE en_US:en
32
-
33
- # Install jq
34
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
35
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
36
- && chmod +x /usr/bin/jq \
37
- && jq --version
38
-
39
- # Install Docker
40
- RUN set -ex \
41
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
42
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
43
- && echo Docker URL: $DOCKER_URL \
44
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
45
- && ls -lha /tmp/docker.tgz \
46
- && tar -xz -C /tmp -f /tmp/docker.tgz \
47
- && mv /tmp/docker/* /usr/bin \
48
- && rm -rf /tmp/docker /tmp/docker.tgz \
49
- && which docker \
50
- && (docker version || true)
51
-
52
- # Install Docker Compose
53
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
54
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
55
- && chmod +x /usr/bin/docker-compose \
56
- && docker-compose version
57
-
58
- # Install Dockerize
59
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
60
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
61
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
62
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
63
- && dockerize --version
64
-
65
- # Install RubyGems
66
- RUN gem update --system 2.7.9
67
- RUN gem install bundler -v '1.17.3'
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Last version: https://github.com/docker-library/ruby/blob/395cce4eba52917eb9a40c72d50703a1ce9e1acd/2.2/jessie/Dockerfile
2
- FROM ruby:2.2.10
3
-
4
- # Add Jessie repos
5
- # Fixes https://superuser.com/questions/1423486/issue-with-fetching-http-deb-debian-org-debian-dists-jessie-updates-inrelease
6
- RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
7
-
8
- # Make apt non-interactive
9
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
10
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
11
-
12
- ENV DEBIAN_FRONTEND=noninteractive
13
-
14
- # Install required packages
15
- RUN set -ex; \
16
- apt-get update; \
17
- mkdir -p /usr/share/man/man1; \
18
- apt-get install -y --no-install-recommends \
19
- git mercurial xvfb \
20
- locales sudo openssh-client ca-certificates tar gzip parallel \
21
- net-tools netcat unzip zip bzip2 gnupg curl wget \
22
- tzdata rsync vim; \
23
- rm -rf /var/lib/apt/lists/*;
24
-
25
- # Set timezone to UTC by default
26
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
27
-
28
- # Set language
29
- RUN locale-gen en_US.UTF-8
30
- ENV LANG en_US.UTF-8
31
- ENV LANGUAGE en_US:en
32
-
33
- # Install jq
34
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
35
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
36
- && chmod +x /usr/bin/jq \
37
- && jq --version
38
-
39
- # Install Docker
40
- RUN set -ex \
41
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
42
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
43
- && echo Docker URL: $DOCKER_URL \
44
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
45
- && ls -lha /tmp/docker.tgz \
46
- && tar -xz -C /tmp -f /tmp/docker.tgz \
47
- && mv /tmp/docker/* /usr/bin \
48
- && rm -rf /tmp/docker /tmp/docker.tgz \
49
- && which docker \
50
- && (docker version || true)
51
-
52
- # Install Docker Compose
53
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
54
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
55
- && chmod +x /usr/bin/docker-compose \
56
- && docker-compose version
57
-
58
- # Install Dockerize
59
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
60
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
61
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
62
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
63
- && dockerize --version
64
-
65
- # Install RubyGems
66
- RUN gem update --system 2.7.9
67
- RUN gem install bundler -v '1.17.3'
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,75 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/31f66490fdb837ddcc5896e3275f2188f2b7b6dd/2.3/stretch/Dockerfile
2
- FROM ruby:2.3.8
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- # Ruby 2.3 can support Bundler 2+
68
- # But hold back to < 2 for now, because some dependencies require it.
69
- RUN gem install bundler -v '1.17.3'
70
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
71
-
72
- RUN mkdir /app
73
- WORKDIR /app
74
-
75
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/802421922ef50cfa05c89a3c619992acf4329986/2.4/jessie/Dockerfile
2
- FROM ruby:2.4.6
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/6a7df7a72b4a3d1b3e06ead303841b3fdaca560e/2.5/buster/Dockerfile
2
- FROM ruby:2.5.6
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/6a7df7a72b4a3d1b3e06ead303841b3fdaca560e/2.6/buster/Dockerfile
2
- FROM ruby:2.6.4
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/defb10adcd6dd2178be3cd9c884fd035b52d42fb/2.7/buster/Dockerfile
2
- FROM ruby:2.7.0
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- # RUN gem update --system # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Upgrade RubyGems and Bundler # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
66
- # RUN gem update --system
67
- # RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # https://hub.docker.com/layers/ruby/library/ruby/3.0.0/images/sha256-9719b7df964602b114a5e9319bd0a3ce2d4d44ccb7ea4d1702fa1ef9742a8f84
2
- FROM ruby@sha256:9719b7df964602b114a5e9319bd0a3ce2d4d44ccb7ea4d1702fa1ef9742a8f84
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Upgrade RubyGems and Bundler
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,77 +0,0 @@
1
- # Current version: https://github.com/cpuguy83/docker-jruby/blob/db08637839406420a254a9c825d94994cded5021/9000/jre/Dockerfile
2
- FROM jruby:9.2.11.1
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim \
19
- build-essential; \
20
- rm -rf /var/lib/apt/lists/*;
21
-
22
- # Set timezone to UTC by default
23
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
24
-
25
- # Set language
26
- RUN locale-gen en_US.UTF-8
27
- ENV LANG en_US.UTF-8
28
- ENV LANGUAGE en_US:en
29
-
30
- # Install jq
31
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
32
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
33
- && chmod +x /usr/bin/jq \
34
- && jq --version
35
-
36
- # Install Docker
37
- RUN set -ex \
38
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
39
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
40
- && echo Docker URL: $DOCKER_URL \
41
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
42
- && ls -lha /tmp/docker.tgz \
43
- && tar -xz -C /tmp -f /tmp/docker.tgz \
44
- && mv /tmp/docker/* /usr/bin \
45
- && rm -rf /tmp/docker /tmp/docker.tgz \
46
- && which docker \
47
- && (docker version || true)
48
-
49
- # Install Docker Compose
50
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
51
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
52
- && chmod +x /usr/bin/docker-compose \
53
- && docker-compose version
54
-
55
- # Install Dockerize
56
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
57
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
58
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
59
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
60
- && dockerize --version
61
-
62
- # Install RubyGems
63
- RUN gem update --system
64
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
65
-
66
- # Upgrade RubyGems and Bundler
67
- RUN gem uninstall -i /opt/jruby/lib/ruby/gems/shared bundler -v 2.1.4 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
68
- RUN gem install bundler -v 2.1.2 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
69
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
70
-
71
- # Ensure JRuby is available when running "bash --login"
72
- RUN echo "export PATH=/opt/jruby/bin:$BUNDLE_BIN:\$PATH" >> ~/.profile
73
-
74
- RUN mkdir /app
75
- WORKDIR /app
76
-
77
- CMD ["bin", "bash", "--login"]