roo_on_rails 1.21.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +446 -150
  3. data/.circleci/config.yml.erb +63 -18
  4. data/.codecov.yml +3 -0
  5. data/Appraisals +17 -11
  6. data/CHANGELOG.md +38 -0
  7. data/README.md +23 -74
  8. data/appraise +1 -1
  9. data/exe/roo_on_rails +5 -0
  10. data/gemfiles/rails_4.gemfile +3 -1
  11. data/gemfiles/rails_5.gemfile +2 -1
  12. data/gemfiles/rails_5_1.gemfile +2 -1
  13. data/gemfiles/rails_5_2.gemfile +2 -1
  14. data/gemfiles/{rails_3.gemfile → rails_6.gemfile} +5 -4
  15. data/lib/roo_on_rails.rb +0 -3
  16. data/lib/roo_on_rails/checks/documentation/playbook_template.md +0 -4
  17. data/lib/roo_on_rails/concerns/require_api_key.rb +0 -1
  18. data/lib/roo_on_rails/config.rb +0 -8
  19. data/lib/roo_on_rails/default.env +0 -13
  20. data/lib/roo_on_rails/rack/populate_env_from_jwt.rb +26 -4
  21. data/lib/roo_on_rails/railties/database.rb +11 -10
  22. data/lib/roo_on_rails/railties/env.rb +3 -5
  23. data/lib/roo_on_rails/railties/google_oauth.rb +4 -6
  24. data/lib/roo_on_rails/railties/http.rb +34 -32
  25. data/lib/roo_on_rails/railties/roo_identity.rb +12 -8
  26. data/lib/roo_on_rails/railties/sidekiq_integration.rb +7 -19
  27. data/lib/roo_on_rails/version.rb +1 -1
  28. data/roo_on_rails.gemspec +4 -6
  29. metadata +24 -68
  30. data/.travis.yml +0 -34
  31. data/README.routemaster_client.md +0 -103
  32. data/lib/roo_on_rails/railties/logging.rb +0 -25
  33. data/lib/roo_on_rails/railties/new_relic.rb +0 -32
  34. data/lib/roo_on_rails/railties/routemaster.rb +0 -42
  35. data/lib/roo_on_rails/routemaster/lifecycle_events.rb +0 -64
  36. data/lib/roo_on_rails/routemaster/publish_lifecycle_events.rb +0 -13
  37. data/lib/roo_on_rails/routemaster/publisher.rb +0 -74
  38. data/lib/roo_on_rails/routemaster/publishers.rb +0 -27
  39. data/lib/roo_on_rails/tasks/newrelic.rake +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 04d813efb65227f43263c1802588635add6d27bb2a5c98c81c924ead208ef09d
4
- data.tar.gz: c91116b30b641039133e69dd4c85e02d7df6c24e16f25841d36064037facf420
2
+ SHA1:
3
+ metadata.gz: a4f7beb1235b80ea826919a641b7b44754702cda
4
+ data.tar.gz: 06aa080ac742fc3fb7a4154ea5c0311d3f67e70c
5
5
  SHA512:
6
- metadata.gz: 9f49df0cd62c25ee965d761888a244f195b45eecc6237eeadf12359410c0833628a4e2b6b2575ebc43d0ab75fc4d1a613b5d2ee6ccab2c70fbc5d5183fb81ad6
7
- data.tar.gz: 3a0fb95d6e34690932380b5a06de448bc12ba449b17988bd0ed8c0a641f42a09950780869d57019f2e6e49646d37a4180aaaeb1c417a608a20276eddc99a1e95
6
+ metadata.gz: f8afc738c99dc50e34e2e21acd8b531678a07c39d574352bcd8028df0defa0653ca3763b2480a8423e9711bfcb445bc68d2320fcfa5b11e94d5d591c6b7418a8
7
+ data.tar.gz: 43f9e982df0696736b88b8eb09ac73aaaec5b638163f777d04e6f832f408dbe0dd635391929c56466536747d985a4aca51507cb1d1f1f74717657f5b1e8da6a3
data/.circleci/config.yml CHANGED
@@ -1,16 +1,38 @@
1
1
  # To update the build configuration, edit the "builds" array below and run:
2
2
  # erb .circleci/config.yml.erb > .circleci/config.yml
3
3
 
4
+
5
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
6
+ # the CI since it makes it harder to run multiple apps in a single container
7
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
8
+ # Unsettting these variables restores the default behaviour:-
9
+ # * BUNDLE_APP_CONFIG
10
+ # * GEM_HOME
11
+ # * BUNDLE_PATH
12
+ # * BUNDLE_BIN
13
+ common_ruby_environment: &common_ruby_environment
14
+ environment:
15
+ RAILS_ENV: test
16
+ PGHOST: 127.0.0.1
17
+ PGUSER: postgres
18
+ POSTGRES_HOST_AUTH_METHOD: "trust"
19
+ common_pg_environment_vars: &common_pg_environment_vars
20
+ POSTGRES_USER: postgres
21
+ POSTGRES_DB: ror_testapp_test
22
+ POSTGRES_HOST_AUTH_METHOD: "trust"
23
+
4
24
  version: 2
