ddtrace 0.12.1 → 0.13.0.beta1

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/.env +11 -21
  3. data/.rubocop.yml +1 -4
  4. data/Appraisals +75 -439
  5. data/CHANGELOG.md +16 -19
  6. data/Rakefile +89 -259
  7. data/circle.yml +69 -0
  8. data/ddtrace.gemspec +6 -6
  9. data/docker-compose.yml +37 -222
  10. data/docs/GettingStarted.md +260 -19
  11. data/gemfiles/contrib.gemfile +5 -0
  12. data/gemfiles/contrib_old.gemfile +4 -1
  13. data/gemfiles/rails30_postgres.gemfile +0 -1
  14. data/gemfiles/rails30_postgres_sidekiq.gemfile +0 -1
  15. data/gemfiles/rails32_mysql2.gemfile +0 -1
  16. data/gemfiles/rails32_postgres.gemfile +0 -1
  17. data/gemfiles/rails32_postgres_redis.gemfile +0 -1
  18. data/gemfiles/rails32_postgres_sidekiq.gemfile +0 -1
  19. data/gemfiles/rails5_mysql2.gemfile +1 -1
  20. data/gemfiles/rails5_postgres.gemfile +1 -1
  21. data/gemfiles/rails5_postgres_redis.gemfile +1 -1
  22. data/gemfiles/rails5_postgres_sidekiq.gemfile +1 -1
  23. data/lib/ddtrace.rb +6 -0
  24. data/lib/ddtrace/configuration.rb +2 -2
  25. data/lib/ddtrace/contrib/active_model_serializers/event.rb +57 -0
  26. data/lib/ddtrace/contrib/active_model_serializers/events.rb +30 -0
  27. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +32 -0
  28. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +35 -0
  29. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +62 -0
  30. data/lib/ddtrace/contrib/active_record/event.rb +30 -0
  31. data/lib/ddtrace/contrib/active_record/events.rb +30 -0
  32. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +51 -0
  33. data/lib/ddtrace/contrib/active_record/events/sql.rb +48 -0
  34. data/lib/ddtrace/contrib/active_record/patcher.rb +3 -73
  35. data/lib/ddtrace/contrib/active_record/utils.rb +1 -15
  36. data/lib/ddtrace/contrib/active_support/notifications/event.rb +62 -0
  37. data/lib/ddtrace/contrib/aws/instrumentation.rb +2 -2
  38. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -2
  39. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +8 -40
  40. data/lib/ddtrace/contrib/excon/middleware.rb +140 -0
  41. data/lib/ddtrace/contrib/excon/patcher.rb +50 -0
  42. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +65 -0
  43. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +49 -0
  44. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +66 -0
  45. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +49 -0
  46. data/lib/ddtrace/contrib/grpc/patcher.rb +62 -0
  47. data/lib/ddtrace/contrib/http/patcher.rb +16 -18
  48. data/lib/ddtrace/contrib/racecar/event.rb +61 -0
  49. data/lib/ddtrace/contrib/racecar/events.rb +30 -0
  50. data/lib/ddtrace/contrib/racecar/events/batch.rb +27 -0
  51. data/lib/ddtrace/contrib/racecar/events/message.rb +27 -0
  52. data/lib/ddtrace/contrib/racecar/patcher.rb +6 -52
  53. data/lib/ddtrace/contrib/rack/middlewares.rb +65 -11
  54. data/lib/ddtrace/contrib/rack/patcher.rb +16 -0
  55. data/lib/ddtrace/contrib/rack/request_queue.rb +34 -0
  56. data/lib/ddtrace/contrib/rails/action_view.rb +65 -0
  57. data/lib/ddtrace/contrib/rails/active_support.rb +8 -9
  58. data/lib/ddtrace/contrib/rails/core_extensions.rb +115 -74
  59. data/lib/ddtrace/contrib/rake/instrumentation.rb +70 -0
  60. data/lib/ddtrace/contrib/rake/patcher.rb +53 -0
  61. data/lib/ddtrace/contrib/sequel/database.rb +58 -0
  62. data/lib/ddtrace/contrib/sequel/dataset.rb +59 -0
  63. data/lib/ddtrace/contrib/sequel/patcher.rb +56 -0
  64. data/lib/ddtrace/contrib/sequel/utils.rb +28 -0
  65. data/lib/ddtrace/ext/distributed.rb +5 -0
  66. data/lib/ddtrace/ext/grpc.rb +7 -0
  67. data/lib/ddtrace/ext/http.rb +35 -5
  68. data/lib/ddtrace/propagation/grpc_propagator.rb +54 -0
  69. data/lib/ddtrace/quantization/hash.rb +89 -0
  70. data/lib/ddtrace/tracer.rb +1 -4
  71. data/lib/ddtrace/utils.rb +4 -10
  72. data/lib/ddtrace/utils/database.rb +21 -0
  73. data/lib/ddtrace/version.rb +3 -3
  74. metadata +38 -13
  75. data/.circleci/config.yml +0 -456
  76. data/.circleci/images/primary/Dockerfile-1.9.3 +0 -69
  77. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -69
  78. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -69
  79. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -69
  80. data/.circleci/images/primary/Dockerfile-2.3.7 +0 -73
  81. data/.circleci/images/primary/Dockerfile-2.4.4 +0 -73
  82. data/lib/ddtrace/contrib/rails/action_controller_patch.rb +0 -77
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-12 00:00:00.000000000 Z
11
+ date: 2018-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -216,13 +216,6 @@ executables: []
216
216
  extensions: []
