shipit-engine 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +41 -37
  3. data/app/assets/javascripts/task/tty.js.coffee +40 -22
  4. data/app/assets/stylesheets/_pages/_deploy.scss +1 -0
  5. data/app/controllers/shipit/api/locks_controller.rb +3 -3
  6. data/app/controllers/shipit/api/stacks_controller.rb +14 -1
  7. data/app/controllers/shipit/commit_checks_controller.rb +9 -2
  8. data/app/controllers/shipit/shipit_controller.rb +1 -1
  9. data/app/controllers/shipit/stacks_controller.rb +11 -5
  10. data/app/controllers/shipit/status_controller.rb +1 -1
  11. data/app/controllers/shipit/webhooks_controller.rb +15 -5
  12. data/app/helpers/shipit/deploys_helper.rb +1 -1
  13. data/app/helpers/shipit/shipit_helper.rb +2 -0
  14. data/app/jobs/shipit/perform_commit_checks_job.rb +2 -0
  15. data/app/jobs/shipit/perform_task_job.rb +18 -8
  16. data/app/models/shipit/commit.rb +22 -12
  17. data/app/models/shipit/commit_checks.rb +20 -53
  18. data/app/models/shipit/deploy.rb +1 -1
  19. data/app/models/shipit/ephemeral_commit_checks.rb +76 -0
  20. data/app/models/shipit/stack.rb +40 -10
  21. data/app/models/shipit/status.rb +14 -8
  22. data/app/models/shipit/status_group.rb +1 -1
  23. data/app/models/shipit/task.rb +2 -0
  24. data/app/models/shipit/unknown_status.rb +4 -0
  25. data/app/models/shipit/user.rb +9 -1
  26. data/app/serializers/shipit/stack_serializer.rb +6 -1
  27. data/app/views/shipit/commit_checks/_checks.html.erb +13 -0
  28. data/app/views/shipit/commit_checks/show.html.erb +5 -0
  29. data/app/views/shipit/stacks/_header.html.erb +1 -1
  30. data/app/views/shipit/stacks/show.html.erb +15 -0
  31. data/config/routes.rb +2 -1
  32. data/db/migrate/20140226233935_create_baseline.rb +10 -10
  33. data/db/migrate/20160802092812_add_continuous_delivery_delayed_since_to_stacks.rb +5 -0
  34. data/db/migrate/20160822131405_add_locked_since_to_stacks.rb +5 -0
  35. data/lib/shipit.rb +4 -0
  36. data/lib/shipit/command.rb +1 -1
  37. data/lib/shipit/commands.rb +10 -7
  38. data/lib/shipit/csv_serializer.rb +1 -1
  39. data/lib/shipit/stack_commands.rb +17 -5
  40. data/lib/shipit/task_commands.rb +2 -2
  41. data/lib/shipit/version.rb +1 -1
  42. data/lib/snippets/push-to-heroku +20 -16
  43. data/test/controllers/api/deploys_controller_test.rb +8 -8
  44. data/test/controllers/api/hooks_controller_test.rb +11 -9
  45. data/test/controllers/api/locks_controller_test.rb +16 -6
  46. data/test/controllers/api/outputs_controller_test.rb +1 -1
  47. data/test/controllers/api/stacks_controller_test.rb +48 -3
  48. data/test/controllers/api/tasks_controller_test.rb +6 -6
  49. data/test/controllers/commit_checks_controller_test.rb +3 -3
  50. data/test/controllers/deploys_controller_test.rb +13 -13
  51. data/test/controllers/rollbacks_controller_test.rb +7 -7
  52. data/test/controllers/stacks_controller_test.rb +36 -29
  53. data/test/controllers/tasks_controller_test.rb +14 -14
  54. data/test/controllers/webhooks_controller_test.rb +16 -25
  55. data/test/dummy/config/application.rb +0 -3
  56. data/test/dummy/config/environments/test.rb +2 -2
  57. data/test/dummy/data/stacks/byroot/junk/production/git/bar.txt +2 -0
  58. data/test/dummy/data/stacks/byroot/junk/production/git/bin/slow +7 -0
  59. data/test/dummy/data/stacks/byroot/junk/production/git/bin/timeout +10 -0
  60. data/test/dummy/data/stacks/byroot/junk/production/git/dkfdsf +0 -0
  61. data/test/dummy/data/stacks/byroot/junk/production/git/dskjfsd +0 -0
  62. data/test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf +0 -0
  63. data/test/dummy/data/stacks/byroot/junk/production/git/plopfizz +0 -0
  64. data/test/dummy/data/stacks/byroot/junk/production/git/sd +0 -0
  65. data/test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf +1 -0
  66. data/test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj +0 -0
  67. data/test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf +0 -0
  68. data/test/dummy/data/stacks/byroot/junk/production/git/shipit.yml +21 -0
  69. data/test/dummy/data/stacks/byroot/junk/production/git/toto.txt +2 -0
  70. data/test/dummy/db/development.sqlite3 +0 -0
  71. data/test/dummy/db/schema.rb +15 -13
  72. data/test/dummy/db/test.sqlite3 +0 -0
  73. data/test/fixtures/shipit/commit_deployments.yml +8 -8
  74. data/test/fixtures/shipit/output_chunks.yml +12 -12
  75. data/test/fixtures/shipit/tasks.yml +9 -1
  76. data/test/fixtures/shipit/users.yml +9 -2
  77. data/test/jobs/perform_task_job_test.rb +14 -11
  78. data/test/models/commits_test.rb +33 -14
  79. data/test/models/stacks_test.rb +78 -4
  80. data/test/models/users_test.rb +16 -0
  81. data/test/unit/commands_test.rb +4 -0
  82. data/test/unit/deploy_commands_test.rb +1 -1
  83. metadata +133 -34
  84. data/app/jobs/shipit/git_mirror_update_job.rb +0 -14
  85. data/app/views/shipit/deploys/_checks.html.erb +0 -11