5
25
  jobs:
6
26
 
7
- build_2.3.4_rails_3:
27
+ build_2.4.6_rails_4:
8
28
  docker:
9
- - image: deliveroo/multiruby
29
+ - image: ruby:2.4.6-alpine
30
+ <<: *common_ruby_environment
10
31
  - image: postgres:9.6-alpine
11
32
  environment:
12
33
  PGDATA: /dev/shm/pgdata
13
- - image: redis:3-alpine
34
+ <<: *common_pg_environment_vars
35
+ - image: redis:4-alpine
14
36
  steps:
15
37
  - checkout
16
38
 
@@ -22,53 +44,77 @@ jobs:
22
44
  ln -s /dev/shm/tmp ~/project/tmp
23
45
 
24
46
  - run:
25
- name: Select build variant (Ruby 2.3.4, rails_3)
47
+ name: Setup requirements
48
+ command: |
49
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
50
+
51
+ - run:
52
+ name: Configure bundler
26
53
  command: |
27
- rbenv local 2.3.4 ;
28
- gem install bundler ;
29
- bundle config --local gemfile $PWD/gemfiles/rails_3.gemfile
54
+ unset \
55
+ BUNDLE_APP_CONFIG \
56
+ GEM_HOME \
57
+ BUNDLE_PATH \
58
+ BUNDLE_BIN
59
+ bundle config --local gemfile $PWD/gemfiles/rails_4.gemfile
30
60
 
31
61
  - restore_cache:
32
- keys:
33
- - v2-bundle-2.3.4-rails_3-{{ .Branch }}
34
- - v2-bundle-2.3.4-rails_3
35
- - v2-bundle-2.3.4
62
+ keys:
63
+ - v2-bundle-2.4.6-rails_4-{{ .Branch }}
64
+ - v2-bundle-2.4.6-rails_4
65
+ - v2-bundle-2.4.6
36
66
 
37
- - run:
38
- name: Install dependencies
67
+ - run:
68
+ name: Install bundle
39
69
  command: |
70
+ unset \
71
+ BUNDLE_APP_CONFIG \
72
+ GEM_HOME \
73
+ BUNDLE_PATH \
74
+ BUNDLE_BIN
40
75
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
41
76
 
77
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
78
+ # the CI since it makes it harder to run multiple apps in a single container
79
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
80
+ # Unsettting the variables restores the default behaviour
42
81
  - run:
43
82
  name: Run test suite
44
83
  command: |
45
- unset RACK_ENV &&
46
- unset RAILS_ENV &&
84
+ unset \
85
+ RACK_ENV \
86
+ RAILS_ENV \
87
+ BUNDLE_APP_CONFIG \
88
+ GEM_HOME \
89
+ BUNDLE_PATH \
90
+ BUNDLE_BIN
47
91
  bundle exec rspec
48
92
 
49
93
  - save_cache:
50
- key: v2-bundle-2.3.4-rails_3-{{ .Branch }}
94
+ key: v2-bundle-2.4.6-rails_4-{{ .Branch }}
51
95
  paths:
52
96
  - ~/project/vendor/bundle
53
97
  - ~/project/vendor/bundle-scaffold
54
98
  - save_cache:
55
- key: v2-bundle-2.3.4-rails_3
99
+ key: v2-bundle-2.4.6-rails_4
56
100
  paths:
57
101
  - ~/project/vendor/bundle
58
102
  - ~/project/vendor/bundle-scaffold
59
103
  - save_cache:
60
- key: v2-bundle-2.3.4
104
+ key: v2-bundle-2.4.6
61
105
  paths:
62
106
  - ~/project/vendor/bundle
63
107
  - ~/project/vendor/bundle-scaffold
64
108
 
65
- build_2.3.4_rails_4:
109
+ build_2.4.6_rails_5:
66
110
  docker:
67
- - image: deliveroo/multiruby
111
+ - image: ruby:2.4.6-alpine
112
+ <<: *common_ruby_environment
68
113
  - image: postgres:9.6-alpine
69
114
  environment:
70
115
  PGDATA: /dev/shm/pgdata
71
- - image: redis:3-alpine
116
+ <<: *common_pg_environment_vars
117
+ - image: redis:4-alpine
72
118
  steps:
73
119
  - checkout
74
120
 
@@ -80,53 +126,77 @@ jobs:
80
126
  ln -s /dev/shm/tmp ~/project/tmp
81
127
 
82
128
  - run:
83
- name: Select build variant (Ruby 2.3.4, rails_4)
129
+ name: Setup requirements
84
130
  command: |
