ddtrace 0.43.0 → 0.45.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 (67) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +148 -130
  3. data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
  4. data/.github/workflows/add-milestone-to-pull-requests.yml +1 -1
  5. data/.simplecov +4 -1
  6. data/Appraisals +215 -14
  7. data/CHANGELOG.md +1048 -377
  8. data/Gemfile +4 -2
  9. data/README.md +1 -0
  10. data/Rakefile +172 -6
  11. data/ddtrace.gemspec +6 -8
  12. data/docker-compose.yml +30 -0
  13. data/docs/GettingStarted.md +112 -14
  14. data/lib/ddtrace.rb +8 -0
  15. data/lib/ddtrace/auto_instrument.rb +3 -0
  16. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  17. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  18. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  19. data/lib/ddtrace/contrib/action_view/event.rb +0 -4
  20. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  21. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  22. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  23. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  24. data/lib/ddtrace/contrib/active_record/utils.rb +67 -21
  25. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  26. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  27. data/lib/ddtrace/contrib/aws/services.rb +1 -0
  28. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +2 -0
  29. data/lib/ddtrace/contrib/cucumber/integration.rb +5 -0
  30. data/lib/ddtrace/contrib/ethon/easy_patch.rb +6 -5
  31. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  32. data/lib/ddtrace/contrib/extensions.rb +27 -1
  33. data/lib/ddtrace/contrib/grape/endpoint.rb +29 -11
  34. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  35. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  36. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  37. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +152 -0
  38. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  39. data/lib/ddtrace/contrib/httpclient/patcher.rb +35 -0
  40. data/lib/ddtrace/contrib/httprb/instrumentation.rb +1 -1
  41. data/lib/ddtrace/contrib/patchable.rb +18 -7
  42. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  43. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  44. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  45. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  46. data/lib/ddtrace/contrib/qless/qless_job.rb +72 -0
  47. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +32 -0
  48. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  49. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  50. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  51. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  52. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  53. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  54. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +3 -1
  55. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  56. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  57. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  58. data/lib/ddtrace/contrib/redis/quantize.rb +27 -0
  59. data/lib/ddtrace/contrib/redis/tags.rb +5 -1
  60. data/lib/ddtrace/contrib/rspec/integration.rb +5 -0
  61. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +2 -2
  62. data/lib/ddtrace/ext/ci.rb +42 -10
  63. data/lib/ddtrace/ext/git.rb +0 -1
  64. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  65. data/lib/ddtrace/version.rb +1 -1
  66. data/lib/ddtrace/workers/runtime_metrics.rb +7 -3
  67. metadata +91 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 71b7fdfa16924489a0ab33f4d34753fb4df23e38
4
- data.tar.gz: 122e1f6d2f7ba41a82727052a9b5ea36121c4bff
2
+ SHA256:
3
+ metadata.gz: 9d5d1f968ae142a829712c88c018d2a36c50684921cb3e92c4f3f44f098c94a3
4
+ data.tar.gz: 1296fb1dd4b26cc15e6cef392b364abb19192252d6f99167a6fde82418cce557
5
5
  SHA512:
6
- metadata.gz: bbb7693da41ddbdedeaf7a6fbe4cbfd296e12636c39e4e1a81a30ed392e4b6ac57a10ab0654400373e3ff7150207d0fd511b95cd4367d811b2f58ed028d75187
7
- data.tar.gz: e2450e8e4f411dcc36ba5548f1d24160571c801fb6ece09b8801e605149695f3f7a44217f8c05b059b82eb3e64c740cf10a9affb80ae39d2e1bb2b5739b4839f
6
+ metadata.gz: 91c0cea0127c496224ba589eb67cb516c59915a038396fdcf5f70d97ca99a688926b7092f7e0e0ffb7f0690c59876e007da58694ce3a2d9f3cea52fd8b988e7a
7
+ data.tar.gz: f2f6578f4fc3dcca0df0ff12a246303e5fab195cfa4faaa92ffcfc0e6290e2678827ed121dad8cb1a39aae2561fdef678041458649a1d8dc042e7fc4ee97fd43
data/.circleci/config.yml CHANGED
@@ -2,41 +2,77 @@ version: 2.1
2
2
 
3
3
  # Common variables, containers, jobs and steps.
4
4
  job_defaults: &job_defaults
