ddtrace 0.38.0 → 0.43.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +56 -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 +38 -0
- data/Appraisals +293 -105
- data/CHANGELOG.md +192 -1
- data/CONTRIBUTING.md +2 -2
- data/Rakefile +554 -480
- data/ddtrace.gemspec +3 -0
- data/docs/DevelopmentGuide.md +28 -2
- data/docs/GettingStarted.md +207 -82
- 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 +18 -6
- data/lib/ddtrace/context.rb +18 -0
- data/lib/ddtrace/context_provider.rb +17 -5
- data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/action_cable/ext.rb +5 -2
- data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/action_pack/ext.rb +5 -2
- data/lib/ddtrace/contrib/action_view/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/action_view/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_model_serializers/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_record/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
- data/lib/ddtrace/contrib/active_record/ext.rb +5 -2
- 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/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_support/ext.rb +8 -2
- 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/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/aws/ext.rb +5 -2
- data/lib/ddtrace/contrib/aws/instrumentation.rb +6 -1
- data/lib/ddtrace/contrib/aws/patcher.rb +0 -1
- data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +5 -0
- data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
- data/lib/ddtrace/contrib/configurable.rb +2 -0
- data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +4 -5
- data/lib/ddtrace/contrib/configuration/settings.rb +1 -0
- 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/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/dalli/ext.rb +5 -2
- data/lib/ddtrace/contrib/dalli/instrumentation.rb +4 -0
- data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +9 -2
- data/lib/ddtrace/contrib/delayed_job/ext.rb +7 -2
- data/lib/ddtrace/contrib/delayed_job/plugin.rb +39 -15
- data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/elasticsearch/ext.rb +5 -2
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +4 -0
- data/lib/ddtrace/contrib/ethon/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/ethon/easy_patch.rb +4 -2
- data/lib/ddtrace/contrib/ethon/ext.rb +5 -2
- data/lib/ddtrace/contrib/ethon/multi_patch.rb +4 -0
- data/lib/ddtrace/contrib/excon/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/excon/ext.rb +5 -2
- data/lib/ddtrace/contrib/excon/middleware.rb +11 -1
- data/lib/ddtrace/contrib/extensions.rb +1 -1
- data/lib/ddtrace/contrib/faraday/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/faraday/ext.rb +5 -2
- data/lib/ddtrace/contrib/faraday/middleware.rb +4 -0
- data/lib/ddtrace/contrib/faraday/patcher.rb +13 -4
- data/lib/ddtrace/contrib/grape/configuration/settings.rb +14 -3
- data/lib/ddtrace/contrib/grape/endpoint.rb +24 -7
- data/lib/ddtrace/contrib/grape/ext.rb +5 -2
- data/lib/ddtrace/contrib/graphql/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/graphql/ext.rb +5 -2
- data/lib/ddtrace/contrib/grpc/configuration/settings.rb +7 -2
- 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/grpc/ext.rb +5 -2
- data/lib/ddtrace/contrib/http/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/http/ext.rb +5 -2
- data/lib/ddtrace/contrib/http/instrumentation.rb +6 -2
- data/lib/ddtrace/contrib/httprb/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/httprb/ext.rb +5 -2
- data/lib/ddtrace/contrib/httprb/instrumentation.rb +8 -8
- data/lib/ddtrace/contrib/kafka/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/kafka/event.rb +1 -1
- data/lib/ddtrace/contrib/kafka/ext.rb +5 -2
- data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/mongodb/ext.rb +5 -2
- data/lib/ddtrace/contrib/mongodb/subscribers.rb +4 -0
- data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/mysql2/ext.rb +5 -2
- data/lib/ddtrace/contrib/mysql2/instrumentation.rb +4 -0
- data/lib/ddtrace/contrib/presto/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/presto/ext.rb +5 -2
- data/lib/ddtrace/contrib/presto/instrumentation.rb +3 -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/configuration/settings.rb +7 -2
- 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 +6 -2
- data/lib/ddtrace/contrib/rack/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/rack/ext.rb +5 -2
- data/lib/ddtrace/contrib/rack/middlewares.rb +2 -0
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +12 -2
- data/lib/ddtrace/contrib/rails/ext.rb +6 -2
- 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/rake/configuration/settings.rb +7 -3
- data/lib/ddtrace/contrib/rake/ext.rb +5 -2
- data/lib/ddtrace/contrib/redis/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/redis/ext.rb +5 -2
- data/lib/ddtrace/contrib/redis/tags.rb +4 -0
- data/lib/ddtrace/contrib/resque/configuration/settings.rb +8 -2
- data/lib/ddtrace/contrib/resque/ext.rb +5 -2
- 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/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/rest_client/ext.rb +5 -2
- 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/configuration/settings.rb +7 -2
- 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 +6 -2
- data/lib/ddtrace/contrib/sequel/utils.rb +35 -6
- data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +8 -2
- data/lib/ddtrace/contrib/shoryuken/ext.rb +5 -2
- data/lib/ddtrace/contrib/shoryuken/tracer.rb +4 -1
- data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +8 -2
- data/lib/ddtrace/contrib/sidekiq/ext.rb +5 -2
- data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +4 -1
- data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sinatra/env.rb +5 -4
- data/lib/ddtrace/contrib/sinatra/ext.rb +5 -2
- 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 +33 -0
- data/lib/ddtrace/contrib/sneakers/ext.rb +22 -0
- data/lib/ddtrace/contrib/sneakers/integration.rb +41 -0
- data/lib/ddtrace/contrib/sneakers/patcher.rb +24 -0
- data/lib/ddtrace/contrib/sneakers/tracer.rb +55 -0
- data/lib/ddtrace/contrib/status_code_matcher.rb +67 -0
- data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sucker_punch/ext.rb +5 -2
- data/lib/ddtrace/diagnostics/environment_logger.rb +1 -1
- data/lib/ddtrace/environment.rb +14 -4
- data/lib/ddtrace/ext/app_types.rb +1 -0
- data/lib/ddtrace/ext/ci.rb +265 -0
- data/lib/ddtrace/ext/diagnostics.rb +2 -1
- 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/ext/transport.rb +1 -0
- data/lib/ddtrace/logger.rb +1 -1
- 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 +24 -6
- 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.rb +15 -0
- data/lib/ddtrace/transport/http/adapters/net.rb +8 -2
- data/lib/ddtrace/transport/http/adapters/test.rb +2 -0
- 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/writer.rb +19 -1
- metadata +53 -6
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,193 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## [0.43.0] - 2020-11-18
|
6
|
+
|
7
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.43.0
|
8
|
+
|
9
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0
|
10
|
+
|
11
|
+
### Added
|
12
|
+
|
13
|
+
- Background job custom error handlers (#1212) (@norbertnytko)
|
14
|
+
- Add "multi" methods instrumentation for Rails cache (#1217) (@michaelkl)
|
15
|
+
- Support custom error status codes for Grape (#1238)
|
16
|
+
- Cucumber integration (#1216)
|
17
|
+
- RSpec integration (#1234)
|
18
|
+
- Validation to `:on_error` argument on `Datadog::Tracer#trace` (#1220)
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
|
22
|
+
- Update `TokenBucket#effective_rate` calculation (#1236)
|
23
|
+
|
24
|
+
### Fixed
|
25
|
+
|
26
|
+
- Avoid writer reinitialization during shutdown (#1235, #1248)
|
27
|
+
- Fix configuration multiplexing (#1204, #1227)
|
28
|
+
- Fix misnamed B3 distributed headers (#1226, #1229)
|
29
|
+
- Correct span type for AWS SDK (#1233)
|
30
|
+
- Correct span type for internal Pin on HTTP clients (#1239)
|
31
|
+
- Reset trace context after fork (#1225)
|
32
|
+
|
33
|
+
### Refactored
|
34
|
+
|
35
|
+
- Improvements to test suite (#1232, #1244)
|
36
|
+
- Improvements to documentation (#1243, #1218) (@cjford)
|
37
|
+
|
38
|
+
### Removed
|
39
|
+
|
40
|
+
## [0.42.0] - 2020-10-21
|
41
|
+
|
42
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.42.0
|
43
|
+
|
44
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...v0.42.0
|
45
|
+
|
46
|
+
### Added
|
47
|
+
|
48
|
+
- Increase Resque support to include 2.0 (#1213) (@erict-square)
|
49
|
+
|
50
|
+
- Improve gRPC Propagator to support metadata array values (#1203) (@mdehoog)
|
51
|
+
|
52
|
+
- Add CPU benchmarks, diagnostics to tests (#1188, #1198)
|
53
|
+
|
54
|
+
- Access active correlation by Thread (#1200)
|
55
|
+
|
56
|
+
- Improve delayed_job instrumentation (#1187) (@norbertnytko)
|
57
|
+
|
58
|
+
### Changed
|
59
|
+
|
60
|
+
### Fixed
|
61
|
+
|
62
|
+
- Improve Rails `log_injection` option to support more Lograge formats (#1210) (@Supy)
|
63
|
+
|
64
|
+
- Fix Changelog (#1199) (@y-yagi)
|
65
|
+
|
66
|
+
### Refactored
|
67
|
+
|
68
|
+
- Refactor Trace buffer into multiple components (#1195)
|
69
|
+
|
70
|
+
## [0.41.0] - 2020-09-30
|
71
|
+
|
72
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.41.0
|
73
|
+
|
74
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0
|
75
|
+
|
76
|
+
### Added
|
77
|
+
|
78
|
+
- Improve duration counting using monotonic clock (#424, #1173) (@soulcutter)
|
79
|
+
|
80
|
+
### Changed
|
81
|
+
|
82
|
+
- Add peer.service tag to external services and skip tagging external services with language tag for runtime metrics (#934, #935, #1180)
|
83
|
+
- This helps support the way runtime metrics are associated with spans in the UI.
|
84
|
+
- Faster TraceBuffer for CRuby (#1172)
|
85
|
+
- Reduce memory usage during gem startup (#1090)
|
86
|
+
- Reduce memory usage of the HTTP transport (#1165)
|
87
|
+
|
88
|
+
### Fixed
|
89
|
+
|
90
|
+
- Improved prepared statement support for Sequel integrations (#1186)
|
91
|
+
- Fix Sequel instrumentation when executing literal strings (#1185) (@matchbookmac)
|
92
|
+
- Remove explicit `Logger` class verification (#1181) (@bartekbsh)
|
93
|
+
- This allows users to pass in a custom logger that does not inherit from `Logger` class.
|
94
|
+
- Correct tracer buffer metric counting (#1182)
|
95
|
+
- Fix Span#pretty_print for empty duration (#1183)
|
96
|
+
|
97
|
+
### Refactored
|
98
|
+
|
99
|
+
- Improvements to test suite & CI (#1179, #1184, #1177, #1178, #1176)
|
100
|
+
- Reduce generated Span ID range to fit in Fixnum (#1189)
|
101
|
+
|
102
|
+
## [0.40.0] - 2020-09-08
|
103
|
+
|
104
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.40.0
|
105
|
+
|
106
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0
|
107
|
+
|
108
|
+
### Added
|
109
|
+
|
110
|
+
- Rails `log_injection` option to auto enable log correlation (#1157)
|
111
|
+
- Que integration (#1141, #1146) (@hs-bguven)
|
112
|
+
- `Components#startup!` hook (#1151)
|
113
|
+
- Code coverage report (#1159)
|
114
|
+
- Every commit now has a `coverage` CI step that contains the code coverage report. This report can be found in the `Artifacts` tab of that CI step, under `coverage/index.html`.
|
115
|
+
|
116
|
+
### Changed
|
117
|
+
|
118
|
+
- Use a single top level span for Racecar consumers (#1150) (@dasch)
|
119
|
+
|
120
|
+
### Fixed
|
121
|
+
|
122
|
+
- Sinatra nested modular applications possibly leaking spans (#1035, #1145)
|
123
|
+
|
124
|
+
* **BREAKING** for nested modular Sinatra applications only:
|
125
|
+
```ruby
|
126
|
+
class Nested < Sinatra::Base
|
127
|
+
end
|
128
|
+
|
129
|
+
class TopLevel < Sinatra::Base
|
130
|
+
use Nested # Nesting happens here
|
131
|
+
end
|
132
|
+
```
|
133
|
+
* Non-breaking for classic applications nor modular non-nested applications.
|
134
|
+
|
135
|
+
Fixes issues introduced by #1015 (in 0.35.0), when we first introduced Sinatra support for modular applications.
|
136
|
+
|
137
|
+
The main issue we had to solve for modular support is how to handle nested applications, as only one application is actually responsible for handling the route. A naive implementation would cause the creation of nested `sinatra.request` spans, even for applications that did not handle the request. This is technically correct, as Sinatra is traversing that middleware, accruing overhead, but that does not aligned with our existing behavior of having a single `sinatra.request` span.
|
138
|
+
|
139
|
+
While trying to achieve backwards-compatibility, we had to resort to a solution that turned out brittle: `sinatra.request` spans had to start in one middleware level and finished it in another. This allowed us to only capture the `sinatra.request` for the matching route, and skip the non-matching one. This caused unexpected issues on some user setups, specially around Sinatra middleware that created spans in between the initialization and closure of `sinatra.request` spans.
|
140
|
+
|
141
|
+
This change now address these implementation issues by creating multiple `sinatra.request`, one for each traversed Sinatra application, even non-matching ones. This instrumentation is more correct, but at the cost of being a breaking change for nested modular applications.
|
142
|
+
|
143
|
+
Please see #1145 for more information, and example screenshots on how traces for affected applications will look like.
|
144
|
+
|
145
|
+
- Rack/Rails span error propagation with `rescue_from` (#1155, #1162)
|
146
|
+
- Prevent logger recursion during startup (#1158)
|
147
|
+
- Race condition on new worker classes (#1154)
|
148
|
+
- These classes represent future work, and not being used at the moment.
|
149
|
+
|
150
|
+
### Refactored
|
151
|
+
|
152
|
+
- Run CI tests in parallel (#1156)
|
153
|
+
- Migrate minitest tests to RSpec (#1127, #1128, #1133, #1149, #1152, #1153)
|
154
|
+
- Improvements to test suite (#1134, #1148, #1163)
|
155
|
+
- Improvements to documentation (#1138)
|
156
|
+
|
157
|
+
### Removed
|
158
|
+
|
159
|
+
- **Ruby 1.9 support ended, as it transitions from Maintenance to End-Of-Life (#1137)**
|
160
|
+
- GitLab status check when not applicable (#1160)
|
161
|
+
- Allows for PRs pass all status checks once again. Before this change, a `dd-gitlab/copy_to_s3` check would never leave the "Pending" status. This check tracks the deployment of a commit to an internal testing platform, which currently only happens on `master` branch or when manually triggered internally.
|
162
|
+
|
163
|
+
## [0.39.0] - 2020-08-05
|
164
|
+
|
165
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.39.0
|
166
|
+
|
167
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
|
168
|
+
|
169
|
+
### Added
|
170
|
+
|
171
|
+
- JRuby 9.2 support (#1126)
|
172
|
+
- Sneakers integration (#1121) (@janz93)
|
173
|
+
|
174
|
+
### Changed
|
175
|
+
|
176
|
+
- Consistent environment variables across languages (#1115)
|
177
|
+
- Default logger level from WARN to INFO (#1120) (@gingerlime)
|
178
|
+
- This change also reduces the startup environment log message to INFO level (#1104)
|
179
|
+
|
180
|
+
### Fixed
|
181
|
+
|
182
|
+
- HTTP::StateError on error responses for http.rb (#1116, #1122) (@evan-waters)
|
183
|
+
- Startup log error when using the test adapter (#1125, #1131) (@benhutton)
|
184
|
+
- Warning message for Faraday < 1.0 (#1129) (@fledman, @tjwp)
|
185
|
+
- Propagate Rails error message to Rack span (#1124)
|
186
|
+
|
187
|
+
### Refactored
|
188
|
+
|
189
|
+
- Improved ActiveRecord documentation (#1119)
|
190
|
+
- Improvements to test suite (#1105, #1118)
|
191
|
+
|
5
192
|
## [0.38.0] - 2020-07-13
|
6
193
|
|
7
194
|
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.38.0
|
@@ -1305,7 +1492,11 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
1305
1492
|
|
1306
1493
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
1307
1494
|
|
1308
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.
|
1495
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...master
|
1496
|
+
[0.43.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0
|
1497
|
+
[0.41.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0
|
1498
|
+
[0.40.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0
|
1499
|
+
[0.39.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
|
1309
1500
|
[0.38.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0
|
1310
1501
|
[0.37.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0
|
1311
1502
|
[0.36.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0
|
data/CONTRIBUTING.md
CHANGED
@@ -56,7 +56,7 @@ We welcome code contributions to the library, which you can [submit as a pull re
|
|
56
56
|
2. **Make any changes** for your patch.
|
57
57
|
3. **Write tests** that demonstrate how the feature works or how the bug is fixed.
|
58
58
|
4. **Update any documentation** such as `docs/GettingStarted.md`, especially for new features.
|
59
|
-
5. **Submit the pull request** from your fork back to
|
59
|
+
5. **Submit the pull request** from your fork back to the latest revision of the `master` branch on https://github.com/DataDog/dd-trace-rb.
|
60
60
|
|
61
61
|
The pull request will be run through our CI pipeline, and a project member will review the changes with you. At a minimum, to be accepted and merged, pull requests must:
|
62
62
|
|
@@ -76,7 +76,7 @@ We also recommend that you share in your description:
|
|
76
76
|
|
77
77
|
Pull requests will be reviewed and added to [our Community project](https://github.com/DataDog/dd-trace-rb/projects/2).
|
78
78
|
|
79
|
-
For more information on common topics such as debugging locally, or how to write new integrations, check out [our development guide](https://github.com/DataDog/dd-trace-rb/docs/DevelopmentGuide.md). If at any point you have a question or need assistance with your pull request, feel free to mention a project member! We're always happy to help contributors with their pull requests.
|
79
|
+
For more information on common topics such as debugging locally, or how to write new integrations, check out [our development guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md). If at any point you have a question or need assistance with your pull request, feel free to mention a project member! We're always happy to help contributors with their pull requests.
|
80
80
|
|
81
81
|
## Final word
|
82
82
|
|
data/Rakefile
CHANGED
@@ -85,6 +85,7 @@ namespace :spec do
|
|
85
85
|
:active_support,
|
86
86
|
:aws,
|
87
87
|
:concurrent_ruby,
|
88
|
+
:cucumber,
|
88
89
|
:dalli,
|
89
90
|
:delayed_job,
|
90
91
|
:elasticsearch,
|
@@ -100,16 +101,19 @@ namespace :spec do
|
|
100
101
|
:mongodb,
|
101
102
|
:mysql2,
|
102
103
|
:presto,
|
104
|
+
:que,
|
103
105
|
:racecar,
|
104
106
|
:rack,
|
105
107
|
:rake,
|
106
108
|
:redis,
|
107
109
|
:resque,
|
108
110
|
:rest_client,
|
111
|
+
:rspec,
|
109
112
|
:sequel,
|
110
113
|
:shoryuken,
|
111
114
|
:sidekiq,
|
112
115
|
:sinatra,
|
116
|
+
:sneakers,
|
113
117
|
:sucker_punch,
|
114
118
|
:suite
|
115
119
|
].each do |contrib|
|
@@ -141,8 +145,6 @@ namespace :test do
|
|
141
145
|
end
|
142
146
|
|
143
147
|
[
|
144
|
-
:grape,
|
145
|
-
:sucker_punch
|
146
148
|
].each do |contrib|
|
147
149
|
Rake::TestTask.new(contrib) do |t|
|
148
150
|
t.libs << %w[test lib]
|
@@ -184,6 +186,21 @@ task :'release:docs' => :docs do
|
|
184
186
|
sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
|
185
187
|
end
|
186
188
|
|
189
|
+
# Declare a command for execution.
|
190
|
+
# Jobs are parallelized if running in CI.
|
191
|
+
def declare(*args)
|
192
|
+
total_executors = ENV.key?('CIRCLE_NODE_TOTAL') ? ENV['CIRCLE_NODE_TOTAL'].to_i : nil
|
193
|
+
current_executor = ENV.key?('CIRCLE_NODE_INDEX') ? ENV['CIRCLE_NODE_INDEX'].to_i : nil
|
194
|
+
|
195
|
+
if total_executors && current_executor && total_executors > 1
|
196
|
+
@execution_count ||= 0
|
197
|
+
@execution_count += 1
|
198
|
+
sh(*args) if @execution_count % total_executors == current_executor
|
199
|
+
else
|
200
|
+
sh(*args)
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
187
204
|
desc 'CI task; it runs all tests for current version of Ruby'
|
188
205
|
task :ci do
|
189
206
|
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
|
@@ -191,561 +208,618 @@ task :ci do
|
|
191
208
|
elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
|
192
209
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
|
193
210
|
# Main library
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
# Benchmarks
|
198
|
-
sh 'bundle exec rake spec:benchmark'
|
211
|
+
declare 'bundle exec rake test:main'
|
212
|
+
declare 'bundle exec rake spec:main'
|
213
|
+
declare 'bundle exec rake spec:contrib'
|
199
214
|
|
200
215
|
if RUBY_PLATFORM != 'java'
|
201
216
|
# Contrib minitests
|
202
|
-
|
203
|
-
sh 'bundle exec appraisal contrib-old rake test:sucker_punch'
|
217
|
+
declare 'bundle exec appraisal contrib-old rake test:monkey'
|
204
218
|
# Contrib specs
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
219
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
|
220
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_record'
|
221
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_support'
|
222
|
+
declare 'bundle exec appraisal contrib-old rake spec:aws'
|
223
|
+
declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
|
224
|
+
declare 'bundle exec appraisal contrib-old rake spec:dalli'
|
225
|
+
declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
|
226
|
+
declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
|
227
|
+
declare 'bundle exec appraisal contrib-old rake spec:ethon'
|
228
|
+
declare 'bundle exec appraisal contrib-old rake spec:excon'
|
229
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
230
|
+
declare 'bundle exec appraisal contrib-old rake spec:http'
|
231
|
+
declare 'bundle exec appraisal contrib-old rake spec:httprb'
|
232
|
+
declare 'bundle exec appraisal contrib-old rake spec:mongodb'
|
233
|
+
declare 'bundle exec appraisal contrib-old rake spec:mysql2'
|
234
|
+
declare 'bundle exec appraisal contrib-old rake spec:rack'
|
235
|
+
declare 'bundle exec appraisal contrib-old rake spec:rake'
|
236
|
+
declare 'bundle exec appraisal contrib-old rake spec:redis'
|
237
|
+
declare 'bundle exec appraisal contrib-old rake spec:resque'
|
238
|
+
declare 'bundle exec appraisal contrib-old rake spec:rest_client'
|
239
|
+
declare 'bundle exec appraisal contrib-old rake spec:rspec'
|
240
|
+
declare 'bundle exec appraisal contrib-old rake spec:sequel'
|
241
|
+
declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
242
|
+
declare 'bundle exec appraisal contrib-old rake spec:sinatra'
|
243
|
+
declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
244
|
+
declare 'bundle exec appraisal contrib-old rake spec:suite'
|
230
245
|
# Rails minitests
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
246
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
247
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
248
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
249
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
250
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
251
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
237
252
|
# Rails specs
|
238
|
-
|
239
|
-
|
240
|
-
|
253
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
254
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
255
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
241
256
|
# Rails suite specs
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
257
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
|
258
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
|
259
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
|
260
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
|
246
261
|
end
|
247
262
|
elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
|
248
263
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
|
249
264
|
# Main library
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
# Benchmarks
|
255
|
-
sh 'bundle exec rake spec:benchmark'
|
265
|
+
declare 'bundle exec rake test:main'
|
266
|
+
declare 'bundle exec rake spec:main'
|
267
|
+
declare 'bundle exec rake spec:contrib'
|
268
|
+
declare 'bundle exec rake spec:opentracer'
|
256
269
|
|
257
270
|
if RUBY_PLATFORM != 'java'
|
258
271
|
# Contrib minitests
|
259
|
-
|
260
|
-
sh 'bundle exec appraisal contrib-old rake test:sucker_punch'
|
272
|
+
declare 'bundle exec appraisal contrib-old rake test:monkey'
|
261
273
|
# Contrib specs
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
274
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
|
275
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_record'
|
276
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_support'
|
277
|
+
declare 'bundle exec appraisal contrib-old rake spec:aws'
|
278
|
+
declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
|
279
|
+
declare 'bundle exec appraisal contrib-old rake spec:dalli'
|
280
|
+
declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
|
281
|
+
declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
|
282
|
+
declare 'bundle exec appraisal contrib-old rake spec:ethon'
|
283
|
+
declare 'bundle exec appraisal contrib-old rake spec:excon'
|
284
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
285
|
+
declare 'bundle exec appraisal contrib-old rake spec:http'
|
286
|
+
declare 'bundle exec appraisal contrib-old rake spec:httprb'
|
287
|
+
declare 'bundle exec appraisal contrib-old rake spec:kafka'
|
288
|
+
declare 'bundle exec appraisal contrib-old rake spec:mongodb'
|
289
|
+
declare 'bundle exec appraisal contrib-old rake spec:mysql2'
|
290
|
+
declare 'bundle exec appraisal contrib-old rake spec:presto'
|
291
|
+
declare 'bundle exec appraisal contrib-old rake spec:rack'
|
292
|
+
declare 'bundle exec appraisal contrib-old rake spec:rake'
|
293
|
+
declare 'bundle exec appraisal contrib-old rake spec:redis'
|
294
|
+
declare 'bundle exec appraisal contrib-old rake spec:resque'
|
295
|
+
declare 'bundle exec appraisal contrib-old rake spec:rest_client'
|
296
|
+
declare 'bundle exec appraisal contrib-old rake spec:rspec'
|
297
|
+
declare 'bundle exec appraisal contrib-old rake spec:sequel'
|
298
|
+
declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
299
|
+
declare 'bundle exec appraisal contrib-old rake spec:sinatra'
|
300
|
+
declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
301
|
+
declare 'bundle exec appraisal contrib-old rake spec:suite'
|
288
302
|
# Rails minitests
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
303
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
304
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
305
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
306
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
307
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
308
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
309
|
+
declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
|
310
|
+
declare 'bundle exec appraisal rails4-postgres rake test:rails'
|
311
|
+
declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
|
312
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
|
299
313
|
# Rails specs
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
314
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
315
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
316
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
317
|
+
declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
|
318
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:rails'
|
305
319
|
# Rails suite specs
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
320
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
|
321
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
|
322
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
|
323
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
|
310
324
|
end
|
311
325
|
elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION)\
|
312
326
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
|
313
327
|
# Main library
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
# Benchmarks
|
319
|
-
sh 'bundle exec rake spec:benchmark'
|
328
|
+
declare 'bundle exec rake test:main'
|
329
|
+
declare 'bundle exec rake spec:main'
|
330
|
+
declare 'bundle exec rake spec:contrib'
|
331
|
+
declare 'bundle exec rake spec:opentracer'
|
320
332
|
|
321
333
|
if RUBY_PLATFORM != 'java'
|
322
334
|
# Contrib minitests
|
323
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
324
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
325
335
|
# Contrib specs
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
336
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
337
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
338
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
339
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
340
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
341
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
342
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
343
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
344
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
345
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
346
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
347
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
348
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
349
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
350
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
351
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
352
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
353
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
354
|
+
declare 'bundle exec appraisal contrib rake spec:kafka'
|
355
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
356
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
357
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
358
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
359
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
360
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
361
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
362
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
363
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
364
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
365
|
+
declare 'bundle exec appraisal contrib rake spec:rspec'
|
366
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
367
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
368
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
369
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
370
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
371
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
372
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
359
373
|
# Rails minitests
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
374
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
375
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
376
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
377
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
378
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
379
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
380
|
+
declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
|
381
|
+
declare 'bundle exec appraisal rails4-postgres rake test:rails'
|
382
|
+
declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
|
383
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
|
384
|
+
declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
|
385
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
386
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
387
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
388
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
389
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
390
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
377
391
|
# Rails specs
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
392
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
393
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
394
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
395
|
+
declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
|
396
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:rails'
|
397
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
398
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
385
399
|
end
|
386
400
|
elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
|
387
401
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4.0')
|
388
402
|
# Main library
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
# Benchmarks
|
394
|
-
sh 'bundle exec rake spec:benchmark'
|
403
|
+
declare 'bundle exec rake test:main'
|
404
|
+
declare 'bundle exec rake spec:main'
|
405
|
+
declare 'bundle exec rake spec:contrib'
|
406
|
+
declare 'bundle exec rake spec:opentracer'
|
395
407
|
|
396
408
|
if RUBY_PLATFORM != 'java'
|
397
409
|
# Contrib minitests
|
398
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
399
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
400
410
|
# Contrib specs
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
411
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
412
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
413
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
414
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
415
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
416
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
417
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
418
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
419
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
420
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
421
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
422
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
423
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
424
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
425
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
426
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
427
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
428
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
429
|
+
declare 'bundle exec appraisal contrib rake spec:kafka'
|
430
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
431
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
432
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
433
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
434
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
435
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
436
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
437
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
438
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
439
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
440
|
+
declare 'bundle exec appraisal contrib rake spec:rspec'
|
441
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
442
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
443
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
444
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
445
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
446
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
447
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
434
448
|
# Contrib specs with old gem versions
|
435
|
-
|
449
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
436
450
|
# Rails minitests
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
451
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
452
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
453
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
454
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
455
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
456
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
457
|
+
declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
|
458
|
+
declare 'bundle exec appraisal rails4-postgres rake test:rails'
|
459
|
+
declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
|
460
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
|
461
|
+
declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
|
462
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
463
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
464
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
465
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
466
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
467
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
454
468
|
# Rails specs
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
469
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
470
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
471
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
472
|
+
declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
|
473
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:rails'
|
474
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
475
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
476
|
+
|
477
|
+
# explicitly test resque-2x compatability
|
478
|
+
declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
|
479
|
+
declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
|
462
480
|
end
|
463
481
|
elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
|
464
482
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
|
465
483
|
# Main library
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
# Benchmarks
|
472
|
-
sh 'bundle exec rake spec:benchmark'
|
484
|
+
declare 'bundle exec rake test:main'
|
485
|
+
declare 'bundle exec rake spec:main'
|
486
|
+
declare 'bundle exec rake spec:contrib'
|
487
|
+
declare 'bundle exec rake spec:opentracer'
|
488
|
+
declare 'bundle exec rake spec:opentelemetry'
|
473
489
|
|
474
490
|
if RUBY_PLATFORM != 'java'
|
475
|
-
# Benchmarks
|
476
|
-
sh 'bundle exec rake benchmark'
|
477
491
|
# Contrib minitests
|
478
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
479
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
480
492
|
# Contrib specs
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
493
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
494
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
495
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
496
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
497
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
498
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
499
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
500
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
501
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
502
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
503
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
504
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
505
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
506
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
507
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
508
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
509
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
510
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
511
|
+
declare 'bundle exec appraisal contrib rake spec:kafka'
|
512
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
513
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
514
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
515
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
516
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
517
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
518
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
519
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
520
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
521
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
522
|
+
declare 'bundle exec appraisal contrib rake spec:rspec'
|
523
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
524
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
525
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
526
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
527
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
528
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
529
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
514
530
|
# Contrib specs with old gem versions
|
515
|
-
|
531
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
516
532
|
# Rails minitests
|
517
533
|
# We only test Rails 5+ because older versions require Bundler < 2.0
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
534
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
535
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
536
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
537
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
538
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
539
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
524
540
|
# Rails specs
|
525
|
-
|
526
|
-
|
541
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
542
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
543
|
+
|
544
|
+
# explicitly test resque-2x compatability
|
545
|
+
declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
|
546
|
+
declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
|
547
|
+
|
548
|
+
# explicitly test cucumber compatibility
|
549
|
+
declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
|
550
|
+
declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
|
527
551
|
end
|
528
552
|
elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
|
529
553
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
|
530
554
|
# Main library
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
#
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
555
|
+
declare 'bundle exec rake test:main'
|
556
|
+
declare 'bundle exec rake spec:main'
|
557
|
+
declare 'bundle exec rake spec:contrib'
|
558
|
+
declare 'bundle exec rake spec:opentracer'
|
559
|
+
declare 'bundle exec rake spec:opentelemetry'
|
560
|
+
# Contrib minitests
|
561
|
+
# Contrib specs
|
562
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
563
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
564
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
565
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
566
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
567
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
568
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
569
|
+
declare 'bundle exec appraisal contrib rake spec:cucumber'
|
570
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
571
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
572
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
573
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
574
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
575
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
576
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
577
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
578
|
+
declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
|
579
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
580
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
581
|
+
declare 'bundle exec appraisal contrib rake spec:kafka'
|
582
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
583
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
|
584
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
585
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
586
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
587
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
588
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
589
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
590
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
591
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
592
|
+
declare 'bundle exec appraisal contrib rake spec:rspec'
|
593
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
594
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
595
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
596
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
597
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
598
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
599
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
600
|
+
# Contrib specs with old gem versions
|
601
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
602
|
+
# Rails minitests
|
603
|
+
# We only test Rails 5+ because older versions require Bundler < 2.0
|
604
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
605
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
606
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
607
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
608
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
609
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
610
|
+
declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
611
|
+
declare 'bundle exec appraisal rails6-postgres rake test:rails'
|
612
|
+
declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
613
|
+
declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
614
|
+
declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
615
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
616
|
+
# Rails specs
|
617
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
|
618
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
619
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
620
|
+
# declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
|
621
|
+
declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
622
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:rails'
|
623
|
+
|
624
|
+
# explicitly test resque-2x compatability
|
625
|
+
declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
|
626
|
+
declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
|
627
|
+
|
628
|
+
# explicitly test cucumber compatibility
|
629
|
+
declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
|
630
|
+
declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
|
631
|
+
declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
|
603
632
|
elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
|
604
633
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
|
605
634
|
# Main library
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
# Benchmarks
|
612
|
-
sh 'bundle exec rake spec:benchmark'
|
635
|
+
declare 'bundle exec rake test:main'
|
636
|
+
declare 'bundle exec rake spec:main'
|
637
|
+
declare 'bundle exec rake spec:contrib'
|
638
|
+
declare 'bundle exec rake spec:opentracer'
|
639
|
+
declare 'bundle exec rake spec:opentelemetry'
|
613
640
|
|
614
641
|
if RUBY_PLATFORM != 'java'
|
615
|
-
# Benchmarks
|
616
|
-
sh 'bundle exec rake benchmark'
|
617
642
|
# Contrib minitests
|
618
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
619
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
620
643
|
# Contrib specs
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
644
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
645
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
646
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
647
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
648
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
649
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
650
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
651
|
+
declare 'bundle exec appraisal contrib rake spec:cucumber'
|
652
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
653
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
654
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
655
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
656
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
657
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
658
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
659
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
660
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
661
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
662
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
663
|
+
declare 'bundle exec appraisal contrib rake spec:kafka'
|
664
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
665
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
666
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
667
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
668
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
669
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
670
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
671
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
672
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
673
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
674
|
+
declare 'bundle exec appraisal contrib rake spec:rspec'
|
675
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
676
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
677
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
678
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
679
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
680
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
681
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
654
682
|
# Contrib specs with old gem versions
|
655
|
-
|
683
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
656
684
|
# Rails minitests
|
657
685
|
# We only test Rails 5+ because older versions require Bundler < 2.0
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
686
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
687
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
688
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
689
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
690
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
691
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
692
|
+
declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
693
|
+
declare 'bundle exec appraisal rails6-postgres rake test:rails'
|
694
|
+
declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
695
|
+
declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
696
|
+
declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
697
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
670
698
|
# Rails specs
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
#
|
675
|
-
|
676
|
-
|
699
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
|
700
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
701
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
702
|
+
# declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
|
703
|
+
declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
704
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:rails'
|
705
|
+
|
706
|
+
# explicitly test resque-2x compatability
|
707
|
+
declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
|
708
|
+
declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
|
709
|
+
|
710
|
+
# explicitly test cucumber compatibility
|
711
|
+
declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
|
712
|
+
declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
|
713
|
+
declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
|
677
714
|
end
|
678
715
|
elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
|
679
716
|
# Main library
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
# Benchmarks
|
686
|
-
sh 'bundle exec rake spec:benchmark'
|
717
|
+
declare 'bundle exec rake test:main'
|
718
|
+
declare 'bundle exec rake spec:main'
|
719
|
+
declare 'bundle exec rake spec:contrib'
|
720
|
+
declare 'bundle exec rake spec:opentracer'
|
721
|
+
declare 'bundle exec rake spec:opentelemetry'
|
687
722
|
|
688
723
|
if RUBY_PLATFORM != 'java'
|
689
|
-
# Benchmarks
|
690
|
-
sh 'bundle exec rake benchmark'
|
691
724
|
# Contrib minitests
|
692
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
693
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
694
725
|
# Contrib specs
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
726
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
727
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
728
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
729
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
730
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
731
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
732
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
733
|
+
declare 'bundle exec appraisal contrib rake spec:cucumber'
|
734
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
735
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
736
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
737
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
738
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
739
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
740
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
741
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
742
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
743
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
744
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
745
|
+
declare 'bundle exec appraisal contrib rake spec:kafka'
|
746
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
747
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
748
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
749
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
750
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
751
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
752
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
753
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
754
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
755
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
756
|
+
declare 'bundle exec appraisal contrib rake spec:rspec'
|
757
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
758
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
759
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
760
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
761
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
762
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
763
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
728
764
|
# Contrib specs with old gem versions
|
729
|
-
|
765
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
730
766
|
# Rails minitests
|
731
767
|
# We only test Rails 5+ because older versions require Bundler < 2.0
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
768
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
769
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
770
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
771
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
772
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
773
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
774
|
+
declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
775
|
+
declare 'bundle exec appraisal rails6-postgres rake test:rails'
|
776
|
+
declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
777
|
+
declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
778
|
+
declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
779
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
744
780
|
# Rails specs
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
781
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
782
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
783
|
+
declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
784
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:rails'
|
785
|
+
|
786
|
+
# explicitly test resque-2x compatability
|
787
|
+
declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
|
788
|
+
declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
|
789
|
+
|
790
|
+
# explicitly test cucumber compatibility
|
791
|
+
declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
|
792
|
+
declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
|
793
|
+
declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
|
794
|
+
end
|
795
|
+
end
|
796
|
+
end
|
797
|
+
|
798
|
+
namespace :coverage do
|
799
|
+
# Generates one global report for all tracer tests
|
800
|
+
task :report do
|
801
|
+
require 'simplecov'
|
802
|
+
|
803
|
+
resultset_files = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/.resultset.json"] +
|
804
|
+
Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/**/.resultset.json"]
|
805
|
+
|
806
|
+
SimpleCov.collate resultset_files do
|
807
|
+
coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report"
|
808
|
+
formatter SimpleCov::Formatter::HTMLFormatter
|
809
|
+
end
|
810
|
+
end
|
811
|
+
|
812
|
+
# Generates one report for each Ruby version
|
813
|
+
task :report_per_ruby_version do
|
814
|
+
require 'simplecov'
|
815
|
+
|
816
|
+
versions = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/*"].map { |f| File.basename(f) }
|
817
|
+
versions.map do |version|
|
818
|
+
puts "Generating report for: #{version}"
|
819
|
+
SimpleCov.collate Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/#{version}/**/.resultset.json"] do
|
820
|
+
coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report/versions/#{version}"
|
821
|
+
formatter SimpleCov::Formatter::HTMLFormatter
|
822
|
+
end
|
749
823
|
end
|
750
824
|
end
|
751
825
|
end
|