shipit-engine 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +50 -2
  3. data/app/assets/stylesheets/_pages/_deploy.scss +3 -2
  4. data/app/controllers/shipit/api/base_controller.rb +5 -0
  5. data/app/controllers/shipit/api/deploys_controller.rb +2 -1
  6. data/app/controllers/shipit/api/tasks_controller.rb +4 -1
  7. data/app/controllers/shipit/deploys_controller.rb +1 -1
  8. data/app/controllers/shipit/github_authentication_controller.rb +4 -2
  9. data/app/controllers/shipit/rollbacks_controller.rb +1 -1
  10. data/app/controllers/shipit/tasks_controller.rb +14 -2
  11. data/app/helpers/shipit/github_url_helper.rb +4 -2
  12. data/app/helpers/shipit/stacks_helper.rb +3 -3
  13. data/app/jobs/shipit/continuous_delivery_job.rb +12 -0
  14. data/app/jobs/shipit/create_on_github_job.rb +11 -0
  15. data/app/jobs/shipit/fetch_deployed_revision_job.rb +1 -1
  16. data/app/models/shipit/anonymous_user.rb +4 -0
  17. data/app/models/shipit/commit.rb +8 -10
  18. data/app/models/shipit/commit_deployment.rb +56 -0
  19. data/app/models/shipit/commit_deployment_status.rb +57 -0
  20. data/app/models/shipit/deploy.rb +32 -6
  21. data/app/models/shipit/deploy_spec.rb +8 -0
  22. data/app/models/shipit/deploy_spec/rubygems_discovery.rb +1 -1
  23. data/app/models/shipit/rollback.rb +10 -0
  24. data/app/models/shipit/stack.rb +30 -12
  25. data/app/models/shipit/status_group.rb +1 -1
  26. data/app/models/shipit/task.rb +1 -0
  27. data/app/models/shipit/task_definition.rb +20 -1
  28. data/app/models/shipit/user.rb +10 -2
  29. data/app/models/shipit/variable_definition.rb +2 -4
  30. data/app/serializers/shipit/commit_serializer.rb +19 -1
  31. data/app/serializers/shipit/deploy_serializer.rb +7 -1
  32. data/app/serializers/shipit/short_commit_serializer.rb +1 -1
  33. data/app/serializers/shipit/task_serializer.rb +17 -1
  34. data/app/views/shipit/_variables.html.erb +15 -0
  35. data/app/views/shipit/deploys/_concurrent_deploy_warning.html.erb +1 -1
  36. data/app/views/shipit/deploys/_deploy.html.erb +2 -2
  37. data/app/views/shipit/deploys/new.html.erb +3 -17
  38. data/app/views/shipit/deploys/rollback.html.erb +3 -17
  39. data/app/views/shipit/tasks/new.html.erb +12 -4
  40. data/config/locales/en.yml +11 -0
  41. data/db/migrate/20160210183823_add_allow_concurrency_to_tasks.rb +5 -0
  42. data/db/migrate/20160303163611_create_shipit_commit_deployments.rb +14 -0
  43. data/db/migrate/20160303170913_create_shipit_commit_deployment_statuses.rb +12 -0
  44. data/db/migrate/20160303203940_add_encrypted_token_to_users.rb +6 -0
  45. data/lib/shipit.rb +7 -1
  46. data/lib/shipit/engine.rb +3 -1
  47. data/lib/shipit/environment_variables.rb +34 -0
  48. data/lib/shipit/simple_message_verifier.rb +0 -1
  49. data/lib/shipit/task_commands.rb +1 -0
  50. data/lib/shipit/version.rb +1 -1
  51. data/test/controllers/api/deploys_controller_test.rb +15 -0
  52. data/test/controllers/api/tasks_controller_test.rb +15 -0
  53. data/test/controllers/github_authentication_controller_test.rb +23 -5
  54. data/test/controllers/tasks_controller_test.rb +27 -2
  55. data/test/controllers/webhooks_controller_test.rb +8 -2
  56. data/test/dummy/config/database.mysql.yml +1 -1
  57. data/test/dummy/config/secrets.example.yml +2 -2
  58. data/test/dummy/config/secrets.yml +2 -2
  59. data/test/dummy/data/stacks/byroot/junk/production/git/bar.txt +1 -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 +27 -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 +35 -7
  72. data/test/dummy/db/seeds.rb +3 -0
  73. data/test/dummy/db/test.sqlite3 +0 -0
  74. data/test/fixtures/shipit/commit_deployment_statuses.yml +19 -0
  75. data/test/fixtures/shipit/commit_deployments.yml +37 -0
  76. data/test/fixtures/shipit/commits.yml +1 -1
  77. data/test/fixtures/shipit/stacks.yml +12 -0
  78. data/test/fixtures/shipit/tasks.yml +4 -0
  79. data/test/fixtures/shipit/users.yml +2 -0
  80. data/test/jobs/fetch_deployed_revision_job_test.rb +3 -3
  81. data/test/models/commit_deployment_status_test.rb +27 -0
  82. data/test/models/commit_deployment_test.rb +37 -0
  83. data/test/models/commits_test.rb +7 -4
  84. data/test/models/deploys_test.rb +17 -1
  85. data/test/models/stacks_test.rb +13 -13
  86. data/test/models/task_definitions_test.rb +10 -0
  87. data/test/models/team_test.rb +8 -2
  88. data/test/models/users_test.rb +20 -2
  89. data/test/unit/deploy_spec_test.rb +29 -0
  90. data/test/unit/environment_variables_test.rb +36 -0
  91. data/test/unit/github_url_helper_test.rb +0 -8
  92. metadata +76 -20