@@ -383,6 +383,10 @@ module Shipit
383
383
  end
384
384
 
385
385
  test "updating the stack doesn't emit a hook if only `updated_at` is changed" do
386
+ # force a save to make sure `cached_deploy_spec` serialization is consistent with how Active Record would
387
+ # serialize it.
388
+ @stack.update(updated_at: 2.days.ago)
389
+
386
390
  expect_no_hook(:stack) do
387
391
  @stack.update(updated_at: Time.zone.now)
388
392
  end
@@ -469,8 +473,12 @@ module Shipit
469
473
  end
470
474
 
471
475
  test "#trigger_continuous_delivery bails out if the stack isn't deployable" do
476
+ Hook.stubs(:emit) # TODO: Once on rails 5, use assert_no_enqueued_jobs(only: Shipit::PerformTaskJob)
477
+
478
+ @stack.lock('yada yada yada', AnonymousUser.new)
472
479
  refute_predicate @stack, :deployable?
473
480
  refute_predicate @stack, :deployed_too_recently?
481
+
474
482
  assert_no_enqueued_jobs do
475
483
  assert_no_difference -> { Deploy.count } do
476
484
  @stack.trigger_continuous_delivery
@@ -479,9 +487,14 @@ module Shipit
479
487
  end
480
488
 
481
489
  test "#trigger_continuous_delivery bails out if the stack is deployable but was deployed too recently" do
482
- @stack.tasks.active.each(&:error!)
490
+ Hook.stubs(:emit) # TODO: Once on rails 5, use assert_no_enqueued_jobs(only: Shipit::PerformTaskJob)
491
+
492
+ @stack.tasks.delete_all
493
+ deploy = @stack.trigger_deploy(shipit_commits(:first), AnonymousUser.new)
494
+ deploy.run!
495
+ deploy.complete!
496
+
483
497
  assert_predicate @stack, :deployable?
484
- @stack.last_active_task.update(ended_at: 20.seconds.ago)
485
498
  assert_predicate @stack, :deployed_too_recently?
486
499
 
487
500
  assert_no_enqueued_jobs do
@@ -491,12 +504,32 @@ module Shipit
491
504
  end
492
505
  end
493
506
 
507
+ test "#trigger_continuous_delivery bails out if the commit was already unsuccessfully deployed" do
508
+ Hook.stubs(:emit) # TODO: Once on rails 5, use assert_no_enqueued_jobs(only: Shipit::PerformTaskJob)
509
+
510
+ @stack.tasks.delete_all
511
+
512
+ assert_predicate @stack, :deployable?
513
+ refute_predicate @stack, :deployed_too_recently?
514
+
515
+ commit = @stack.next_commit_to_deploy
516
+ deploy = @stack.trigger_deploy(commit, AnonymousUser.new)
517
+ deploy.error!
518
+ assert_predicate commit, :deploy_failed?
519
+
520
+ assert_no_enqueued_jobs do
521
+ assert_no_difference -> { Deploy.count } do
522
+ @stack.trigger_continuous_delivery
523
+ end
524
+ end
525
+ end
526
+
494
527
  test "#trigger_continuous_delivery trigger a deploy if all conditions are met" do