85
- rbenv local 2.3.4 ;
86
- gem install bundler ;
87
- bundle config --local gemfile $PWD/gemfiles/rails_4.gemfile
131
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
132
+
133
+ - run:
134
+ name: Configure bundler
135
+ command: |
136
+ unset \
137
+ BUNDLE_APP_CONFIG \
138
+ GEM_HOME \
139
+ BUNDLE_PATH \
140
+ BUNDLE_BIN
141
+ bundle config --local gemfile $PWD/gemfiles/rails_5.gemfile
88
142
 
89
143
  - restore_cache:
90
- keys:
91
- - v2-bundle-2.3.4-rails_4-{{ .Branch }}
92
- - v2-bundle-2.3.4-rails_4
93
- - v2-bundle-2.3.4
144
+ keys:
145
+ - v2-bundle-2.4.6-rails_5-{{ .Branch }}
146
+ - v2-bundle-2.4.6-rails_5
147
+ - v2-bundle-2.4.6
94
148
 
95
- - run:
96
- name: Install dependencies
149
+ - run:
150
+ name: Install bundle
97
151
  command: |
152
+ unset \
153
+ BUNDLE_APP_CONFIG \
154
+ GEM_HOME \
155
+ BUNDLE_PATH \
156
+ BUNDLE_BIN
98
157
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
99
158
 
159
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
160
+ # the CI since it makes it harder to run multiple apps in a single container
161
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
162
+ # Unsettting the variables restores the default behaviour
100
163
  - run:
101
164
  name: Run test suite
102
165
  command: |
103
- unset RACK_ENV &&
104
- unset RAILS_ENV &&
166
+ unset \
167
+ RACK_ENV \
168
+ RAILS_ENV \
169
+ BUNDLE_APP_CONFIG \
170
+ GEM_HOME \
171
+ BUNDLE_PATH \
172
+ BUNDLE_BIN
105
173
  bundle exec rspec
106
174
 
107
175
  - save_cache:
108
- key: v2-bundle-2.3.4-rails_4-{{ .Branch }}
176
+ key: v2-bundle-2.4.6-rails_5-{{ .Branch }}
109
177
  paths:
110
178
  - ~/project/vendor/bundle
111
179
  - ~/project/vendor/bundle-scaffold
112
180
  - save_cache:
113
- key: v2-bundle-2.3.4-rails_4
181
+ key: v2-bundle-2.4.6-rails_5
114
182
  paths:
115
183
  - ~/project/vendor/bundle
116
184
  - ~/project/vendor/bundle-scaffold
117
185
  - save_cache:
118
- key: v2-bundle-2.3.4
186
+ key: v2-bundle-2.4.6
119
187
  paths:
120
188
  - ~/project/vendor/bundle
121
189
  - ~/project/vendor/bundle-scaffold
122
190
 
123
- build_2.4.1_rails_4:
191
+ build_2.4.6_rails_5_1:
124
192
  docker:
125
- - image: deliveroo/multiruby
193
+ - image: ruby:2.4.6-alpine
194
+ <<: *common_ruby_environment
126
195
  - image: postgres:9.6-alpine
127
196
  environment:
128
197
  PGDATA: /dev/shm/pgdata
129
- - image: redis:3-alpine
198
+ <<: *common_pg_environment_vars
199
+ - image: redis:4-alpine
130
200
  steps:
131
201
  - checkout
132
202
 
@@ -138,53 +208,77 @@ jobs:
138
208
  ln -s /dev/shm/tmp ~/project/tmp
139
209
 
140
210
  - run:
141
- name: Select build variant (Ruby 2.4.1, rails_4)
211
+ name: Setup requirements
142
212
  command: |
143
- rbenv local 2.4.1 ;
144
- gem install bundler ;
145
- bundle config --local gemfile $PWD/gemfiles/rails_4.gemfile
213
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
214
+
215
+ - run:
216
+ name: Configure bundler
217
+ command: |
218
+ unset \
219
+ BUNDLE_APP_CONFIG \
220
+ GEM_HOME \
221
+ BUNDLE_PATH \
222
+ BUNDLE_BIN
223
+ bundle config --local gemfile $PWD/gemfiles/rails_5_1.gemfile
146
224
 
147
225
  - restore_cache:
148
- keys:
149
- - v2-bundle-2.4.1-rails_4-{{ .Branch }}
150
- - v2-bundle-2.4.1-rails_4
151
- - v2-bundle-2.4.1
226
+ keys:
227
+ - v2-bundle-2.4.6-rails_5_1-{{ .Branch }}
228
+ - v2-bundle-2.4.6-rails_5_1
229
+ - v2-bundle-2.4.6
152
230
 
153
- - run:
154
- name: Install dependencies
231
+ - run:
232
+ name: Install bundle
155
233
  command: |