@@ -8,6 +8,11 @@ module Shipit
8
8
  'action' => 'Restart application',
9
9
  'description' => 'Restart app and job servers',
10
10
  'steps' => ['touch tmp/restart'],
11
+ 'allow_concurrency' => true,
12
+ 'variables' => [
13
+ {'name' => 'FOO', 'title' => 'Set to 0 to foo', 'default' => '1'},
14
+ {'name' => 'BAR', 'title' => 'Set to 1 to bar', 'default' => '0'},
15
+ ],
11
16
  )
12
17
  end
13
18
 
@@ -27,6 +32,11 @@ module Shipit
27
32
  description: 'Restart app and job servers',
28
33
  steps: ['touch tmp/restart'],
29
34
  checklist: [],
35
+ allow_concurrency: true,
36
+ variables: [
37
+ {'name' => 'FOO', 'title' => 'Set to 0 to foo', 'default' => '1'},
38
+ {'name' => 'BAR', 'title' => 'Set to 1 to bar', 'default' => '0'},
39
+ ],
30
40
  }
31
41
  assert_equal as_json, TaskDefinition.load(TaskDefinition.dump(@definition)).as_json
32
42
  end
@@ -34,8 +34,14 @@ module Shipit
34
34
  end
35
35
 
36
36
  def george
37
- rels = {self: stub(href: 'https://api.github.com/user/george')}
38
- stub(id: 42, name: 'George Abitbol', login: 'george', email: 'george@cyclim.se', rels: rels)
37
+ stub(
38
+ id: 42,
39
+ name: 'George Abitbol',
40
+ login: 'george',
41
+ email: 'george@cyclim.se',
42
+ avatar_url: 'https://avatars.githubusercontent.com/u/42?v=3',
43
+ url: 'https://api.github.com/user/george',
44
+ )
39
45
  end
40
46
 
41
47
  def new_team
@@ -4,8 +4,14 @@ module Shipit
4
4
  class UsersTest < ActiveSupport::TestCase
5
5
  setup do
6
6
  @user = shipit_users(:walrus)