495
- @stack.tasks.active.each(&:error!)
528
+ @stack.tasks.delete_all
496
529
  assert_predicate @stack, :deployable?
497
530
  refute_predicate @stack, :deployed_too_recently?
498
531
 
499
- assert_no_difference -> { Deploy.count } do
532
+ assert_difference -> { Deploy.count }, +1 do
500
533
  @stack.trigger_continuous_delivery
501
534
  end
502
535
  end
@@ -526,5 +559,46 @@ module Shipit
526
559
  @stack.expects(:maximum_commits_per_deploy).returns(3).at_least_once
527
560
  assert_equal shipit_commits(:third), @stack.next_commit_to_deploy
528
561
  end
562
+
563
+ test "#lock sets reason, user and locked_since" do
564
+ reason = "Here comes the walrus"
565
+ user = shipit_users(:walrus)
566
+ @stack.lock(reason, user)
567
+ assert @stack.locked?
568
+ assert_equal reason, @stack.lock_reason
569
+ assert_equal user, @stack.lock_author
570
+ assert_not_nil user, @stack.locked_since
571
+ end
572
+
573
+ test "#unlock deletes reason, user and locked_since" do
574
+ user = shipit_users(:walrus)
575
+ @stack.lock("Here comes the walrus", user)
576
+ @stack.unlock
577
+ refute @stack.locked?
578
+ assert_nil @stack.lock_reason
579
+ assert_nil @stack.locked_since
580
+ assert_not_equal user, @stack.lock_author
581
+ end
582
+
583
+ test "#lock does not overwrite locked_since if already locked" do
584
+ @stack.lock("Here comes the walrus", shipit_users(:walrus))
585
+ old_time = @stack.locked_since
586
+
587
+ new_reason = "Its still coming!"
588
+ @stack.lock(new_reason, shipit_users(:walrus))
589
+
590
+ assert @stack.locked?
591
+ assert_equal new_reason, @stack.lock_reason
592
+ assert_equal old_time, @stack.locked_since
593
+ end
594
+
595
+ test "stack contains valid deploy_url" do
596
+ @stack.deploy_url = "Javascript:alert(0);//"
597
+ assert_not_predicate @stack, :valid?
598
+ @stack.deploy_url = "https://shopify.com"
599
+ assert_predicate @stack, :valid?
600
+ @stack.deploy_url = "ssh://abc"
601
+ assert_predicate @stack, :valid?
602
+ end
529
603
  end
530
604
  end
@@ -107,6 +107,22 @@ module Shipit
107
107
  assert_equal Shipit.github_api, AnonymousUser.new.github_api
108
108
  end
109
109
 
110
+ test "users with legacy encrypted access token get their token reset automatically" do
111
+ # See: https://github.com/attr-encrypted/attr_encrypted/blob/53266da546a21afaa1f1b93a461b912f4ccf363b/README.md#upgrading-from-attr_encrypted-v2x-to-v3x
112
+ legacy = shipit_users(:legacy)
113
+ assert_not_nil legacy.encrypted_github_access_token
114
+ assert_not_nil legacy.encrypted_github_access_token_iv
115
+
116
+ assert_nil legacy.github_access_token
117
+ legacy.reload
118
+ assert_nil legacy.encrypted_github_access_token
119
+ assert_nil legacy.encrypted_github_access_token_iv
120
+
121
+ legacy.update!(github_access_token: 't0k3n')
122
+ legacy.reload
123
+ assert_equal 't0k3n', legacy.github_access_token
124
+ end
125
+
110
126
  private
111
127
 
112
128
  def fetch_user
@@ -9,5 +9,9 @@ module Shipit
9
9
  test 'SHIPIT gets added to the environment variables' do
10
10
  assert_equal '1', @commands.env['SHIPIT']
11
11
  end
12
+
13
+ test 'parse_git_version handles rc releases' do
14
+ assert_equal Gem::Version.new('2.8.0'), Commands.parse_git_version('git version 2.8.0.rc3')
15
+ end
12
16
  end
13
17
  end
@@ -139,7 +139,7 @@ module Shipit
139
139
  commands = @commands.perform
140
140
  assert_equal 1, commands.length
141
141
  command = commands.first
142
- assert_equal "Sirupsen (Simon Horup Eskildsen) via Shipit", command.env['USER']
142
+ assert_equal "Sirupsen (Simon Horup Eskildsen) via Shipit", command.env['SHIPIT_USER']
143
143
  end
144
144
 