217
217
  extra_rdoc_files: []
218
218
  files:
219
- - ".circleci/config.yml"
220
- - ".circleci/images/primary/Dockerfile-1.9.3"
221
- - ".circleci/images/primary/Dockerfile-2.0.0"
222
- - ".circleci/images/primary/Dockerfile-2.1.10"
223
- - ".circleci/images/primary/Dockerfile-2.2.10"
224
- - ".circleci/images/primary/Dockerfile-2.3.7"
225
- - ".circleci/images/primary/Dockerfile-2.4.4"
226
219
  - ".env"
227
220
  - ".gitignore"
228
221
  - ".rspec"
@@ -234,6 +227,7 @@ files:
234
227
  - LICENSE
235
228
  - README.md
236
229
  - Rakefile
230
+ - circle.yml
237
231
  - ddtrace.gemspec
238
232
  - docker-compose.yml
239
233
  - docs/GettingStarted.md
@@ -262,8 +256,18 @@ files:
262
256
  - lib/ddtrace/configuration/resolver.rb
263
257
  - lib/ddtrace/context.rb
264
258
  - lib/ddtrace/context_flush.rb
259
+ - lib/ddtrace/contrib/active_model_serializers/event.rb
260
+ - lib/ddtrace/contrib/active_model_serializers/events.rb
261
+ - lib/ddtrace/contrib/active_model_serializers/events/render.rb
262
+ - lib/ddtrace/contrib/active_model_serializers/events/serialize.rb
263
+ - lib/ddtrace/contrib/active_model_serializers/patcher.rb
264
+ - lib/ddtrace/contrib/active_record/event.rb
265
+ - lib/ddtrace/contrib/active_record/events.rb
266
+ - lib/ddtrace/contrib/active_record/events/instantiation.rb
267
+ - lib/ddtrace/contrib/active_record/events/sql.rb
265
268
  - lib/ddtrace/contrib/active_record/patcher.rb
266
269
  - lib/ddtrace/contrib/active_record/utils.rb
270
+ - lib/ddtrace/contrib/active_support/notifications/event.rb
267
271
  - lib/ddtrace/contrib/active_support/notifications/subscriber.rb
268
272
  - lib/ddtrace/contrib/active_support/notifications/subscription.rb
269
273
  - lib/ddtrace/contrib/aws/instrumentation.rb
@@ -276,20 +280,31 @@ files:
276
280
  - lib/ddtrace/contrib/dalli/quantize.rb
277
281
  - lib/ddtrace/contrib/elasticsearch/patcher.rb
278
282
  - lib/ddtrace/contrib/elasticsearch/quantize.rb
283
+ - lib/ddtrace/contrib/excon/middleware.rb
284
+ - lib/ddtrace/contrib/excon/patcher.rb
279
285
  - lib/ddtrace/contrib/faraday/middleware.rb