7
- rels = {self: stub(href: 'https://api.github.com/user/george')}
8
- @github_user = stub(id: 42, name: 'George Abitbol', login: 'george', email: 'george@cyclim.se', rels: rels)
7
+ @github_user = stub(
8
+ id: 42,
9
+ name: 'George Abitbol',
10
+ login: 'george',
11
+ email: 'george@cyclim.se',
12
+ avatar_url: 'https://avatars.githubusercontent.com/u/42?v=3',
13
+ url: 'https://api.github.com/user/george',
14
+ )
9
15
  end
10
16
 
11
17
  test "find_or_create_from_github persist a new user if he is unknown" do
@@ -75,6 +81,18 @@ module Shipit
75
81
  assert_equal 'george@cyclim.se', user.email
76
82
  end
77
83
 
84
+ test "#github_api uses the user's access token" do
85
+ assert_equal @user.github_access_token, @user.github_api.access_token
86
+ end
87
+
88
+ test "#github_api fallbacks to Shipit.github_api if the user doesn't have an access_token" do
89
+ assert_equal Shipit.github_api, shipit_users(:bob).github_api
90
+ end
91
+
92
+ test "#github_api fallbacks to Shipit.github_api for anonymous users" do
93
+ assert_equal Shipit.github_api, AnonymousUser.new.github_api
94
+ end
95
+
78
96
  private
79
97
 
80
98
  def fetch_user
@@ -249,6 +249,35 @@ module Shipit
249
249
  assert_equal ['bundle exec foo'], definition.steps
250
250
  end
251
251
 
252
+ test "task definitions returns an array of VariableDefinition instances" do
253
+ @spec.expects(:load_config).returns('tasks' =>
254
+ {'restart' =>
255
+ {
256
+ 'variables' => [
257
+ {
258
+ 'name' => 'SAFETY_DISABLED',
259
+ 'title' => 'Set to 1 to do dangerous things',
260
+ 'default' => 0,
261
+ },
262
+ {
263
+ 'name' => 'FOO',
264
+ 'title' => 'Set to 0 to foo',
265
+ 'default' => 1,
266
+ },
267
+ ],
268
+ 'steps' => %w(foo),
269
+ },
270
+ })
271
+
272
+ assert_equal 2, @spec.task_definitions.first.variables.size
273
+ variable_definition = @spec.task_definitions.first.variables.first
274
+ assert_equal 'SAFETY_DISABLED', variable_definition.name
275
+ end
276
+
277
+ test "task definitions returns an empty array by default" do
278
+ assert_equal [], @spec.task_definitions
279
+ end
280
+
252
281
  test "#review_checklist returns an array" do
253
282
  @spec.expects(:load_config).returns('review' => {'checklist' => %w(foo bar)})
254
283
  assert_equal %w(foo bar), @spec.review_checklist
@@ -0,0 +1,36 @@
1
+ require 'test_helper'
2
+
3
+ module Shipit
4
+ class EnvironmentVariablesTest < ActiveSupport::TestCase
5
+ def setup
6
+ variable_defs = [
7
+ {"name" => "FOO", "title" => "Set to 0 to foo", "default" => 1},
8
+ {"name" => "BAR", "title" => "Set to 1 to bar", "default" => 0},
9
+ ]
10
+ @variable_definitions = variable_defs.map(&VariableDefinition.method(:new))
11
+ end
12
+ test 'empty env returns empty hash' do
13
+ empty = {}
14
+ assert_equal empty, EnvironmentVariables.with(nil).permit(@variable_definitions)
15
+ assert_equal empty, EnvironmentVariables.with({}).permit(@variable_definitions)
16
+ end
17
+
18
+ test 'correctly sanitizes env variables' do
19
+ env = {'FOO' => 1, 'BAR' => 1}
20
+ assert_equal env, EnvironmentVariables.with(env).permit(@variable_definitions)
21
+ end
22
+
23
+ test 'empty permit raises not permitted error' do
24
+ assert_raises(EnvironmentVariables::NotPermitted) do
25
+ EnvironmentVariables.with('FOO' => 1).permit({})
26
+ end
27
+ end
28
+
29
+ test 'throws an exception when a variable is not whitelisted' do
30
+ env = {'UNSAFE_VARIABLE' => 1}
31
+ assert_raises(EnvironmentVariables::NotPermitted) do
32
+ EnvironmentVariables.with(env).permit(@variable_definitions)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -16,13 +16,5 @@ module Shipit
16
16
  expected = 'https://github.com/shopify/shipit-engine/commit/6d9278037b872fd9a6690523e411ecb3aa181355'