145
145
  test "#perform calls cap $environment deploy with the ENVIRONMENT in the environment" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipit-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean Boussier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-13 00:00:00.000000000 Z
11
+ date: 2016-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -25,19 +25,103 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '10.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rails
28
+ name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 4.2.0
33
+ version: 5.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 4.2.0
40
+ version: 5.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: actionview
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 5.0.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: activejob
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 5.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 5.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: activemodel
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 5.0.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 5.0.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: activerecord
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 5.0.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 5.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: activesupport
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 5.0.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 5.0.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: railties
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 5.0.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 5.0.0
41
125
  - !ruby/object:Gem::Dependency
42
126
  name: securecompare
43
127
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +156,28 @@ dependencies:
72
156
  requirements:
73
157
  - - "~>"
74
158
  - !ruby/object:Gem::Version
75
- version: 0.1.1
159
+ version: 0.2.0
76
160
  type: :runtime
77
161
  prerelease: false
78
162
  version_requirements: !ruby/object:Gem::Requirement
79
163
  requirements:
80
164
  - - "~>"
81
165
  - !ruby/object:Gem::Version
82
- version: 0.1.1
166
+ version: 0.2.0
83
167
  - !ruby/object:Gem::Dependency
84
168
  name: state_machines-activerecord
85
169
  requirement: !ruby/object:Gem::Requirement
86
170
  requirements:
87
171
  - - "~>"
88
172
  - !ruby/object:Gem::Version
89
- version: 0.3.0
173
+ version: 0.4.0
90
174
  type: :runtime
91
175
  prerelease: false
92
176
  version_requirements: !ruby/object:Gem::Requirement
93
177
  requirements:
94
178
  - - "~>"
95
179
  - !ruby/object:Gem::Version
96
- version: 0.3.0
180
+ version: 0.4.0
97
181
  - !ruby/object:Gem::Dependency
98
182
  name: active_model_serializers
99
183
  requirement: !ruby/object:Gem::Requirement
@@ -112,16 +196,16 @@ dependencies:
112
196
  name: pubsubstub
113
197
  requirement: !ruby/object:Gem::Requirement
114
198
  requirements:
115
- - - '='
199
+ - - "~>"
116
200
  - !ruby/object:Gem::Version
117
- version: 0.1.0
201
+ version: 0.1.2
118
202
  type: :runtime
119
203
  prerelease: false
120
204
  version_requirements: !ruby/object:Gem::Requirement
121
205
  requirements:
122
- - - '='
206
+ - - "~>"
123
207
  - !ruby/object:Gem::Version
124
- version: 0.1.0
208
+ version: 0.1.2
125
209
  - !ruby/object:Gem::Dependency
126
210
  name: safe_yaml
127
211
  requirement: !ruby/object:Gem::Requirement
@@ -170,28 +254,14 @@ dependencies:
170
254
  requirements:
171
255
  - - "~>"
172
256
  - !ruby/object:Gem::Version
173
- version: 2.0.0
257
+ version: 3.0.0
174
258
  type: :runtime
175
259
  prerelease: false
176
260
  version_requirements: !ruby/object:Gem::Requirement
177
261
  requirements:
178
262
  - - "~>"
179
263
  - !ruby/object:Gem::Version
180
- version: 2.0.0
181
- - !ruby/object:Gem::Dependency
182
- name: sprockets
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: 2.12.3
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: 2.12.3
264
+ version: 3.0.0
195
265
  - !ruby/object:Gem::Dependency
196
266
  name: sprockets-rails
197
267
  requirement: !ruby/object:Gem::Requirement
@@ -296,14 +366,14 @@ dependencies:
296
366
  requirements:
297
367
  - - "~>"
298
368
  - !ruby/object:Gem::Version
299
- version: 6.3.2
369
+ version: 6.4.1
300
370
  type: :runtime
301
371
  prerelease: false
302
372
  version_requirements: !ruby/object:Gem::Requirement
303
373
  requirements:
304
374
  - - "~>"
305
375
  - !ruby/object:Gem::Version
306
- version: 6.3.2
376
+ version: 6.4.1
307
377
  - !ruby/object:Gem::Dependency
308
378
  name: rails_autolink
309
379
  requirement: !ruby/object:Gem::Requirement
@@ -530,7 +600,6 @@ files:
530
600
  - app/jobs/shipit/emit_event_job.rb
531
601
  - app/jobs/shipit/fetch_commit_stats_job.rb
532
602
  - app/jobs/shipit/fetch_deployed_revision_job.rb