5
+ # TODO: We should move away from using a directory
6
+ # TODO: that requires root permission to be created.
7
+ # TODO: Changing this requires rebuilding all docker images.
5
8
  working_directory: /app
6
9
  shell: /bin/bash --login
7
10
 
8
11
  test_containers:
12
+ - &job_parameters
13
+ parameters:
14
+ ruby_version:
15
+ description: Ruby version
16
+ type: string
17
+ image:
18
+ description: Docker image location
19
+ type: string
20
+ jit:
21
+ description: Jit enabled?
22
+ type: boolean
23
+ default: false
24
+ - &container_base_environment
25
+ BUNDLE_GEMFILE: /app/Gemfile
26
+ - &container_parameters_environment
27
+ - *container_base_environment
28
+ - RUBY_OPT: <<# parameters.jit >>--jit<</ parameters.jit >>
29
+ - TEST_DATADOG_INTEGRATION: 1
30
+ - COVERAGE_BASE_DIR: coverage
9
31
  - &container_base
32
+ image: <<parameters.image>>
10
33
  environment:
11
- - BUNDLE_GEMFILE=/app/Gemfile
34
+ *container_parameters_environment
35
+ - &test_job_default
36
+ <<: *job_defaults
37
+ <<: *job_parameters
38
+ docker:
39
+ - *container_base
12
40
  - &container_postgres
13
41
  image: postgres:9.6
14
42
  environment:
15
43
  - POSTGRES_PASSWORD=postgres
16
44
  - POSTGRES_USER=postgres
17
45
  - POSTGRES_DB=postgres
46
+ - &postgres_port 5432
18
47
  - &container_presto
19
48
  image: prestosql/presto
49
+ - &presto_port 8080
20
50
  - &container_mysql
21
51
  image: mysql:5.6
22
52
  environment:
23
53
  - MYSQL_ROOT_PASSWORD=root
24
54
  - MYSQL_PASSWORD=mysql
25
55
  - MYSQL_USER=mysql
56
+ - &mysql_port 3306
26
57
  - &container_elasticsearch
27
58
  image: elasticsearch:2.4
59
+ - &elasticsearch_port 9200
28
60
  - &container_redis
29
61
  image: redis:3.0
62
+ - &redis_port 6379
30
63
  - &container_mongo
31
64
  image: mongo:3.5
65
+ - &mongo_port 27017
32
66
  - &container_memcached
33
67
  image: memcached:1.5-alpine
68
+ - &memcached_port 11211
34
69
  - &container_agent
35
70
  image: datadog/docker-dd-agent
36
71
  environment:
37
72
  - DD_APM_ENABLED=true
38
73
  - DD_BIND_HOST=0.0.0.0
39
74
  - DD_API_KEY=invalid_key_but_this_is_fine
75
+ - &agent_port 8126
40
76
 
41
77
  step_init_bundle_checksum: &step_init_bundle_checksum
42
78
  run:
@@ -68,7 +104,13 @@ step_compute_bundle_checksum: &step_compute_bundle_checksum
68
104
  step_run_all_tests: &step_run_all_tests
69
105
  run:
70
106
  name: Run tests
71
- command: bundle exec rake ci
107
+ command: |
108
+ echo "
109
+ --format=progress
110
+ --format=RspecJunitFormatter
111
+ --out='/tmp/rspec/-<%= ARGV.join.gsub('/', '-') %>.xml'
112
+ " > .rspec-local # Configure RSpec metadata exporter
113
+ bundle exec rake ci
72
114
  step_release_docs: &step_release_docs
73
115
  run:
74
116
  name: Upload release docs
@@ -88,41 +130,13 @@ filters_only_release_tags: &filters_only_release_tags
88
130
  orbs:
89
131
  orb:
90
132
  jobs:
91
- checkout:
92
- <<: *job_defaults
93
- parameters:
94
- ruby_version:
95
- description: Ruby version
96
- type: string
97
- image:
98
- description: Docker image location
99
- type: string
100
- docker:
101
- - <<: *container_base
102
- image: <<parameters.image>>
103
- steps:
104
- - checkout
105
- - save_cache:
106
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
107
- paths:
108
- - /app
109
133
  build:
110
- <<: *job_defaults
111
- parameters:
112
- ruby_version:
113
- description: Ruby version
114
- type: string
115
- image:
116
- description: Docker image location
117
- type: string
118
- docker:
119
- - <<: *container_base
120
- image: <<parameters.image>>
134
+ <<: *test_job_default
121
135
  steps:
136
+ - checkout
122
137
  - restore_cache:
123
138
  keys:
124
139
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
125
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
126
140
  - restore_cache:
127
141
  keys:
128
142
  - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "Appraisals" }}-{{ checksum "ddtrace.gemspec" }}
@@ -148,21 +162,9 @@ orbs:
148
162
  paths:
149
163
  - /usr/local/bundle
150
164
  test:
151
- <<: *job_defaults
152
- parameters:
153
- ruby_version:
154
- description: Ruby version
155
- type: string
156
- image:
157
- description: Docker image location
158
- type: string
165
+ <<: *test_job_default
159
166
  docker:
160
167
  - <<: *container_base
161
- image: <<parameters.image>>
162
- environment:
163
- - BUNDLE_GEMFILE: /app/Gemfile
164
- - TEST_DATADOG_INTEGRATION: 1
165
- - COVERAGE_BASE_DIR: coverage
166
168
  - *container_postgres
167
169
  - *container_presto
168
170
  - *container_mysql
@@ -184,26 +186,34 @@ orbs:
184
186
  command: |
185
187
  # Create a unique coverage directory for this job, to avoid conflicts when merging all results
186
188
  echo 'export COVERAGE_DIR="$COVERAGE_BASE_DIR/versions/$CIRCLE_JOB/$CIRCLE_NODE_INDEX"' >> $BASH_ENV
189
+ # Wait for containers to start
190
+ - docker-wait:
191
+ port: *postgres_port
192
+ - docker-wait:
193
+ port: *presto_port
194
+ - docker-wait:
195
+ port: *mysql_port
196
+ - docker-wait:
197
+ port: *elasticsearch_port
198
+ - docker-wait:
199
+ port: *redis_port
200
+ - docker-wait:
201
+ port: *mongo_port
202
+ - docker-wait:
203
+ port: *memcached_port
204
+ - docker-wait:
205
+ port: *agent_port
187
206
  - *step_run_all_tests
207
+ - store_test_results:
208
+ path: /tmp/rspec
188
209
  - persist_to_workspace:
189
210
  root: .
190
211
  paths:
191
212
  - coverage
192
213
  benchmark:
193
- <<: *job_defaults
194
- parameters:
195
- ruby_version:
196
- description: Ruby version
197
- type: string
198
- image:
199
- description: Docker image location
200
- type: string
214
+ <<: *test_job_default
201
215
  docker:
202
216
  - <<: *container_base
203
- image: <<parameters.image>>
204
- environment:
205
- - BUNDLE_GEMFILE: /app/Gemfile
206
- - TEST_DATADOG_INTEGRATION: 1
207
217
  - *container_postgres
208
218
  - *container_redis
209
219
  - *container_agent
@@ -221,19 +231,7 @@ orbs:
221
231
  name: Run Benchmark without ddtracer
222
232
  command: rm -f lib/ddtrace.rb && bundle exec appraisal rails5-postgres-sidekiq ruby benchmarks/sidekiq_test.rb 2>&1 1> /dev/null | tee benchmark_results.csv
223
233
  lint:
224
- <<: *job_defaults
225
- parameters:
226
- ruby_version:
227
- description: Ruby version
228
- type: string
229
- image:
230
- description: Docker image location
231
- type: string
232
- docker:
233
- - <<: *container_base
234
- image: <<parameters.image>>
235
- environment:
236
- - BUNDLE_GEMFILE: /app/Gemfile
234
+ <<: *test_job_default
237
235
  steps:
238
236
  - restore_cache:
239
237
  keys:
@@ -243,19 +241,7 @@ orbs:
243
241
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
244
242
  - *step_rubocop
245
243
  coverage:
246
- <<: *job_defaults
247
- parameters:
248
- ruby_version:
249
- description: Ruby version
250
- type: string
251
- image:
252
- description: Docker image location
253
- type: string
254
- docker:
255
- - <<: *container_base
256
- image: <<parameters.image>>
257
- environment:
258
- - BUNDLE_GEMFILE: /app/Gemfile
244
+ <<: *test_job_default
259
245
  steps:
260
246
  - restore_cache:
261
247
  keys:
@@ -265,6 +251,9 @@ orbs:
265
251
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
266
252
  - attach_workspace:
267
253
  at: /tmp/workspace
254
+ - run:
255
+ name: Install codecov
256
+ command: bundle add codecov
268
257
  - run:
269
258
  name: Generate coverage report artifact "coverage/index.html"
270
259
  command: COVERAGE_DIR=/tmp/workspace/coverage bundle exec rake coverage:report
@@ -274,14 +263,49 @@ orbs:
274
263
  - store_artifacts:
275
264
  path: /tmp/workspace/coverage/report/
276
265
  destination: coverage
266
+ changelog:
267
+ <<: *test_job_default
268
+ steps:
269
+ - restore_cache:
270
+ keys:
271
+ - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
272
+ - restore_cache:
273
+ keys:
274
+ - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
275
+ - attach_workspace:
276
+ at: /tmp/workspace
277
+ - run:
278
+ name: Format changelog
279
+ command: bundle exec rake changelog:format
280
+ - run:
281
+ name: Check if changelog was unformatted
282
+ command: |
283
+ if ! git diff-files --quiet; then
284
+ echo "Please run 'bundle exec rake changelog:format' and commit the results."
285
+ fi
277
286
  commands:
287
+ docker-wait:
288
+ description: Wait for containers to listen on a TCP port.
289
+ parameters:
290
+ port:
291
+ description: TCP port the container is listening on.
292
+ type: integer
293
+ timeout:
294
+ description: How long to wait for the port to be responsive.
295
+ type: string
296
+ default: 1m
297
+ steps:
298
+ - run:
299
+ name: Wait for container on port <<parameters.port>>
300
+ command: dockerize -wait 'tcp://localhost:<<parameters.port>>' -timeout '<<parameters.timeout>>'
278
301
  executors:
279
302
 
280
303
  jobs:
281
304
  "deploy release":
282
305
  <<: *job_defaults
283
306
  docker:
284
- - <<: *container_base
307
+ - environment:
308
+ *container_base_environment
285
309
  image: marcotc/docker-library:ddtrace_rb_2_5_6
286
310
  steps:
287
311
  - checkout
@@ -301,7 +325,8 @@ jobs:
301
325
  "deploy prerelease Gem":
302
326
  <<: *job_defaults
303
327
  docker:
304
- - <<: *container_base
328
+ - environment:
329
+ *container_base_environment
305
330
  image: marcotc/docker-library:ddtrace_rb_2_5_6
306
331
  steps:
307
332
  - run:
@@ -367,6 +392,15 @@ job_configuration:
367
392
  <<: *filters_all_branches_and_tags
368
393
  ruby_version: '2.7'
369
394
  image: marcotc/docker-library:ddtrace_rb_2_7_0
395
+ - &config-3_0
396
+ <<: *filters_all_branches_and_tags
397
+ ruby_version: '3.0'
398
+ image: marcotc/docker-library:ddtrace_rb_3.0.0
399
+ - &config-3_0-jit
400
+ <<: *filters_all_branches_and_tags
401
+ ruby_version: '3.0'
402
+ image: marcotc/docker-library:ddtrace_rb_3.0.0
403
+ jit: true
370
404
  # JRuby
371
405
  - &config-jruby-9_2
372
406
  <<: *filters_all_branches_and_tags
@@ -394,55 +428,44 @@ workflows:
394
428
  - test-2.5
395
429
  - test-2.6
396
430
  - test-2.7
431
+ - test-3.0
397
432
  - test-jruby-9.2
433
+ - orb/changelog:
434
+ <<: *config-2_7
435
+ name: changelog
436
+ requires:
437
+ - build-2.7
438
+ filters:
439
+ branches:
440
+ only: /bump_to_version_.*/
398
441
  # MRI
399
- - orb/checkout:
400
- <<: *config-2_0
401
- name: checkout-2.0
402
442
  - orb/build:
403
443
  <<: *config-2_0
404
444
  name: build-2.0
405
- requires:
406
- - checkout-2.0
407
445
  - orb/test:
408
446
  <<: *config-2_0
409
447
  name: test-2.0
410
448
  requires:
411
449
  - build-2.0
412
- - orb/checkout:
413
- <<: *config-2_1
414
- name: checkout-2.1
415
450
  - orb/build:
416
451
  <<: *config-2_1
417
452
  name: build-2.1
418
- requires:
419
- - checkout-2.1
420
453
  - orb/test:
421
454
  <<: *config-2_1
422
455
  name: test-2.1
423
456
  requires:
424
457
  - build-2.1
425
- - orb/checkout:
426
- <<: *config-2_2
427
- name: checkout-2.2
428
458
  - orb/build:
429
459
  <<: *config-2_2
430
460
  name: build-2.2
431
- requires:
432
- - checkout-2.2
433
461
  - orb/test:
434
462
  <<: *config-2_2
435
463
  name: test-2.2
436
464
  requires:
437
465
  - build-2.2
438
- - orb/checkout:
439
- <<: *config-2_3
440
- name: checkout-2.3
441
466
  - orb/build:
442
467
  <<: *config-2_3
443
468
  name: build-2.3
444
- requires:
445
- - checkout-2.3
446
469
  - orb/test:
447
470
  <<: *config-2_3
448
471
  name: test-2.3
@@ -453,67 +476,58 @@ workflows:
453
476
  name: benchmark-2.3
454
477
  requires:
455
478
  - build-2.3
456
- - orb/checkout:
457
- <<: *config-2_4
458
- name: checkout-2.4
459
479
  - orb/build:
460
480
  <<: *config-2_4
461
481
  name: build-2.4
462
- requires:
463
- - checkout-2.4
464
482
  - orb/test:
465
483
  <<: *config-2_4
466
484
  name: test-2.4
467
485
  requires:
468
486
  - build-2.4
469
- - orb/checkout:
470
- <<: *config-2_5
471
- name: checkout-2.5
472
487
  - orb/build:
473
488
  <<: *config-2_5
474
489
  name: build-2.5
475
- requires:
476
- - checkout-2.5
477
490
  - orb/test:
478
491
  <<: *config-2_5
479
492
  name: test-2.5
480
493
  requires:
481
494
  - build-2.5
482
- - orb/checkout:
483
- <<: *config-2_6
484
- name: checkout-2.6
485
495
  - orb/build:
486
496
  <<: *config-2_6
487
497
  name: build-2.6
488
- requires:
489
- - checkout-2.6
490
498
  - orb/test:
491
499
  <<: *config-2_6
492
500
  name: test-2.6
493
501
  requires:
494
502
  - build-2.6
495
- - orb/checkout:
496
- <<: *config-2_7
497
- name: checkout-2.7
498
503
  - orb/build:
499
504
  <<: *config-2_7
500
505
  name: build-2.7
501
- requires:
502
- - checkout-2.7
503
506
  - orb/test:
504
507
  <<: *config-2_7
505
508
  name: test-2.7
506
509
  requires:
507
510
  - build-2.7
511
+ - orb/build:
512
+ <<: *config-3_0
513
+ name: build-3.0
514
+ - orb/test:
515
+ <<: *config-3_0
516
+ name: test-3.0
517
+ requires:
518
+ - build-3.0
519
+ - orb/build:
520
+ <<: *config-3_0-jit
521
+ name: build-3.0-jit
522
+ - orb/test:
523
+ <<: *config-3_0-jit
524
+ name: test-3.0-jit
525
+ requires:
526
+ - build-3.0-jit
508
527
  # JRuby
509
- - orb/checkout:
510
- <<: *config-jruby-9_2
511
- name: checkout-jruby-9.2
512
528
  - orb/build:
513
529
  <<: *config-jruby-9_2
514
530
  name: build-jruby-9.2
515
- requires:
516
- - checkout-jruby-9.2
517
531
  - orb/test:
518
532
  <<: *config-jruby-9_2
519
533
  name: test-jruby-9.2
@@ -532,6 +546,8 @@ workflows:
532
546
  - test-2.5
533
547
  - test-2.6
534
548
  - test-2.7
549
+ - test-3.0
550
+ - test-3.0-jit
535
551
  - test-jruby-9.2
536
552
  - "deploy release":
537
553
  <<: *filters_only_release_tags
@@ -545,4 +561,6 @@ workflows:
545
561
  - test-2.5
546
562
  - test-2.6
547
563
  - test-2.7
564
+ - test-3.0
565
+ - test-3.0-jit
548
566
  - test-jruby-9.2