17
17
  assert_equal expected, github_commit_url(shipit_commits(:first))
18
18
  end
19
-
20
- test "#github_diff_url returns a diff url" do
21
- from_sha = SecureRandom.hex
22
- to_sha = SecureRandom.hex
23
- expected = "https://github.com/rails/rails/compare/#{from_sha}...#{to_sha}"
24
-
25
- assert_equal expected, github_diff_url("rails", "rails", from_sha, to_sha)
26
- end
27
19
  end
28
20
  end
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.7.0
4
+ version: 0.8.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-02-10 00:00:00.000000000 Z
11
+ date: 2016-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.3
61
+ version: 0.1.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.0.3
68
+ version: 0.1.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: state_machines-activerecord
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 2.1.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: attr_encrypted
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 2.0.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 2.0.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: sprockets
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -198,28 +212,28 @@ dependencies:
198
212
  requirements:
199
213
  - - "~>"
200
214
  - !ruby/object:Gem::Version
201
- version: 4.0.4
215
+ version: 4.1.0
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: 4.0.4
222
+ version: 4.1.0
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: rails-timeago
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
227
  - - "~>"
214
228
  - !ruby/object:Gem::Version
215
- version: 2.11.1
229
+ version: 2.13.0
216
230
  type: :runtime
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - "~>"
221
235
  - !ruby/object:Gem::Version
222
- version: 2.11.1
236
+ version: 2.13.0
223
237
  - !ruby/object:Gem::Dependency
224
238
  name: ansi_stream
225
239
  requirement: !ruby/object:Gem::Requirement
@@ -240,14 +254,14 @@ dependencies:
240
254
  requirements:
241
255
  - - "~>"
242
256
  - !ruby/object:Gem::Version
243
- version: 5.1.11
257
+ version: 6.3.2
244
258
  type: :runtime
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
262
  - - "~>"
249
263
  - !ruby/object:Gem::Version
250
- version: 5.1.11
264
+ version: 6.3.2
251
265
  - !ruby/object:Gem::Dependency
252
266
  name: rails_autolink
253
267
  requirement: !ruby/object:Gem::Requirement
@@ -268,14 +282,14 @@ dependencies:
268
282
  requirements:
269
283
  - - "~>"
270
284
  - !ruby/object:Gem::Version
271
- version: 4.1.1
285
+ version: 4.2.0
272
286
  type: :runtime
273
287
  prerelease: false
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
290
  - - "~>"
277
291
  - !ruby/object:Gem::Version
278
- version: 4.1.1
292
+ version: 4.2.0
279
293
  - !ruby/object:Gem::Dependency
280
294
  name: faraday
281
295
  requirement: !ruby/object:Gem::Requirement
@@ -294,30 +308,30 @@ dependencies:
294
308
  name: faraday-http-cache
295
309
  requirement: !ruby/object:Gem::Requirement
296
310
  requirements:
297
- - - '='
311
+ - - "~>"
298
312
  - !ruby/object:Gem::Version
299
- version: 1.1.0
313
+ version: 1.2.2
300
314
  type: :runtime
301
315
  prerelease: false
302
316
  version_requirements: !ruby/object:Gem::Requirement
303
317
  requirements:
304
- - - '='
318
+ - - "~>"
305
319
  - !ruby/object:Gem::Version
306
- version: 1.1.0
320
+ version: 1.2.2
307
321
  - !ruby/object:Gem::Dependency
308
322
  name: redis-objects
309
323
  requirement: !ruby/object:Gem::Requirement
310
324
  requirements:
311
- - - '='
325
+ - - "~>"
312
326
  - !ruby/object:Gem::Version
313
- version: 1.2.0
327
+ version: 1.2.1
314
328
  type: :runtime
315
329
  prerelease: false
316
330
  version_requirements: !ruby/object:Gem::Requirement
317
331
  requirements:
318
- - - '='
332
+ - - "~>"
319
333
  - !ruby/object:Gem::Version
320
- version: 1.2.0
334
+ version: 1.2.1
321
335
  - !ruby/object:Gem::Dependency
322
336
  name: redis-namespace
323
337
  requirement: !ruby/object:Gem::Requirement
@@ -437,6 +451,8 @@ files:
437
451
  - app/jobs/shipit/cache_deploy_spec_job.rb
438
452
  - app/jobs/shipit/chunk_rollup_job.rb
439
453
  - app/jobs/shipit/clear_git_cache_job.rb
454
+ - app/jobs/shipit/continuous_delivery_job.rb
455
+ - app/jobs/shipit/create_on_github_job.rb
440
456
  - app/jobs/shipit/deliver_hook_job.rb
441
457
  - app/jobs/shipit/destroy_stack_job.rb
442
458
  - app/jobs/shipit/emit_event_job.rb
@@ -453,6 +469,8 @@ files:
453
469
  - app/models/shipit/api_client.rb
454
470
  - app/models/shipit/commit.rb
455
471
  - app/models/shipit/commit_checks.rb
472
+ - app/models/shipit/commit_deployment.rb
473
+ - app/models/shipit/commit_deployment_status.rb
456
474
  - app/models/shipit/delivery.rb
457
475
  - app/models/shipit/deploy.rb
458
476
  - app/models/shipit/deploy_spec.rb
@@ -490,6 +508,7 @@ files:
490
508
  - app/validators/ascii_only_validator.rb
491
509
  - app/validators/subset_validator.rb
492
510
  - app/views/layouts/shipit.html.erb
511
+ - app/views/shipit/_variables.html.erb
493
512
  - app/views/shipit/commits/_commit.html.erb
494
513
  - app/views/shipit/commits/_commit_author.html.erb
495
514
  - app/views/shipit/deploys/_checklist.html.erb
@@ -532,6 +551,10 @@ files:
532
551
  - db/migrate/20160104151742_increase_tasks_type_size_back.rb
533
552
  - db/migrate/20160104151833_convert_sti_columns.rb
534
553
  - db/migrate/20160122165559_rename_hooks_url_in_delivery_url.rb
554
+ - db/migrate/20160210183823_add_allow_concurrency_to_tasks.rb
555
+ - db/migrate/20160303163611_create_shipit_commit_deployments.rb
556
+ - db/migrate/20160303170913_create_shipit_commit_deployment_statuses.rb
557
+ - db/migrate/20160303203940_add_encrypted_token_to_users.rb
535
558
  - db/schema.rb
536
559
  - lib/shipit-engine.rb
537
560
  - lib/shipit.rb
@@ -540,6 +563,7 @@ files:
540
563
  - lib/shipit/csv_serializer.rb
541
564
  - lib/shipit/deploy_commands.rb
542
565
  - lib/shipit/engine.rb
566
+ - lib/shipit/environment_variables.rb
543
567
  - lib/shipit/first_parent_commits_iterator.rb
544
568
  - lib/shipit/null_serializer.rb
545
569
  - lib/shipit/octokit_iterator.rb
@@ -608,6 +632,17 @@ files:
608
632
  - test/dummy/config/routes.rb
609
633
  - test/dummy/config/secrets.example.yml
610
634
  - test/dummy/config/secrets.yml
635
+ - test/dummy/data/stacks/byroot/junk/production/git/bar.txt
636
+ - test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
637
+ - test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
638
+ - test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf
639
+ - test/dummy/data/stacks/byroot/junk/production/git/plopfizz
640
+ - test/dummy/data/stacks/byroot/junk/production/git/sd
641
+ - test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf
642
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj
643
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
644
+ - test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
645
+ - test/dummy/data/stacks/byroot/junk/production/git/toto.txt
611
646
  - test/dummy/db/development.sqlite3