533
- - app/jobs/shipit/git_mirror_update_job.rb
534
603
  - app/jobs/shipit/github_sync_job.rb
535
604
  - app/jobs/shipit/perform_commit_checks_job.rb
536
605
  - app/jobs/shipit/perform_task_job.rb
@@ -553,6 +622,7 @@ files:
553
622
  - app/models/shipit/deploy_spec/pypi_discovery.rb
554
623
  - app/models/shipit/deploy_spec/rubygems_discovery.rb
555
624
  - app/models/shipit/duration.rb
625
+ - app/models/shipit/ephemeral_commit_checks.rb
556
626
  - app/models/shipit/github_hook.rb
557
627
  - app/models/shipit/hook.rb
558
628
  - app/models/shipit/membership.rb
@@ -587,10 +657,11 @@ files:
587
657
  - app/views/layouts/shipit.html.erb
588
658
  - app/views/layouts/shipit_bootstrap.html.erb
589
659
  - app/views/shipit/_variables.html.erb
660
+ - app/views/shipit/commit_checks/_checks.html.erb
661
+ - app/views/shipit/commit_checks/show.html.erb
590
662
  - app/views/shipit/commits/_commit.html.erb
591
663
  - app/views/shipit/commits/_commit_author.html.erb
592
664
  - app/views/shipit/deploys/_checklist.html.erb
593
- - app/views/shipit/deploys/_checks.html.erb
594
665
  - app/views/shipit/deploys/_concurrent_deploy_warning.html.erb
595
666
  - app/views/shipit/deploys/_deploy.html.erb
596
667
  - app/views/shipit/deploys/_monitoring.html.erb
@@ -640,6 +711,8 @@ files:
640
711
  - db/migrate/20160426155146_add_index_for_stack_active_task.rb
641
712
  - db/migrate/20160502150713_add_estimated_deploy_duration_to_stacks.rb
642
713
  - db/migrate/20160526192650_reorder_active_tasks_index.rb
714
+ - db/migrate/20160802092812_add_continuous_delivery_delayed_since_to_stacks.rb
715
+ - db/migrate/20160822131405_add_locked_since_to_stacks.rb
643
716
  - lib/shipit-engine.rb
644
717
  - lib/shipit.rb
645
718
  - lib/shipit/command.rb
@@ -717,6 +790,19 @@ files:
717
790
  - test/dummy/config/locales/en.yml
718
791
  - test/dummy/config/routes.rb
719
792
  - test/dummy/config/secrets.yml
793
+ - test/dummy/data/stacks/byroot/junk/production/git/bar.txt
794
+ - test/dummy/data/stacks/byroot/junk/production/git/bin/slow
795
+ - test/dummy/data/stacks/byroot/junk/production/git/bin/timeout
796
+ - test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
797
+ - test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
798
+ - test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf
799
+ - test/dummy/data/stacks/byroot/junk/production/git/plopfizz
800
+ - test/dummy/data/stacks/byroot/junk/production/git/sd
801
+ - test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf
802
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj
803
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
804
+ - test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
805
+ - test/dummy/data/stacks/byroot/junk/production/git/toto.txt
720
806
  - test/dummy/db/development.sqlite3
721
807
  - test/dummy/db/schema.rb
722
808
  - test/dummy/db/seeds.rb
@@ -819,7 +905,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
819
905
  version: '0'
820
906
  requirements: []
821
907
  rubyforge_project:
822
- rubygems_version: 2.2.5
908
+ rubygems_version: 2.6.6
823
909
  signing_key:
824
910
  specification_version: 4
825
911
  summary: Application deployment software
@@ -870,6 +956,19 @@ test_files:
870
956
  - test/dummy/config/routes.rb
871
957
  - test/dummy/config/secrets.yml
872
958
  - test/dummy/config.ru
959
+ - test/dummy/data/stacks/byroot/junk/production/git/bar.txt
960
+ - test/dummy/data/stacks/byroot/junk/production/git/bin/slow
961
+ - test/dummy/data/stacks/byroot/junk/production/git/bin/timeout
962
+ - test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
963
+ - test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
964
+ - test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf
965
+ - test/dummy/data/stacks/byroot/junk/production/git/plopfizz
966
+ - test/dummy/data/stacks/byroot/junk/production/git/sd
967
+ - test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf
968
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj
969
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
970
+ - test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
971
+ - test/dummy/data/stacks/byroot/junk/production/git/toto.txt
873
972
  - test/dummy/db/development.sqlite3
874
973
  - test/dummy/db/schema.rb
875
974
  - test/dummy/db/seeds.rb