234
+ unset \
235
+ BUNDLE_APP_CONFIG \
236
+ GEM_HOME \
237
+ BUNDLE_PATH \
238
+ BUNDLE_BIN
156
239
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
157
240
 
241
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
242
+ # the CI since it makes it harder to run multiple apps in a single container
243
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
244
+ # Unsettting the variables restores the default behaviour
158
245
  - run:
159
246
  name: Run test suite
160
247
  command: |
161
- unset RACK_ENV &&
162
- unset RAILS_ENV &&
248
+ unset \
249
+ RACK_ENV \
250
+ RAILS_ENV \
251
+ BUNDLE_APP_CONFIG \
252
+ GEM_HOME \
253
+ BUNDLE_PATH \
254
+ BUNDLE_BIN
163
255
  bundle exec rspec
164
256
 
165
257
  - save_cache:
166
- key: v2-bundle-2.4.1-rails_4-{{ .Branch }}
258
+ key: v2-bundle-2.4.6-rails_5_1-{{ .Branch }}
167
259
  paths:
168
260
  - ~/project/vendor/bundle
169
261
  - ~/project/vendor/bundle-scaffold
170
262
  - save_cache:
171
- key: v2-bundle-2.4.1-rails_4
263
+ key: v2-bundle-2.4.6-rails_5_1
172
264
  paths:
173
265
  - ~/project/vendor/bundle
174
266
  - ~/project/vendor/bundle-scaffold
175
267
  - save_cache:
176
- key: v2-bundle-2.4.1
268
+ key: v2-bundle-2.4.6
177
269
  paths:
178
270
  - ~/project/vendor/bundle
179
271
  - ~/project/vendor/bundle-scaffold
180
272
 
181
- build_2.3.4_rails_5:
273
+ build_2.4.6_rails_5_2:
182
274
  docker:
183
- - image: deliveroo/multiruby
275
+ - image: ruby:2.4.6-alpine
276
+ <<: *common_ruby_environment
184
277
  - image: postgres:9.6-alpine
185
278
  environment:
186
279
  PGDATA: /dev/shm/pgdata
187
- - image: redis:3-alpine
280
+ <<: *common_pg_environment_vars
281
+ - image: redis:4-alpine
188
282
  steps:
189
283
  - checkout
190
284
 
@@ -196,53 +290,77 @@ jobs:
196
290
  ln -s /dev/shm/tmp ~/project/tmp
197
291
 
198
292
  - run:
199
- name: Select build variant (Ruby 2.3.4, rails_5)
293
+ name: Setup requirements
200
294
  command: |
201
- rbenv local 2.3.4 ;
202
- gem install bundler ;
203
- bundle config --local gemfile $PWD/gemfiles/rails_5.gemfile
295
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
296
+
297
+ - run:
298
+ name: Configure bundler
299
+ command: |
300
+ unset \
301
+ BUNDLE_APP_CONFIG \
302
+ GEM_HOME \
303
+ BUNDLE_PATH \
304
+ BUNDLE_BIN
305
+ bundle config --local gemfile $PWD/gemfiles/rails_5_2.gemfile
204
306
 
205
307
  - restore_cache:
206
- keys:
207
- - v2-bundle-2.3.4-rails_5-{{ .Branch }}
208
- - v2-bundle-2.3.4-rails_5
209
- - v2-bundle-2.3.4
308
+ keys:
309
+ - v2-bundle-2.4.6-rails_5_2-{{ .Branch }}
310
+ - v2-bundle-2.4.6-rails_5_2
311
+ - v2-bundle-2.4.6
210
312
 
211
- - run:
212
- name: Install dependencies
313
+ - run:
314
+ name: Install bundle
213
315
  command: |
316
+ unset \
317
+ BUNDLE_APP_CONFIG \
318
+ GEM_HOME \
319
+ BUNDLE_PATH \
320
+ BUNDLE_BIN
214
321
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
215
322
 
323
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
324
+ # the CI since it makes it harder to run multiple apps in a single container
325
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
326
+ # Unsettting the variables restores the default behaviour
216
327
  - run:
217
328
  name: Run test suite
218
329
  command: |
219
- unset RACK_ENV &&
220
- unset RAILS_ENV &&
330
+ unset \
331
+ RACK_ENV \
332
+ RAILS_ENV \
333
+ BUNDLE_APP_CONFIG \
334
+ GEM_HOME \
335
+ BUNDLE_PATH \
336
+ BUNDLE_BIN
221
337
  bundle exec rspec
222
338
 
223
339
  - save_cache:
224
- key: v2-bundle-2.3.4-rails_5-{{ .Branch }}
340
+ key: v2-bundle-2.4.6-rails_5_2-{{ .Branch }}
225
341
  paths:
226
342
  - ~/project/vendor/bundle
227
343
  - ~/project/vendor/bundle-scaffold