612
647
  - test/dummy/db/schema.rb
613
648
  - test/dummy/db/seeds.rb
@@ -620,6 +655,8 @@ files:
620
655
  - test/fixtures/payloads/push_not_master.json
621
656
  - test/fixtures/payloads/status_master.json
622
657
  - test/fixtures/shipit/api_clients.yml
658
+ - test/fixtures/shipit/commit_deployment_statuses.yml
659
+ - test/fixtures/shipit/commit_deployments.yml
623
660
  - test/fixtures/shipit/commits.yml
624
661
  - test/fixtures/shipit/deliveries.yml
625
662
  - test/fixtures/shipit/github_hooks.yml
@@ -652,6 +689,8 @@ files:
652
689
  - test/jobs/unique_job_test.rb
653
690
  - test/models/api_client_test.rb
654
691
  - test/models/commit_checks_test.rb
692
+ - test/models/commit_deployment_status_test.rb
693
+ - test/models/commit_deployment_test.rb
655
694
  - test/models/commits_test.rb
656
695
  - test/models/delivery_test.rb
657
696
  - test/models/deploys_test.rb
@@ -673,6 +712,7 @@ files:
673
712
  - test/unit/csv_serializer_test.rb
674
713
  - test/unit/deploy_commands_test.rb
675
714
  - test/unit/deploy_spec_test.rb
715
+ - test/unit/environment_variables_test.rb
676
716
  - test/unit/github_url_helper_test.rb
677
717
  - test/unit/shipit_test.rb
678
718
  - vendor/assets/javascripts/jquery-notify.js
@@ -747,6 +787,17 @@ test_files:
747
787
  - test/dummy/config/secrets.example.yml
748
788
  - test/dummy/config/secrets.yml
749
789
  - test/dummy/config.ru
790
+ - test/dummy/data/stacks/byroot/junk/production/git/bar.txt
791
+ - test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
792
+ - test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
793
+ - test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf
794
+ - test/dummy/data/stacks/byroot/junk/production/git/plopfizz
795
+ - test/dummy/data/stacks/byroot/junk/production/git/sd
796
+ - test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf
797
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj
798
+ - test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
799
+ - test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
800
+ - test/dummy/data/stacks/byroot/junk/production/git/toto.txt
750
801
  - test/dummy/db/development.sqlite3
751
802
  - test/dummy/db/schema.rb
752
803
  - test/dummy/db/seeds.rb
@@ -761,6 +812,8 @@ test_files:
761
812
  - test/fixtures/payloads/push_not_master.json
762
813
  - test/fixtures/payloads/status_master.json
763
814
  - test/fixtures/shipit/api_clients.yml
815
+ - test/fixtures/shipit/commit_deployment_statuses.yml
816
+ - test/fixtures/shipit/commit_deployments.yml
764
817
  - test/fixtures/shipit/commits.yml
765
818
  - test/fixtures/shipit/deliveries.yml
766
819
  - test/fixtures/shipit/github_hooks.yml
@@ -793,6 +846,8 @@ test_files:
793
846
  - test/jobs/unique_job_test.rb
794
847
  - test/models/api_client_test.rb
795
848
  - test/models/commit_checks_test.rb
849
+ - test/models/commit_deployment_status_test.rb
850
+ - test/models/commit_deployment_test.rb
796
851
  - test/models/commits_test.rb
797
852
  - test/models/delivery_test.rb
798
853
  - test/models/deploys_test.rb
@@ -814,5 +869,6 @@ test_files:
814
869
  - test/unit/csv_serializer_test.rb
815
870
  - test/unit/deploy_commands_test.rb
816
871
  - test/unit/deploy_spec_test.rb
872
+ - test/unit/environment_variables_test.rb
817
873
  - test/unit/github_url_helper_test.rb
818
874
  - test/unit/shipit_test.rb