280
286
  - lib/ddtrace/contrib/faraday/patcher.rb
281
287
  - lib/ddtrace/contrib/grape/endpoint.rb
282
288
  - lib/ddtrace/contrib/grape/patcher.rb
283
289
  - lib/ddtrace/contrib/graphql/patcher.rb
290
+ - lib/ddtrace/contrib/grpc/datadog_interceptor.rb
291
+ - lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb
292
+ - lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb
293
+ - lib/ddtrace/contrib/grpc/intercept_with_datadog.rb
294
+ - lib/ddtrace/contrib/grpc/patcher.rb
284
295
  - lib/ddtrace/contrib/http/patcher.rb
285
296
  - lib/ddtrace/contrib/mongodb/parsers.rb
286
297
  - lib/ddtrace/contrib/mongodb/patcher.rb
287
298
  - lib/ddtrace/contrib/mongodb/subscribers.rb
299
+ - lib/ddtrace/contrib/racecar/event.rb
300
+ - lib/ddtrace/contrib/racecar/events.rb
301
+ - lib/ddtrace/contrib/racecar/events/batch.rb
302
+ - lib/ddtrace/contrib/racecar/events/message.rb
288
303
  - lib/ddtrace/contrib/racecar/patcher.rb
289
304
  - lib/ddtrace/contrib/rack/middlewares.rb
290
305
  - lib/ddtrace/contrib/rack/patcher.rb
306
+ - lib/ddtrace/contrib/rack/request_queue.rb
291
307
  - lib/ddtrace/contrib/rails/action_controller.rb
292
- - lib/ddtrace/contrib/rails/action_controller_patch.rb
293
308
  - lib/ddtrace/contrib/rails/action_view.rb
294
309
  - lib/ddtrace/contrib/rails/active_support.rb
295
310
  - lib/ddtrace/contrib/rails/core_extensions.rb
@@ -298,11 +313,17 @@ files:
298
313
  - lib/ddtrace/contrib/rails/patcher.rb
299
314
  - lib/ddtrace/contrib/rails/railtie.rb
300
315
  - lib/ddtrace/contrib/rails/utils.rb
316
+ - lib/ddtrace/contrib/rake/instrumentation.rb
317
+ - lib/ddtrace/contrib/rake/patcher.rb
301
318
  - lib/ddtrace/contrib/redis/patcher.rb
302
319
  - lib/ddtrace/contrib/redis/quantize.rb
303
320
  - lib/ddtrace/contrib/redis/tags.rb
304
321
  - lib/ddtrace/contrib/resque/patcher.rb
305
322
  - lib/ddtrace/contrib/resque/resque_job.rb
323
+ - lib/ddtrace/contrib/sequel/database.rb
324
+ - lib/ddtrace/contrib/sequel/dataset.rb
325
+ - lib/ddtrace/contrib/sequel/patcher.rb
326
+ - lib/ddtrace/contrib/sequel/utils.rb
306
327
  - lib/ddtrace/contrib/sidekiq/patcher.rb
307
328
  - lib/ddtrace/contrib/sidekiq/tracer.rb
308
329
  - lib/ddtrace/contrib/sinatra/tracer.rb
@@ -315,6 +336,7 @@ files:
315
336
  - lib/ddtrace/ext/cache.rb
316
337
  - lib/ddtrace/ext/distributed.rb
317
338
  - lib/ddtrace/ext/errors.rb
339
+ - lib/ddtrace/ext/grpc.rb
318
340
  - lib/ddtrace/ext/http.rb
319
341
  - lib/ddtrace/ext/mongo.rb
320
342
  - lib/ddtrace/ext/net.rb
@@ -329,8 +351,10 @@ files:
329
351
  - lib/ddtrace/pipeline/span_filter.rb
330
352
  - lib/ddtrace/pipeline/span_processor.rb
331
353
  - lib/ddtrace/propagation/distributed_headers.rb
354
+ - lib/ddtrace/propagation/grpc_propagator.rb
332
355
  - lib/ddtrace/propagation/http_propagator.rb
333
356
  - lib/ddtrace/provider.rb
