bugsnag 6.12.1 → 6.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +470 -0
  3. data/.rubocop.yml +55 -0
  4. data/.rubocop_todo.yml +530 -160
  5. data/CHANGELOG.md +73 -0
  6. data/CONTRIBUTING.md +1 -9
  7. data/Gemfile +14 -7
  8. data/TESTING.md +81 -0
  9. data/VERSION +1 -1
  10. data/docker-compose.yml +46 -0
  11. data/dockerfiles/Dockerfile.jruby-unit-tests +13 -0
  12. data/dockerfiles/Dockerfile.ruby-maze-runner +26 -0
  13. data/dockerfiles/Dockerfile.ruby-unit-tests +12 -0
  14. data/features/delayed_job.feature +6 -22
  15. data/features/fixtures/delayed_job/Dockerfile +2 -4
  16. data/features/fixtures/delayed_job/app/Gemfile +1 -1
  17. data/features/fixtures/delayed_job/app/Rakefile +18 -0
  18. data/features/fixtures/docker-compose.yml +32 -40
  19. data/features/fixtures/expected_breadcrumbs/active_job.json +9 -0
  20. data/features/fixtures/expected_breadcrumbs/mongo_failed.json +15 -0
  21. data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +15 -0
  22. data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +15 -0
  23. data/features/fixtures/expected_breadcrumbs/mongo_success.json +14 -0
  24. data/features/fixtures/expected_breadcrumbs/request.json +13 -0
  25. data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +12 -0
  26. data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +11 -0
  27. data/features/fixtures/plain/Dockerfile +2 -2
  28. data/features/fixtures/plain/app/app.rb +1 -3
  29. data/features/fixtures/plain/app/delivery/fork_threadpool.rb +3 -1
  30. data/features/fixtures/plain/app/report_modification/initiators/handled_on_error.rb +10 -0
  31. data/features/fixtures/plain/app/report_modification/initiators/unhandled_on_error.rb +11 -0
  32. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_on_error.rb +29 -0
  33. data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_on_error.rb +26 -0
  34. data/features/fixtures/plain/app/unhandled/{Interrupt.rb → interrupt.rb} +0 -0
  35. data/features/fixtures/rack1/Dockerfile +2 -2
  36. data/features/fixtures/rack2/Dockerfile +2 -2
  37. data/features/fixtures/rails3/Dockerfile +2 -2
  38. data/features/fixtures/rails3/app/Gemfile +4 -0
  39. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +11 -2
  40. data/features/fixtures/rails4/Dockerfile +2 -5
  41. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +10 -1
  42. data/features/fixtures/rails5/Dockerfile +2 -2
  43. data/features/fixtures/rails5/app/Gemfile +3 -2
  44. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +10 -1
  45. data/features/fixtures/rails6/Dockerfile +2 -2
  46. data/features/fixtures/rails6/app/Gemfile +3 -2
  47. data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +22 -0
  48. data/features/fixtures/rails6/app/app/models/mongo_model.rb +6 -0
  49. data/features/fixtures/rails6/app/config/environments/development.rb +2 -0
  50. data/features/fixtures/rails6/app/config/environments/production.rb +1 -0
  51. data/features/fixtures/rails6/app/config/environments/rails_env.rb +1 -0
  52. data/features/fixtures/rails6/app/config/environments/test.rb +1 -0
  53. data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +10 -1
  54. data/features/fixtures/rails6/app/config/mongoid.yml +23 -0
  55. data/features/fixtures/rails6/app/config/routes.rb +4 -0
  56. data/features/fixtures/resque/Dockerfile +2 -2
  57. data/features/fixtures/sidekiq/Dockerfile +5 -7
  58. data/features/fixtures/sidekiq/app/Gemfile +2 -1
  59. data/features/fixtures/sidekiq/app/Rakefile.rb +14 -0
  60. data/features/fixtures/sinatra1/Dockerfile +2 -2
  61. data/features/fixtures/sinatra2/Dockerfile +2 -2
  62. data/features/plain_features/add_tab.feature +30 -97
  63. data/features/plain_features/app_type.feature +6 -25
  64. data/features/plain_features/app_version.feature +6 -25
  65. data/features/plain_features/auto_notify.feature +4 -20
  66. data/features/plain_features/delivery.feature +12 -60
  67. data/features/plain_features/exception_data.feature +24 -94
  68. data/features/plain_features/filters.feature +9 -43
  69. data/features/plain_features/handled_errors.feature +16 -78
  70. data/features/plain_features/ignore_classes.feature +5 -23
  71. data/features/plain_features/ignore_report.feature +8 -24
  72. data/features/plain_features/proxies.feature +13 -56
  73. data/features/plain_features/release_stages.feature +9 -40
  74. data/features/plain_features/report_api_key.feature +11 -35
  75. data/features/plain_features/report_severity.feature +10 -35
  76. data/features/plain_features/report_stack_frames.feature +29 -93
  77. data/features/plain_features/report_user.feature +29 -96
  78. data/features/plain_features/unhandled_errors.feature +17 -88
  79. data/features/rails_features/api_key.feature +12 -58
  80. data/features/rails_features/app_type.feature +13 -58
  81. data/features/rails_features/app_version.feature +19 -80
  82. data/features/rails_features/auto_capture_sessions.feature +31 -112
  83. data/features/rails_features/auto_notify.feature +28 -105
  84. data/features/rails_features/before_notify.feature +18 -83
  85. data/features/rails_features/breadcrumbs.feature +40 -137
  86. data/features/rails_features/handled.feature +18 -82
  87. data/features/rails_features/ignore_classes.feature +12 -51
  88. data/features/rails_features/meta_data_filters.feature +9 -33
  89. data/features/rails_features/mongo_breadcrumbs.feature +22 -96
  90. data/features/rails_features/on_error.feature +29 -0
  91. data/features/rails_features/project_root.feature +19 -84
  92. data/features/rails_features/release_stage.feature +20 -82
  93. data/features/rails_features/send_code.feature +13 -55
  94. data/features/rails_features/send_environment.feature +7 -33
  95. data/features/rails_features/unhandled.feature +6 -31
  96. data/features/rails_features/user_info.feature +27 -65
  97. data/features/sidekiq.feature +12 -79
  98. data/features/steps/ruby_notifier_steps.rb +59 -15
  99. data/features/support/env.rb +12 -45
  100. data/lib/bugsnag.rb +109 -21
  101. data/lib/bugsnag/breadcrumbs/breadcrumbs.rb +0 -2
  102. data/lib/bugsnag/breadcrumbs/validator.rb +0 -6
  103. data/lib/bugsnag/cleaner.rb +129 -60
  104. data/lib/bugsnag/code_extractor.rb +137 -0
  105. data/lib/bugsnag/configuration.rb +58 -1
  106. data/lib/bugsnag/helpers.rb +2 -4
  107. data/lib/bugsnag/integrations/que.rb +7 -4
  108. data/lib/bugsnag/middleware/discard_error_class.rb +30 -0
  109. data/lib/bugsnag/middleware/exception_meta_data.rb +15 -9
  110. data/lib/bugsnag/middleware/ignore_error_class.rb +2 -0
  111. data/lib/bugsnag/middleware/rack_request.rb +2 -4
  112. data/lib/bugsnag/middleware_stack.rb +38 -3
  113. data/lib/bugsnag/on_error_callbacks.rb +33 -0
  114. data/lib/bugsnag/report.rb +4 -14
  115. data/lib/bugsnag/session_tracker.rb +3 -3
  116. data/lib/bugsnag/stacktrace.rb +28 -75
  117. data/spec/breadcrumbs/breadcrumb_spec.rb +1 -1
  118. data/spec/breadcrumbs/validator_spec.rb +1 -26
  119. data/spec/bugsnag_spec.rb +2 -2
  120. data/spec/cleaner_spec.rb +202 -10
  121. data/spec/code_extractor_spec.rb +129 -0
  122. data/spec/configuration_spec.rb +16 -1
  123. data/spec/fixtures/apps/rails-initializer-config/Gemfile +5 -1
  124. data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +5 -1
  125. data/spec/fixtures/apps/rails-no-config/Gemfile +5 -1
  126. data/spec/fixtures/crashes/file1.rb +29 -0
  127. data/spec/fixtures/crashes/file2.rb +25 -0
  128. data/spec/fixtures/crashes/file_with_long_lines.rb +7 -0
  129. data/spec/fixtures/crashes/functions.rb +29 -0
  130. data/spec/fixtures/crashes/short_file.rb +2 -0
  131. data/spec/helper_spec.rb +0 -31
  132. data/spec/integrations/logger_spec.rb +1 -1
  133. data/spec/integrations/rack_spec.rb +8 -6
  134. data/spec/integrations/rake_spec.rb +1 -1
  135. data/spec/on_error_spec.rb +332 -0
  136. data/spec/report_spec.rb +331 -30
  137. data/spec/spec_helper.rb +14 -1
  138. data/spec/stacktrace_spec.rb +427 -74
  139. metadata +36 -7
  140. data/.travis.yml +0 -117
  141. data/features/plain_features/api_key.feature +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3ce2f20307b3f7e0d7cd30f97014669b9a439badda047616f9026bac1481d2d
