ddtrace 0.35.2 → 0.40.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +59 -1
- data/.gitignore +2 -0
- data/.gitlab-ci.yml +27 -0
- data/.rubocop.yml +4 -0
- data/.simplecov +38 -0
- data/Appraisals +139 -12
- data/CHANGELOG.md +185 -1
- data/Rakefile +524 -464
- data/ddtrace.gemspec +6 -0
- data/docker-compose.yml +37 -2
- data/docs/DevelopmentGuide.md +16 -0
- data/docs/GettingStarted.md +192 -111
- data/lib/ddtrace.rb +4 -0
- data/lib/ddtrace/configuration.rb +36 -5
- data/lib/ddtrace/configuration/components.rb +4 -7
- data/lib/ddtrace/configuration/pin_setup.rb +3 -2
- data/lib/ddtrace/configuration/settings.rb +27 -3
- 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/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -1
- data/lib/ddtrace/contrib/active_support/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_support/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_support/notifications/event.rb +3 -1
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +1 -1
- data/lib/ddtrace/contrib/aws/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/aws/ext.rb +5 -2
- data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +5 -0
- data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +9 -3
- data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
- data/lib/ddtrace/contrib/configuration/settings.rb +19 -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/patcher.rb +1 -5
- data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/delayed_job/ext.rb +5 -2
- 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 +1 -2
- data/lib/ddtrace/contrib/ethon/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/ethon/ext.rb +5 -2
- data/lib/ddtrace/contrib/excon/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/excon/ext.rb +5 -2
- data/lib/ddtrace/contrib/extensions.rb +39 -5
- 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 +5 -3
- data/lib/ddtrace/contrib/faraday/patcher.rb +13 -5
- data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -3
- data/lib/ddtrace/contrib/grape/ext.rb +5 -2
- data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
- data/lib/ddtrace/contrib/graphql/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/graphql/ext.rb +5 -2
- data/lib/ddtrace/contrib/graphql/patcher.rb +6 -3
- data/lib/ddtrace/contrib/grpc/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +1 -1
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -3
- data/lib/ddtrace/contrib/grpc/ext.rb +5 -2
- data/lib/ddtrace/contrib/grpc/patcher.rb +1 -5
- 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 +12 -7
- data/lib/ddtrace/contrib/httprb/configuration/settings.rb +32 -0
- data/lib/ddtrace/contrib/httprb/ext.rb +17 -0
- data/lib/ddtrace/contrib/httprb/instrumentation.rb +160 -0
- data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
- data/lib/ddtrace/contrib/httprb/patcher.rb +35 -0
- data/lib/ddtrace/contrib/kafka/configuration/settings.rb +30 -0
- data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
- data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
- data/lib/ddtrace/contrib/kafka/event.rb +51 -0
- data/lib/ddtrace/contrib/kafka/events.rb +44 -0
- data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
- data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
- data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
- data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
- data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
- data/lib/ddtrace/contrib/kafka/ext.rb +41 -0
- data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
- data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
- data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/mongodb/ext.rb +5 -2
- data/lib/ddtrace/contrib/mongodb/instrumentation.rb +1 -2
- 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 +1 -1
- data/lib/ddtrace/contrib/patcher.rb +14 -8
- data/lib/ddtrace/contrib/presto/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/presto/ext.rb +5 -2
- data/lib/ddtrace/contrib/que/configuration/settings.rb +42 -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 +56 -0
- data/lib/ddtrace/contrib/racecar/configuration/settings.rb +7 -2
- 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 +17 -12
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +10 -11
- data/lib/ddtrace/contrib/rails/ext.rb +6 -2
- data/lib/ddtrace/contrib/rails/framework.rb +52 -46
- data/lib/ddtrace/contrib/rails/integration.rb +1 -1
- 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 +15 -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/patcher.rb +1 -1
- data/lib/ddtrace/contrib/resque/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/resque/ext.rb +5 -2
- 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 +2 -2
- data/lib/ddtrace/contrib/sequel/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sequel/database.rb +1 -1
- data/lib/ddtrace/contrib/sequel/ext.rb +5 -2
- data/lib/ddtrace/contrib/sequel/utils.rb +19 -1
- data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/shoryuken/ext.rb +5 -2
- data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sidekiq/ext.rb +6 -2
- data/lib/ddtrace/contrib/sidekiq/patcher.rb +8 -1
- data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +1 -0
- 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 +32 -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 +58 -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/contrib/sucker_punch/patcher.rb +1 -1
- data/lib/ddtrace/diagnostics/environment_logger.rb +278 -0
- data/lib/ddtrace/environment.rb +17 -3
- data/lib/ddtrace/ext/diagnostics.rb +3 -0
- data/lib/ddtrace/ext/environment.rb +2 -0
- data/lib/ddtrace/ext/transport.rb +1 -0
- data/lib/ddtrace/logger.rb +1 -1
- data/lib/ddtrace/pin.rb +39 -15
- data/lib/ddtrace/pipeline/span_filter.rb +15 -15
- data/lib/ddtrace/runtime/metrics.rb +18 -4
- data/lib/ddtrace/sampler.rb +2 -0
- data/lib/ddtrace/span.rb +10 -0
- data/lib/ddtrace/tracer.rb +15 -8
- data/lib/ddtrace/transport/http.rb +15 -0
- data/lib/ddtrace/transport/http/adapters/net.rb +8 -0
- data/lib/ddtrace/transport/http/adapters/test.rb +6 -0
- data/lib/ddtrace/transport/http/adapters/unix_socket.rb +4 -0
- data/lib/ddtrace/transport/response.rb +11 -0
- data/lib/ddtrace/version.rb +2 -2
- data/lib/ddtrace/workers/async.rb +2 -2
- data/lib/ddtrace/workers/loop.rb +1 -1
- data/lib/ddtrace/workers/polling.rb +1 -1
- data/lib/ddtrace/workers/trace_writer.rb +3 -0
- data/lib/ddtrace/writer.rb +33 -12
- metadata +124 -4
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,185 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## [0.40.0] - 2020-09-08
|
6
|
+
|
7
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.40.0
|
8
|
+
|
9
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0
|
10
|
+
|
11
|
+
### Added
|
12
|
+
|
13
|
+
- Rails `log_injection` option to auto enable log correlation (#1157)
|
14
|
+
- Que integration (#1141, #1146) (@hs-bguven)
|
15
|
+
- `Components#startup!` hook (#1151)
|
16
|
+
- Code coverage report (#1159)
|
17
|
+
- 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`.
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
- Use a single top level span for Racecar consumers (#1150) (@dasch)
|
22
|
+
|
23
|
+
### Fixed
|
24
|
+
|
25
|
+
- Sinatra nested modular applications possibly leaking spans (#1035, #1145)
|
26
|
+
|
27
|
+
* **BREAKING** for nested modular Sinatra applications only:
|
28
|
+
```ruby
|
29
|
+
class Nested < Sinatra::Base
|
30
|
+
end
|
31
|
+
|
32
|
+
class TopLevel < Sinatra::Base
|
33
|
+
use Nested # Nesting happens here
|
34
|
+
end
|
35
|
+
```
|
36
|
+
* Non-breaking for classic applications nor modular non-nested applications.
|
37
|
+
|
38
|
+
Fixes issues introduced by #1015 (in 0.35.0), when we first introduced Sinatra support for modular applications.
|
39
|
+
|
40
|
+
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.
|
41
|
+
|
42
|
+
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.
|
43
|
+
|
44
|
+
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.
|
45
|
+
|
46
|
+
Please see #1145 for more information, and example screenshots on how traces for affected applications will look like.
|
47
|
+
|
48
|
+
- Rack/Rails span error propagation with `rescue_from` (#1155, #1162)
|
49
|
+
- Prevent logger recursion during startup (#1158)
|
50
|
+
- Race condition on new worker classes (#1154)
|
51
|
+
- These classes represent future work, and not being used at the moment.
|
52
|
+
|
53
|
+
### Refactored
|
54
|
+
|
55
|
+
- Run CI tests in parallel (#1156)
|
56
|
+
- Migrate minitest tests to RSpec (#1127, #1128, #1133, #1149, #1152, #1153)
|
57
|
+
- Improvements to test suite (#1134, #1148, #1163)
|
58
|
+
- Improvements to documentation (#1138)
|
59
|
+
|
60
|
+
### Removed
|
61
|
+
|
62
|
+
- **Ruby 1.9 support ended, as it transitions from Maintenance to End-Of-Life (#1137)**
|
63
|
+
- GitLab status check when not applicable (#1160)
|
64
|
+
- 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.
|
65
|
+
|
66
|
+
## [0.39.0] - 2020-08-05
|
67
|
+
|
68
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.39.0
|
69
|
+
|
70
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
|
71
|
+
|
72
|
+
### Added
|
73
|
+
|
74
|
+
- JRuby 9.2 support (#1126)
|
75
|
+
- Sneakers integration (#1121) (@janz93)
|
76
|
+
|
77
|
+
### Changed
|
78
|
+
|
79
|
+
- Consistent environment variables across languages (#1115)
|
80
|
+
- Default logger level from WARN to INFO (#1120) (@gingerlime)
|
81
|
+
- This change also reduces the startup environment log message to INFO level (#1104)
|
82
|
+
|
83
|
+
### Fixed
|
84
|
+
|
85
|
+
- HTTP::StateError on error responses for http.rb (#1116, #1122) (@evan-waters)
|
86
|
+
- Startup log error when using the test adapter (#1125, #1131) (@benhutton)
|
87
|
+
- Warning message for Faraday < 1.0 (#1129) (@fledman, @tjwp)
|
88
|
+
- Propagate Rails error message to Rack span (#1124)
|
89
|
+
|
90
|
+
### Refactored
|
91
|
+
|
92
|
+
- Improved ActiveRecord documentation (#1119)
|
93
|
+
- Improvements to test suite (#1105, #1118)
|
94
|
+
|
95
|
+
## [0.38.0] - 2020-07-13
|
96
|
+
|
97
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.38.0
|
98
|
+
|
99
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0
|
100
|
+
|
101
|
+
### Added
|
102
|
+
|
103
|
+
- http.rb integration (#529, #853)
|
104
|
+
- Kafka integration (#1070) (@tjwp)
|
105
|
+
- Span#set_tags (#1081) (@DocX)
|
106
|
+
- retry_count tag for Sidekiq jobs (#1089) (@elyalvarado)
|
107
|
+
- Startup environment log (#1104, #1109)
|
108
|
+
- DD_SITE and DD_API_KEY configuration (#1107)
|
109
|
+
|
110
|
+
### Changed
|
111
|
+
|
112
|
+
- Auto instrument Faraday default connection (#1057)
|
113
|
+
- Sidekiq client middleware is now the same for client and server (#1099) (@drcapulet)
|
114
|
+
- Single pass SpanFilter (#1071) (@tjwp)
|
115
|
+
|
116
|
+
### Fixed
|
117
|
+
|
118
|
+
- Ensure fatal exceptions are propagated (#1100)
|
119
|
+
- Respect child_of: option in Tracer#trace (#1082) (@DocX)
|
120
|
+
- Improve Writer thread safety (#1091) (@fledman)
|
121
|
+
|
122
|
+
### Refactored
|
123
|
+
|
124
|
+
- Improvements to test suite (#1092, #1103)
|
125
|
+
|
126
|
+
## [0.37.0] - 2020-06-24
|
127
|
+
|
128
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.37.0
|
129
|
+
|
130
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0
|
131
|
+
|
132
|
+
### Refactored
|
133
|
+
|
134
|
+
- Documentation improvements regarding Datadog Agent defaults (#1074) (@cswatt)
|
135
|
+
- Improvements to test suite (#1043, #1051, #1062, #1075, #1076, #1086)
|
136
|
+
|
137
|
+
### Removed
|
138
|
+
|
139
|
+
- **DEPRECATION**: Deprecate Contrib::Configuration::Settings#tracer= (#1072, #1079)
|
140
|
+
- The `tracer:` option is no longer supported for integration configuration. A deprecation warning will be issued when this option is used.
|
141
|
+
- Tracer instances are dynamically created when `ddtrace` is reconfigured (through `Datadog.configure{}` calls).
|
142
|
+
|
143
|
+
A reference to a tracer instance cannot be stored as it will be replaced by a new instance during reconfiguration.
|
144
|
+
|
145
|
+
Retrieving the global tracer instance, by invoking `Datadog.tracer`, is the only safe mechanism to acquire the active tracer instance.
|
146
|
+
|
147
|
+
Allowing an integration to set its tracer instance is effectively preventing that integration from dynamically retrieving the current active tracer in the future, thus causing it to record spans in a stale tracer instance. Spans recorded in a stale tracer instance will look disconnected from their parent context.
|
148
|
+
|
149
|
+
- **BREAKING**: Remove Pin#tracer= and DeprecatedPin#tracer= (#1073)
|
150
|
+
- The `Pin` and `DeprecatedPin` are internal tools used to provide more granular configuration for integrations.
|
151
|
+
- The APIs being removed are not public nor have been externally documented. The `DeprecatedPin` specifically has been considered deprecated since 0.20.0.
|
152
|
+
- This removal is a continuation of #1079 above, thus carrying the same rationale.
|
153
|
+
|
154
|
+
### Migration
|
155
|
+
|
156
|
+
- Remove `tracer` argument provided to integrations (e.g. `c.use :rails, tracer: ...`).
|
157
|
+
- Remove `tracer` argument provided to `Pin` or `DeprecatedPin` initializers (e.g. `Pin.new(service, tracer: ...)`).
|
158
|
+
- If you require a custom tracer instance, use a global instance configuration:
|
159
|
+
```ruby
|
160
|
+
Datadog.configure do |c|
|
161
|
+
c.tracer.instance = custom_tracer
|
162
|
+
end
|
163
|
+
```
|
164
|
+
|
165
|
+
## [0.36.0] - 2020-05-27
|
166
|
+
|
167
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.36.0
|
168
|
+
|
169
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0
|
170
|
+
|
171
|
+
### Changed
|
172
|
+
|
173
|
+
- Prevent trace components from being re-initialized multiple times during setup (#1037)
|
174
|
+
|
175
|
+
### Fixed
|
176
|
+
|
177
|
+
- Allow Rails patching if Railties are loaded (#993, #1054) (@mustela, @bheemreddy181, @vramaiah)
|
178
|
+
- Pin delegates to default tracer unless configured (#1041)
|
179
|
+
|
180
|
+
### Refactored
|
181
|
+
|
182
|
+
- Improvements to test suite (#1027, #1031, #1045, #1046, #1047)
|
183
|
+
|
5
184
|
## [0.35.2] - 2020-05-08
|
6
185
|
|
7
186
|
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.2
|
@@ -1216,7 +1395,12 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
1216
1395
|
|
1217
1396
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
1218
1397
|
|
1219
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.
|
1398
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...master
|
1399
|
+
[0.40.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0
|
1400
|
+
[0.39.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
|
1401
|
+
[0.38.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0
|
1402
|
+
[0.37.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0
|
1403
|
+
[0.36.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0
|
1220
1404
|
[0.35.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2
|
1221
1405
|
[0.35.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.0...v0.35.1
|
1222
1406
|
[0.35.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.34.2...v0.35.0
|
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ Dir.glob('tasks/*.rake').each { |r| import r }
|
|
11
11
|
desc 'Run RSpec'
|
12
12
|
# rubocop:disable Metrics/BlockLength
|
13
13
|
namespace :spec do
|
14
|
-
task all: [:main,
|
14
|
+
task all: [:main, :benchmark,
|
15
15
|
:rails, :railsredis, :railsactivejob,
|
16
16
|
:elasticsearch, :http, :redis, :sidekiq, :sinatra]
|
17
17
|
|
@@ -21,6 +21,11 @@ namespace :spec do
|
|
21
21
|
t.rspec_opts = args.to_a.join(' ')
|
22
22
|
end
|
23
23
|
|
24
|
+
RSpec::Core::RakeTask.new(:benchmark) do |t, args|
|
25
|
+
t.pattern = 'spec/ddtrace/benchmark/**/*_spec.rb'
|
26
|
+
t.rspec_opts = args.to_a.join(' ')
|
27
|
+
end
|
28
|
+
|
24
29
|
RSpec::Core::RakeTask.new(:opentracer) do |t, args|
|
25
30
|
t.pattern = 'spec/ddtrace/opentracer/**/*_spec.rb'
|
26
31
|
t.rspec_opts = args.to_a.join(' ')
|
@@ -90,9 +95,12 @@ namespace :spec do
|
|
90
95
|
:graphql,
|
91
96
|
:grpc,
|
92
97
|
:http,
|
98
|
+
:httprb,
|
99
|
+
:kafka,
|
93
100
|
:mongodb,
|
94
101
|
:mysql2,
|
95
102
|
:presto,
|
103
|
+
:que,
|
96
104
|
:racecar,
|
97
105
|
:rack,
|
98
106
|
:rake,
|
@@ -103,6 +111,7 @@ namespace :spec do
|
|
103
111
|
:shoryuken,
|
104
112
|
:sidekiq,
|
105
113
|
:sinatra,
|
114
|
+
:sneakers,
|
106
115
|
:sucker_punch,
|
107
116
|
:suite
|
108
117
|
].each do |contrib|
|
@@ -116,7 +125,7 @@ end
|
|
116
125
|
namespace :test do
|
117
126
|
task all: [:main,
|
118
127
|
:rails,
|
119
|
-
:
|
128
|
+
:monkey]
|
120
129
|
|
121
130
|
Rake::TestTask.new(:main) do |t|
|
122
131
|
t.libs << %w[test lib]
|
@@ -134,9 +143,6 @@ namespace :test do
|
|
134
143
|
end
|
135
144
|
|
136
145
|
[
|
137
|
-
:grape,
|
138
|
-
:sidekiq,
|
139
|
-
:sucker_punch
|
140
146
|
].each do |contrib|
|
141
147
|
Rake::TestTask.new(contrib) do |t|
|
142
148
|
t.libs << %w[test lib]
|
@@ -178,6 +184,21 @@ task :'release:docs' => :docs do
|
|
178
184
|
sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
|
179
185
|
end
|
180
186
|
|
187
|
+
# Declare a command for execution.
|
188
|
+
# Jobs are parallelized if running in CI.
|
189
|
+
def declare(*args)
|
190
|
+
total_executors = ENV.key?('CIRCLE_NODE_TOTAL') ? ENV['CIRCLE_NODE_TOTAL'].to_i : nil
|
191
|
+
current_executor = ENV.key?('CIRCLE_NODE_INDEX') ? ENV['CIRCLE_NODE_INDEX'].to_i : nil
|
192
|
+
|
193
|
+
if total_executors && current_executor && total_executors > 1
|
194
|
+
@execution_count ||= 0
|
195
|
+
@execution_count += 1
|
196
|
+
sh(*args) if @execution_count % total_executors == current_executor
|
197
|
+
else
|
198
|
+
sh(*args)
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
181
202
|
desc 'CI task; it runs all tests for current version of Ruby'
|
182
203
|
task :ci do
|
183
204
|
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
|
@@ -185,545 +206,584 @@ task :ci do
|
|
185
206
|
elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
|
186
207
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
|
187
208
|
# Main library
|
188
|
-
|
189
|
-
|
190
|
-
|
209
|
+
declare 'bundle exec rake test:main'
|
210
|
+
declare 'bundle exec rake spec:main'
|
211
|
+
declare 'bundle exec rake spec:contrib'
|
212
|
+
# Benchmarks
|
213
|
+
declare 'bundle exec rake spec:benchmark'
|
191
214
|
|
192
215
|
if RUBY_PLATFORM != 'java'
|
193
216
|
# Contrib minitests
|
194
|
-
|
195
|
-
sh 'bundle exec appraisal contrib-old rake test:sidekiq'
|
196
|
-
sh 'bundle exec appraisal contrib-old rake test:sucker_punch'
|
217
|
+
declare 'bundle exec appraisal contrib-old rake test:monkey'
|
197
218
|
# Contrib specs
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
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:sequel'
|
240
|
+
declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
241
|
+
declare 'bundle exec appraisal contrib-old rake spec:sinatra'
|
242
|
+
declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
243
|
+
declare 'bundle exec appraisal contrib-old rake spec:suite'
|
222
244
|
# Rails minitests
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
245
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
246
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
247
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
248
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
249
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
250
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
229
251
|
# Rails specs
|
230
|
-
|
231
|
-
|
232
|
-
|
252
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
253
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
254
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
233
255
|
# Rails suite specs
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
256
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
|
257
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
|
258
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
|
259
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
|
238
260
|
end
|
239
261
|
elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
|
240
262
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
|
241
263
|
# Main library
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
264
|
+
declare 'bundle exec rake test:main'
|
265
|
+
declare 'bundle exec rake spec:main'
|
266
|
+
declare 'bundle exec rake spec:contrib'
|
267
|
+
declare 'bundle exec rake spec:opentracer'
|
268
|
+
# Benchmarks
|
269
|
+
declare 'bundle exec rake spec:benchmark'
|
246
270
|
|
247
271
|
if RUBY_PLATFORM != 'java'
|
248
272
|
# Contrib minitests
|
249
|
-
|
250
|
-
sh 'bundle exec appraisal contrib-old rake test:sidekiq'
|
251
|
-
sh 'bundle exec appraisal contrib-old rake test:sucker_punch'
|
273
|
+
declare 'bundle exec appraisal contrib-old rake test:monkey'
|
252
274
|
# Contrib specs
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
275
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
|
276
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_record'
|
277
|
+
declare 'bundle exec appraisal contrib-old rake spec:active_support'
|
278
|
+
declare 'bundle exec appraisal contrib-old rake spec:aws'
|
279
|
+
declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
|
280
|
+
declare 'bundle exec appraisal contrib-old rake spec:dalli'
|
281
|
+
declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
|
282
|
+
declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
|
283
|
+
declare 'bundle exec appraisal contrib-old rake spec:ethon'
|
284
|
+
declare 'bundle exec appraisal contrib-old rake spec:excon'
|
285
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
286
|
+
declare 'bundle exec appraisal contrib-old rake spec:http'
|
287
|
+
declare 'bundle exec appraisal contrib-old rake spec:httprb'
|
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:sequel'
|
297
|
+
declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
298
|
+
declare 'bundle exec appraisal contrib-old rake spec:sinatra'
|
299
|
+
declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
300
|
+
declare 'bundle exec appraisal contrib-old rake spec:suite'
|
278
301
|
# Rails minitests
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
302
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
303
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
304
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
305
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
306
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
307
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
308
|
+
declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
|
309
|
+
declare 'bundle exec appraisal rails4-postgres rake test:rails'
|
310
|
+
declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
|
311
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
|
289
312
|
# Rails specs
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
313
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
314
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
315
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
316
|
+
declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
|
317
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:rails'
|
295
318
|
# Rails suite specs
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
319
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
|
320
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
|
321
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
|
322
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
|
300
323
|
end
|
301
324
|
elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION)\
|
302
325
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
|
303
326
|
# Main library
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
327
|
+
declare 'bundle exec rake test:main'
|
328
|
+
declare 'bundle exec rake spec:main'
|
329
|
+
declare 'bundle exec rake spec:contrib'
|
330
|
+
declare 'bundle exec rake spec:opentracer'
|
331
|
+
# Benchmarks
|
332
|
+
declare 'bundle exec rake spec:benchmark'
|
308
333
|
|
309
334
|
if RUBY_PLATFORM != 'java'
|
310
335
|
# Contrib minitests
|
311
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
312
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
313
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
314
336
|
# Contrib specs
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
337
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
338
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
339
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
340
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
341
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
342
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
343
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
344
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
345
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
346
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
347
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
348
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
349
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
350
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
351
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
352
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
353
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
354
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
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:sequel'
|
366
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
367
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
368
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
369
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
370
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
371
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
347
372
|
# Rails minitests
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
373
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
374
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
375
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
376
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
377
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
378
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
379
|
+
declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
|
380
|
+
declare 'bundle exec appraisal rails4-postgres rake test:rails'
|
381
|
+
declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
|
382
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
|
383
|
+
declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
|
384
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
385
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
386
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
387
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
388
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
389
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
365
390
|
# Rails specs
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
391
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
392
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
393
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
394
|
+
declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
|
395
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:rails'
|
396
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
397
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
373
398
|
end
|
374
399
|
elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
|
375
400
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4.0')
|
376
401
|
# Main library
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
402
|
+
declare 'bundle exec rake test:main'
|
403
|
+
declare 'bundle exec rake spec:main'
|
404
|
+
declare 'bundle exec rake spec:contrib'
|
405
|
+
declare 'bundle exec rake spec:opentracer'
|
406
|
+
# Benchmarks
|
407
|
+
declare 'bundle exec rake spec:benchmark'
|
381
408
|
|
382
409
|
if RUBY_PLATFORM != 'java'
|
383
410
|
# Contrib minitests
|
384
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
385
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
386
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
387
411
|
# Contrib specs
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
412
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
413
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
414
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
415
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
416
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
417
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
418
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
419
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
420
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
421
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
422
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
423
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
424
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
425
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
426
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
427
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
428
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
429
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
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:sequel'
|
441
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
442
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
443
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
444
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
445
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
446
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
420
447
|
# Contrib specs with old gem versions
|
421
|
-
|
448
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
422
449
|
# Rails minitests
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
450
|
+
declare 'bundle exec appraisal rails30-postgres rake test:rails'
|
451
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
452
|
+
declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
|
453
|
+
declare 'bundle exec appraisal rails32-postgres rake test:rails'
|
454
|
+
declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
|
455
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
|
456
|
+
declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
|
457
|
+
declare 'bundle exec appraisal rails4-postgres rake test:rails'
|
458
|
+
declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
|
459
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
|
460
|
+
declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
|
461
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
462
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
463
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
464
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
465
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
466
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
440
467
|
# Rails specs
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
468
|
+
declare 'bundle exec appraisal rails30-postgres rake spec:rails'
|
469
|
+
declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
|
470
|
+
declare 'bundle exec appraisal rails32-postgres rake spec:rails'
|
471
|
+
declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
|
472
|
+
declare 'bundle exec appraisal rails4-postgres rake spec:rails'
|
473
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
474
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
448
475
|
end
|
449
476
|
elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
|
450
477
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
|
451
478
|
# Main library
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
479
|
+
declare 'bundle exec rake test:main'
|
480
|
+
declare 'bundle exec rake spec:main'
|
481
|
+
declare 'bundle exec rake spec:contrib'
|
482
|
+
declare 'bundle exec rake spec:opentracer'
|
483
|
+
declare 'bundle exec rake spec:opentelemetry'
|
484
|
+
# Benchmarks
|
485
|
+
declare 'bundle exec rake spec:benchmark'
|
457
486
|
|
458
487
|
if RUBY_PLATFORM != 'java'
|
459
488
|
# Benchmarks
|
460
|
-
|
489
|
+
declare 'bundle exec rake benchmark'
|
461
490
|
# Contrib minitests
|
462
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
463
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
464
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
465
491
|
# Contrib specs
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
492
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
493
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
494
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
495
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
496
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
497
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
498
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
499
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
500
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
501
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
502
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
503
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
504
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
505
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
506
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
507
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
508
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
509
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
510
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
511
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
512
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
513
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
514
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
515
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
516
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
517
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
518
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
519
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
520
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
521
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
522
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
523
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
524
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
525
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
526
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
498
527
|
# Contrib specs with old gem versions
|
499
|
-
|
528
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
500
529
|
# Rails minitests
|
501
530
|
# We only test Rails 5+ because older versions require Bundler < 2.0
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
531
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
532
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
533
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
534
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
535
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
536
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
508
537
|
# Rails specs
|
509
|
-
|
510
|
-
|
538
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
539
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
511
540
|
end
|
512
541
|
elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
|
513
542
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
|
514
543
|
# Main library
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
if RUBY_PLATFORM != 'java'
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
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
|
-
sh 'bundle exec appraisal rails6-postgres rake spec:rails'
|
584
|
-
end
|
544
|
+
declare 'bundle exec rake test:main'
|
545
|
+
declare 'bundle exec rake spec:main'
|
546
|
+
declare 'bundle exec rake spec:contrib'
|
547
|
+
declare 'bundle exec rake spec:opentracer'
|
548
|
+
declare 'bundle exec rake spec:opentelemetry'
|
549
|
+
# Benchmarks
|
550
|
+
declare 'bundle exec rake spec:benchmark' if RUBY_PLATFORM != 'java' # Too slow due to repeated JVM instantiation
|
551
|
+
declare 'bundle exec rake benchmark'
|
552
|
+
# Contrib minitests
|
553
|
+
# Contrib specs
|
554
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
555
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
556
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
557
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
558
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
559
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
560
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
561
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
562
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
563
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
564
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
565
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
566
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
567
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
568
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
569
|
+
declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
|
570
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
571
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
572
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
573
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
|
574
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
575
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
576
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
577
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
578
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
579
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
580
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
581
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
582
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
583
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
584
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
585
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
586
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
587
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
588
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
589
|
+
# Contrib specs with old gem versions
|
590
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
591
|
+
# Rails minitests
|
592
|
+
# We only test Rails 5+ because older versions require Bundler < 2.0
|
593
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
594
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
595
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
596
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
597
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
598
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
599
|
+
declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
600
|
+
declare 'bundle exec appraisal rails6-postgres rake test:rails'
|
601
|
+
declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
602
|
+
declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
603
|
+
declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
604
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
605
|
+
# Rails specs
|
606
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
|
607
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
608
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
609
|
+
# declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
|
610
|
+
declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
611
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:rails'
|
585
612
|
elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
|
586
613
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
|
587
614
|
# Main library
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
615
|
+
declare 'bundle exec rake test:main'
|
616
|
+
declare 'bundle exec rake spec:main'
|
617
|
+
declare 'bundle exec rake spec:contrib'
|
618
|
+
declare 'bundle exec rake spec:opentracer'
|
619
|
+
declare 'bundle exec rake spec:opentelemetry'
|
620
|
+
# Benchmarks
|
621
|
+
declare 'bundle exec rake spec:benchmark'
|
593
622
|
|
594
623
|
if RUBY_PLATFORM != 'java'
|
595
624
|
# Benchmarks
|
596
|
-
|
625
|
+
declare 'bundle exec rake benchmark'
|
597
626
|
# Contrib minitests
|
598
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
599
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
600
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
601
627
|
# Contrib specs
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
628
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
629
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
630
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
631
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
632
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
633
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
634
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
635
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
636
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
637
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
638
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
639
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
640
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
641
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
642
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
643
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
644
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
645
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
646
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
647
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
648
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
649
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
650
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
651
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
652
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
653
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
654
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
655
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
656
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
657
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
658
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
659
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
660
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
661
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
662
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
634
663
|
# Contrib specs with old gem versions
|
635
|
-
|
664
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
636
665
|
# Rails minitests
|
637
666
|
# We only test Rails 5+ because older versions require Bundler < 2.0
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
667
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
668
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
669
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
670
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
671
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
672
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
673
|
+
declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
674
|
+
declare 'bundle exec appraisal rails6-postgres rake test:rails'
|
675
|
+
declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
676
|
+
declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
677
|
+
declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
678
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
650
679
|
# Rails specs
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
#
|
655
|
-
|
656
|
-
|
680
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
|
681
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
682
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
683
|
+
# declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
|
684
|
+
declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
685
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:rails'
|
657
686
|
end
|
658
687
|
elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
|
659
688
|
# Main library
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
689
|
+
declare 'bundle exec rake test:main'
|
690
|
+
declare 'bundle exec rake spec:main'
|
691
|
+
declare 'bundle exec rake spec:contrib'
|
692
|
+
declare 'bundle exec rake spec:opentracer'
|
693
|
+
declare 'bundle exec rake spec:opentelemetry'
|
694
|
+
# Benchmarks
|
695
|
+
declare 'bundle exec rake spec:benchmark'
|
665
696
|
|
666
697
|
if RUBY_PLATFORM != 'java'
|
667
698
|
# Benchmarks
|
668
|
-
|
699
|
+
declare 'bundle exec rake benchmark'
|
669
700
|
# Contrib minitests
|
670
|
-
sh 'bundle exec appraisal contrib rake test:grape'
|
671
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
672
|
-
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
673
701
|
# Contrib specs
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
702
|
+
declare 'bundle exec appraisal contrib rake spec:action_pack'
|
703
|
+
declare 'bundle exec appraisal contrib rake spec:action_view'
|
704
|
+
declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
705
|
+
declare 'bundle exec appraisal contrib rake spec:active_record'
|
706
|
+
declare 'bundle exec appraisal contrib rake spec:active_support'
|
707
|
+
declare 'bundle exec appraisal contrib rake spec:aws'
|
708
|
+
declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
709
|
+
declare 'bundle exec appraisal contrib rake spec:dalli'
|
710
|
+
declare 'bundle exec appraisal contrib rake spec:delayed_job'
|
711
|
+
declare 'bundle exec appraisal contrib rake spec:elasticsearch'
|
712
|
+
declare 'bundle exec appraisal contrib rake spec:ethon'
|
713
|
+
declare 'bundle exec appraisal contrib rake spec:excon'
|
714
|
+
declare 'bundle exec appraisal contrib rake spec:faraday'
|
715
|
+
declare 'bundle exec appraisal contrib rake spec:grape'
|
716
|
+
declare 'bundle exec appraisal contrib rake spec:graphql'
|
717
|
+
declare 'bundle exec appraisal contrib rake spec:grpc'
|
718
|
+
declare 'bundle exec appraisal contrib rake spec:http'
|
719
|
+
declare 'bundle exec appraisal contrib rake spec:httprb'
|
720
|
+
declare 'bundle exec appraisal contrib rake spec:mongodb'
|
721
|
+
declare 'bundle exec appraisal contrib rake spec:mysql2'
|
722
|
+
declare 'bundle exec appraisal contrib rake spec:presto'
|
723
|
+
declare 'bundle exec appraisal contrib rake spec:que'
|
724
|
+
declare 'bundle exec appraisal contrib rake spec:racecar'
|
725
|
+
declare 'bundle exec appraisal contrib rake spec:rack'
|
726
|
+
declare 'bundle exec appraisal contrib rake spec:rake'
|
727
|
+
declare 'bundle exec appraisal contrib rake spec:redis'
|
728
|
+
declare 'bundle exec appraisal contrib rake spec:resque'
|
729
|
+
declare 'bundle exec appraisal contrib rake spec:rest_client'
|
730
|
+
declare 'bundle exec appraisal contrib rake spec:sequel'
|
731
|
+
declare 'bundle exec appraisal contrib rake spec:shoryuken'
|
732
|
+
declare 'bundle exec appraisal contrib rake spec:sidekiq'
|
733
|
+
declare 'bundle exec appraisal contrib rake spec:sinatra'
|
734
|
+
declare 'bundle exec appraisal contrib rake spec:sneakers'
|
735
|
+
declare 'bundle exec appraisal contrib rake spec:sucker_punch'
|
736
|
+
declare 'bundle exec appraisal contrib rake spec:suite'
|
706
737
|
# Contrib specs with old gem versions
|
707
|
-
|
738
|
+
declare 'bundle exec appraisal contrib-old rake spec:faraday'
|
708
739
|
# Rails minitests
|
709
740
|
# We only test Rails 5+ because older versions require Bundler < 2.0
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
741
|
+
declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
742
|
+
declare 'bundle exec appraisal rails5-postgres rake test:rails'
|
743
|
+
declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
744
|
+
declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
745
|
+
declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
746
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
747
|
+
declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
748
|
+
declare 'bundle exec appraisal rails6-postgres rake test:rails'
|
749
|
+
declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
750
|
+
declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
751
|
+
declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
752
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
722
753
|
# Rails specs
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
754
|
+
declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
755
|
+
declare 'bundle exec appraisal rails5-postgres rake spec:rails'
|
756
|
+
declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
757
|
+
declare 'bundle exec appraisal rails6-postgres rake spec:rails'
|
758
|
+
end
|
759
|
+
end
|
760
|
+
end
|
761
|
+
|
762
|
+
namespace :coverage do
|
763
|
+
# Generates one global report for all tracer tests
|
764
|
+
task :report do
|
765
|
+
require 'simplecov'
|
766
|
+
|
767
|
+
resultset_files = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/.resultset.json"] +
|
768
|
+
Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/**/.resultset.json"]
|
769
|
+
|
770
|
+
SimpleCov.collate resultset_files do
|
771
|
+
coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report"
|
772
|
+
formatter SimpleCov::Formatter::HTMLFormatter
|
773
|
+
end
|
774
|
+
end
|
775
|
+
|
776
|
+
# Generates one report for each Ruby version
|
777
|
+
task :report_per_ruby_version do
|
778
|
+
require 'simplecov'
|
779
|
+
|
780
|
+
versions = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/*"].map { |f| File.basename(f) }
|
781
|
+
versions.map do |version|
|
782
|
+
puts "Generating report for: #{version}"
|
783
|
+
SimpleCov.collate Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/#{version}/**/.resultset.json"] do
|
784
|
+
coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report/versions/#{version}"
|
785
|
+
formatter SimpleCov::Formatter::HTMLFormatter
|
786
|
+
end
|
727
787
|
end
|
728
788
|
end
|
729
789
|
end
|