ddtrace 0.39.0 → 0.44.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +142 -115
- data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
- data/.github/workflows/add-milestone-to-pull-requests.yml +42 -0
- data/.github/workflows/create-next-milestone.yml +20 -0
- data/.gitlab-ci.yml +1 -0
- data/.simplecov +41 -0
- data/Appraisals +476 -120
- data/CHANGELOG.md +1115 -325
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +4 -2
- data/Rakefile +665 -477
- data/ddtrace.gemspec +8 -8
- data/docker-compose.yml +30 -0
- data/docs/DevelopmentGuide.md +28 -2
- data/docs/GettingStarted.md +170 -41
- data/lib/ddtrace.rb +4 -0
- data/lib/ddtrace/buffer.rb +259 -52
- data/lib/ddtrace/configuration.rb +55 -5
- data/lib/ddtrace/configuration/components.rb +4 -7
- data/lib/ddtrace/configuration/options.rb +3 -1
- data/lib/ddtrace/configuration/settings.rb +9 -3
- data/lib/ddtrace/context.rb +18 -0
- data/lib/ddtrace/context_provider.rb +17 -5
- data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +0 -7
- data/lib/ddtrace/contrib/action_view/event.rb +0 -4
- data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
- data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
- data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
- data/lib/ddtrace/contrib/active_record/utils.rb +11 -1
- data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +104 -3
- data/lib/ddtrace/contrib/active_support/cache/patcher.rb +21 -0
- data/lib/ddtrace/contrib/active_support/ext.rb +3 -0
- data/lib/ddtrace/contrib/active_support/notifications/event.rb +10 -0
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +2 -2
- data/lib/ddtrace/contrib/aws/instrumentation.rb +6 -1
- data/lib/ddtrace/contrib/aws/patcher.rb +0 -1
- data/lib/ddtrace/contrib/aws/services.rb +1 -0
- data/lib/ddtrace/contrib/configurable.rb +2 -0
- data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +6 -5
- data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +38 -0
- data/lib/ddtrace/contrib/cucumber/ext.rb +19 -0
- data/lib/ddtrace/contrib/cucumber/formatter.rb +104 -0
- data/lib/ddtrace/contrib/cucumber/instrumentation.rb +24 -0
- data/lib/ddtrace/contrib/cucumber/integration.rb +40 -0
- data/lib/ddtrace/contrib/cucumber/patcher.rb +23 -0
- data/lib/ddtrace/contrib/dalli/instrumentation.rb +4 -0
- data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +2 -0
- data/lib/ddtrace/contrib/delayed_job/ext.rb +2 -0
- data/lib/ddtrace/contrib/delayed_job/plugin.rb +39 -15
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +4 -0
- data/lib/ddtrace/contrib/ethon/easy_patch.rb +5 -3
- data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
- data/lib/ddtrace/contrib/ethon/multi_patch.rb +4 -0
- data/lib/ddtrace/contrib/excon/middleware.rb +11 -1
- data/lib/ddtrace/contrib/faraday/middleware.rb +4 -0
- data/lib/ddtrace/contrib/faraday/patcher.rb +1 -1
- data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -0
- data/lib/ddtrace/contrib/grape/endpoint.rb +53 -18
- data/lib/ddtrace/contrib/grape/ext.rb +1 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +5 -1
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -0
- data/lib/ddtrace/contrib/http/instrumentation.rb +6 -2
- data/lib/ddtrace/contrib/httprb/instrumentation.rb +6 -3
- data/lib/ddtrace/contrib/kafka/event.rb +1 -1
- data/lib/ddtrace/contrib/mongodb/subscribers.rb +4 -0
- data/lib/ddtrace/contrib/mysql2/instrumentation.rb +4 -0
- data/lib/ddtrace/contrib/presto/instrumentation.rb +3 -0
- data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
- data/lib/ddtrace/contrib/qless/ext.rb +20 -0
- data/lib/ddtrace/contrib/qless/integration.rb +38 -0
- data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
- data/lib/ddtrace/contrib/qless/qless_job.rb +72 -0
- data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +32 -0
- data/lib/ddtrace/contrib/que/configuration/settings.rb +43 -0
- data/lib/ddtrace/contrib/que/ext.rb +30 -0
- data/lib/ddtrace/contrib/que/integration.rb +42 -0
- data/lib/ddtrace/contrib/que/patcher.rb +24 -0
- data/lib/ddtrace/contrib/que/tracer.rb +57 -0
- data/lib/ddtrace/contrib/racecar/event.rb +4 -0
- data/lib/ddtrace/contrib/racecar/events.rb +2 -0
- data/lib/ddtrace/contrib/racecar/events/consume.rb +27 -0
- data/lib/ddtrace/contrib/racecar/ext.rb +1 -0
- data/lib/ddtrace/contrib/rack/middlewares.rb +2 -0
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +5 -0
- data/lib/ddtrace/contrib/rails/ext.rb +1 -0
- data/lib/ddtrace/contrib/rails/log_injection.rb +81 -0
- data/lib/ddtrace/contrib/rails/middlewares.rb +7 -2
- data/lib/ddtrace/contrib/rails/patcher.rb +29 -0
- data/lib/ddtrace/contrib/redis/configuration/resolver.rb +3 -1
- data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
- data/lib/ddtrace/contrib/redis/ext.rb +1 -0
- data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
- data/lib/ddtrace/contrib/redis/quantize.rb +27 -0
- data/lib/ddtrace/contrib/redis/tags.rb +9 -1
- data/lib/ddtrace/contrib/resque/configuration/settings.rb +1 -0
- data/lib/ddtrace/contrib/resque/integration.rb +1 -1
- data/lib/ddtrace/contrib/resque/resque_job.rb +1 -1
- data/lib/ddtrace/contrib/rest_client/request_patch.rb +4 -0
- data/lib/ddtrace/contrib/rspec/configuration/settings.rb +38 -0
- data/lib/ddtrace/contrib/rspec/example.rb +61 -0
- data/lib/ddtrace/contrib/rspec/example_group.rb +61 -0
- data/lib/ddtrace/contrib/rspec/ext.rb +19 -0
- data/lib/ddtrace/contrib/rspec/integration.rb +41 -0
- data/lib/ddtrace/contrib/rspec/patcher.rb +25 -0
- data/lib/ddtrace/contrib/sequel/database.rb +3 -1
- data/lib/ddtrace/contrib/sequel/dataset.rb +3 -2
- data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
- data/lib/ddtrace/contrib/sequel/utils.rb +16 -5
- data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +1 -0
- data/lib/ddtrace/contrib/shoryuken/tracer.rb +4 -1
- data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
- data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +4 -1
- data/lib/ddtrace/contrib/sinatra/env.rb +5 -4
- data/lib/ddtrace/contrib/sinatra/tracer.rb +21 -42
- data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +50 -23
- data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
- data/lib/ddtrace/contrib/sneakers/tracer.rb +17 -20
- data/lib/ddtrace/contrib/status_code_matcher.rb +67 -0
- data/lib/ddtrace/ext/app_types.rb +1 -0
- data/lib/ddtrace/ext/ci.rb +264 -0
- data/lib/ddtrace/ext/distributed.rb +8 -2
- data/lib/ddtrace/ext/git.rb +12 -0
- data/lib/ddtrace/ext/integration.rb +8 -0
- data/lib/ddtrace/ext/runtime.rb +2 -0
- data/lib/ddtrace/ext/test.rb +24 -0
- data/lib/ddtrace/opentracer/distributed_headers.rb +1 -1
- data/lib/ddtrace/propagation/grpc_propagator.rb +18 -6
- data/lib/ddtrace/runtime/identity.rb +4 -5
- data/lib/ddtrace/runtime/metrics.rb +6 -2
- data/lib/ddtrace/sampler.rb +2 -2
- data/lib/ddtrace/sampling/rate_limiter.rb +65 -16
- data/lib/ddtrace/span.rb +152 -27
- data/lib/ddtrace/tracer.rb +25 -13
- data/lib/ddtrace/transport/http/adapters/net.rb +8 -2
- data/lib/ddtrace/transport/http/statistics.rb +14 -1
- data/lib/ddtrace/transport/traces.rb +7 -2
- data/lib/ddtrace/utils.rb +16 -13
- data/lib/ddtrace/utils/forking.rb +52 -0
- data/lib/ddtrace/version.rb +1 -1
- data/lib/ddtrace/workers/async.rb +2 -2
- data/lib/ddtrace/workers/loop.rb +1 -1
- data/lib/ddtrace/workers/polling.rb +1 -1
- data/lib/ddtrace/workers/runtime_metrics.rb +7 -3
- data/lib/ddtrace/writer.rb +19 -1
- metadata +147 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9bab61fb7855f2281cbaa808536cc7f7f6fe857657c49f91b532e6780c05187f
|
4
|
+
data.tar.gz: 463065e1f917522e19b2ace842cf117bfaf747b2e41e2bae405073080cf6f077
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 688c0fb395d61cb53609eb872f32eba8337c810d7d83d4751822e31487a34cf5322284f025b512bc3e7251369406b77467754aecf327403dcf0128fcfebbdfc6
|
7
|
+
data.tar.gz: a484ea8f729a3736209c8182ea729e7e2f9475eff4742d366f1824b8d50bf78ebd92d0eb4afbf0c6fc01e2bedcb0e553d11c246e2cbcfd299d64819e64902d99
|
data/.circleci/config.yml
CHANGED
@@ -2,13 +2,41 @@ 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
|
-
|
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:
|
@@ -88,41 +116,13 @@ filters_only_release_tags: &filters_only_release_tags
|
|
88
116
|
orbs:
|
89
117
|
orb:
|
90
118
|
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
119
|
build:
|
110
|
-
<<: *
|
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>>
|
120
|
+
<<: *test_job_default
|
121
121
|
steps:
|
122
|
+
- checkout
|
122
123
|
- restore_cache:
|
123
124
|
keys:
|
124
125
|
- '{{ .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
126
|
- restore_cache:
|
127
127
|
keys:
|
128
128
|
- bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "Appraisals" }}-{{ checksum "ddtrace.gemspec" }}
|
@@ -148,20 +148,9 @@ orbs:
|
|
148
148
|
paths:
|
149
149
|
- /usr/local/bundle
|
150
150
|
test:
|
151
|
-
<<: *
|
152
|
-
parameters:
|
153
|
-
ruby_version:
|
154
|
-
description: Ruby version
|
155
|
-
type: string
|
156
|
-
image:
|
157
|
-
description: Docker image location
|
158
|
-
type: string
|
151
|
+
<<: *test_job_default
|
159
152
|
docker:
|
160
153
|
- <<: *container_base
|
161
|
-
image: <<parameters.image>>
|
162
|
-
environment:
|
163
|
-
- BUNDLE_GEMFILE: /app/Gemfile
|
164
|
-
- TEST_DATADOG_INTEGRATION: 1
|
165
154
|
- *container_postgres
|
166
155
|
- *container_presto
|
167
156
|
- *container_mysql
|
@@ -170,6 +159,7 @@ orbs:
|
|
170
159
|
- *container_mongo
|
171
160
|
- *container_memcached
|
172
161
|
- *container_agent
|
162
|
+
parallelism: 22
|
173
163
|
steps:
|
174
164
|
- restore_cache:
|
175
165
|
keys:
|
@@ -177,22 +167,20 @@ orbs:
|
|
177
167
|
- restore_cache:
|
178
168
|
keys:
|
179
169
|
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
|
170
|
+
- run:
|
171
|
+
name: Set coverage report directory
|
172
|
+
command: |
|
173
|
+
# Create a unique coverage directory for this job, to avoid conflicts when merging all results
|
174
|
+
echo 'export COVERAGE_DIR="$COVERAGE_BASE_DIR/versions/$CIRCLE_JOB/$CIRCLE_NODE_INDEX"' >> $BASH_ENV
|
180
175
|
- *step_run_all_tests
|
176
|
+
- persist_to_workspace:
|
177
|
+
root: .
|
178
|
+
paths:
|
179
|
+
- coverage
|
181
180
|
benchmark:
|
182
|
-
<<: *
|
183
|
-
parameters:
|
184
|
-
ruby_version:
|
185
|
-
description: Ruby version
|
186
|
-
type: string
|
187
|
-
image:
|
188
|
-
description: Docker image location
|
189
|
-
type: string
|
181
|
+
<<: *test_job_default
|
190
182
|
docker:
|
191
183
|
- <<: *container_base
|
192
|
-
image: <<parameters.image>>
|
193
|
-
environment:
|
194
|
-
- BUNDLE_GEMFILE: /app/Gemfile
|
195
|
-
- TEST_DATADOG_INTEGRATION: 1
|
196
184
|
- *container_postgres
|
197
185
|
- *container_redis
|
198
186
|
- *container_agent
|
@@ -210,19 +198,7 @@ orbs:
|
|
210
198
|
name: Run Benchmark without ddtracer
|
211
199
|
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
|
212
200
|
lint:
|
213
|
-
<<: *
|
214
|
-
parameters:
|
215
|
-
ruby_version:
|
216
|
-
description: Ruby version
|
217
|
-
type: string
|
218
|
-
image:
|
219
|
-
description: Docker image location
|
220
|
-
type: string
|
221
|
-
docker:
|
222
|
-
- <<: *container_base
|
223
|
-
image: <<parameters.image>>
|
224
|
-
environment:
|
225
|
-
- BUNDLE_GEMFILE: /app/Gemfile
|
201
|
+
<<: *test_job_default
|
226
202
|
steps:
|
227
203
|
- restore_cache:
|
228
204
|
keys:
|
@@ -231,6 +207,49 @@ orbs:
|
|
231
207
|
keys:
|
232
208
|
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
|
233
209
|
- *step_rubocop
|
210
|
+
coverage:
|
211
|
+
<<: *test_job_default
|
212
|
+
steps:
|
213
|
+
- restore_cache:
|
214
|
+
keys:
|
215
|
+
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
|
216
|
+
- restore_cache:
|
217
|
+
keys:
|
218
|
+
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
|
219
|
+
- attach_workspace:
|
220
|
+
at: /tmp/workspace
|
221
|
+
- run:
|
222
|
+
name: Install codecov
|
223
|
+
command: bundle add codecov
|
224
|
+
- run:
|
225
|
+
name: Generate coverage report artifact "coverage/index.html"
|
226
|
+
command: COVERAGE_DIR=/tmp/workspace/coverage bundle exec rake coverage:report
|
227
|
+
- run:
|
228
|
+
name: Generate coverage report artifact "coverage/versions/*/index.html"
|
229
|
+
command: COVERAGE_DIR=/tmp/workspace/coverage bundle exec rake coverage:report_per_ruby_version
|
230
|
+
- store_artifacts:
|
231
|
+
path: /tmp/workspace/coverage/report/
|
232
|
+
destination: coverage
|
233
|
+
changelog:
|
234
|
+
<<: *test_job_default
|
235
|
+
steps:
|
236
|
+
- restore_cache:
|
237
|
+
keys:
|
238
|
+
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
|
239
|
+
- restore_cache:
|
240
|
+
keys:
|
241
|
+
- '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
|
242
|
+
- attach_workspace:
|
243
|
+
at: /tmp/workspace
|
244
|
+
- run:
|
245
|
+
name: Format changelog
|
246
|
+
command: bundle exec rake changelog:format
|
247
|
+
- run:
|
248
|
+
name: Check if changelog was unformatted
|
249
|
+
command: |
|
250
|
+
if ! git diff-files --quiet; then
|
251
|
+
echo "Please run 'bundle exec rake changelog:format' and commit the results."
|
252
|
+
fi
|
234
253
|
commands:
|
235
254
|
executors:
|
236
255
|
|
@@ -238,7 +257,8 @@ jobs:
|
|
238
257
|
"deploy release":
|
239
258
|
<<: *job_defaults
|
240
259
|
docker:
|
241
|
-
-
|
260
|
+
- environment:
|
261
|
+
*container_base_environment
|
242
262
|
image: marcotc/docker-library:ddtrace_rb_2_5_6
|
243
263
|
steps:
|
244
264
|
- checkout
|
@@ -258,7 +278,8 @@ jobs:
|
|
258
278
|
"deploy prerelease Gem":
|
259
279
|
<<: *job_defaults
|
260
280
|
docker:
|
261
|
-
-
|
281
|
+
- environment:
|
282
|
+
*container_base_environment
|
262
283
|
image: marcotc/docker-library:ddtrace_rb_2_5_6
|
263
284
|
steps:
|
264
285
|
- run:
|
@@ -324,6 +345,15 @@ job_configuration:
|
|
324
345
|
<<: *filters_all_branches_and_tags
|
325
346
|
ruby_version: '2.7'
|
326
347
|
image: marcotc/docker-library:ddtrace_rb_2_7_0
|
348
|
+
- &config-3_0
|
349
|
+
<<: *filters_all_branches_and_tags
|
350
|
+
ruby_version: '3.0'
|
351
|
+
image: marcotc/docker-library:ddtrace_rb_3.0.0
|
352
|
+
- &config-3_0-jit
|
353
|
+
<<: *filters_all_branches_and_tags
|
354
|
+
ruby_version: '3.0'
|
355
|
+
image: marcotc/docker-library:ddtrace_rb_3.0.0
|
356
|
+
jit: true
|
327
357
|
# JRuby
|
328
358
|
- &config-jruby-9_2
|
329
359
|
<<: *filters_all_branches_and_tags
|
@@ -339,54 +369,56 @@ workflows:
|
|
339
369
|
name: lint
|
340
370
|
requires:
|
341
371
|
- build-2.6
|
372
|
+
- orb/coverage:
|
373
|
+
<<: *config-2_7
|
374
|
+
name: coverage
|
375
|
+
requires:
|
376
|
+
- test-2.0
|
377
|
+
- test-2.1
|
378
|
+
- test-2.2
|
379
|
+
- test-2.3
|
380
|
+
- test-2.4
|
381
|
+
- test-2.5
|
382
|
+
- test-2.6
|
383
|
+
- test-2.7
|
384
|
+
- test-3.0
|
385
|
+
- test-jruby-9.2
|
386
|
+
- orb/changelog:
|
387
|
+
<<: *config-2_7
|
388
|
+
name: changelog
|
389
|
+
requires:
|
390
|
+
- build-2.7
|
391
|
+
filters:
|
392
|
+
branches:
|
393
|
+
only: /bump_to_version_.*/
|
342
394
|
# MRI
|
343
|
-
- orb/checkout:
|
344
|
-
<<: *config-2_0
|
345
|
-
name: checkout-2.0
|
346
395
|
- orb/build:
|
347
396
|
<<: *config-2_0
|
348
397
|
name: build-2.0
|
349
|
-
requires:
|
350
|
-
- checkout-2.0
|
351
398
|
- orb/test:
|
352
399
|
<<: *config-2_0
|
353
400
|
name: test-2.0
|
354
401
|
requires:
|
355
402
|
- build-2.0
|
356
|
-
- orb/checkout:
|
357
|
-
<<: *config-2_1
|
358
|
-
name: checkout-2.1
|
359
403
|
- orb/build:
|
360
404
|
<<: *config-2_1
|
361
405
|
name: build-2.1
|
362
|
-
requires:
|
363
|
-
- checkout-2.1
|
364
406
|
- orb/test:
|
365
407
|
<<: *config-2_1
|
366
408
|
name: test-2.1
|
367
409
|
requires:
|
368
410
|
- build-2.1
|
369
|
-
- orb/checkout:
|
370
|
-
<<: *config-2_2
|
371
|
-
name: checkout-2.2
|
372
411
|
- orb/build:
|
373
412
|
<<: *config-2_2
|
374
413
|
name: build-2.2
|
375
|
-
requires:
|
376
|
-
- checkout-2.2
|
377
414
|
- orb/test:
|
378
415
|
<<: *config-2_2
|
379
416
|
name: test-2.2
|
380
417
|
requires:
|
381
418
|
- build-2.2
|
382
|
-
- orb/checkout:
|
383
|
-
<<: *config-2_3
|
384
|
-
name: checkout-2.3
|
385
419
|
- orb/build:
|
386
420
|
<<: *config-2_3
|
387
421
|
name: build-2.3
|
388
|
-
requires:
|
389
|
-
- checkout-2.3
|
390
422
|
- orb/test:
|
391
423
|
<<: *config-2_3
|
392
424
|
name: test-2.3
|
@@ -397,67 +429,58 @@ workflows:
|
|
397
429
|
name: benchmark-2.3
|
398
430
|
requires:
|
399
431
|
- build-2.3
|
400
|
-
- orb/checkout:
|
401
|
-
<<: *config-2_4
|
402
|
-
name: checkout-2.4
|
403
432
|
- orb/build:
|
404
433
|
<<: *config-2_4
|
405
434
|
name: build-2.4
|
406
|
-
requires:
|
407
|
-
- checkout-2.4
|
408
435
|
- orb/test:
|
409
436
|
<<: *config-2_4
|
410
437
|
name: test-2.4
|
411
438
|
requires:
|
412
439
|
- build-2.4
|
413
|
-
- orb/checkout:
|
414
|
-
<<: *config-2_5
|
415
|
-
name: checkout-2.5
|
416
440
|
- orb/build:
|
417
441
|
<<: *config-2_5
|
418
442
|
name: build-2.5
|
419
|
-
requires:
|
420
|
-
- checkout-2.5
|
421
443
|
- orb/test:
|
422
444
|
<<: *config-2_5
|
423
445
|
name: test-2.5
|
424
446
|
requires:
|
425
447
|
- build-2.5
|
426
|
-
- orb/checkout:
|
427
|
-
<<: *config-2_6
|
428
|
-
name: checkout-2.6
|
429
448
|
- orb/build:
|
430
449
|
<<: *config-2_6
|
431
450
|
name: build-2.6
|
432
|
-
requires:
|
433
|
-
- checkout-2.6
|
434
451
|
- orb/test:
|
435
452
|
<<: *config-2_6
|
436
453
|
name: test-2.6
|
437
454
|
requires:
|
438
455
|
- build-2.6
|
439
|
-
- orb/checkout:
|
440
|
-
<<: *config-2_7
|
441
|
-
name: checkout-2.7
|
442
456
|
- orb/build:
|
443
457
|
<<: *config-2_7
|
444
458
|
name: build-2.7
|
445
|
-
requires:
|
446
|
-
- checkout-2.7
|
447
459
|
- orb/test:
|
448
460
|
<<: *config-2_7
|
449
461
|
name: test-2.7
|
450
462
|
requires:
|
451
463
|
- build-2.7
|
464
|
+
- orb/build:
|
465
|
+
<<: *config-3_0
|
466
|
+
name: build-3.0
|
467
|
+
- orb/test:
|
468
|
+
<<: *config-3_0
|
469
|
+
name: test-3.0
|
470
|
+
requires:
|
471
|
+
- build-3.0
|
472
|
+
- orb/build:
|
473
|
+
<<: *config-3_0-jit
|
474
|
+
name: build-3.0-jit
|
475
|
+
- orb/test:
|
476
|
+
<<: *config-3_0-jit
|
477
|
+
name: test-3.0-jit
|
478
|
+
requires:
|
479
|
+
- build-3.0-jit
|
452
480
|
# JRuby
|
453
|
-
- orb/checkout:
|
454
|
-
<<: *config-jruby-9_2
|
455
|
-
name: checkout-jruby-9.2
|
456
481
|
- orb/build:
|
457
482
|
<<: *config-jruby-9_2
|
458
483
|
name: build-jruby-9.2
|
459
|
-
requires:
|
460
|
-
- checkout-jruby-9.2
|
461
484
|
- orb/test:
|
462
485
|
<<: *config-jruby-9_2
|
463
486
|
name: test-jruby-9.2
|
@@ -476,6 +499,8 @@ workflows:
|
|
476
499
|
- test-2.5
|
477
500
|
- test-2.6
|
478
501
|
- test-2.7
|
502
|
+
- test-3.0
|
503
|
+
- test-3.0-jit
|
479
504
|
- test-jruby-9.2
|
480
505
|
- "deploy release":
|
481
506
|
<<: *filters_only_release_tags
|
@@ -489,4 +514,6 @@ workflows:
|
|
489
514
|
- test-2.5
|
490
515
|
- test-2.6
|
491
516
|
- test-2.7
|
517
|
+
- test-3.0
|
518
|
+
- test-3.0-jit
|
492
519
|
- test-jruby-9.2
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# https://hub.docker.com/layers/ruby/library/ruby/3.0.0/images/sha256-9719b7df964602b114a5e9319bd0a3ce2d4d44ccb7ea4d1702fa1ef9742a8f84
|
2
|
+
FROM ruby@sha256:9719b7df964602b114a5e9319bd0a3ce2d4d44ccb7ea4d1702fa1ef9742a8f84
|
3
|
+
|
4
|
+
# Make apt non-interactive
|
5
|
+
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
+
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
+
|
8
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
+
|
10
|
+
# Install required packages
|
11
|
+
RUN set -ex; \
|
12
|
+
apt-get update; \
|
13
|
+
mkdir -p /usr/share/man/man1; \
|
14
|
+
apt-get install -y --no-install-recommends \
|
15
|
+
git mercurial xvfb \
|
16
|
+
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
+
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
+
tzdata rsync vim; \
|
19
|
+
rm -rf /var/lib/apt/lists/*;
|
20
|
+
|
21
|
+
# Set timezone to UTC by default
|
22
|
+
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
+
|
24
|
+
# Set language
|
25
|
+
RUN locale-gen en_US.UTF-8
|
26
|
+
ENV LANG en_US.UTF-8
|
27
|
+
ENV LANGUAGE en_US:en
|
28
|
+
|
29
|
+
# Install jq
|
30
|
+
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
+
&& chmod +x /usr/bin/jq \
|
33
|
+
&& jq --version
|
34
|
+
|
35
|
+
# Install Docker
|
36
|
+
RUN set -ex \
|
37
|
+
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
+
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
+
&& echo Docker URL: $DOCKER_URL \
|
40
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
+
&& ls -lha /tmp/docker.tgz \
|
42
|
+
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
+
&& mv /tmp/docker/* /usr/bin \
|
44
|
+
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
+
&& which docker \
|
46
|
+
&& (docker version || true)
|
47
|
+
|
48
|
+
# Install Docker Compose
|
49
|
+
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
+
&& chmod +x /usr/bin/docker-compose \
|
52
|
+
&& docker-compose version
|
53
|
+
|
54
|
+
# Install Dockerize
|
55
|
+
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
+
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
+
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
+
&& dockerize --version
|
60
|
+
|
61
|
+
# Install RubyGems
|
62
|
+
RUN gem update --system
|
63
|
+
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
64
|
+
|
65
|
+
# Upgrade RubyGems and Bundler
|
66
|
+
RUN gem update --system
|
67
|
+
RUN gem install bundler
|
68
|
+
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
69
|
+
|
70
|
+
RUN mkdir /app
|
71
|
+
WORKDIR /app
|
72
|
+
|
73
|
+
CMD ["/bin/sh"]
|