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.
- checksums.yaml +4 -4
- data/.env +11 -21
- data/.rubocop.yml +1 -4
- data/Appraisals +75 -439
- data/CHANGELOG.md +16 -19
- data/Rakefile +89 -259
- data/circle.yml +69 -0
- data/ddtrace.gemspec +6 -6
- data/docker-compose.yml +37 -222
- data/docs/GettingStarted.md +260 -19
- data/gemfiles/contrib.gemfile +5 -0
- data/gemfiles/contrib_old.gemfile +4 -1
- data/gemfiles/rails30_postgres.gemfile +0 -1
- data/gemfiles/rails30_postgres_sidekiq.gemfile +0 -1
- data/gemfiles/rails32_mysql2.gemfile +0 -1
- data/gemfiles/rails32_postgres.gemfile +0 -1
- data/gemfiles/rails32_postgres_redis.gemfile +0 -1
- data/gemfiles/rails32_postgres_sidekiq.gemfile +0 -1
- data/gemfiles/rails5_mysql2.gemfile +1 -1
- data/gemfiles/rails5_postgres.gemfile +1 -1
- data/gemfiles/rails5_postgres_redis.gemfile +1 -1
- data/gemfiles/rails5_postgres_sidekiq.gemfile +1 -1
- data/lib/ddtrace.rb +6 -0
- data/lib/ddtrace/configuration.rb +2 -2
- data/lib/ddtrace/contrib/active_model_serializers/event.rb +57 -0
- data/lib/ddtrace/contrib/active_model_serializers/events.rb +30 -0
- data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +32 -0
- data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +35 -0
- data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +62 -0
- data/lib/ddtrace/contrib/active_record/event.rb +30 -0
- data/lib/ddtrace/contrib/active_record/events.rb +30 -0
- data/lib/ddtrace/contrib/active_record/events/instantiation.rb +51 -0
- data/lib/ddtrace/contrib/active_record/events/sql.rb +48 -0
- data/lib/ddtrace/contrib/active_record/patcher.rb +3 -73
- data/lib/ddtrace/contrib/active_record/utils.rb +1 -15
- data/lib/ddtrace/contrib/active_support/notifications/event.rb +62 -0
- data/lib/ddtrace/contrib/aws/instrumentation.rb +2 -2
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -2
- data/lib/ddtrace/contrib/elasticsearch/quantize.rb +8 -40
- data/lib/ddtrace/contrib/excon/middleware.rb +140 -0
- data/lib/ddtrace/contrib/excon/patcher.rb +50 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +65 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +49 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +66 -0
- data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +49 -0
- data/lib/ddtrace/contrib/grpc/patcher.rb +62 -0
- data/lib/ddtrace/contrib/http/patcher.rb +16 -18
- data/lib/ddtrace/contrib/racecar/event.rb +61 -0
- data/lib/ddtrace/contrib/racecar/events.rb +30 -0
- data/lib/ddtrace/contrib/racecar/events/batch.rb +27 -0
- data/lib/ddtrace/contrib/racecar/events/message.rb +27 -0
- data/lib/ddtrace/contrib/racecar/patcher.rb +6 -52
- data/lib/ddtrace/contrib/rack/middlewares.rb +65 -11
- data/lib/ddtrace/contrib/rack/patcher.rb +16 -0
- data/lib/ddtrace/contrib/rack/request_queue.rb +34 -0
- data/lib/ddtrace/contrib/rails/action_view.rb +65 -0
- data/lib/ddtrace/contrib/rails/active_support.rb +8 -9
- data/lib/ddtrace/contrib/rails/core_extensions.rb +115 -74
- data/lib/ddtrace/contrib/rake/instrumentation.rb +70 -0
- data/lib/ddtrace/contrib/rake/patcher.rb +53 -0
- data/lib/ddtrace/contrib/sequel/database.rb +58 -0
- data/lib/ddtrace/contrib/sequel/dataset.rb +59 -0
- data/lib/ddtrace/contrib/sequel/patcher.rb +56 -0
- data/lib/ddtrace/contrib/sequel/utils.rb +28 -0
- data/lib/ddtrace/ext/distributed.rb +5 -0
- data/lib/ddtrace/ext/grpc.rb +7 -0
- data/lib/ddtrace/ext/http.rb +35 -5
- data/lib/ddtrace/propagation/grpc_propagator.rb +54 -0
- data/lib/ddtrace/quantization/hash.rb +89 -0
- data/lib/ddtrace/tracer.rb +1 -4
- data/lib/ddtrace/utils.rb +4 -10
- data/lib/ddtrace/utils/database.rb +21 -0
- data/lib/ddtrace/version.rb +3 -3
- metadata +38 -13
- data/.circleci/config.yml +0 -456
- data/.circleci/images/primary/Dockerfile-1.9.3 +0 -69
- data/.circleci/images/primary/Dockerfile-2.0.0 +0 -69
- data/.circleci/images/primary/Dockerfile-2.1.10 +0 -69
- data/.circleci/images/primary/Dockerfile-2.2.10 +0 -69
- data/.circleci/images/primary/Dockerfile-2.3.7 +0 -73
- data/.circleci/images/primary/Dockerfile-2.4.4 +0 -73
- data/lib/ddtrace/contrib/rails/action_controller_patch.rb +0 -77
data/CHANGELOG.md
CHANGED
@@ -4,27 +4,24 @@
|
|
4
4
|
|
5
5
|
## [Unreleased (beta)]
|
6
6
|
|
7
|
-
## [0.
|
7
|
+
## [0.13.0.beta1] - 2018-05-09
|
8
8
|
|
9
|
-
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.
|
9
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.0.beta1
|
10
10
|
|
11
|
-
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.
|
11
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.13.0.beta1
|
12
12
|
|
13
|
-
###
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
- AWS spans using wrong resource name (#374, #377) (@jfrancoist)
|
23
|
-
- ActionView `NoMethodError` on very long traces. (#445, #447) (@jvalanen)
|
13
|
+
### Added
|
14
|
+
- Sequel integration (supporting Ruby 2.0+) (#171, #367) (@randy-girard, @twe4ked, @palin)
|
15
|
+
- gRPC integration (supporting Ruby 2.2+) (#379, #403) (@Jared-Prime)
|
16
|
+
- ActiveModelSerializers integration (#340) (@sullimander)
|
17
|
+
- Excon integration (#211) (@walterking)
|
18
|
+
- Rake integration (supporting Ruby 2.0+, Rake 12.0+) (#409)
|
19
|
+
- Request queuing tracing to Rack (experimental) (#272)
|
20
|
+
- ActiveSupport::Notifications::Event helper for event tracing (#400)
|
21
|
+
- Request and response header tags to Rack (#389)
|
24
22
|
|
25
23
|
### Refactored
|
26
|
-
|
27
|
-
- ActionView tracing strategy. (#445, #447)
|
24
|
+
- Hash quantization into core library (#410)
|
28
25
|
|
29
26
|
## [0.12.0] - 2018-05-08
|
30
27
|
|
@@ -307,9 +304,9 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
307
304
|
|
308
305
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
309
306
|
|
310
|
-
[Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.
|
311
|
-
[Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.
|
312
|
-
[0.
|
307
|
+
[Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...master
|
308
|
+
[Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0.beta1...0.13-dev
|
309
|
+
[0.13.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.13.0.beta1
|
313
310
|
[0.12.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0
|
314
311
|
[0.12.0.rc1]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0.rc1
|
315
312
|
[0.12.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0.beta1...v0.12.0.beta2
|
data/Rakefile
CHANGED
@@ -40,20 +40,25 @@ namespace :spec do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
[
|
43
|
+
:active_model_serializers,
|
43
44
|
:active_record,
|
44
45
|
:active_support,
|
45
46
|
:aws,
|
46
47
|
:dalli,
|
47
48
|
:elasticsearch,
|
49
|
+
:excon,
|
48
50
|
:faraday,
|
49
51
|
:grape,
|
50
52
|
:graphql,
|
53
|
+
:grpc,
|
51
54
|
:http,
|
52
55
|
:mongodb,
|
53
56
|
:racecar,
|
54
57
|
:rack,
|
58
|
+
:rake,
|
55
59
|
:redis,
|
56
60
|
:resque,
|
61
|
+
:sequel,
|
57
62
|
:sidekiq,
|
58
63
|
:sinatra,
|
59
64
|
:sucker_punch
|
@@ -114,10 +119,7 @@ namespace :test do
|
|
114
119
|
:elasticsearch,
|
115
120
|
:grape,
|
116
121
|
:http,
|
117
|
-
:mongodb,
|
118
|
-
:resque,
|
119
122
|
:rack,
|
120
|
-
:resque,
|
121
123
|
:sidekiq,
|
122
124
|
:sinatra,
|
123
125
|
:sucker_punch
|
@@ -142,7 +144,7 @@ end
|
|
142
144
|
if RUBY_VERSION >= '2.1.0'
|
143
145
|
RuboCop::RakeTask.new(:rubocop) do |t|
|
144
146
|
t.options << ['-D']
|
145
|
-
t.patterns = ['lib/**/*.rb', 'test/**/*.rb', '
|
147
|
+
t.patterns = ['lib/**/*.rb', 'test/**/*.rb', 'Gemfile', 'Rakefile']
|
146
148
|
end
|
147
149
|
end
|
148
150
|
|
@@ -196,262 +198,90 @@ task :'release:docs' => :docs do
|
|
196
198
|
sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
|
197
199
|
end
|
198
200
|
|
199
|
-
|
200
|
-
desc 'CI task; it runs all tests for current version of Ruby'
|
201
|
+
desc 'CI dependent task; it runs all parallel tests'
|
201
202
|
task :ci do
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
sh 'rake test:main'
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
sh 'rake
|
242
|
-
sh 'rake spec:
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
sh 'rake
|
280
|
-
sh 'rake spec:
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
sh 'appraisal contrib-old rake test:aws'
|
285
|
-
sh 'appraisal contrib-old rake test:elasticsearch'
|
286
|
-
sh 'appraisal contrib-old rake test:http'
|
287
|
-
sh 'appraisal contrib-old rake test:mongodb'
|
288
|
-
sh 'appraisal contrib-old rake test:monkey'
|
289
|
-
sh 'appraisal contrib-old rake test:rack'
|
290
|
-
sh 'appraisal contrib-old rake test:resque'
|
291
|
-
sh 'appraisal contrib-old rake test:sinatra'
|
292
|
-
sh 'appraisal contrib-old rake test:sucker_punch'
|
293
|
-
# Contrib specs
|
294
|
-
sh 'appraisal contrib-old rake spec:active_record'
|
295
|
-
sh 'appraisal contrib-old rake spec:active_support'
|
296
|
-
sh 'appraisal contrib-old rake spec:dalli'
|
297
|
-
sh 'appraisal contrib-old rake spec:faraday'
|
298
|
-
sh 'appraisal contrib-old rake spec:http'
|
299
|
-
sh 'appraisal contrib-old rake spec:redis'
|
300
|
-
# Rails minitests
|
301
|
-
sh 'appraisal contrib-old rake test:sidekiq'
|
302
|
-
sh 'appraisal rails30-postgres rake test:rails'
|
303
|
-
sh 'appraisal rails30-postgres rake test:railsdisableenv'
|
304
|
-
sh 'appraisal rails32-mysql2 rake test:rails'
|
305
|
-
sh 'appraisal rails32-postgres rake test:rails'
|
306
|
-
sh 'appraisal rails32-postgres-redis rake test:railsredis'
|
307
|
-
sh 'appraisal rails32-postgres rake test:railsdisableenv'
|
308
|
-
sh 'appraisal rails4-mysql2 rake test:rails'
|
309
|
-
sh 'appraisal rails4-postgres rake test:rails'
|
310
|
-
sh 'appraisal rails4-postgres-redis rake test:railsredis'
|
311
|
-
sh 'appraisal rails4-postgres rake test:railsdisableenv'
|
312
|
-
sh 'appraisal rails30-postgres-sidekiq rake test:railssidekiq'
|
313
|
-
sh 'appraisal rails32-postgres-sidekiq rake test:railssidekiq'
|
314
|
-
# Rails specs
|
315
|
-
sh 'appraisal rails30-postgres rake spec:rails'
|
316
|
-
sh 'appraisal rails32-mysql2 rake spec:rails'
|
317
|
-
sh 'appraisal rails32-postgres rake spec:rails'
|
318
|
-
sh 'appraisal rails4-mysql2 rake spec:rails'
|
319
|
-
sh 'appraisal rails4-postgres rake spec:rails'
|
320
|
-
end
|
321
|
-
elsif '2.2.0' <= RUBY_VERSION && RUBY_VERSION < '2.3.0'
|
322
|
-
# Main library
|
323
|
-
sh 'rake test:main'
|
324
|
-
sh 'rake spec:main'
|
325
|
-
|
326
|
-
if RUBY_PLATFORM != 'java'
|
327
|
-
# Contrib minitests
|
328
|
-
sh 'appraisal contrib rake test:aws'
|
329
|
-
sh 'appraisal contrib rake test:elasticsearch'
|
330
|
-
sh 'appraisal contrib rake test:grape'
|
331
|
-
sh 'appraisal contrib rake test:http'
|
332
|
-
sh 'appraisal contrib rake test:mongodb'
|
333
|
-
sh 'appraisal contrib rake test:rack'
|
334
|
-
sh 'appraisal contrib rake test:resque'
|
335
|
-
sh 'appraisal contrib rake test:sucker_punch'
|
336
|
-
# Contrib specs
|
337
|
-
sh 'appraisal contrib rake spec:active_record'
|
338
|
-
sh 'appraisal contrib rake spec:active_support'
|
339
|
-
sh 'appraisal contrib rake spec:dalli'
|
340
|
-
sh 'appraisal contrib rake spec:faraday'
|
341
|
-
sh 'appraisal contrib rake spec:graphql'
|
342
|
-
sh 'appraisal contrib rake spec:http'
|
343
|
-
sh 'appraisal contrib rake spec:racecar'
|
344
|
-
sh 'appraisal contrib rake spec:redis'
|
345
|
-
# Rails minitests
|
346
|
-
sh 'appraisal contrib rake test:sidekiq'
|
347
|
-
sh 'appraisal rails30-postgres rake test:rails'
|
348
|
-
sh 'appraisal rails30-postgres rake test:railsdisableenv'
|
349
|
-
sh 'appraisal rails32-mysql2 rake test:rails'
|
350
|
-
sh 'appraisal rails32-postgres rake test:rails'
|
351
|
-
sh 'appraisal rails32-postgres-redis rake test:railsredis'
|
352
|
-
sh 'appraisal rails32-postgres rake test:railsdisableenv'
|
353
|
-
sh 'appraisal rails4-mysql2 rake test:rails'
|
354
|
-
sh 'appraisal rails4-postgres rake test:rails'
|
355
|
-
sh 'appraisal rails4-postgres-redis rake test:railsredis'
|
356
|
-
sh 'appraisal rails4-postgres rake test:railsdisableenv'
|
357
|
-
sh 'appraisal rails4-postgres-sidekiq rake test:railssidekiq'
|
358
|
-
sh 'appraisal rails4-postgres-sidekiq rake test:railsactivejob'
|
359
|
-
sh 'appraisal rails5-mysql2 rake test:rails'
|
360
|
-
sh 'appraisal rails5-postgres rake test:rails'
|
361
|
-
sh 'appraisal rails5-postgres-redis rake test:railsredis'
|
362
|
-
sh 'appraisal rails5-postgres-sidekiq rake test:railssidekiq'
|
363
|
-
sh 'appraisal rails5-postgres-sidekiq rake test:railsactivejob'
|
364
|
-
sh 'appraisal rails5-postgres rake test:railsdisableenv'
|
365
|
-
# Rails specs
|
366
|
-
sh 'appraisal rails30-postgres rake spec:rails'
|
367
|
-
sh 'appraisal rails32-mysql2 rake spec:rails'
|
368
|
-
sh 'appraisal rails32-postgres rake spec:rails'
|
369
|
-
sh 'appraisal rails4-mysql2 rake spec:rails'
|
370
|
-
sh 'appraisal rails4-postgres rake spec:rails'
|
371
|
-
sh 'appraisal rails5-mysql2 rake spec:rails'
|
372
|
-
sh 'appraisal rails5-postgres rake spec:rails'
|
373
|
-
end
|
374
|
-
elsif '2.3.0' <= RUBY_VERSION && RUBY_VERSION < '2.4.0'
|
375
|
-
# Main library
|
376
|
-
sh 'rake test:main'
|
377
|
-
sh 'rake spec:main'
|
378
|
-
|
379
|
-
if RUBY_PLATFORM != 'java'
|
380
|
-
# Contrib minitests
|
381
|
-
sh 'appraisal contrib rake test:aws'
|
382
|
-
sh 'appraisal contrib rake test:elasticsearch'
|
383
|
-
sh 'appraisal contrib rake test:grape'
|
384
|
-
sh 'appraisal contrib rake test:http'
|
385
|
-
sh 'appraisal contrib rake test:mongodb'
|
386
|
-
sh 'appraisal contrib rake test:rack'
|
387
|
-
sh 'appraisal contrib rake test:resque'
|
388
|
-
sh 'appraisal contrib rake test:sucker_punch'
|
389
|
-
# Contrib specs
|
390
|
-
sh 'appraisal contrib rake spec:active_record'
|
391
|
-
sh 'appraisal contrib rake spec:active_support'
|
392
|
-
sh 'appraisal contrib rake spec:dalli'
|
393
|
-
sh 'appraisal contrib rake spec:faraday'
|
394
|
-
sh 'appraisal contrib rake spec:graphql'
|
395
|
-
sh 'appraisal contrib rake spec:graphql'
|
396
|
-
sh 'appraisal contrib rake spec:racecar'
|
397
|
-
sh 'appraisal contrib rake spec:redis'
|
398
|
-
# Rails minitests
|
399
|
-
sh 'appraisal contrib rake test:sidekiq'
|
400
|
-
sh 'appraisal rails30-postgres rake test:rails'
|
401
|
-
sh 'appraisal rails30-postgres rake test:railsdisableenv'
|
402
|
-
sh 'appraisal rails32-mysql2 rake test:rails'
|
403
|
-
sh 'appraisal rails32-postgres rake test:rails'
|
404
|
-
sh 'appraisal rails32-postgres-redis rake test:railsredis'
|
405
|
-
sh 'appraisal rails32-postgres rake test:railsdisableenv'
|
406
|
-
sh 'appraisal rails4-mysql2 rake test:rails'
|
407
|
-
sh 'appraisal rails4-postgres rake test:rails'
|
408
|
-
sh 'appraisal rails4-postgres-redis rake test:railsredis'
|
409
|
-
sh 'appraisal rails4-postgres rake test:railsdisableenv'
|
410
|
-
sh 'appraisal rails4-postgres-sidekiq rake test:railssidekiq'
|
411
|
-
sh 'appraisal rails4-postgres-sidekiq rake test:railsactivejob'
|
412
|
-
sh 'appraisal rails5-mysql2 rake test:rails'
|
413
|
-
sh 'appraisal rails5-postgres rake test:rails'
|
414
|
-
sh 'appraisal rails5-postgres-redis rake test:railsredis'
|
415
|
-
sh 'appraisal rails5-postgres-sidekiq rake test:railssidekiq'
|
416
|
-
sh 'appraisal rails5-postgres-sidekiq rake test:railsactivejob'
|
417
|
-
sh 'appraisal rails5-postgres rake test:railsdisableenv'
|
418
|
-
# Rails specs
|
419
|
-
sh 'appraisal rails30-postgres rake spec:rails'
|
420
|
-
sh 'appraisal rails32-mysql2 rake spec:rails'
|
421
|
-
sh 'appraisal rails32-postgres rake spec:rails'
|
422
|
-
sh 'appraisal rails4-mysql2 rake spec:rails'
|
423
|
-
sh 'appraisal rails4-postgres rake spec:rails'
|
424
|
-
sh 'appraisal rails5-mysql2 rake spec:rails'
|
425
|
-
sh 'appraisal rails5-postgres rake spec:rails'
|
426
|
-
end
|
427
|
-
elsif '2.4.0' <= RUBY_VERSION
|
428
|
-
# Main library
|
429
|
-
sh 'rake test:main'
|
430
|
-
sh 'rake spec:main'
|
431
|
-
|
432
|
-
if RUBY_PLATFORM != 'java'
|
433
|
-
# Contrib minitests
|
434
|
-
sh 'appraisal contrib rake test:aws'
|
435
|
-
sh 'appraisal contrib rake test:elasticsearch'
|
436
|
-
sh 'appraisal contrib rake test:grape'
|
437
|
-
sh 'appraisal contrib rake test:http'
|
438
|
-
sh 'appraisal contrib rake test:mongodb'
|
439
|
-
sh 'appraisal contrib rake test:rack'
|
440
|
-
sh 'appraisal contrib rake test:resque'
|
441
|
-
sh 'appraisal contrib rake test:sucker_punch'
|
442
|
-
# Contrib specs
|
443
|
-
sh 'appraisal contrib rake spec:active_record'
|
444
|
-
sh 'appraisal contrib rake spec:active_support'
|
445
|
-
sh 'appraisal contrib rake spec:dalli'
|
446
|
-
sh 'appraisal contrib rake spec:faraday'
|
447
|
-
sh 'appraisal contrib rake spec:graphql'
|
448
|
-
sh 'appraisal contrib rake spec:graphql'
|
449
|
-
sh 'appraisal contrib rake spec:racecar'
|
450
|
-
sh 'appraisal contrib rake spec:redis'
|
451
|
-
# Rails minitests
|
452
|
-
sh 'appraisal contrib rake test:sidekiq'
|
453
|
-
sh 'rake benchmark'
|
454
|
-
end
|
203
|
+
# CircleCI uses this environment to store the node index (starting from 0)
|
204
|
+
# check: https://circleci.com/docs/parallel-manual-setup/#env-splitting
|
205
|
+
case ENV['CIRCLE_NODE_INDEX'].to_i
|
206
|
+
when 0
|
207
|
+
sh 'rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS --verbose do rake test:main'
|
208
|
+
# RSpec
|
209
|
+
sh 'rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS --verbose do rake spec:main'
|
210
|
+
when 1
|
211
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:elasticsearch'
|
212
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:http'
|
213
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:sinatra'
|
214
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:rack'
|
215
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:grape'
|
216
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:aws'
|
217
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:sucker_punch'
|
218
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:monkey'
|
219
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:elasticsearch'
|
220
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:http'
|
221
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:sinatra'
|
222
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:rack'
|
223
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:aws'
|
224
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake test:sucker_punch'
|
225
|
+
# RSpec
|
226
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:active_model_serializers'
|
227
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:active_record'
|
228
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:active_support'
|
229
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:dalli'
|
230
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:excon'
|
231
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:faraday'
|
232
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:graphql'
|
233
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:mongodb'
|
234
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:grpc'
|
235
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:racecar'
|
236
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:rake'
|
237
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:redis'
|
238
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:resque'
|
239
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake spec:sequel'
|
240
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:active_model_serializers'
|
241
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:active_record'
|
242
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:active_support'
|
243
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:dalli'
|
244
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:excon'
|
245
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:faraday'
|
246
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:mongodb'
|
247
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:rake'
|
248
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:redis'
|
249
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:resque'
|
250
|
+
sh 'rvm $MRI_OLD_VERSIONS --verbose do appraisal contrib-old rake spec:sequel'
|
251
|
+
when 2
|
252
|
+
sh 'rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:sidekiq'
|
253
|
+
sh 'rvm $SIDEKIQ_OLD_VERSIONS --verbose do appraisal contrib-old rake test:sidekiq'
|
254
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails30-postgres rake test:rails'
|
255
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails30-postgres rake test:railsdisableenv'
|
256
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails32-mysql2 rake test:rails'
|
257
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails32-postgres rake test:rails'
|
258
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails32-postgres-redis rake test:railsredis'
|
259
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails32-postgres rake test:railsdisableenv'
|
260
|
+
sh 'rvm $RAILS4_VERSIONS --verbose do appraisal rails4-mysql2 rake test:rails'
|
261
|
+
sh 'rvm $RAILS4_VERSIONS --verbose do appraisal rails4-postgres rake test:rails'
|
262
|
+
sh 'rvm $RAILS4_VERSIONS --verbose do appraisal rails4-postgres-redis rake test:railsredis'
|
263
|
+
sh 'rvm $RAILS4_VERSIONS --verbose do appraisal rails4-postgres rake test:railsdisableenv'
|
264
|
+
sh 'rvm $RAILS3_SIDEKIQ_VERSIONS --verbose do appraisal rails30-postgres-sidekiq rake test:railssidekiq'
|
265
|
+
sh 'rvm $RAILS3_SIDEKIQ_VERSIONS --verbose do appraisal rails32-postgres-sidekiq rake test:railssidekiq'
|
266
|
+
sh 'rvm $RAILS4_SIDEKIQ_VERSIONS --verbose do appraisal rails4-postgres-sidekiq rake test:railssidekiq'
|
267
|
+
sh 'rvm $RAILS4_SIDEKIQ_VERSIONS --verbose do appraisal rails4-postgres-sidekiq rake test:railsactivejob'
|
268
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-mysql2 rake test:rails'
|
269
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres rake test:rails'
|
270
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres-redis rake test:railsredis'
|
271
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres-sidekiq rake test:railssidekiq'
|
272
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres-sidekiq rake test:railsactivejob'
|
273
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres rake test:railsdisableenv'
|
274
|
+
# RSpec
|
275
|
+
sh 'rvm $LAST_STABLE --verbose do rake benchmark'
|
276
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails30-postgres rake spec:rails'
|
277
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails32-mysql2 rake spec:rails'
|
278
|
+
sh 'rvm $RAILS3_VERSIONS --verbose do appraisal rails32-postgres rake spec:rails'
|
279
|
+
sh 'rvm $RAILS4_VERSIONS --verbose do appraisal rails4-mysql2 rake spec:rails'
|
280
|
+
sh 'rvm $RAILS4_VERSIONS --verbose do appraisal rails4-postgres rake spec:rails'
|
281
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-mysql2 rake spec:rails'
|
282
|
+
sh 'rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres rake spec:rails'
|
283
|
+
else
|
284
|
+
puts 'Too many workers than parallel tasks'
|
455
285
|
end
|
456
286
|
end
|
457
287
|
|
data/circle.yml
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
machine:
|
2
|
+
services:
|
3
|
+
- docker
|
4
|
+
ruby:
|
5
|
+
version:
|
6
|
+
2.2.7
|
7
|
+
environment:
|
8
|
+
LAST_STABLE: 2.4.1
|
9
|
+
EARLY_STABLE: 2.2.7
|
10
|
+
MRI_VERSIONS: 2.4.1,2.3.4,2.2.7
|
11
|
+
MRI_OLD_VERSIONS: 2.1.10,2.0.0,1.9.3
|
12
|
+
SIDEKIQ_OLD_VERSIONS: 2.1.10,2.0.0
|
13
|
+
RAILS3_VERSIONS: 2.3.4,2.2.7,2.1.10,2.0.0,1.9.3
|
14
|
+
RAILS4_VERSIONS: 2.3.4,2.2.7,2.1.10
|
15
|
+
RAILS5_VERSIONS: 2.3.4,2.2.7
|
16
|
+
RAILS3_SIDEKIQ_VERSIONS: 2.1.10,2.0.0
|
17
|
+
RAILS4_SIDEKIQ_VERSIONS: 2.3.4,2.2.7
|
18
|
+
JRUBY_VERSIONS: jruby-9.1.13.0
|
19
|
+
AGENT_BUILD_PATH: "/home/ubuntu/agent"
|
20
|
+
TEST_DATADOG_INTEGRATION: 1
|
21
|
+
|
22
|
+
dependencies:
|
23
|
+
cache_directories:
|
24
|
+
# Cache Ruby binaries and gems
|
25
|
+
- "/opt/circleci/.rvm/"
|
26
|
+
- ~/rubies_cache
|
27
|
+
pre:
|
28
|
+
- mkdir -p ~/rubies_cache
|
29
|
+
- rsync -a -v --ignore-existing ~/rubies_cache/ /opt/circleci/.rvm/rubies
|
30
|
+
# we should use an old docker-compose because CircleCI supports
|
31
|
+
# only docker-engine==1.9
|
32
|
+
- pip install docker-compose==1.7.1
|
33
|
+
- docker-compose up -d | cat
|
34
|
+
# installing dev dependencies
|
35
|
+
- |
|
36
|
+
for version in $(echo "$MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS" | tr "," "\n"); do
|
37
|
+
$(rvm list | grep -q $version) || rvm install $version --rubygems 2.6.11
|
38
|
+
done
|
39
|
+
- gem install bundler
|
40
|
+
# remove line below once `msgpack` have a consistent version for jruby
|
41
|
+
- bundle inject msgpack 1.1.0 && sed -i "y/\"/'/" Gemfile
|
42
|
+
- bundle install
|
43
|
+
override:
|
44
|
+
- rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS --verbose do gem install bundler
|
45
|
+
- rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS --verbose do bundle install
|
46
|
+
# [FIXME] appraisal does not work with jruby (problem with native ext, eg sqlite3)
|
47
|
+
- rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS --verbose do bundle exec appraisal install || echo FIX-ME: Ignoring non-zero exit status
|
48
|
+
post:
|
49
|
+
- rsync -a -v --ignore-existing /opt/circleci/.rvm/rubies/ ~/rubies_cache
|
50
|
+
|
51
|
+
test:
|
52
|
+
override:
|
53
|
+
- rvm $EARLY_STABLE --verbose do bundle exec rake rubocop
|
54
|
+
# TODO: integration tests should run with the master branch of the agent
|
55
|
+
- bundle exec rake ci:
|
56
|
+
parallel: true
|
57
|
+
|
58
|
+
deployment:
|
59
|
+
develop:
|
60
|
+
branch: /(master)|(develop)/
|
61
|
+
# CircleCI is configured to provide VERSION_SUFFIX=$CIRCLE_BUILD_NUM
|
62
|
+
commands:
|
63
|
+
- S3_DIR=trace-dev bundle exec rake release:docs
|
64
|
+
- S3_DIR=trace-dev bundle exec rake release:gem
|
65
|
+
- cp -r ./rubygems/* $CIRCLE_ARTIFACTS
|
66
|
+
public:
|
67
|
+
tag: /v[0-9]+(\.[0-9]+)*/
|
68
|
+
commands:
|
69
|
+
- S3_DIR=trace bundle exec rake release:docs
|