228
344
  - save_cache:
229
- key: v2-bundle-2.3.4-rails_5
345
+ key: v2-bundle-2.4.6-rails_5_2
230
346
  paths:
231
347
  - ~/project/vendor/bundle
232
348
  - ~/project/vendor/bundle-scaffold
233
349
  - save_cache:
234
- key: v2-bundle-2.3.4
350
+ key: v2-bundle-2.4.6
235
351
  paths:
236
352
  - ~/project/vendor/bundle
237
353
  - ~/project/vendor/bundle-scaffold
238
354
 
239
- build_2.4.1_rails_5:
355
+ build_2.5.5_rails_4:
240
356
  docker:
241
- - image: deliveroo/multiruby
357
+ - image: ruby:2.5.5-alpine
358
+ <<: *common_ruby_environment
242
359
  - image: postgres:9.6-alpine
243
360
  environment:
244
361
  PGDATA: /dev/shm/pgdata
245
- - image: redis:3-alpine
362
+ <<: *common_pg_environment_vars
363
+ - image: redis:4-alpine
246
364
  steps:
247
365
  - checkout
248
366
 
@@ -254,53 +372,77 @@ jobs:
254
372
  ln -s /dev/shm/tmp ~/project/tmp
255
373
 
256
374
  - run:
257
- name: Select build variant (Ruby 2.4.1, rails_5)
375
+ name: Setup requirements
258
376
  command: |
259
- rbenv local 2.4.1 ;
260
- gem install bundler ;
261
- bundle config --local gemfile $PWD/gemfiles/rails_5.gemfile
377
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
378
+
379
+ - run:
380
+ name: Configure bundler
381
+ command: |
382
+ unset \
383
+ BUNDLE_APP_CONFIG \
384
+ GEM_HOME \
385
+ BUNDLE_PATH \
386
+ BUNDLE_BIN
387
+ bundle config --local gemfile $PWD/gemfiles/rails_4.gemfile
262
388
 
263
389
  - restore_cache:
264
- keys:
265
- - v2-bundle-2.4.1-rails_5-{{ .Branch }}
266
- - v2-bundle-2.4.1-rails_5
267
- - v2-bundle-2.4.1
390
+ keys:
391
+ - v2-bundle-2.5.5-rails_4-{{ .Branch }}
392
+ - v2-bundle-2.5.5-rails_4
393
+ - v2-bundle-2.5.5
268
394
 
269
- - run:
270
- name: Install dependencies
395
+ - run:
396
+ name: Install bundle
271
397
  command: |
398
+ unset \
399
+ BUNDLE_APP_CONFIG \
400
+ GEM_HOME \
401
+ BUNDLE_PATH \
402
+ BUNDLE_BIN
272
403
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
273
404
 
405
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
406
+ # the CI since it makes it harder to run multiple apps in a single container
407
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
408
+ # Unsettting the variables restores the default behaviour
274
409
  - run:
275
410
  name: Run test suite
276
411
  command: |
277
- unset RACK_ENV &&
278
- unset RAILS_ENV &&
412
+ unset \
413
+ RACK_ENV \
414
+ RAILS_ENV \
415
+ BUNDLE_APP_CONFIG \
416
+ GEM_HOME \
417
+ BUNDLE_PATH \
418
+ BUNDLE_BIN
279
419
  bundle exec rspec
280
420
 
281
421
  - save_cache:
282
- key: v2-bundle-2.4.1-rails_5-{{ .Branch }}
422
+ key: v2-bundle-2.5.5-rails_4-{{ .Branch }}
283
423
  paths:
284
424
  - ~/project/vendor/bundle
285
425
  - ~/project/vendor/bundle-scaffold
286
426
  - save_cache:
287
- key: v2-bundle-2.4.1-rails_5
427
+ key: v2-bundle-2.5.5-rails_4
288
428
  paths:
289
429
  - ~/project/vendor/bundle
290
430
  - ~/project/vendor/bundle-scaffold
291
431
  - save_cache:
292
- key: v2-bundle-2.4.1
432
+ key: v2-bundle-2.5.5
293
433
  paths:
294
434
  - ~/project/vendor/bundle
295
435
  - ~/project/vendor/bundle-scaffold
296
436
 
297
- build_2.3.4_rails_5_1:
437
+ build_2.5.5_rails_5:
298
438
  docker:
299
- - image: deliveroo/multiruby
439
+ - image: ruby:2.5.5-alpine
440
+ <<: *common_ruby_environment
300
441
  - image: postgres:9.6-alpine
301
442
  environment:
302
443
  PGDATA: /dev/shm/pgdata
303
- - image: redis:3-alpine
444
+ <<: *common_pg_environment_vars
445
+ - image: redis:4-alpine
304
446
  steps:
305
447
  - checkout
306
448
 