4
- data.tar.gz: 9b1ed81eec0448fc508b8680c2ee29a967bc3a0b25312c728f9ddaddefe93670
3
+ metadata.gz: 1a4f6c896c7046dba3d9db2adfa32e232232e3a7923cb9984321ee3a8b09b6e3
4
+ data.tar.gz: f6b27c0b50846c1a3e012bb80bccbe5ad6663257c8de4e300742e7af4b065b3f
5
5
  SHA512:
6
- metadata.gz: c5c6e00f784130d7cabc88425ec10093e6bc76cede790b8d7dc4b0fcc29f7abb173ec77abee3f5a4e142b43f341f2369e587162f57af18e7f6c2d8f128477284
7
- data.tar.gz: 66f6a5605ae938b90a3fbee1ec828810af3b5d119c1f0a8a4ffd25b602c108fccbb168c5b30deeab2200068042fec7a49cf23e7f6ce9bd7d2ddd1f5ad48ebf4c
6
+ metadata.gz: d51d64bbf0b2cc094742a8a207702e963c33eac9e18f58f2348f3d9e6475a1bd0c43dc44baf139bb976823bfabd8b3ff5bab261ae3dababd46f083b7539602f4
7
+ data.tar.gz: 3621690efd266608313b000f7acff6df354380457e9b78e448290573e97dd0b17beb68afa5efff96fdcc7b21b39d2d292fddc38082eae7bece24dd1f2d457f0d
@@ -0,0 +1,470 @@
1
+ steps:
2
+ - label: ':docker: Build CI image'
3
+ plugins:
4
+ - docker-compose#v3.1.0:
5
+ build: ruby-maze-runner
6
+ image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/ruby
7
+ cache-from: ruby-maze-runner:855461928731.dkr.ecr.us-west-1.amazonaws.com/ruby:base-ruby${BRANCH_NAME}
8
+ - docker-compose#v3.1.0:
9
+ push:
10
+ - ruby-maze-runner:855461928731.dkr.ecr.us-west-1.amazonaws.com/ruby:base-ruby${BRANCH_NAME}
11
+ - ruby-maze-runner:855461928731.dkr.ecr.us-west-1.amazonaws.com/ruby:base-ruby-latest
12
+
13
+ - wait
14
+
15
+ - label: ':ruby: Ruby 1.9.3 unit tests'
16
+ plugins:
17
+ docker-compose#v3.1.0:
18
+ run: ruby-unit-tests
19
+ use-aliases: true
20
+ env:
21
+ RUBY_TEST_VERSION: "1.9.3"
22
+
23
+ - label: ':ruby: Ruby 2.7 unit tests'
24
+ plugins:
25
+ docker-compose#v3.1.0:
26
+ run: ruby-unit-tests
27
+ use-aliases: true
28
+ env:
29
+ RUBY_TEST_VERSION: "2.7"
30
+ GEMSETS: "test sidekiq coverage"
31
+
32
+ - label: ':ruby: Ruby 2.7 linting'
33
+ plugins:
34
+ docker-compose#v3.1.0:
35
+ run: ruby-unit-tests
36
+ use-aliases: true
37
+ env:
38
+ RUBY_TEST_VERSION: "2.7"
39
+ GEMSETS: "test rubocop"
40
+ command: "bundle exec ./bin/rubocop lib/"
41
+
42
+ - label: ':ruby: Ruby 2.7 plain tests'
43
+ plugins:
44
+ docker-compose#v3.1.0:
45
+ run: ruby-maze-runner
46
+ use-aliases: true
47
+ command: ["features/plain_features/", "--tags", "not @wip"]
48
+ env:
49
+ RUBY_TEST_VERSION: "2.7"
50
+
51
+ - label: ':rails: Rails 6 Ruby 2.7 tests'
52
+ plugins:
53
+ docker-compose#v3.1.0:
54
+ run: ruby-maze-runner
55
+ use-aliases: true
56
+ command: ["features/rails_features/", "--tags", "@rails6 and not @wip"]
57
+ env:
58
+ RUBY_TEST_VERSION: "2.7"
59
+ RAILS_VERSION: "6"
60
+
61
+
62
+ - label: ':ruby: Delayed job tests'
63
+ plugins:
64
+ docker-compose#v3.1.0:
65
+ run: ruby-maze-runner
66
+ use-aliases: true
67
+ command: ["features/delayed_job.feature", "--tags", "not @wip"]
68
+ env:
69
+ RUBY_TEST_VERSION: "2.5"
70
+ concurrency: 8
71
+ concurrency_group: 'rails-tests'
72
+
73
+ - label: ':ruby: Sidekiq 5 tests'
74
+ plugins:
75
+ docker-compose#v3.1.0:
76
+ run: ruby-maze-runner
77
+ use-aliases: true
78
+ command: ["features/sidekiq.feature", "--tags", "not @wip"]
79
+ env:
80
+ RUBY_TEST_VERSION: "2.5"
81
+ SIDEKIQ_VERSION: "~> 5"
82
+
83
+ - block: "Trigger full test suite"
84
+
85
+ - label: ':ruby: JRuby unit tests'
86
+ plugins:
87
+ docker-compose#v3.1.0:
88
+ run: jruby-unit-tests
89
+ use-aliases: true
90
+ concurrency: 8
91
+ concurrency_group: 'rails-tests'
92
+
93
+ - label: ':ruby: Ruby 2.0 unit tests'
94
+ plugins:
95
+ docker-compose#v3.1.0:
96
+ run: ruby-unit-tests
97
+ use-aliases: true
98
+ env:
99
+ RUBY_TEST_VERSION: "2.0"
100
+ concurrency: 8
101
+ concurrency_group: 'rails-tests'
102
+
103
+ - label: ':ruby: Ruby 2.1 unit tests'
104
+ plugins:
105
+ docker-compose#v3.1.0:
106
+ run: ruby-unit-tests
107
+ use-aliases: true
108
+ env:
109
+ RUBY_TEST_VERSION: "2.1"
110
+ concurrency: 8
111
+ concurrency_group: 'rails-tests'
112
+
113
+ - label: ':ruby: Ruby 2.2 unit tests'
114
+ plugins:
115
+ docker-compose#v3.1.0:
116
+ run: ruby-unit-tests
117
+ use-aliases: true
118
+ env:
119
+ RUBY_TEST_VERSION: "2.2"
120
+ GEMSETS: "test sidekiq"
121
+ concurrency: 8
122
+ concurrency_group: 'rails-tests'
123
+
124
+ - label: ':ruby: Ruby 2.3 unit tests'
125
+ plugins:
126
+ docker-compose#v3.1.0:
127
+ run: ruby-unit-tests
128
+ use-aliases: true
129
+ env:
130
+ RUBY_TEST_VERSION: "2.3"
131
+ GEMSETS: "test sidekiq"
132
+ concurrency: 8
133
+ concurrency_group: 'rails-tests'
134
+
135
+ - label: ':ruby: Ruby 2.4 unit tests'
136
+ plugins:
137
+ docker-compose#v3.1.0:
138
+ run: ruby-unit-tests
139
+ use-aliases: true
140
+ env:
141
+ RUBY_TEST_VERSION: "2.4"
142
+ GEMSETS: "test sidekiq"
143
+ concurrency: 8
144
+ concurrency_group: 'rails-tests'
145
+
146
+ - label: ':ruby: Ruby 2.5 unit tests'
147
+ plugins:
148
+ docker-compose#v3.1.0:
149
+ run: ruby-unit-tests
150
+ use-aliases: true
151
+ env:
152
+ RUBY_TEST_VERSION: "2.5"
153
+ GEMSETS: "test sidekiq"
154
+ concurrency: 8
155
+ concurrency_group: 'rails-tests'
156
+
157
+ - label: ':ruby: Ruby 2.6 unit tests'
158
+ plugins:
159
+ docker-compose#v3.1.0:
160
+ run: ruby-unit-tests
161
+ use-aliases: true
162
+ env:
163
+ RUBY_TEST_VERSION: "2.6"
164
+ GEMSETS: "test sidekiq"
165
+ concurrency: 8
166
+ concurrency_group: 'rails-tests'
167
+
168
+ - label: ':ruby: Ruby 1.9.3 plain tests'
169
+ plugins:
170
+ docker-compose#v3.1.0:
171
+ run: ruby-maze-runner
172
+ use-aliases: true
173
+ command: ["features/plain_features", "--tags", "not @wip"]
174
+ env:
175
+ RUBY_TEST_VERSION: "1.9.3"
176
+ concurrency: 8
177
+ concurrency_group: 'rails-tests'
178
+
179
+ - label: ':ruby: Ruby 2.0 plain tests'
180
+ plugins:
181
+ docker-compose#v3.1.0:
182
+ run: ruby-maze-runner
183
+ use-aliases: true
184
+ command: ["features/plain_features", "--tags", "not @wip"]
185
+ env:
186
+ RUBY_TEST_VERSION: "2.0"
187
+ concurrency: 8
188
+ concurrency_group: 'rails-tests'
189
+
190
+ - label: ':ruby: Ruby 2.1 plain tests'
191
+ plugins:
192
+ docker-compose#v3.1.0:
193
+ run: ruby-maze-runner
194
+ use-aliases: true
195
+ command: ["features/plain_features", "--tags", "not @wip"]
196
+ env:
197
+ RUBY_TEST_VERSION: "2.1"
198
+ concurrency: 8
199
+ concurrency_group: 'rails-tests'
200
+
201
+ - label: ':ruby: Ruby 2.2 plain tests'
202
+ plugins:
203
+ docker-compose#v3.1.0:
204
+ run: ruby-maze-runner
205
+ use-aliases: true
206
+ command: ["features/plain_features", "--tags", "not @wip"]
207
+ env:
208
+ RUBY_TEST_VERSION: "2.2"
209
+ concurrency: 8
210
+ concurrency_group: 'rails-tests'
211
+
212
+ - label: ':ruby: Ruby 2.3 plain tests'
213
+ plugins:
214
+ docker-compose#v3.1.0:
215
+ run: ruby-maze-runner
216
+ use-aliases: true
217
+ command: ["features/plain_features", "--tags", "not @wip"]
218
+ env:
219
+ RUBY_TEST_VERSION: "2.3"
220
+ concurrency: 8
221
+ concurrency_group: 'rails-tests'
222
+
223
+ - label: ':ruby: Ruby 2.4 plain tests'
224
+ plugins:
225
+ docker-compose#v3.1.0:
226
+ run: ruby-maze-runner
227
+ use-aliases: true
228
+ command: ["features/plain_features", "--tags", "not @wip"]
229
+ env:
230
+ RUBY_TEST_VERSION: "2.4"
231
+ concurrency: 8
232
+ concurrency_group: 'rails-tests'
233
+
234
+ - label: ':ruby: Ruby 2.5 plain tests'
235
+ plugins:
236
+ docker-compose#v3.1.0:
237
+ run: ruby-maze-runner
238
+ use-aliases: true
239
+ command: ["features/plain_features", "--tags", "not @wip"]
240
+ env:
241
+ RUBY_TEST_VERSION: "2.5"
242
+ concurrency: 8
243
+ concurrency_group: 'rails-tests'
244
+
245
+ - label: ':ruby: Ruby 2.6 plain tests'
246
+ plugins:
247
+ docker-compose#v3.1.0:
248
+ run: ruby-maze-runner
249
+ use-aliases: true
250
+ command: ["features/plain_features/", "--tags", "not @wip"]
251
+ env:
252
+ RUBY_TEST_VERSION: "2.6"
253
+ concurrency: 8
254
+ concurrency_group: 'rails-tests'
255
+
256
+ - label: ':ruby: Sidekiq 2 tests'
257
+ plugins:
258
+ docker-compose#v3.1.0:
259
+ run: ruby-maze-runner
260
+ use-aliases: true
261
+ command: ["features/sidekiq.feature", "--tags", "not @wip"]
262
+ env:
263
+ RUBY_TEST_VERSION: "2.5"
264
+ SIDEKIQ_VERSION: "~> 2"
265
+ concurrency: 8
266
+ concurrency_group: 'rails-tests'
267
+
268
+ - label: ':ruby: Sidekiq 3 tests'
269
+ plugins:
270
+ docker-compose#v3.1.0:
271
+ run: ruby-maze-runner
272
+ use-aliases: true
273
+ command: ["features/sidekiq.feature", "--tags", "not @wip"]
274
+ env:
275
+ RUBY_TEST_VERSION: "2.5"
276
+ SIDEKIQ_VERSION: "~> 3"
277
+ concurrency: 8
278
+ concurrency_group: 'rails-tests'
279
+
280
+ - label: ':ruby: Sidekiq 4 tests'
281
+ plugins:
282
+ docker-compose#v3.1.0:
283
+ run: ruby-maze-runner
284
+ use-aliases: true
285
+ command: ["features/sidekiq.feature", "--tags", "not @wip"]
286
+ env:
287
+ RUBY_TEST_VERSION: "2.5"
288
+ SIDEKIQ_VERSION: "~> 4"
289
+ concurrency: 8
290
+ concurrency_group: 'rails-tests'
291
+
292
+ - label: ':rails: Rails 3 Ruby 2.0 tests'
293
+ plugins:
294
+ docker-compose#v3.1.0:
295
+ run: ruby-maze-runner
296
+ use-aliases: true
297
+ command: ["features/rails_features/", "--tags", "@rails3 and not @wip"]
298
+ env:
299
+ RUBY_TEST_VERSION: "2.0"
300
+ RAILS_VERSION: "3"
301
+ concurrency: 8
302
+ concurrency_group: 'rails-tests'
303
+
304
+ - label: ':rails: Rails 3 Ruby 2.1 tests'
305
+ plugins:
306
+ docker-compose#v3.1.0:
307
+ run: ruby-maze-runner
308
+ use-aliases: true
309
+ command: ["features/rails_features/", "--tags", "@rails3 and not @wip"]
310
+ env:
311
+ RUBY_TEST_VERSION: "2.1"
312
+ RAILS_VERSION: "3"
313
+ concurrency: 8
314
+ concurrency_group: 'rails-tests'
315
+
316
+ - label: ':rails: Rails 3 Ruby 2.2 tests'
317
+ plugins:
318
+ docker-compose#v3.1.0:
319
+ run: ruby-maze-runner
320
+ use-aliases: true
321
+ command: ["features/rails_features/", "--tags", "@rails3 and not @wip"]
322
+ env:
323
+ RUBY_TEST_VERSION: "2.2"
324
+ RAILS_VERSION: "3"
325
+ concurrency: 8
326
+ concurrency_group: 'rails-tests'
327
+
328
+ - label: ':rails: Rails 3 Ruby 2.3 tests'
329
+ plugins:
330
+ docker-compose#v3.1.0:
331
+ run: ruby-maze-runner
332
+ use-aliases: true
333
+ command: ["features/rails_features/", "--tags", "@rails3 and not @wip"]
334
+ env:
335
+ RUBY_TEST_VERSION: "2.3"
336
+ RAILS_VERSION: "3"
337
+ concurrency: 8
338
+ concurrency_group: 'rails-tests'
339
+
340
+ - label: ':rails: Rails 3 Ruby 2.4 tests'
341
+ plugins:
342
+ docker-compose#v3.1.0:
343
+ run: ruby-maze-runner
344
+ use-aliases: true
345
+ command: ["features/rails_features/", "--tags", "@rails3 and not @wip"]
346
+ env:
347
+ RUBY_TEST_VERSION: "2.4"
348
+ RAILS_VERSION: "3"
349
+ concurrency: 8
350
+ concurrency_group: 'rails-tests'
351
+
352
+ - label: ':rails: Rails 3 Ruby 2.5 tests'
353
+ plugins:
354
+ docker-compose#v3.1.0:
355
+ run: ruby-maze-runner
356
+ use-aliases: true
357
+ command: ["features/rails_features/", "--tags", "@rails3 and not @wip"]
358
+ env:
359
+ RUBY_TEST_VERSION: "2.5"
360
+ RAILS_VERSION: "3"
361
+ concurrency: 8
362
+ concurrency_group: 'rails-tests'
363
+
364
+ - label: ':rails: Rails 4 Ruby 2.2 tests'
365
+ plugins:
366
+ docker-compose#v3.1.0:
367
+ run: ruby-maze-runner
368
+ use-aliases: true
369
+ command: ["features/rails_features/", "--tags", "@rails4 and not @wip"]
370
+ env:
371
+ RUBY_TEST_VERSION: "2.2"
372
+ RAILS_VERSION: "4"
373
+ concurrency: 8
374
+ concurrency_group: 'rails-tests'
375
+
376
+ - label: ':rails: Rails 4 Ruby 2.3 tests'
377
+ plugins:
378
+ docker-compose#v3.1.0:
379
+ run: ruby-maze-runner
380
+ use-aliases: true
381
+ command: ["features/rails_features/", "--tags", "@rails4 and not @wip"]
382
+ env:
383
+ RUBY_TEST_VERSION: "2.3"
384
+ RAILS_VERSION: "4"
385
+ concurrency: 8
386
+ concurrency_group: 'rails-tests'
387
+
388
+ - label: ':rails: Rails 5 Ruby 2.2 tests'
389
+ plugins:
390
+ docker-compose#v3.1.0:
391
+ run: ruby-maze-runner
392
+ use-aliases: true
393
+ command: ["features/rails_features/", "--tags", "@rails5 and not @wip"]
394
+ env:
395
+ RUBY_TEST_VERSION: "2.2"
396
+ RAILS_VERSION: "5"
397
+ concurrency: 8
398
+ concurrency_group: 'rails-tests'
399
+
400
+ - label: ':rails: Rails 5 Ruby 2.3 tests'
401
+ plugins:
402
+ docker-compose#v3.1.0:
403
+ run: ruby-maze-runner
404
+ use-aliases: true
405
+ command: ["features/rails_features/", "--tags", "@rails5 and not @wip"]
406
+ env:
407
+ RUBY_TEST_VERSION: "2.3"
408
+ RAILS_VERSION: "5"
409
+ concurrency: 8
410
+ concurrency_group: 'rails-tests'
411
+
412
+ - label: ':rails: Rails 5 Ruby 2.4 tests'
413
+ plugins:
414
+ docker-compose#v3.1.0:
415
+ run: ruby-maze-runner
416
+ use-aliases: true
417
+ command: ["features/rails_features/", "--tags", "@rails5 and not @wip"]
418
+ env:
419
+ RUBY_TEST_VERSION: "2.4"
420
+ RAILS_VERSION: "5"
421
+ concurrency: 8
422
+ concurrency_group: 'rails-tests'
423
+
424
+ - label: ':rails: Rails 5 Ruby 2.5 tests'
425
+ plugins:
426
+ docker-compose#v3.1.0:
427
+ run: ruby-maze-runner
428
+ use-aliases: true
429
+ command: ["features/rails_features/", "--tags", "@rails5 and not @wip"]
430
+ env:
431
+ RUBY_TEST_VERSION: "2.5"
432
+ RAILS_VERSION: "5"
433
+ concurrency: 8
434
+ concurrency_group: 'rails-tests'
435
+
436
+ - label: ':rails: Rails 5 Ruby 2.6 tests'
437
+ plugins:
438
+ docker-compose#v3.1.0:
439
+ run: ruby-maze-runner
440
+ use-aliases: true
441
+ command: ["features/rails_features/", "--tags", "@rails5 and not @wip"]
442
+ env:
443
+ RUBY_TEST_VERSION: "2.6"
444
+ RAILS_VERSION: "5"
445
+ concurrency: 8
446
+ concurrency_group: 'rails-tests'
447
+
448
+ - label: ':rails: Rails 6 Ruby 2.5 tests'
449
+ plugins:
450
+ docker-compose#v3.1.0:
451
+ run: ruby-maze-runner
452
+ use-aliases: true
453
+ command: ["features/rails_features/", "--tags", "@rails6 and not @wip"]
454
+ env:
455
+ RUBY_TEST_VERSION: "2.5"
456
+ RAILS_VERSION: "6"
457
+ concurrency: 8
458
+ concurrency_group: 'rails-tests'
459
+
460
+ - label: ':rails: Rails 6 Ruby 2.6 tests'
461
+ plugins:
462
+ docker-compose#v3.1.0:
463
+ run: ruby-maze-runner
464
+ use-aliases: true
465
+ command: ["features/rails_features/", "--tags", "@rails6 and not @wip"]
466
+ env:
467
+ RUBY_TEST_VERSION: "2.6"
468
+ RAILS_VERSION: "6"
469
+ concurrency: 8
470
+ concurrency_group: 'rails-tests'