ddtrace 0.12.1 → 0.13.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
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