@@ -312,53 +454,77 @@ jobs:
312
454
  ln -s /dev/shm/tmp ~/project/tmp
313
455
 
314
456
  - run:
315
- name: Select build variant (Ruby 2.3.4, rails_5_1)
457
+ name: Setup requirements
316
458
  command: |
317
- rbenv local 2.3.4 ;
318
- gem install bundler ;
319
- bundle config --local gemfile $PWD/gemfiles/rails_5_1.gemfile
459
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
460
+
461
+ - run:
462
+ name: Configure bundler
463
+ command: |
464
+ unset \
465
+ BUNDLE_APP_CONFIG \
466
+ GEM_HOME \
467
+ BUNDLE_PATH \
468
+ BUNDLE_BIN
469
+ bundle config --local gemfile $PWD/gemfiles/rails_5.gemfile
320
470
 
321
471
  - restore_cache:
322
- keys:
323
- - v2-bundle-2.3.4-rails_5_1-{{ .Branch }}
324
- - v2-bundle-2.3.4-rails_5_1
325
- - v2-bundle-2.3.4
472
+ keys:
473
+ - v2-bundle-2.5.5-rails_5-{{ .Branch }}
474
+ - v2-bundle-2.5.5-rails_5
475
+ - v2-bundle-2.5.5
326
476
 
327
- - run:
328
- name: Install dependencies
477
+ - run:
478
+ name: Install bundle
329
479
  command: |
480
+ unset \
481
+ BUNDLE_APP_CONFIG \
482
+ GEM_HOME \
483
+ BUNDLE_PATH \
484
+ BUNDLE_BIN
330
485
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
331
486
 
487
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
488
+ # the CI since it makes it harder to run multiple apps in a single container
489
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
490
+ # Unsettting the variables restores the default behaviour
332
491
  - run:
333
492
  name: Run test suite
334
493
  command: |
335
- unset RACK_ENV &&
336
- unset RAILS_ENV &&
494
+ unset \
495
+ RACK_ENV \
496
+ RAILS_ENV \
497
+ BUNDLE_APP_CONFIG \
498
+ GEM_HOME \
499
+ BUNDLE_PATH \
500
+ BUNDLE_BIN
337
501
  bundle exec rspec
338
502
 
339
503
  - save_cache:
340
- key: v2-bundle-2.3.4-rails_5_1-{{ .Branch }}
504
+ key: v2-bundle-2.5.5-rails_5-{{ .Branch }}
341
505
  paths:
342
506
  - ~/project/vendor/bundle
343
507
  - ~/project/vendor/bundle-scaffold
344
508
  - save_cache:
345
- key: v2-bundle-2.3.4-rails_5_1
509
+ key: v2-bundle-2.5.5-rails_5
346
510
  paths:
347
511
  - ~/project/vendor/bundle
348
512
  - ~/project/vendor/bundle-scaffold
349
513
  - save_cache:
350
- key: v2-bundle-2.3.4
514
+ key: v2-bundle-2.5.5
351
515
  paths:
352
516
  - ~/project/vendor/bundle
353
517
  - ~/project/vendor/bundle-scaffold
354
518
 
355
- build_2.4.1_rails_5_1:
519
+ build_2.5.5_rails_5_1:
356
520
  docker:
357
- - image: deliveroo/multiruby
521
+ - image: ruby:2.5.5-alpine
522
+ <<: *common_ruby_environment
358
523
  - image: postgres:9.6-alpine
359
524
  environment:
360
525
  PGDATA: /dev/shm/pgdata
361
- - image: redis:3-alpine
526
+ <<: *common_pg_environment_vars
527
+ - image: redis:4-alpine
362
528
  steps:
363
529
  - checkout
364
530
 
@@ -370,53 +536,77 @@ jobs:
370
536
  ln -s /dev/shm/tmp ~/project/tmp
371
537
 
372
538
  - run:
373
- name: Select build variant (Ruby 2.4.1, rails_5_1)
539
+ name: Setup requirements
540
+ command: |
541
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
542
+
543
+ - run:
544
+ name: Configure bundler
374
545
  command: |
375
- rbenv local 2.4.1 ;
376
- gem install bundler ;
546
+ unset \
547
+ BUNDLE_APP_CONFIG \
548
+ GEM_HOME \
549
+ BUNDLE_PATH \
550
+ BUNDLE_BIN
377
551
  bundle config --local gemfile $PWD/gemfiles/rails_5_1.gemfile
378
552
 
379
553
  - restore_cache:
380
- keys:
381
- - v2-bundle-2.4.1-rails_5_1-{{ .Branch }}
382
- - v2-bundle-2.4.1-rails_5_1
383
- - v2-bundle-2.4.1
554
+ keys:
555
+ - v2-bundle-2.5.5-rails_5_1-{{ .Branch }}
556
+ - v2-bundle-2.5.5-rails_5_1
557
+ - v2-bundle-2.5.5
384
558
 
