ddtrace 0.43.0 → 0.48.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.
- checksums.yaml +5 -5
- data/.circleci/config.yml +278 -139
- data/.circleci/images/primary/Dockerfile-2.0.0 +11 -1
- data/.circleci/images/primary/Dockerfile-2.1.10 +11 -1
- data/.circleci/images/primary/Dockerfile-2.2.10 +11 -1
- data/.circleci/images/primary/Dockerfile-2.3.8 +10 -0
- data/.circleci/images/primary/Dockerfile-2.4.6 +10 -0
- data/.circleci/images/primary/Dockerfile-2.5.6 +10 -0
- data/.circleci/images/primary/Dockerfile-2.6.4 +10 -0
- data/.circleci/images/primary/Dockerfile-2.7.0 +10 -0
- data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
- data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +88 -0
- data/.circleci/images/primary/{Dockerfile-jruby-9.2 → Dockerfile-jruby-9.2.0.0} +1 -5
- data/.circleci/images/primary/Dockerfile-truffleruby-21.0.0 +73 -0
- data/.github/workflows/add-milestone-to-pull-requests.yml +1 -1
- data/.github/workflows/create-next-milestone.yml +2 -2
- data/.gitlab-ci.yml +18 -18
- data/.rubocop.yml +269 -7
- data/.rubocop_todo.yml +438 -0
- data/.simplecov +10 -1
- data/Appraisals +285 -15
- data/CHANGELOG.md +1243 -377
- data/Gemfile +65 -3
- data/LICENSE-3rdparty.csv +2 -0
- data/README.md +1 -0
- data/Rakefile +186 -29
- data/bin/ddtracerb +15 -0
- data/ddtrace.gemspec +7 -37
- data/docker-compose.yml +105 -7
- data/docs/DevelopmentGuide.md +28 -0
- data/docs/GettingStarted.md +208 -75
- data/docs/ProfilingDevelopment.md +88 -0
- data/integration/README.md +67 -0
- data/integration/apps/rack/.dockerignore +1 -0
- data/integration/apps/rack/.envrc.sample +1 -0
- data/integration/apps/rack/.gitignore +4 -0
- data/integration/apps/rack/.rspec +1 -0
- data/integration/apps/rack/Dockerfile +28 -0
- data/integration/apps/rack/Dockerfile-ci +11 -0
- data/integration/apps/rack/Gemfile +24 -0
- data/integration/apps/rack/README.md +93 -0
- data/integration/apps/rack/app/acme.rb +80 -0
- data/integration/apps/rack/app/datadog.rb +17 -0
- data/integration/apps/rack/bin/run +22 -0
- data/integration/apps/rack/bin/setup +17 -0
- data/integration/apps/rack/bin/test +24 -0
- data/integration/apps/rack/config.ru +6 -0
- data/integration/apps/rack/config/puma.rb +14 -0
- data/integration/apps/rack/config/unicorn.rb +23 -0
- data/integration/apps/rack/docker-compose.ci.yml +62 -0
- data/integration/apps/rack/docker-compose.yml +78 -0
- data/integration/apps/rack/script/build-images +38 -0
- data/integration/apps/rack/script/ci +50 -0
- data/integration/apps/rack/spec/integration/basic_spec.rb +10 -0
- data/integration/apps/rack/spec/spec_helper.rb +16 -0
- data/integration/apps/rack/spec/support/integration_helper.rb +22 -0
- data/integration/apps/rails-five/.dockerignore +1 -0
- data/integration/apps/rails-five/.env +3 -0
- data/integration/apps/rails-five/.envrc.sample +1 -0
- data/integration/apps/rails-five/.gitignore +30 -0
- data/integration/apps/rails-five/Dockerfile +25 -0
- data/integration/apps/rails-five/Dockerfile-ci +11 -0
- data/integration/apps/rails-five/Gemfile +104 -0
- data/integration/apps/rails-five/README.md +94 -0
- data/integration/apps/rails-five/Rakefile +6 -0
- data/integration/apps/rails-five/app/channels/application_cable/channel.rb +4 -0
- data/integration/apps/rails-five/app/channels/application_cable/connection.rb +4 -0
- data/integration/apps/rails-five/app/controllers/application_controller.rb +2 -0
- data/integration/apps/rails-five/app/controllers/basic_controller.rb +36 -0
- data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
- data/integration/apps/rails-five/app/controllers/health_controller.rb +9 -0
- data/integration/apps/rails-five/app/controllers/jobs_controller.rb +12 -0
- data/integration/apps/rails-five/app/jobs/application_job.rb +2 -0
- data/integration/apps/rails-five/app/jobs/test_job.rb +12 -0
- data/integration/apps/rails-five/app/mailers/application_mailer.rb +4 -0
- data/integration/apps/rails-five/app/models/application_record.rb +3 -0
- data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
- data/integration/apps/rails-five/app/models/test.rb +2 -0
- data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +13 -0
- data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +1 -0
- data/integration/apps/rails-five/bin/bundle +3 -0
- data/integration/apps/rails-five/bin/rails +9 -0
- data/integration/apps/rails-five/bin/rake +9 -0
- data/integration/apps/rails-five/bin/run +24 -0
- data/integration/apps/rails-five/bin/setup +27 -0
- data/integration/apps/rails-five/bin/spring +17 -0
- data/integration/apps/rails-five/bin/test +21 -0
- data/integration/apps/rails-five/bin/update +28 -0
- data/integration/apps/rails-five/config.ru +5 -0
- data/integration/apps/rails-five/config/application.rb +97 -0
- data/integration/apps/rails-five/config/boot.rb +4 -0
- data/integration/apps/rails-five/config/cable.yml +10 -0
- data/integration/apps/rails-five/config/credentials.yml.enc +1 -0
- data/integration/apps/rails-five/config/database.yml +28 -0
- data/integration/apps/rails-five/config/environment.rb +5 -0
- data/integration/apps/rails-five/config/environments/development.rb +51 -0
- data/integration/apps/rails-five/config/environments/production.rb +82 -0
- data/integration/apps/rails-five/config/environments/test.rb +43 -0
- data/integration/apps/rails-five/config/initializers/datadog.rb +18 -0
- data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +4 -0
- data/integration/apps/rails-five/config/initializers/resque.rb +4 -0
- data/integration/apps/rails-five/config/initializers/rollbar.rb +5 -0
- data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +14 -0
- data/integration/apps/rails-five/config/locales/en.yml +33 -0
- data/integration/apps/rails-five/config/puma.rb +24 -0
- data/integration/apps/rails-five/config/routes.rb +11 -0
- data/integration/apps/rails-five/config/spring.rb +6 -0
- data/integration/apps/rails-five/config/unicorn.rb +29 -0
- data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +11 -0
- data/integration/apps/rails-five/db/schema.rb +23 -0
- data/integration/apps/rails-five/db/seeds.rb +7 -0
- data/integration/apps/rails-five/docker-compose.ci.yml +98 -0
- data/integration/apps/rails-five/docker-compose.yml +100 -0
- data/integration/apps/rails-five/lib/tasks/.keep +0 -0
- data/integration/apps/rails-five/log/.keep +0 -0
- data/integration/apps/rails-five/public/robots.txt +1 -0
- data/integration/apps/rails-five/script/build-images +35 -0
- data/integration/apps/rails-five/script/ci +50 -0
- data/integration/apps/rails-five/spec/integration/basic_spec.rb +10 -0
- data/integration/apps/rails-five/spec/spec_helper.rb +16 -0
- data/integration/apps/rails-five/spec/support/integration_helper.rb +22 -0
- data/integration/apps/rails-five/storage/.keep +0 -0
- data/integration/apps/rails-five/tmp/.keep +0 -0
- data/integration/apps/rails-five/vendor/.keep +0 -0
- data/integration/apps/ruby/.dockerignore +1 -0
- data/integration/apps/ruby/.envrc.sample +1 -0
- data/integration/apps/ruby/.gitignore +2 -0
- data/integration/apps/ruby/Dockerfile +25 -0
- data/integration/apps/ruby/Dockerfile-ci +11 -0
- data/integration/apps/ruby/Gemfile +11 -0
- data/integration/apps/ruby/README.md +70 -0
- data/integration/apps/ruby/agent.yaml +3 -0
- data/integration/apps/ruby/app/datadog.rb +13 -0
- data/integration/apps/ruby/app/fibonacci.rb +58 -0
- data/integration/apps/ruby/bin/run +20 -0
- data/integration/apps/ruby/bin/setup +17 -0
- data/integration/apps/ruby/bin/test +21 -0
- data/integration/apps/ruby/docker-compose.ci.yml +51 -0
- data/integration/apps/ruby/docker-compose.yml +63 -0
- data/integration/apps/ruby/script/build-images +38 -0
- data/integration/apps/ruby/script/ci +50 -0
- data/integration/images/agent/Dockerfile +2 -0
- data/integration/images/agent/agent.yaml +3 -0
- data/integration/images/include/datadog/analyzer.rb +71 -0
- data/integration/images/include/datadog/demo_env.rb +101 -0
- data/integration/images/include/http-health-check +33 -0
- data/integration/images/ruby/2.0/Dockerfile +54 -0
- data/integration/images/ruby/2.1/Dockerfile +54 -0
- data/integration/images/ruby/2.2/Dockerfile +54 -0
- data/integration/images/ruby/2.3/Dockerfile +70 -0
- data/integration/images/ruby/2.4/Dockerfile +54 -0
- data/integration/images/ruby/2.5/Dockerfile +54 -0
- data/integration/images/ruby/2.6/Dockerfile +54 -0
- data/integration/images/ruby/2.7/Dockerfile +54 -0
- data/integration/images/ruby/3.0/Dockerfile +54 -0
- data/integration/images/wrk/Dockerfile +33 -0
- data/integration/images/wrk/scripts/entrypoint.sh +17 -0
- data/integration/images/wrk/scripts/scenarios/basic/default.lua +1 -0
- data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +1 -0
- data/integration/script/build-images +43 -0
- data/lib/ddtrace.rb +9 -5
- data/lib/ddtrace/analytics.rb +2 -0
- data/lib/ddtrace/auto_instrument.rb +3 -0
- data/lib/ddtrace/auto_instrument_base.rb +6 -0
- data/lib/ddtrace/buffer.rb +4 -4
- data/lib/ddtrace/configuration.rb +121 -26
- data/lib/ddtrace/configuration/base.rb +1 -1
- data/lib/ddtrace/configuration/components.rb +87 -5
- data/lib/ddtrace/configuration/option_definition.rb +1 -3
- data/lib/ddtrace/configuration/options.rb +4 -7
- data/lib/ddtrace/configuration/settings.rb +48 -3
- data/lib/ddtrace/context.rb +5 -6
- data/lib/ddtrace/context_provider.rb +0 -1
- data/lib/ddtrace/contrib/action_cable/event.rb +1 -0
- data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
- data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +1 -3
- data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
- data/lib/ddtrace/contrib/action_view/event.rb +1 -5
- 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/action_view/integration.rb +7 -0
- data/lib/ddtrace/contrib/action_view/utils.rb +1 -1
- data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +30 -0
- data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +107 -18
- data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
- data/lib/ddtrace/contrib/active_record/utils.rb +68 -21
- data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
- data/lib/ddtrace/contrib/active_support/notifications/event.rb +2 -1
- data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +1 -0
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +9 -5
- data/lib/ddtrace/contrib/auto_instrument.rb +49 -0
- data/lib/ddtrace/contrib/aws/patcher.rb +1 -0
- data/lib/ddtrace/contrib/aws/services.rb +3 -0
- data/lib/ddtrace/contrib/configurable.rb +63 -39
- data/lib/ddtrace/contrib/configuration/resolver.rb +70 -5
- data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +20 -19
- data/lib/ddtrace/contrib/configuration/settings.rb +7 -6
- data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -10
- data/lib/ddtrace/contrib/cucumber/ext.rb +0 -2
- data/lib/ddtrace/contrib/cucumber/formatter.rb +5 -11
- data/lib/ddtrace/contrib/cucumber/integration.rb +5 -0
- data/lib/ddtrace/contrib/dalli/patcher.rb +0 -38
- data/lib/ddtrace/contrib/delayed_job/plugin.rb +0 -1
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +1 -0
- data/lib/ddtrace/contrib/elasticsearch/quantize.rb +3 -2
- data/lib/ddtrace/contrib/ethon/easy_patch.rb +11 -10
- data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
- data/lib/ddtrace/contrib/excon/middleware.rb +2 -6
- data/lib/ddtrace/contrib/extensions.rb +53 -3
- data/lib/ddtrace/contrib/faraday/middleware.rb +1 -3
- data/lib/ddtrace/contrib/faraday/patcher.rb +0 -36
- data/lib/ddtrace/contrib/grape/endpoint.rb +37 -26
- data/lib/ddtrace/contrib/grape/ext.rb +1 -0
- data/lib/ddtrace/contrib/grape/patcher.rb +0 -42
- data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +8 -8
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +1 -0
- data/lib/ddtrace/contrib/grpc/patcher.rb +0 -36
- data/lib/ddtrace/contrib/http/circuit_breaker.rb +1 -3
- data/lib/ddtrace/contrib/http/instrumentation.rb +5 -5
- data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
- data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
- data/lib/ddtrace/contrib/httpclient/instrumentation.rb +147 -0
- data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
- data/lib/ddtrace/contrib/httpclient/patcher.rb +38 -0
- data/lib/ddtrace/contrib/httprb/instrumentation.rb +15 -21
- data/lib/ddtrace/contrib/httprb/patcher.rb +5 -2
- data/lib/ddtrace/contrib/mongodb/instrumentation.rb +2 -0
- data/lib/ddtrace/contrib/mongodb/subscribers.rb +2 -3
- data/lib/ddtrace/contrib/patchable.rb +18 -7
- data/lib/ddtrace/contrib/patcher.rb +9 -6
- data/lib/ddtrace/contrib/presto/patcher.rb +5 -2
- 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 +73 -0
- data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +33 -0
- data/lib/ddtrace/contrib/que/ext.rb +19 -19
- data/lib/ddtrace/contrib/que/tracer.rb +1 -1
- data/lib/ddtrace/contrib/racecar/event.rb +1 -0
- data/lib/ddtrace/contrib/rack/configuration/settings.rb +3 -3
- data/lib/ddtrace/contrib/rack/integration.rb +7 -0
- data/lib/ddtrace/contrib/rack/middlewares.rb +6 -11
- data/lib/ddtrace/contrib/rack/patcher.rb +1 -3
- data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
- data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
- data/lib/ddtrace/contrib/rails/patcher.rb +6 -2
- data/lib/ddtrace/contrib/rails/utils.rb +4 -0
- data/lib/ddtrace/contrib/rake/instrumentation.rb +4 -2
- data/lib/ddtrace/contrib/rake/integration.rb +1 -1
- data/lib/ddtrace/contrib/redis/configuration/resolver.rb +14 -5
- 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 +28 -0
- data/lib/ddtrace/contrib/redis/tags.rb +5 -1
- data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
- data/lib/ddtrace/contrib/redis/vendor/resolver.rb +6 -7
- data/lib/ddtrace/contrib/registry.rb +2 -2
- data/lib/ddtrace/contrib/resque/configuration/settings.rb +17 -1
- data/lib/ddtrace/contrib/resque/integration.rb +1 -1
- data/lib/ddtrace/contrib/resque/patcher.rb +4 -4
- data/lib/ddtrace/contrib/resque/resque_job.rb +24 -1
- data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -3
- data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -10
- data/lib/ddtrace/contrib/rspec/example.rb +24 -10
- data/lib/ddtrace/contrib/rspec/ext.rb +0 -3
- data/lib/ddtrace/contrib/rspec/integration.rb +6 -1
- data/lib/ddtrace/contrib/rspec/patcher.rb +0 -2
- data/lib/ddtrace/contrib/sequel/utils.rb +5 -6
- data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +1 -0
- data/lib/ddtrace/contrib/shoryuken/tracer.rb +7 -4
- data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +2 -7
- data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -1
- data/lib/ddtrace/contrib/sinatra/env.rb +1 -3
- data/lib/ddtrace/contrib/sinatra/headers.rb +1 -3
- data/lib/ddtrace/contrib/sinatra/tracer.rb +1 -3
- data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +5 -5
- data/lib/ddtrace/contrib/sneakers/ext.rb +11 -11
- data/lib/ddtrace/contrib/sneakers/tracer.rb +2 -4
- data/lib/ddtrace/contrib/status_code_matcher.rb +5 -3
- data/lib/ddtrace/correlation.rb +1 -0
- data/lib/ddtrace/diagnostics/environment_logger.rb +3 -2
- data/lib/ddtrace/distributed_tracing/headers/headers.rb +1 -0
- data/lib/ddtrace/distributed_tracing/headers/helpers.rb +1 -3
- data/lib/ddtrace/error.rb +2 -0
- data/lib/ddtrace/ext/ci.rb +43 -11
- data/lib/ddtrace/ext/distributed.rb +1 -1
- data/lib/ddtrace/ext/git.rb +0 -1
- data/lib/ddtrace/ext/http.rb +1 -1
- data/lib/ddtrace/ext/profiling.rb +52 -0
- data/lib/ddtrace/ext/runtime.rb +3 -1
- data/lib/ddtrace/ext/transport.rb +1 -0
- data/lib/ddtrace/forced_tracing.rb +2 -0
- data/lib/ddtrace/logger.rb +1 -1
- data/lib/ddtrace/metrics.rb +14 -6
- data/lib/ddtrace/opentracer/distributed_headers.rb +3 -0
- data/lib/ddtrace/opentracer/span.rb +2 -6
- data/lib/ddtrace/opentracer/thread_local_scope.rb +1 -0
- data/lib/ddtrace/patcher.rb +25 -4
- data/lib/ddtrace/pin.rb +8 -61
- data/lib/ddtrace/pipeline/span_filter.rb +1 -1
- data/lib/ddtrace/profiling.rb +54 -0
- data/lib/ddtrace/profiling/backtrace_location.rb +32 -0
- data/lib/ddtrace/profiling/buffer.rb +41 -0
- data/lib/ddtrace/profiling/collectors/stack.rb +253 -0
- data/lib/ddtrace/profiling/encoding/profile.rb +31 -0
- data/lib/ddtrace/profiling/event.rb +13 -0
- data/lib/ddtrace/profiling/events/stack.rb +102 -0
- data/lib/ddtrace/profiling/exporter.rb +23 -0
- data/lib/ddtrace/profiling/ext/cpu.rb +54 -0
- data/lib/ddtrace/profiling/ext/cthread.rb +134 -0
- data/lib/ddtrace/profiling/ext/forking.rb +97 -0
- data/lib/ddtrace/profiling/flush.rb +41 -0
- data/lib/ddtrace/profiling/pprof/builder.rb +121 -0
- data/lib/ddtrace/profiling/pprof/converter.rb +85 -0
- data/lib/ddtrace/profiling/pprof/message_set.rb +12 -0
- data/lib/ddtrace/profiling/pprof/payload.rb +18 -0
- data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
- data/lib/ddtrace/profiling/pprof/pprof_pb.rb +81 -0
- data/lib/ddtrace/profiling/pprof/stack_sample.rb +90 -0
- data/lib/ddtrace/profiling/pprof/string_table.rb +10 -0
- data/lib/ddtrace/profiling/pprof/template.rb +114 -0
- data/lib/ddtrace/profiling/preload.rb +3 -0
- data/lib/ddtrace/profiling/profiler.rb +28 -0
- data/lib/ddtrace/profiling/recorder.rb +87 -0
- data/lib/ddtrace/profiling/scheduler.rb +84 -0
- data/lib/ddtrace/profiling/tasks/setup.rb +77 -0
- data/lib/ddtrace/profiling/transport/client.rb +12 -0
- data/lib/ddtrace/profiling/transport/http.rb +122 -0
- data/lib/ddtrace/profiling/transport/http/api.rb +43 -0
- data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +90 -0
- data/lib/ddtrace/profiling/transport/http/api/instance.rb +36 -0
- data/lib/ddtrace/profiling/transport/http/api/spec.rb +40 -0
- data/lib/ddtrace/profiling/transport/http/builder.rb +28 -0
- data/lib/ddtrace/profiling/transport/http/client.rb +33 -0
- data/lib/ddtrace/profiling/transport/http/response.rb +21 -0
- data/lib/ddtrace/profiling/transport/io.rb +30 -0
- data/lib/ddtrace/profiling/transport/io/client.rb +27 -0
- data/lib/ddtrace/profiling/transport/io/response.rb +16 -0
- data/lib/ddtrace/profiling/transport/parcel.rb +17 -0
- data/lib/ddtrace/profiling/transport/request.rb +15 -0
- data/lib/ddtrace/profiling/transport/response.rb +8 -0
- data/lib/ddtrace/propagation/grpc_propagator.rb +1 -0
- data/lib/ddtrace/propagation/http_propagator.rb +17 -2
- data/lib/ddtrace/quantization/http.rb +1 -0
- data/lib/ddtrace/runtime/cgroup.rb +2 -2
- data/lib/ddtrace/runtime/container.rb +32 -26
- data/lib/ddtrace/runtime/identity.rb +8 -0
- data/lib/ddtrace/sampler.rb +1 -1
- data/lib/ddtrace/sampling/rule_sampler.rb +4 -9
- data/lib/ddtrace/span.rb +7 -7
- data/lib/ddtrace/sync_writer.rb +12 -12
- data/lib/ddtrace/tasks/exec.rb +48 -0
- data/lib/ddtrace/tasks/help.rb +14 -0
- data/lib/ddtrace/tracer.rb +28 -5
- data/lib/ddtrace/transport/http.rb +15 -8
- data/lib/ddtrace/transport/http/adapters/net.rb +27 -8
- data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
- data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -4
- data/lib/ddtrace/transport/http/builder.rb +7 -1
- data/lib/ddtrace/transport/http/env.rb +8 -0
- data/lib/ddtrace/transport/http/traces.rb +2 -3
- data/lib/ddtrace/transport/io.rb +1 -1
- data/lib/ddtrace/transport/io/client.rb +15 -8
- data/lib/ddtrace/transport/io/response.rb +1 -3
- data/lib/ddtrace/transport/io/traces.rb +6 -0
- data/lib/ddtrace/transport/parcel.rb +4 -0
- data/lib/ddtrace/transport/traces.rb +18 -1
- data/lib/ddtrace/utils/compression.rb +27 -0
- data/lib/ddtrace/utils/object_set.rb +41 -0
- data/lib/ddtrace/utils/only_once.rb +40 -0
- data/lib/ddtrace/utils/sequence.rb +17 -0
- data/lib/ddtrace/utils/string_table.rb +45 -0
- data/lib/ddtrace/utils/time.rb +32 -1
- data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
- data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
- data/lib/ddtrace/vendor/multipart-post/multipart.rb +12 -0
- data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +8 -0
- data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +116 -0
- data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +57 -0
- data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +135 -0
- data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +9 -0
- data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +32 -0
- data/lib/ddtrace/version.rb +3 -1
- data/lib/ddtrace/workers.rb +5 -0
- data/lib/ddtrace/workers/async.rb +11 -3
- data/lib/ddtrace/workers/loop.rb +17 -3
- data/lib/ddtrace/workers/polling.rb +1 -0
- data/lib/ddtrace/workers/queue.rb +1 -0
- data/lib/ddtrace/workers/runtime_metrics.rb +21 -4
- data/lib/ddtrace/workers/trace_writer.rb +10 -10
- data/lib/ddtrace/writer.rb +7 -4
- metadata +224 -342
- data/lib/ddtrace/augmentation.rb +0 -13
- data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
- data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
- data/lib/ddtrace/augmentation/shim.rb +0 -102
- data/lib/ddtrace/contrib/rspec/example_group.rb +0 -61
- data/lib/ddtrace/monkey.rb +0 -58
|
@@ -15,7 +15,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|
|
15
15
|
RUN set -ex; \
|
|
16
16
|
apt-get update; \
|
|
17
17
|
mkdir -p /usr/share/man/man1; \
|
|
18
|
-
apt-get install -
|
|
18
|
+
apt-get install --force-yes --no-install-recommends \
|
|
19
19
|
git mercurial xvfb \
|
|
20
20
|
locales sudo openssh-client ca-certificates tar gzip parallel \
|
|
21
21
|
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
|
@@ -62,6 +62,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
62
62
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
63
63
|
&& dockerize --version
|
|
64
64
|
|
|
65
|
+
# Install Protobuf compiler
|
|
66
|
+
RUN export PROTOC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip" \
|
|
67
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
68
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
69
|
+
&& ls -lha /tmp/protoc.zip \
|
|
70
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
71
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
72
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
73
|
+
&& protoc --version
|
|
74
|
+
|
|
65
75
|
# Install RubyGems
|
|
66
76
|
RUN gem update --system 2.7.9
|
|
67
77
|
RUN gem install bundler -v '1.17.3'
|
|
@@ -15,7 +15,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|
|
15
15
|
RUN set -ex; \
|
|
16
16
|
apt-get update; \
|
|
17
17
|
mkdir -p /usr/share/man/man1; \
|
|
18
|
-
apt-get install -
|
|
18
|
+
apt-get install --force-yes --no-install-recommends \
|
|
19
19
|
git mercurial xvfb \
|
|
20
20
|
locales sudo openssh-client ca-certificates tar gzip parallel \
|
|
21
21
|
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
|
@@ -62,6 +62,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
62
62
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
63
63
|
&& dockerize --version
|
|
64
64
|
|
|
65
|
+
# Install Protobuf compiler
|
|
66
|
+
RUN export PROTOC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip" \
|
|
67
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
68
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
69
|
+
&& ls -lha /tmp/protoc.zip \
|
|
70
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
71
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
72
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
73
|
+
&& protoc --version
|
|
74
|
+
|
|
65
75
|
# Install RubyGems
|
|
66
76
|
RUN gem update --system 2.7.9
|
|
67
77
|
RUN gem install bundler -v '1.17.3'
|
|
@@ -15,7 +15,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|
|
15
15
|
RUN set -ex; \
|
|
16
16
|
apt-get update; \
|
|
17
17
|
mkdir -p /usr/share/man/man1; \
|
|
18
|
-
apt-get install -
|
|
18
|
+
apt-get install --force-yes --no-install-recommends \
|
|
19
19
|
git mercurial xvfb \
|
|
20
20
|
locales sudo openssh-client ca-certificates tar gzip parallel \
|
|
21
21
|
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
|
@@ -62,6 +62,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
62
62
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
63
63
|
&& dockerize --version
|
|
64
64
|
|
|
65
|
+
# Install Protobuf compiler
|
|
66
|
+
RUN export PROTOC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip" \
|
|
67
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
68
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
69
|
+
&& ls -lha /tmp/protoc.zip \
|
|
70
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
71
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
72
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
73
|
+
&& protoc --version
|
|
74
|
+
|
|
65
75
|
# Install RubyGems
|
|
66
76
|
RUN gem update --system 2.7.9
|
|
67
77
|
RUN gem install bundler -v '1.17.3'
|
|
@@ -58,6 +58,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
58
58
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
59
59
|
&& dockerize --version
|
|
60
60
|
|
|
61
|
+
# Install Protobuf compiler
|
|
62
|
+
RUN export PROTOC_URL=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -e 'protoc-[.0-9]*-linux-x86_64\.zip' | sort -r | head -n 1) \
|
|
63
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
64
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
65
|
+
&& ls -lha /tmp/protoc.zip \
|
|
66
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
67
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
68
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
69
|
+
&& protoc --version
|
|
70
|
+
|
|
61
71
|
# Install RubyGems
|
|
62
72
|
RUN gem update --system
|
|
63
73
|
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
@@ -58,6 +58,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
58
58
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
59
59
|
&& dockerize --version
|
|
60
60
|
|
|
61
|
+
# Install Protobuf compiler
|
|
62
|
+
RUN export PROTOC_URL=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -e 'protoc-[.0-9]*-linux-x86_64\.zip' | sort -r | head -n 1) \
|
|
63
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
64
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
65
|
+
&& ls -lha /tmp/protoc.zip \
|
|
66
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
67
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
68
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
69
|
+
&& protoc --version
|
|
70
|
+
|
|
61
71
|
# Install RubyGems
|
|
62
72
|
RUN gem update --system
|
|
63
73
|
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
@@ -58,6 +58,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
58
58
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
59
59
|
&& dockerize --version
|
|
60
60
|
|
|
61
|
+
# Install Protobuf compiler
|
|
62
|
+
RUN export PROTOC_URL=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -e 'protoc-[.0-9]*-linux-x86_64\.zip' | sort -r | head -n 1) \
|
|
63
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
64
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
65
|
+
&& ls -lha /tmp/protoc.zip \
|
|
66
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
67
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
68
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
69
|
+
&& protoc --version
|
|
70
|
+
|
|
61
71
|
# Install RubyGems
|
|
62
72
|
RUN gem update --system
|
|
63
73
|
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
@@ -58,6 +58,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
58
58
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
59
59
|
&& dockerize --version
|
|
60
60
|
|
|
61
|
+
# Install Protobuf compiler
|
|
62
|
+
RUN export PROTOC_URL=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -e 'protoc-[.0-9]*-linux-x86_64\.zip' | sort -r | head -n 1) \
|
|
63
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
64
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
65
|
+
&& ls -lha /tmp/protoc.zip \
|
|
66
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
67
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
68
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
69
|
+
&& protoc --version
|
|
70
|
+
|
|
61
71
|
# Install RubyGems
|
|
62
72
|
RUN gem update --system
|
|
63
73
|
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
@@ -58,6 +58,16 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
58
58
|
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
59
59
|
&& dockerize --version
|
|
60
60
|
|
|
61
|
+
# Install Protobuf compiler
|
|
62
|
+
RUN export PROTOC_URL=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -e 'protoc-[.0-9]*-linux-x86_64\.zip' | sort -r | head -n 1) \
|
|
63
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
64
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
65
|
+
&& ls -lha /tmp/protoc.zip \
|
|
66
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
67
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
68
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
69
|
+
&& protoc --version
|
|
70
|
+
|
|
61
71
|
# Install RubyGems
|
|
62
72
|
# RUN gem update --system # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
|
|
63
73
|
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
@@ -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"]
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Current version: https://github.com/cpuguy83/docker-jruby/blob/db08637839406420a254a9c825d94994cded5021/9000/jre/Dockerfile
|
|
2
|
+
FROM jruby:9.2.11.1
|
|
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
|
+
build-essential \
|
|
20
|
+
shared-mime-info; \
|
|
21
|
+
rm -rf /var/lib/apt/lists/*;
|
|
22
|
+
|
|
23
|
+
# Set timezone to UTC by default
|
|
24
|
+
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
|
25
|
+
|
|
26
|
+
# Set language
|
|
27
|
+
RUN locale-gen en_US.UTF-8
|
|
28
|
+
ENV LANG en_US.UTF-8
|
|
29
|
+
ENV LANGUAGE en_US:en
|
|
30
|
+
|
|
31
|
+
# Install jq
|
|
32
|
+
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
|
33
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
|
34
|
+
&& chmod +x /usr/bin/jq \
|
|
35
|
+
&& jq --version
|
|
36
|
+
|
|
37
|
+
# Install Docker
|
|
38
|
+
RUN set -ex \
|
|
39
|
+
&& 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) \
|
|
40
|
+
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
|
41
|
+
&& echo Docker URL: $DOCKER_URL \
|
|
42
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
|
43
|
+
&& ls -lha /tmp/docker.tgz \
|
|
44
|
+
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
|
45
|
+
&& mv /tmp/docker/* /usr/bin \
|
|
46
|
+
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
|
47
|
+
&& which docker \
|
|
48
|
+
&& (docker version || true)
|
|
49
|
+
|
|
50
|
+
# Install Docker Compose
|
|
51
|
+
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
|
52
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
|
53
|
+
&& chmod +x /usr/bin/docker-compose \
|
|
54
|
+
&& docker-compose version
|
|
55
|
+
|
|
56
|
+
# Install Dockerize
|
|
57
|
+
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
|
58
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
|
59
|
+
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
|
60
|
+
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
|
61
|
+
&& dockerize --version
|
|
62
|
+
|
|
63
|
+
# Install Protobuf compiler
|
|
64
|
+
RUN export PROTOC_URL=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -e 'protoc-[.0-9]*-linux-x86_64\.zip' | sort -r | head -n 1) \
|
|
65
|
+
&& echo Protoc URL: $PROTOC_URL \
|
|
66
|
+
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \
|
|
67
|
+
&& ls -lha /tmp/protoc.zip \
|
|
68
|
+
&& unzip /tmp/protoc.zip -d /tmp/protoc \
|
|
69
|
+
&& mv /tmp/protoc/bin/* /usr/bin \
|
|
70
|
+
&& rm -rf /tmp/protoc /tmp/protoc.zip \
|
|
71
|
+
&& protoc --version
|
|
72
|
+
|
|
73
|
+
# Install RubyGems
|
|
74
|
+
RUN gem update --system
|
|
75
|
+
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
76
|
+
|
|
77
|
+
# Upgrade RubyGems and Bundler
|
|
78
|
+
RUN gem uninstall -i /opt/jruby/lib/ruby/gems/shared bundler -v 2.1.4 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
|
|
79
|
+
RUN gem install bundler -v 2.1.2 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
|
|
80
|
+
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
|
81
|
+
|
|
82
|
+
# Ensure JRuby is available when running "bash --login"
|
|
83
|
+
RUN echo "export PATH=/opt/jruby/bin:$BUNDLE_BIN:\$PATH" >> ~/.profile
|
|
84
|
+
|
|
85
|
+
RUN mkdir /app
|
|
86
|
+
WORKDIR /app
|
|
87
|
+
|
|
88
|
+
CMD ["bin", "bash", "--login"]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Current version: https://github.com/cpuguy83/docker-jruby/blob/db08637839406420a254a9c825d94994cded5021/9000/jre/Dockerfile
|
|
2
|
-
FROM jruby:9.2.
|
|
2
|
+
FROM jruby:9.2.0.0
|
|
3
3
|
|
|
4
4
|
# Make apt non-interactive
|
|
5
5
|
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
|
@@ -62,10 +62,6 @@ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cac
|
|
|
62
62
|
# Install RubyGems
|
|
63
63
|
RUN gem update --system
|
|
64
64
|
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
|
65
|
-
|
|
66
|
-
# Upgrade RubyGems and Bundler
|
|
67
|
-
RUN gem uninstall -i /opt/jruby/lib/ruby/gems/shared bundler -v 2.1.4 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
|
|
68
|
-
RUN gem install bundler -v 2.1.2 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
|
|
69
65
|
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
|
70
66
|
|
|
71
67
|
# Ensure JRuby is available when running "bash --login"
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
FROM flavorjones/truffleruby:21.0.0-buster
|
|
2
|
+
|
|
3
|
+
# Make apt non-interactive
|
|
4
|
+
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
|
5
|
+
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
|
6
|
+
|
|
7
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
|
8
|
+
|
|
9
|
+
# Install required packages
|
|
10
|
+
RUN set -ex; \
|
|
11
|
+
apt-get update; \
|
|
12
|
+
mkdir -p /usr/share/man/man1; \
|
|
13
|
+
apt-get install -y --no-install-recommends \
|
|
14
|
+
git mercurial xvfb \
|
|
15
|
+
locales sudo openssh-client ca-certificates tar gzip parallel \
|
|
16
|
+
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
|
17
|
+
tzdata rsync vim; \
|
|
18
|
+
rm -rf /var/lib/apt/lists/*;
|
|
19
|
+
|
|
20
|
+
# Set timezone to UTC by default
|
|
21
|
+
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
|
22
|
+
|
|
23
|
+
# Set language
|
|
24
|
+
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
|
|
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"]
|
|
@@ -9,11 +9,11 @@ jobs:
|
|
|
9
9
|
steps:
|
|
10
10
|
- name: Get next minor version
|
|
11
11
|
id: semvers
|
|
12
|
-
uses: WyriHaximus/github-action-next-semvers@
|
|
12
|
+
uses: WyriHaximus/github-action-next-semvers@b135abb108d66990a85e18623d906404f4350ce4
|
|
13
13
|
with:
|
|
14
14
|
version: ${{ github.event.milestone.title }}
|
|
15
15
|
- name: Create next milestone
|
|
16
|
-
uses: WyriHaximus/github-action-create-milestone@
|
|
16
|
+
uses: WyriHaximus/github-action-create-milestone@ab85332e3150ec018daf497a0f761fe69d52bc7d
|
|
17
17
|
with:
|
|
18
18
|
title: ${{ steps.semvers.outputs.minor }}
|
|
19
19
|
env:
|