357
+ - lib/ddtrace/quantization/hash.rb
334
358
  - lib/ddtrace/quantization/http.rb
335
359
  - lib/ddtrace/registry.rb
336
360
  - lib/ddtrace/registry/registerable.rb
@@ -340,6 +364,7 @@ files:
340
364
  - lib/ddtrace/tracer.rb
341
365
  - lib/ddtrace/transport.rb
342
366
  - lib/ddtrace/utils.rb
367
+ - lib/ddtrace/utils/database.rb
343
368
  - lib/ddtrace/version.rb
344
369
  - lib/ddtrace/workers.rb
345
370
  - lib/ddtrace/writer.rb
@@ -359,12 +384,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
359
384
  version: 1.9.1
360
385
  required_rubygems_version: !ruby/object:Gem::Requirement
361
386
  requirements:
362
- - - ">="
387
+ - - ">"
363
388
  - !ruby/object:Gem::Version
364
- version: '0'
389
+ version: 1.3.1
365
390
  requirements: []
366
391
  rubyforge_project:
367
- rubygems_version: 2.5.1
392
+ rubygems_version: 2.6.14
368
393
  signing_key:
369
394
  specification_version: 4
370
395
  summary: Datadog tracing code for your Ruby applications
data/.circleci/config.yml DELETED
@@ -1,456 +0,0 @@
1
- # Common variables, containers, jobs and steps.
2
- job_defaults: &job_defaults
3
- working_directory: /app
4
- shell: /bin/bash --login
5
-
6
- ruby_containers: &ruby_containers
7
- - &container-1_9
8
- image: datadog/docker-library:ddtrace_rb_1_9_3
9
- - &container-2_0
10
- image: datadog/docker-library:ddtrace_rb_2_0_0
11
- - &container-2_1
12
- image: datadog/docker-library:ddtrace_rb_2_1_10
13
- - &container-2_2
14
- image: datadog/docker-library:ddtrace_rb_2_2_10
15
- - &container-2_3
16
- image: datadog/docker-library:ddtrace_rb_2_3_7
17
- - &container-2_4
18
- image: datadog/docker-library:ddtrace_rb_2_4_4
19
-
20
- test_containers: &test_containers
21
- - &container_postgres
22
- image: postgres:9.6
23
- environment:
24
- - POSTGRES_PASSWORD=postgres
25
- - POSTGRES_USER=postgres
26
- - POSTGRES_DB=postgres
27
- - &container_mysql
28
- image: mysql:5.6
29
- environment:
30
- - MYSQL_ROOT_PASSWORD=root
31
- - MYSQL_PASSWORD=mysql
32
- - MYSQL_USER=mysql
33
- - &container_elasticsearch
34
- image: elasticsearch:2.4
35
- - &container_redis
36
- image: redis:3.0
37
- - &container_mongo
38
- image: mongo:3.5
39
- - &container_memcached
40
- image: memcached:1.5-alpine
41
- - &container_agent
42
- image: datadog/docker-dd-agent
43
- environment:
44
- - DD_APM_ENABLED=true
45
- - DD_BIND_HOST=0.0.0.0
46
- - DD_API_KEY=invalid_key_but_this_is_fine
47
-
48
- step_init_bundle_checksum: &step_init_bundle_checksum
49
- run:
50
- name: Initialize bundle cache key
51
- command: |
52
- touch .circleci/bundle_checksum
53
- step_bundle_install: &step_bundle_install
54
- run:
55
- name: Install gem dependencies
56
- command: bundle install
57
- step_rubocop: &step_rubocop
58
- run:
59
- name: Delint with Rubocop
60
- command: bundle exec rake rubocop
61
- step_appraisal_install: &step_appraisal_install
62
- run:
63
- name: Install Appraisal gems
64
- command: bundle exec appraisal install
65
- step_compute_bundle_checksum: &step_compute_bundle_checksum
66
- run:
67
- name: Compute bundle checksum
68
- command: |
69
- cat Gemfile.lock gemfiles/*.gemfile.lock > .circleci/bundle_checksum
70
- step_run_all_tests: &step_run_all_tests
71
- run:
72
- name: Run tests
73
- command: bundle exec rake ci
74
-
75
- version: 2.0
76
- jobs:
77
- checkout-1.9:
78
- <<: *job_defaults
79
- docker:
80
- - *container-1_9
81
- steps:
82
- - checkout
83
- - save_cache:
84
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-1.9-{{ .Environment.CIRCLE_SHA1 }}'
85
- paths:
86
- - /app
87
- build-1.9:
88
- <<: *job_defaults
89
- docker:
90
- - *container-1_9
91
- steps:
92
- - restore_cache:
93
- keys:
94
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-1.9-{{ .Environment.CIRCLE_SHA1 }}'
95
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-1.9-{{ .Environment.CIRCLE_SHA1 }}'
96
- - *step_init_bundle_checksum
97
- - restore_cache:
98
- keys:
99
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-1.9-{{ checksum ".circleci/bundle_checksum" }}'
100
- - *step_bundle_install
101
- - *step_appraisal_install
102
- - *step_compute_bundle_checksum
103
- - save_cache:
104
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-1.9-{{ .Environment.CIRCLE_SHA1 }}'
105
- paths:
106
- - /app
107
- - save_cache:
108
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-1.9-{{ checksum ".circleci/bundle_checksum" }}'
109
- paths:
110
- - /usr/local/bundle
111
- test-1.9:
112
- <<: *job_defaults
113
- docker:
114
- - <<: *container-1_9
115
- environment:
116
- - TEST_DATADOG_INTEGRATION: 1
117
- - *container_postgres
118
- - *container_mysql
119
- - *container_elasticsearch
120
- - *container_redis
121
- - *container_mongo
122
- - *container_memcached
123
- - *container_agent
124
- steps:
125
- - restore_cache:
126
- keys:
127
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-1.9-{{ .Environment.CIRCLE_SHA1 }}'
128
- - restore_cache:
129
- keys:
130
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-1.9-{{ checksum ".circleci/bundle_checksum" }}'
131
- - *step_run_all_tests
132
- checkout-2.0:
133
- <<: *job_defaults
134
- docker:
135
- - *container-2_0
136
- steps:
137
- - checkout
138
- - save_cache:
139
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.0-{{ .Environment.CIRCLE_SHA1 }}'
140
- paths:
141
- - /app
142
- build-2.0:
143
- <<: *job_defaults
144
- docker:
145
- - *container-2_0
146
- steps:
147
- - restore_cache:
148
- keys:
149
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.0-{{ .Environment.CIRCLE_SHA1 }}'
150
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.0-{{ .Environment.CIRCLE_SHA1 }}'
151
- - *step_init_bundle_checksum
152
- - restore_cache:
153
- keys:
154
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.0-{{ checksum ".circleci/bundle_checksum" }}'
155
- - *step_bundle_install
156
- - *step_appraisal_install
157
- - *step_compute_bundle_checksum
158
- - save_cache:
159
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.0-{{ .Environment.CIRCLE_SHA1 }}'
160
- paths:
161
- - /app
162
- - save_cache:
163
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.0-{{ checksum ".circleci/bundle_checksum" }}'
164
- paths:
165
- - /usr/local/bundle
166
- test-2.0:
167
- <<: *job_defaults
168
- docker:
169
- - <<: *container-2_0
170
- environment:
171
- - TEST_DATADOG_INTEGRATION: 1
172
- - *container_postgres
173
- - *container_mysql
174
- - *container_elasticsearch
175
- - *container_redis
176
- - *container_mongo
177
- - *container_memcached
178
- - *container_agent
179
- steps:
180
- - restore_cache:
181
- keys:
182
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.0-{{ .Environment.CIRCLE_SHA1 }}'
183
- - restore_cache:
184
- keys:
185
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.0-{{ checksum ".circleci/bundle_checksum" }}'
186
- - *step_run_all_tests
187
- checkout-2.1:
188
- <<: *job_defaults
189
- docker:
190
- - *container-2_1
191
- steps:
192
- - checkout
193
- - save_cache:
194
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.1-{{ .Environment.CIRCLE_SHA1 }}'
195
- paths:
196
- - /app
197
- build-2.1:
198
- <<: *job_defaults
199
- docker:
200
- - *container-2_1
201
- steps:
202
- - restore_cache:
203
- keys:
204
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.1-{{ .Environment.CIRCLE_SHA1 }}'
205
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.1-{{ .Environment.CIRCLE_SHA1 }}'
206
- - *step_init_bundle_checksum
207
- - restore_cache:
208
- keys:
209
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.1-{{ checksum ".circleci/bundle_checksum" }}'
210
- - *step_bundle_install
211
- - *step_rubocop
212
- - *step_appraisal_install
213
- - *step_compute_bundle_checksum
214
- - save_cache:
215
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.1-{{ .Environment.CIRCLE_SHA1 }}'
216
- paths:
217
- - /app
218
- - save_cache:
219
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.1-{{ checksum ".circleci/bundle_checksum" }}'
220
- paths:
221
- - /usr/local/bundle
222
- test-2.1:
223
- <<: *job_defaults
224
- docker:
225
- - <<: *container-2_1
226
- environment:
227
- - TEST_DATADOG_INTEGRATION: 1
228
- - *container_postgres
229
- - *container_mysql
230
- - *container_elasticsearch
231
- - *container_redis
232
- - *container_mongo
233
- - *container_memcached
234
- - *container_agent
235
- steps:
236
- - restore_cache:
237
- keys:
238
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.1-{{ .Environment.CIRCLE_SHA1 }}'
239
- - restore_cache:
240
- keys:
241
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.1-{{ checksum ".circleci/bundle_checksum" }}'
242
- - *step_run_all_tests
243
- checkout-2.2:
244
- <<: *job_defaults
245
- docker:
246
- - *container-2_2
247
- steps:
248
- - checkout
249
- - save_cache:
250
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.2-{{ .Environment.CIRCLE_SHA1 }}'
251
- paths:
252
- - /app
253
- build-2.2:
254
- <<: *job_defaults
255
- docker:
256
- - *container-2_2
257
- steps:
258
- - restore_cache:
259
- keys:
260
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.2-{{ .Environment.CIRCLE_SHA1 }}'
261
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.2-{{ .Environment.CIRCLE_SHA1 }}'
262
- - *step_init_bundle_checksum
263
- - restore_cache:
264
- keys:
265
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.2-{{ checksum ".circleci/bundle_checksum" }}'
266
- - *step_bundle_install
267
- - *step_rubocop
268
- - *step_appraisal_install
269
- - *step_compute_bundle_checksum
270
- - save_cache:
271
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.2-{{ .Environment.CIRCLE_SHA1 }}'
272
- paths:
273
- - /app
274
- - save_cache:
275
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.2-{{ checksum ".circleci/bundle_checksum" }}'
276
- paths:
277
- - /usr/local/bundle
278
- test-2.2:
279
- <<: *job_defaults
280
- docker:
281
- - <<: *container-2_2
282
- environment:
283
- - TEST_DATADOG_INTEGRATION: 1
284
- - *container_postgres
285
- - *container_mysql
286
- - *container_elasticsearch
287
- - *container_redis
288
- - *container_mongo
289
- - *container_memcached
290
- - *container_agent
291
- steps:
292
- - restore_cache:
293
- keys:
294
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.2-{{ .Environment.CIRCLE_SHA1 }}'
295
- - restore_cache:
296
- keys:
297
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.2-{{ checksum ".circleci/bundle_checksum" }}'
298
- - *step_run_all_tests
299
- checkout-2.3:
300
- <<: *job_defaults
301
- docker:
302
- - *container-2_3
303
- steps:
304
- - checkout
305
- - save_cache:
306
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.3-{{ .Environment.CIRCLE_SHA1 }}'
307
- paths:
308
- - /app
309
- build-2.3:
310
- <<: *job_defaults
311
- docker:
312
- - *container-2_3
313
- steps:
314
- - restore_cache:
315
- keys:
316
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.3-{{ .Environment.CIRCLE_SHA1 }}'
317
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.3-{{ .Environment.CIRCLE_SHA1 }}'
318
- - *step_init_bundle_checksum
319
- - restore_cache:
320
- keys:
321
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.3-{{ checksum ".circleci/bundle_checksum" }}'
322
- - *step_bundle_install
323
- - *step_rubocop
324
- - *step_appraisal_install
325
- - *step_compute_bundle_checksum
326
- - save_cache:
327
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.3-{{ .Environment.CIRCLE_SHA1 }}'
328
- paths:
329
- - /app
330
- - save_cache:
331
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.3-{{ checksum ".circleci/bundle_checksum" }}'
332
- paths:
333
- - /usr/local/bundle
334
- test-2.3:
335
- <<: *job_defaults
336
- docker:
337
- - <<: *container-2_3
338
- environment:
339
- - TEST_DATADOG_INTEGRATION: 1
340
- - *container_postgres
341
- - *container_mysql
342
- - *container_elasticsearch
343
- - *container_redis
344
- - *container_mongo
345
- - *container_memcached
346
- - *container_agent
347
- steps:
348
- - restore_cache:
349
- keys:
350
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.3-{{ .Environment.CIRCLE_SHA1 }}'
351
- - restore_cache:
352
- keys:
353
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.3-{{ checksum ".circleci/bundle_checksum" }}'
354
- - *step_run_all_tests
355
- checkout-2.4:
356
- <<: *job_defaults
357
- docker:
358
- - *container-2_4
359
- steps:
360
- - checkout
361
- - save_cache:
362
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.4-{{ .Environment.CIRCLE_SHA1 }}'
363
- paths:
364
- - /app
365
- build-2.4:
366
- <<: *job_defaults
367
- docker:
368
- - *container-2_4
369
- steps:
370
- - restore_cache:
371
- keys:
372
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.4-{{ .Environment.CIRCLE_SHA1 }}'
373
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-2.4-{{ .Environment.CIRCLE_SHA1 }}'
374
- - *step_init_bundle_checksum
375
- - restore_cache:
376
- keys:
377
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.4-{{ checksum ".circleci/bundle_checksum" }}'
378
- - *step_bundle_install
379
- - *step_rubocop
380
- - *step_appraisal_install
381
- - *step_compute_bundle_checksum
382
- - save_cache:
383
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.4-{{ .Environment.CIRCLE_SHA1 }}'
384
- paths:
385
- - /app
386
- - save_cache:
387
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.4-{{ checksum ".circleci/bundle_checksum" }}'
388
- paths:
389
- - /usr/local/bundle
390
- test-2.4:
391
- <<: *job_defaults
392
- docker:
393
- - <<: *container-2_4
394
- environment:
395
- - TEST_DATADOG_INTEGRATION: 1
396
- - *container_postgres
397
- - *container_mysql
398
- - *container_elasticsearch
399
- - *container_redis
400
- - *container_mongo
401
- - *container_memcached
402
- - *container_agent
403
- steps:
404
- - restore_cache:
405
- keys:
406
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.4-{{ .Environment.CIRCLE_SHA1 }}'
407
- - restore_cache:
408
- keys:
409
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.4-{{ checksum ".circleci/bundle_checksum" }}'
410
- - *step_run_all_tests
411
- workflows:
412
- version: 2
413
- build-and-test:
414
- jobs:
415
- - checkout-1.9
416
- - build-1.9:
417
- requires:
418
- - checkout-1.9
419
- - test-1.9:
420
- requires:
421
- - build-1.9
422
- - checkout-2.0
423
- - build-2.0:
424
- requires:
425
- - checkout-2.0
426
- - test-2.0:
427
- requires:
428
- - build-2.0
429
- - checkout-2.1
430
- - build-2.1:
431
- requires:
432
- - checkout-2.1
433
- - test-2.1:
434
- requires:
435
- - build-2.1
436
- - checkout-2.2
437
- - build-2.2:
438
- requires:
439
- - checkout-2.2
440
- - test-2.2:
441
- requires:
442
- - build-2.2
443
- - checkout-2.3
444
- - build-2.3:
445
- requires:
446
- - checkout-2.3
447
- - test-2.3:
448
- requires:
449
- - build-2.3
450
- - checkout-2.4
451
- - build-2.4:
452
- requires:
453
- - checkout-2.4
454
- - test-2.4:
455
- requires:
456
- - build-2.4