385
- - run:
386
- name: Install dependencies
559
+ - run:
560
+ name: Install bundle
387
561
  command: |
562
+ unset \
563
+ BUNDLE_APP_CONFIG \
564
+ GEM_HOME \
565
+ BUNDLE_PATH \
566
+ BUNDLE_BIN
388
567
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
389
568
 
569
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
570
+ # the CI since it makes it harder to run multiple apps in a single container
571
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
572
+ # Unsettting the variables restores the default behaviour
390
573
  - run:
391
574
  name: Run test suite
392
575
  command: |
393
- unset RACK_ENV &&
394
- unset RAILS_ENV &&
576
+ unset \
577
+ RACK_ENV \
578
+ RAILS_ENV \
579
+ BUNDLE_APP_CONFIG \
580
+ GEM_HOME \
581
+ BUNDLE_PATH \
582
+ BUNDLE_BIN
395
583
  bundle exec rspec
396
584
 
397
585
  - save_cache:
398
- key: v2-bundle-2.4.1-rails_5_1-{{ .Branch }}
586
+ key: v2-bundle-2.5.5-rails_5_1-{{ .Branch }}
399
587
  paths:
400
588
  - ~/project/vendor/bundle
401
589
  - ~/project/vendor/bundle-scaffold
402
590
  - save_cache:
403
- key: v2-bundle-2.4.1-rails_5_1
591
+ key: v2-bundle-2.5.5-rails_5_1
404
592
  paths:
405
593
  - ~/project/vendor/bundle
406
594
  - ~/project/vendor/bundle-scaffold
407
595
  - save_cache:
408
- key: v2-bundle-2.4.1
596
+ key: v2-bundle-2.5.5
409
597
  paths:
410
598
  - ~/project/vendor/bundle
411
599
  - ~/project/vendor/bundle-scaffold
412
600
 
413
- build_2.4.1_rails_5_2:
601
+ build_2.5.5_rails_5_2:
414
602
  docker:
415
- - image: deliveroo/multiruby
603
+ - image: ruby:2.5.5-alpine
604
+ <<: *common_ruby_environment
416
605
  - image: postgres:9.6-alpine
417
606
  environment:
418
607
  PGDATA: /dev/shm/pgdata
419
- - image: redis:3-alpine
608
+ <<: *common_pg_environment_vars
609
+ - image: redis:4-alpine
420
610
  steps:
421
611
  - checkout
422
612
 
@@ -428,42 +618,146 @@ jobs:
428
618
  ln -s /dev/shm/tmp ~/project/tmp
429
619
 
430
620
  - run:
431
- name: Select build variant (Ruby 2.4.1, rails_5_2)
621
+ name: Setup requirements
432
622
  command: |
433
- rbenv local 2.4.1 ;
434
- gem install bundler ;
623
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
624
+
625
+ - run:
626
+ name: Configure bundler
627
+ command: |
628
+ unset \
629
+ BUNDLE_APP_CONFIG \
630
+ GEM_HOME \
631
+ BUNDLE_PATH \
632
+ BUNDLE_BIN
435
633
  bundle config --local gemfile $PWD/gemfiles/rails_5_2.gemfile
436
634
 
437
635
  - restore_cache:
438
- keys:
439
- - v2-bundle-2.4.1-rails_5_2-{{ .Branch }}
440
- - v2-bundle-2.4.1-rails_5_2
441
- - v2-bundle-2.4.1
636
+ keys:
637
+ - v2-bundle-2.5.5-rails_5_2-{{ .Branch }}
638
+ - v2-bundle-2.5.5-rails_5_2
639
+ - v2-bundle-2.5.5
640
+
641
+ - run:
642
+ name: Install bundle
643
+ command: |
644
+ unset \
645
+ BUNDLE_APP_CONFIG \
646
+ GEM_HOME \
647
+ BUNDLE_PATH \
648
+ BUNDLE_BIN
649
+ bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
650
+
651
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
652
+ # the CI since it makes it harder to run multiple apps in a single container
653
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
654
+ # Unsettting the variables restores the default behaviour
655
+ - run:
656
+ name: Run test suite
657
+ command: |
658
+ unset \
659
+ RACK_ENV \
660
+ RAILS_ENV \
661
+ BUNDLE_APP_CONFIG \
662
+ GEM_HOME \
663
+ BUNDLE_PATH \
664
+ BUNDLE_BIN
665
+ bundle exec rspec
666
+
667
+ - save_cache:
668
+ key: v2-bundle-2.5.5-rails_5_2-{{ .Branch }}
669
+ paths:
670
+ - ~/project/vendor/bundle
671
+ - ~/project/vendor/bundle-scaffold
672
+ - save_cache:
673
+ key: v2-bundle-2.5.5-rails_5_2
674
+ paths:
675
+ - ~/project/vendor/bundle
676
+ - ~/project/vendor/bundle-scaffold
677
+ - save_cache:
678
+ key: v2-bundle-2.5.5
679
+ paths:
680
+ - ~/project/vendor/bundle
681
+ - ~/project/vendor/bundle-scaffold
682
+
683
+ build_2.6.5_rails_6:
684
+ docker:
685
+ - image: ruby:2.6.5-alpine
686
+ <<: *common_ruby_environment
687
+ - image: postgres:9.6-alpine
688
+ environment:
689
+ PGDATA: /dev/shm/pgdata
690
+ <<: *common_pg_environment_vars
691
+ - image: redis:4-alpine
692
+ steps:
693
+ - checkout
694
+
695
+ - run:
696
+ name: Setup RAM disk
697
+ command: |
698
+ rm -rf ~/project/tmp ;
699
+ mkdir /dev/shm/tmp ;
700
+ ln -s /dev/shm/tmp ~/project/tmp
701
+
702
+ - run:
703
+ name: Setup requirements
704
+ command: |
705
+ apk add --update git bash build-base postgresql-dev sqlite-dev tzdata nodejs
706
+
707
+ - run:
708
+ name: Configure bundler
709
+ command: |
710
+ unset \
711
+ BUNDLE_APP_CONFIG \
712
+ GEM_HOME \
713
+ BUNDLE_PATH \
714
+ BUNDLE_BIN
715
+ bundle config --local gemfile $PWD/gemfiles/rails_6.gemfile
716
+
717
+ - restore_cache:
718
+ keys:
719
+ - v2-bundle-2.6.5-rails_6-{{ .Branch }}
720
+ - v2-bundle-2.6.5-rails_6
721
+ - v2-bundle-2.6.5
442
722
 
443
- - run:
444
- name: Install dependencies
723
+ - run:
724
+ name: Install bundle
445
725
  command: |
726
+ unset \
727
+ BUNDLE_APP_CONFIG \
728
+ GEM_HOME \
729
+ BUNDLE_PATH \
730
+ BUNDLE_BIN
446
731
  bundle install --jobs=3 --retry=3 --path=$PWD/vendor/bundle
447
732
 
733
+ # The default Ruby containers modify the behaviour of Bundler in a way that breaks
734
+ # the CI since it makes it harder to run multiple apps in a single container
735
+ # See https://github.com/docker-library/docs/pull/1221/files for a summary
736
+ # Unsettting the variables restores the default behaviour
448
737
  - run:
449
738
  name: Run test suite
450
739
  command: |
451
- unset RACK_ENV &&
452
- unset RAILS_ENV &&
740
+ unset \
741
+ RACK_ENV \
742
+ RAILS_ENV \
743
+ BUNDLE_APP_CONFIG \
744
+ GEM_HOME \
745
+ BUNDLE_PATH \
746
+ BUNDLE_BIN
453
747
  bundle exec rspec
454
748
 
455
749
  - save_cache:
456
- key: v2-bundle-2.4.1-rails_5_2-{{ .Branch }}
750
+ key: v2-bundle-2.6.5-rails_6-{{ .Branch }}
457
751
  paths:
458
752
  - ~/project/vendor/bundle
459
753
  - ~/project/vendor/bundle-scaffold
460
754
  - save_cache:
461
- key: v2-bundle-2.4.1-rails_5_2
755
+ key: v2-bundle-2.6.5-rails_6
462
756
  paths:
463
757
  - ~/project/vendor/bundle
464
758
  - ~/project/vendor/bundle-scaffold
465
759
  - save_cache:
466
- key: v2-bundle-2.4.1
760
+ key: v2-bundle-2.6.5
467
761
  paths:
468
762
  - ~/project/vendor/bundle
469
763
  - ~/project/vendor/bundle-scaffold
@@ -474,19 +768,21 @@ workflows:
474
768
  test:
475
769
  jobs:
476
770
 
477
- - build_2.3.4_rails_3
771
+ - build_2.4.6_rails_4
772
+
773
+ - build_2.4.6_rails_5
478
774
 
479
- - build_2.3.4_rails_4
775
+ - build_2.4.6_rails_5_1
480
776
 
481
- - build_2.4.1_rails_4
777
+ - build_2.4.6_rails_5_2
482
778
 
483
- - build_2.3.4_rails_5
779
+ - build_2.5.5_rails_4
484
780
 
485
- - build_2.4.1_rails_5
781
+ - build_2.5.5_rails_5
486
782
 
487
- - build_2.3.4_rails_5_1
783
+ - build_2.5.5_rails_5_1
488
784
 
489
- - build_2.4.1_rails_5_1
785
+ - build_2.5.5_rails_5_2
490
786
 
491
- - build_2.4.1_rails_5_2
787
+ - build_2.6.5_rails_6
492
788