shipit-engine 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -2
  3. data/app/assets/images/archive-solid.svg +1 -0
  4. data/app/assets/stylesheets/_pages/_stacks.scss +76 -0
  5. data/app/controllers/shipit/api/stacks_controller.rb +20 -1
  6. data/app/controllers/shipit/api_clients_controller.rb +49 -0
  7. data/app/controllers/shipit/merge_status_controller.rb +8 -4
  8. data/app/controllers/shipit/stacks_controller.rb +58 -9
  9. data/app/controllers/shipit/webhooks_controller.rb +2 -130
  10. data/app/helpers/shipit/stacks_helper.rb +4 -0
  11. data/app/jobs/shipit/background_job/unique.rb +3 -1
  12. data/app/jobs/shipit/continuous_delivery_job.rb +1 -0
  13. data/app/jobs/shipit/destroy_stack_job.rb +2 -2
  14. data/app/models/shipit/commit.rb +21 -9
  15. data/app/models/shipit/commit_deployment.rb +15 -11
  16. data/app/models/shipit/commit_deployment_status.rb +6 -2
  17. data/app/models/shipit/deploy.rb +48 -7
  18. data/app/models/shipit/deploy_stats.rb +57 -0
  19. data/app/models/shipit/repository.rb +38 -0
  20. data/app/models/shipit/stack.rb +41 -34
  21. data/app/models/shipit/task.rb +26 -4
  22. data/app/models/shipit/webhooks.rb +32 -0
  23. data/app/models/shipit/webhooks/handlers/check_suite_handler.rb +19 -0
  24. data/app/models/shipit/webhooks/handlers/handler.rb +40 -0
  25. data/app/models/shipit/webhooks/handlers/membership_handler.rb +45 -0
  26. data/app/models/shipit/webhooks/handlers/push_handler.rb +20 -0
  27. data/app/models/shipit/webhooks/handlers/status_handler.rb +26 -0
  28. data/app/serializers/shipit/stack_serializer.rb +6 -1
  29. data/app/validators/ascii_only_validator.rb +3 -3
  30. data/app/views/layouts/_head.html.erb +0 -0
  31. data/app/views/layouts/shipit.html.erb +4 -2
  32. data/app/views/shipit/api_clients/index.html.erb +36 -0
  33. data/app/views/shipit/api_clients/new.html.erb +33 -0
  34. data/app/views/shipit/api_clients/show.html.erb +35 -0
  35. data/app/views/shipit/merge_status/logged_out.erb +1 -1
  36. data/app/views/shipit/stacks/_header.html.erb +12 -7
  37. data/app/views/shipit/stacks/_links.html.erb +1 -0
  38. data/app/views/shipit/stacks/index.html.erb +7 -2
  39. data/app/views/shipit/stacks/settings.html.erb +19 -0
  40. data/app/views/shipit/stacks/statistics.html.erb +82 -0
  41. data/config/locales/en.yml +14 -2
  42. data/config/routes.rb +4 -0
  43. data/db/migrate/20191209231045_create_shipit_repositories.rb +12 -0
  44. data/db/migrate/20191209231307_add_repository_reference_to_stacks.rb +15 -0
  45. data/db/migrate/20191216162728_backfill_repository_data.rb +22 -0
  46. data/db/migrate/20191216163010_remove_repository_information_from_stacks.rb +20 -0
  47. data/db/migrate/20191219205202_add_archived_since_to_stacks.rb +6 -0
  48. data/db/migrate/20200102175621_optional_task_commits.rb +6 -0
  49. data/db/migrate/20200109132519_add_sha_to_commit_deployments.rb +5 -0
  50. data/lib/shipit/github_app.rb +32 -3
  51. data/lib/shipit/task_commands.rb +10 -2
  52. data/lib/shipit/version.rb +1 -1
  53. data/test/controllers/api/ccmenu_controller_test.rb +1 -1
  54. data/test/controllers/api/stacks_controller_test.rb +14 -6
  55. data/test/controllers/api_clients_controller_test.rb +103 -0
  56. data/test/controllers/merge_status_controller_test.rb +21 -4
  57. data/test/controllers/stacks_controller_test.rb +35 -0
  58. data/test/controllers/webhooks_controller_test.rb +26 -0
  59. data/test/dummy/config/environments/development.rb +22 -4
  60. data/test/dummy/db/schema.rb +17 -6
  61. data/test/dummy/db/seeds.rb +20 -6
  62. data/test/fixtures/shipit/commit_deployment_statuses.yml +4 -4
  63. data/test/fixtures/shipit/commit_deployments.yml +8 -8
  64. data/test/fixtures/shipit/commits.yml +23 -0
  65. data/test/fixtures/shipit/repositories.yml +23 -0
  66. data/test/fixtures/shipit/stacks.yml +100 -16
  67. data/test/fixtures/shipit/tasks.yml +66 -3
  68. data/test/jobs/destroy_stack_job_test.rb +9 -0
  69. data/test/models/commit_deployment_status_test.rb +33 -4
  70. data/test/models/commit_deployment_test.rb +8 -11
  71. data/test/models/commits_test.rb +22 -2
  72. data/test/models/deploy_stats_test.rb +112 -0
  73. data/test/models/deploys_test.rb +55 -17
  74. data/test/models/pull_request_test.rb +1 -1
  75. data/test/models/shipit/repository_test.rb +76 -0
  76. data/test/models/shipit/wehbooks/handlers_test.rb +26 -0
  77. data/test/models/stacks_test.rb +44 -51
  78. data/test/models/undeployed_commits_test.rb +13 -0
  79. data/test/test_helper.rb +3 -1
  80. data/test/unit/deploy_commands_test.rb +9 -0
  81. data/test/unit/github_app_test.rb +136 -0
  82. metadata +161 -128
@@ -52,6 +52,19 @@ module Shipit
52
52
  assert_predicate undeployed_commit, :expected_to_be_deployed?
53
53
  end
54
54
 
55
+ test "#expected_to_be_deployed? returns true if the active task has no commit range" do
56
+ commit = shipit_commits(:task_no_commits)
57
+ next_expected_commit_to_deploy = commit.stack.next_expected_commit_to_deploy
58
+ undeployed_commit = UndeployedCommit.new(commit, index: 1, next_expected_commit_to_deploy: next_expected_commit_to_deploy)
59
+
60
+ refute_predicate next_expected_commit_to_deploy, :nil?
61
+ assert_predicate undeployed_commit.stack, :continuous_deployment
62
+ assert next_expected_commit_to_deploy.id >= undeployed_commit.id
63
+ refute_predicate undeployed_commit, :active?
64
+
65
+ assert_predicate undeployed_commit, :expected_to_be_deployed?
66
+ end
67
+
55
68
  test "#expected_to_be_deployed? returns false if the stack has continuous deployment disabled" do
56
69
  commit = shipit_commits(:cyclimse_first)
57
70
  next_expected_commit_to_deploy = commit.stack.next_expected_commit_to_deploy
@@ -1,7 +1,9 @@
1
1
  ENV["RAILS_ENV"] ||= "test"
2
2
 
3
3
  require 'simplecov'
4
- SimpleCov.start 'rails'
4
+ SimpleCov.start 'rails' do
5
+ enable_coverage :branch
6
+ end
5
7
 
6
8
  require 'webmock/minitest'
7
9
 
@@ -212,6 +212,15 @@ module Shipit
212
212
  assert_equal walrus.name, @commands.env['GIT_COMMITTER_NAME']
213
213
  end
214
214
 
215
+ test "GitHub repo details are exposed" do
216
+ assert_equal 'shopify', @commands.env['GITHUB_REPO_OWNER']
217
+ assert_equal 'shipit-engine', @commands.env['GITHUB_REPO_NAME']
218
+ end
219
+
220
+ test "Stack DEPLOY_URL is exposed" do
221
+ assert_equal "https://shipit.shopify.com", @commands.env['DEPLOY_URL']
222
+ end
223
+
215
224
  test "#clear_working_directory rm -rf the working directory" do
216
225
  FileUtils.expects(:rm_rf).with(@deploy.working_directory)
217
226
  @commands.clear_working_directory
@@ -5,6 +5,14 @@ module Shipit
5
5
  setup do
6
6
  @github = app
7
7
  @enterprise = app(domain: 'github.example.com')
8
+ @rails_env = Rails.env
9
+ @token_cache_key = 'github:integration:access-token'
10
+ Rails.cache.delete(@token_cache_key)
11
+ end
12
+
13
+ teardown do
14
+ Rails.env = @rails_env
15
+ Rails.cache.delete(@token_cache_key)
8
16
  end
9
17
 
10
18
  test "#initialize doesn't raise if given an empty config" do
@@ -51,6 +59,11 @@ module Shipit
51
59
  assert_equal 'https://github.example.com/foo/bar/baz', @enterprise.url('foo/bar', 'baz')
52
60
  end
53
61
 
62
+ test "#new_client retruns an Octokit::Client configured to use the github installation" do
63
+ assert_equal 'https://github.example.com/', @enterprise.new_client.web_endpoint
64
+ assert_equal 'https://github.example.com/api/v3/', @enterprise.new_client.api_endpoint
65
+ end
66
+
54
67
  test "#oauth_config.last[:client_options] is nil if domain is not overriden" do
55
68
  assert_nil @github.oauth_config.last[:client_options][:site]
56
69
  end
@@ -59,6 +72,129 @@ module Shipit
59
72
  assert_equal 'https://github.example.com/api/v3/', @enterprise.oauth_config.last[:client_options][:site]
60
73
  end
61
74
 
75
+ test "#github token is refreshed after expiration" do
76
+ Rails.env = 'not_test'
77
+ config = {
78
+ app_id: "test_id",
79
+ installation_id: "test_installation_id",
80
+ private_key: "test_private_key",
81
+ }
82
+ initial_token = OpenStruct.new(
83
+ token: "some_initial_github_token",
84
+ expires_at: Time.now.utc + 60.minutes,
85
+ )
86
+ second_token = OpenStruct.new(
87
+ token: "some_new_github_token",
88
+ expires_at: initial_token.expires_at + 60.minutes,
89
+ )
90
+ auth_payload = "test_auth_payload"
91
+
92
+ GitHubApp.any_instance.expects(:authentication_payload).twice.returns(auth_payload)
93
+ valid_app = app(config)
94
+
95
+ freeze_time do
96
+ Octokit::Client
97
+ .any_instance
98
+ .expects(:create_app_installation_access_token).twice.with(config[:installation_id], anything)
99
+ .returns(initial_token, second_token)
100
+
101
+ initial_token = valid_app.token
102
+ initial_cached_token = Rails.cache.fetch(@token_cache_key)
103
+ assert_equal initial_token, initial_cached_token.to_s
104
+
105
+ travel 5.minutes
106
+ assert_equal initial_token, valid_app.token
107
+
108
+ travel_to initial_cached_token.expires_at + 5.minutes
109
+ assert_equal second_token.token, valid_app.token
110
+ end
111
+ end
112
+
113
+ test "#github token is refreshed in refresh window before expiry" do
114
+ Rails.env = 'not_test'
115
+ config = {
116
+ app_id: "test_id",
117
+ installation_id: "test_installation_id",
118
+ private_key: "test_private_key",
119
+ }
120
+ initial_token = OpenStruct.new(
121
+ token: "some_initial_github_token",
122
+ expires_at: Time.now.utc + 60.minutes,
123
+ )
124
+ second_token = OpenStruct.new(
125
+ token: "some_new_github_token",
126
+ expires_at: initial_token.expires_at + 60.minutes,
127
+ )
128
+ auth_payload = "test_auth_payload"
129
+
130
+ GitHubApp.any_instance.expects(:authentication_payload).twice.returns(auth_payload)
131
+ valid_app = app(config)
132
+
133
+ freeze_time do
134
+ Octokit::Client
135
+ .any_instance
136
+ .expects(:create_app_installation_access_token).twice.with(config[:installation_id], anything)
137
+ .returns(initial_token, second_token)
138
+
139
+ initial_token = valid_app.token
140
+ initial_cached_token = Rails.cache.fetch(@token_cache_key)
141
+ assert_equal initial_token, initial_cached_token.to_s
142
+
143
+ # Travel forward, but before the token is refreshed, so the cached value should be the same.
144
+ travel 40.minutes
145
+ assert_equal initial_token, valid_app.token
146
+
147
+ # Travel to when the token should refresh, but is not expired, which should result in our cache.fetch update block.
148
+ travel 15.minutes
149
+ updated_token = valid_app.token
150
+ assert_not_equal initial_token, updated_token
151
+
152
+ cached_token = Rails.cache.fetch(@token_cache_key)
153
+ assert_operator cached_token.expires_at, :>, initial_cached_token.expires_at
154
+ end
155
+ end
156
+
157
+ test "#github token is missing refresh_at field" do
158
+ # $debugging = true
159
+ Rails.env = 'not_test'
160
+ config = {
161
+ app_id: "test_id",
162
+ installation_id: "test_installation_id",
163
+ private_key: "test_private_key",
164
+ }
165
+ initial_cached_token = Shipit::GitHubApp::Token.new("some_initial_github_token", Time.now.utc - 1.minute)
166
+ initial_cached_token.instance_variable_set(:@refresh_at, nil)
167
+
168
+ second_token = OpenStruct.new(
169
+ token: "some_new_github_token",
170
+ expires_at: initial_cached_token.expires_at + 60.minutes,
171
+ )
172
+ auth_payload = "test_auth_payload"
173
+
174
+ GitHubApp.any_instance.expects(:authentication_payload).returns(auth_payload)
175
+ valid_app = app(config)
176
+
177
+ freeze_time do
178
+ valid_app.instance_variable_set(:@token, initial_cached_token)
179
+ Rails.cache.write(@token_cache_key, initial_cached_token, expires_in: 1.minute)
180
+
181
+ Octokit::Client
182
+ .any_instance
183
+ .expects(:create_app_installation_access_token).with(config[:installation_id], anything)
184
+ .returns(second_token)
185
+
186
+ first_token = valid_app.token
187
+
188
+ first_cached_token = Rails.cache.fetch(@token_cache_key)
189
+ assert_equal first_token, first_cached_token.to_s
190
+
191
+ travel_to first_cached_token.expires_at + 5.minutes
192
+ new_token = valid_app.token
193
+
194
+ assert_equal second_token.token, new_token
195
+ end
196
+ end
197
+
62
198
  private
63
199
 
64
200
  def app(extra_config = {})
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.29.0
4
+ version: 0.30.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: 2019-09-16 00:00:00.000000000 Z
11
+ date: 2020-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '4.14'
173
+ version: '4.15'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '4.14'
180
+ version: '4.15'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: omniauth-github
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -401,6 +401,7 @@ files:
401
401
  - app/assets/images/aborted.svg
402
402
  - app/assets/images/aborting.svg
403
403
  - app/assets/images/anchor.svg
404
+ - app/assets/images/archive-solid.svg
404
405
  - app/assets/images/caret-down.svg
405
406
  - app/assets/images/default.svg
406
407
  - app/assets/images/deploy_error.jpg
@@ -486,6 +487,7 @@ files:
486
487
  - app/controllers/shipit/api/release_statuses_controller.rb
487
488
  - app/controllers/shipit/api/stacks_controller.rb
488
489
  - app/controllers/shipit/api/tasks_controller.rb
490
+ - app/controllers/shipit/api_clients_controller.rb
489
491
  - app/controllers/shipit/ccmenu_url_controller.rb
490
492
  - app/controllers/shipit/commit_checks_controller.rb
491
493
  - app/controllers/shipit/commits_controller.rb
@@ -557,6 +559,7 @@ files:
557
559
  - app/models/shipit/deploy_spec/npm_discovery.rb
558
560
  - app/models/shipit/deploy_spec/pypi_discovery.rb
559
561
  - app/models/shipit/deploy_spec/rubygems_discovery.rb
562
+ - app/models/shipit/deploy_stats.rb
560
563
  - app/models/shipit/duration.rb
561
564
  - app/models/shipit/ephemeral_commit_checks.rb
562
565
  - app/models/shipit/github_hook.rb
@@ -566,6 +569,7 @@ files:
566
569
  - app/models/shipit/output_chunk.rb
567
570
  - app/models/shipit/pull_request.rb
568
571
  - app/models/shipit/release_status.rb
572
+ - app/models/shipit/repository.rb
569
573
  - app/models/shipit/rollback.rb
570
574
  - app/models/shipit/stack.rb
571
575
  - app/models/shipit/status.rb
@@ -580,6 +584,12 @@ files:
580
584
  - app/models/shipit/unlimited_api_client.rb
581
585
  - app/models/shipit/user.rb
582
586
  - app/models/shipit/variable_definition.rb
587
+ - app/models/shipit/webhooks.rb
588
+ - app/models/shipit/webhooks/handlers/check_suite_handler.rb
589
+ - app/models/shipit/webhooks/handlers/handler.rb
590
+ - app/models/shipit/webhooks/handlers/membership_handler.rb
591
+ - app/models/shipit/webhooks/handlers/push_handler.rb
592
+ - app/models/shipit/webhooks/handlers/status_handler.rb
583
593
  - app/serializers/concerns/shipit/conditional_attributes.rb
584
594
  - app/serializers/shipit/anonymous_user_serializer.rb
585
595
  - app/serializers/shipit/command_line_user_serializer.rb
@@ -595,9 +605,13 @@ files:
595
605
  - app/serializers/shipit/user_serializer.rb
596
606
  - app/validators/ascii_only_validator.rb
597
607
  - app/validators/subset_validator.rb
608
+ - app/views/layouts/_head.html.erb
598
609
  - app/views/layouts/merge_status.html.erb
599
610
  - app/views/layouts/shipit.html.erb
600
611
  - app/views/shipit/_variables.html.erb
612
+ - app/views/shipit/api_clients/index.html.erb
613
+ - app/views/shipit/api_clients/new.html.erb
614
+ - app/views/shipit/api_clients/show.html.erb
601
615
  - app/views/shipit/ccmenu/project.xml.builder
602
616
  - app/views/shipit/commit_checks/_checks.html.erb
603
617
  - app/views/shipit/commit_checks/show.html.erb
@@ -626,10 +640,12 @@ files:
626
640
  - app/views/shipit/shared/_author.html.erb
627
641
  - app/views/shipit/stacks/_banners.html.erb
628
642
  - app/views/shipit/stacks/_header.html.erb
643
+ - app/views/shipit/stacks/_links.html.erb
629
644
  - app/views/shipit/stacks/index.html.erb
630
645
  - app/views/shipit/stacks/new.html.erb
631
646
  - app/views/shipit/stacks/settings.html.erb
632
647
  - app/views/shipit/stacks/show.html.erb
648
+ - app/views/shipit/stacks/statistics.html.erb
633
649
  - app/views/shipit/statuses/_group.html.erb
634
650
  - app/views/shipit/statuses/_status.html.erb
635
651
  - app/views/shipit/tasks/_task.html.erb
@@ -695,6 +711,13 @@ files:
695
711
  - db/migrate/20180906083930_create_release_statuses.rb
696
712
  - db/migrate/20181010150947_create_shipit_check_runs.rb
697
713
  - db/migrate/20190502020249_add_lock_author_id_to_commits.rb
714
+ - db/migrate/20191209231045_create_shipit_repositories.rb
715
+ - db/migrate/20191209231307_add_repository_reference_to_stacks.rb
716
+ - db/migrate/20191216162728_backfill_repository_data.rb
717
+ - db/migrate/20191216163010_remove_repository_information_from_stacks.rb
718
+ - db/migrate/20191219205202_add_archived_since_to_stacks.rb
719
+ - db/migrate/20200102175621_optional_task_commits.rb
720
+ - db/migrate/20200109132519_add_sha_to_commit_deployments.rb
698
721
  - lib/shipit-engine.rb
699
722
  - lib/shipit.rb
700
723
  - lib/shipit/cast_value.rb
@@ -749,6 +772,7 @@ files:
749
772
  - test/controllers/api/release_statuses_controller_test.rb
750
773
  - test/controllers/api/stacks_controller_test.rb
751
774
  - test/controllers/api/tasks_controller_test.rb
775
+ - test/controllers/api_clients_controller_test.rb
752
776
  - test/controllers/ccmenu_controller_test.rb
753
777
  - test/controllers/commit_checks_controller_test.rb
754
778
  - test/controllers/commits_controller_test.rb
@@ -816,6 +840,7 @@ files:
816
840
  - test/fixtures/shipit/output_chunks.yml
817
841
  - test/fixtures/shipit/pull_requests.yml
818
842
  - test/fixtures/shipit/release_statuses.yml
843
+ - test/fixtures/shipit/repositories.yml
819
844
  - test/fixtures/shipit/stacks.yml
820
845
  - test/fixtures/shipit/statuses.yml
821
846
  - test/fixtures/shipit/tasks.yml
@@ -852,6 +877,7 @@ files:
852
877
  - test/models/commits_test.rb
853
878
  - test/models/delivery_test.rb
854
879
  - test/models/deploy_spec_test.rb
880
+ - test/models/deploy_stats_test.rb
855
881
  - test/models/deploys_test.rb
856
882
  - test/models/duration_test.rb
857
883
  - test/models/github_hook_test.rb
@@ -862,6 +888,8 @@ files:
862
888
  - test/models/release_statuses_test.rb
863
889
  - test/models/rollbacks_test.rb
864
890
  - test/models/shipit/check_run_test.rb
891
+ - test/models/shipit/repository_test.rb
892
+ - test/models/shipit/wehbooks/handlers_test.rb
865
893
  - test/models/stacks_test.rb
866
894
  - test/models/status/group_test.rb
867
895
  - test/models/status/missing_test.rb
@@ -914,149 +942,154 @@ signing_key:
914
942
  specification_version: 4
915
943
  summary: Application deployment software
916
944
  test_files:
917
- - test/dummy/public/favicon.ico
918
- - test/dummy/public/500.html
919
- - test/dummy/public/422.html
920
- - test/dummy/public/404.html
921
- - test/dummy/db/seeds.rb
922
- - test/dummy/db/schema.rb
923
- - test/dummy/bin/rake
924
- - test/dummy/bin/bundle
925
- - test/dummy/bin/rails
926
- - test/dummy/bin/setup
927
- - test/dummy/app/views/layouts/application.html.erb
928
- - test/dummy/app/assets/stylesheets/application.css
929
- - test/dummy/app/assets/javascripts/application.js
930
- - test/dummy/app/controllers/application_controller.rb
931
- - test/dummy/app/helpers/application_helper.rb
932
- - test/dummy/config.ru
933
- - test/dummy/Rakefile
934
- - test/dummy/config/application.rb
935
- - test/dummy/config/database.yml
936
- - test/dummy/config/locales/en.yml
945
+ - test/helpers/hooks_helper.rb
946
+ - test/helpers/links_helper.rb
947
+ - test/helpers/fixture_aliases_helper.rb
948
+ - test/helpers/json_helper.rb
949
+ - test/helpers/payloads_helper.rb
950
+ - test/helpers/api_helper.rb
951
+ - test/helpers/queries_helper.rb
952
+ - test/models/membership_test.rb
953
+ - test/models/rollbacks_test.rb
954
+ - test/models/output_chunk_test.rb
955
+ - test/models/pull_request_test.rb
956
+ - test/models/team_test.rb
957
+ - test/models/commit_deployment_status_test.rb
958
+ - test/models/deploy_spec_test.rb
959
+ - test/models/task_definitions_test.rb
960
+ - test/models/stacks_test.rb
961
+ - test/models/undeployed_commits_test.rb
962
+ - test/models/shipit/check_run_test.rb
963
+ - test/models/shipit/wehbooks/handlers_test.rb
964
+ - test/models/shipit/repository_test.rb
965
+ - test/models/github_hook_test.rb
966
+ - test/models/status/group_test.rb
967
+ - test/models/status/missing_test.rb
968
+ - test/models/api_client_test.rb
969
+ - test/models/deploys_test.rb
970
+ - test/models/deploy_stats_test.rb
971
+ - test/models/hook_test.rb
972
+ - test/models/commit_checks_test.rb
973
+ - test/models/status_test.rb
974
+ - test/models/users_test.rb
975
+ - test/models/commit_deployment_test.rb
976
+ - test/models/release_statuses_test.rb
977
+ - test/models/duration_test.rb
978
+ - test/models/tasks_test.rb
979
+ - test/models/delivery_test.rb
980
+ - test/models/commits_test.rb
981
+ - test/fixtures/payloads/check_suite_master.json
982
+ - test/fixtures/payloads/push_not_master.json
983
+ - test/fixtures/payloads/status_master.json
984
+ - test/fixtures/payloads/push_master.json
985
+ - test/fixtures/timeout
986
+ - test/fixtures/shipit/users.yml
987
+ - test/fixtures/shipit/output_chunks.yml
988
+ - test/fixtures/shipit/teams.yml
989
+ - test/fixtures/shipit/github_hooks.yml
990
+ - test/fixtures/shipit/hooks.yml
991
+ - test/fixtures/shipit/commits.yml
992
+ - test/fixtures/shipit/commit_deployments.yml
993
+ - test/fixtures/shipit/statuses.yml
994
+ - test/fixtures/shipit/stacks.yml
995
+ - test/fixtures/shipit/pull_requests.yml
996
+ - test/fixtures/shipit/api_clients.yml
997
+ - test/fixtures/shipit/repositories.yml
998
+ - test/fixtures/shipit/tasks.yml
999
+ - test/fixtures/shipit/release_statuses.yml
1000
+ - test/fixtures/shipit/memberships.yml
1001
+ - test/fixtures/shipit/commit_deployment_statuses.yml
1002
+ - test/fixtures/shipit/deliveries.yml
1003
+ - test/fixtures/shipit/check_runs.yml
937
1004
  - test/dummy/config/secrets.yml
938
1005
  - test/dummy/config/boot.rb
1006
+ - test/dummy/config/database.postgresql.yml
939
1007
  - test/dummy/config/database.mysql.yml
940
- - test/dummy/config/initializers/filter_parameter_logging.rb
941
- - test/dummy/config/initializers/session_store.rb
942
- - test/dummy/config/initializers/backtrace_silencers.rb
943
- - test/dummy/config/initializers/mime_types.rb
944
- - test/dummy/config/initializers/cookies_serializer.rb
1008
+ - test/dummy/config/locales/en.yml
1009
+ - test/dummy/config/environments/production.rb
1010
+ - test/dummy/config/environments/test.rb
1011
+ - test/dummy/config/environments/development.rb
1012
+ - test/dummy/config/application.rb
1013
+ - test/dummy/config/routes.rb
945
1014
  - test/dummy/config/initializers/0_load_development_secrets.rb
946
- - test/dummy/config/initializers/assets.rb
947
1015
  - test/dummy/config/initializers/wrap_parameters.rb
1016
+ - test/dummy/config/initializers/session_store.rb
948
1017
  - test/dummy/config/initializers/inflections.rb
1018
+ - test/dummy/config/initializers/cookies_serializer.rb
1019
+ - test/dummy/config/initializers/assets.rb
1020
+ - test/dummy/config/initializers/mime_types.rb
1021
+ - test/dummy/config/initializers/filter_parameter_logging.rb
1022
+ - test/dummy/config/initializers/backtrace_silencers.rb
949
1023
  - test/dummy/config/environment.rb
950
- - test/dummy/config/routes.rb
951
- - test/dummy/config/database.postgresql.yml
952
- - test/dummy/config/environments/test.rb
953
- - test/dummy/config/environments/development.rb
954
- - test/dummy/config/environments/production.rb
955
- - test/controllers/webhooks_controller_test.rb
956
- - test/controllers/rollbacks_controller_test.rb
957
- - test/controllers/github_authentication_controller_test.rb
958
- - test/controllers/merge_status_controller_test.rb
959
- - test/controllers/commit_checks_controller_test.rb
960
- - test/controllers/ccmenu_controller_test.rb
961
- - test/controllers/stacks_controller_test.rb
1024
+ - test/dummy/config/database.yml
1025
+ - test/dummy/Rakefile
1026
+ - test/dummy/bin/bundle
1027
+ - test/dummy/bin/rails
1028
+ - test/dummy/bin/rake
1029
+ - test/dummy/bin/setup
1030
+ - test/dummy/public/422.html
1031
+ - test/dummy/public/favicon.ico
1032
+ - test/dummy/public/404.html
1033
+ - test/dummy/public/500.html
1034
+ - test/dummy/app/helpers/application_helper.rb
1035
+ - test/dummy/app/assets/stylesheets/application.css
1036
+ - test/dummy/app/assets/javascripts/application.js
1037
+ - test/dummy/app/views/layouts/application.html.erb
1038
+ - test/dummy/app/controllers/application_controller.rb
1039
+ - test/dummy/db/seeds.rb
1040
+ - test/dummy/db/schema.rb
1041
+ - test/dummy/config.ru
962
1042
  - test/controllers/deploys_controller_test.rb
963
- - test/controllers/api/hooks_controller_test.rb
964
- - test/controllers/api/ccmenu_controller_test.rb
965
- - test/controllers/api/stacks_controller_test.rb
966
- - test/controllers/api/base_controller_test.rb
967
- - test/controllers/api/locks_controller_test.rb
1043
+ - test/controllers/stacks_controller_test.rb
1044
+ - test/controllers/status_controller_test.rb
968
1045
  - test/controllers/api/deploys_controller_test.rb
969
- - test/controllers/api/commits_controller_test.rb
1046
+ - test/controllers/api/locks_controller_test.rb
1047
+ - test/controllers/api/stacks_controller_test.rb
970
1048
  - test/controllers/api/release_statuses_controller_test.rb
1049
+ - test/controllers/api/ccmenu_controller_test.rb
1050
+ - test/controllers/api/commits_controller_test.rb
1051
+ - test/controllers/api/outputs_controller_test.rb
1052
+ - test/controllers/api/hooks_controller_test.rb
971
1053
  - test/controllers/api/pull_requests_controller_test.rb
972
1054
  - test/controllers/api/tasks_controller_test.rb
973
- - test/controllers/api/outputs_controller_test.rb
974
- - test/controllers/status_controller_test.rb
975
- - test/controllers/commits_controller_test.rb
1055
+ - test/controllers/api/base_controller_test.rb
1056
+ - test/controllers/commit_checks_controller_test.rb
976
1057
  - test/controllers/release_statuses_controller_test.rb
1058
+ - test/controllers/webhooks_controller_test.rb
1059
+ - test/controllers/ccmenu_controller_test.rb
1060
+ - test/controllers/api_clients_controller_test.rb
1061
+ - test/controllers/rollbacks_controller_test.rb
1062
+ - test/controllers/commits_controller_test.rb
1063
+ - test/controllers/github_authentication_controller_test.rb
977
1064
  - test/controllers/pull_requests_controller_test.rb
978
1065
  - test/controllers/tasks_controller_test.rb
979
- - test/unit/command_test.rb
980
- - test/unit/commands_test.rb
981
- - test/unit/line_buffer_test.rb
982
- - test/unit/deploy_commands_test.rb
983
- - test/unit/shipit_test.rb
984
- - test/unit/rollback_commands_test.rb
985
- - test/unit/csv_serializer_test.rb
986
- - test/unit/variable_definition_test.rb
987
- - test/unit/github_url_helper_test.rb
988
- - test/unit/environment_variables_test.rb
989
- - test/unit/github_app_test.rb
990
- - test/models/release_statuses_test.rb
991
- - test/models/deploys_test.rb
992
- - test/models/undeployed_commits_test.rb
993
- - test/models/team_test.rb
994
- - test/models/rollbacks_test.rb
995
- - test/models/commit_checks_test.rb
996
- - test/models/github_hook_test.rb
997
- - test/models/task_definitions_test.rb
998
- - test/models/tasks_test.rb
999
- - test/models/output_chunk_test.rb
1000
- - test/models/commit_deployment_status_test.rb
1001
- - test/models/delivery_test.rb
1002
- - test/models/users_test.rb
1003
- - test/models/commit_deployment_test.rb
1004
- - test/models/duration_test.rb
1005
- - test/models/api_client_test.rb
1006
- - test/models/shipit/check_run_test.rb
1007
- - test/models/commits_test.rb
1008
- - test/models/status/group_test.rb
1009
- - test/models/status/missing_test.rb
1010
- - test/models/deploy_spec_test.rb
1011
- - test/models/stacks_test.rb
1012
- - test/models/hook_test.rb
1013
- - test/models/membership_test.rb
1014
- - test/models/status_test.rb
1015
- - test/models/pull_request_test.rb
1066
+ - test/controllers/merge_status_controller_test.rb
1016
1067
  - test/test_command_integration.rb
1017
- - test/helpers/hooks_helper.rb
1018
- - test/helpers/queries_helper.rb
1019
- - test/helpers/json_helper.rb
1020
- - test/helpers/fixture_aliases_helper.rb
1021
- - test/helpers/payloads_helper.rb
1022
- - test/helpers/links_helper.rb
1023
- - test/helpers/api_helper.rb
1024
- - test/jobs/emit_event_job_test.rb
1025
- - test/jobs/unique_job_test.rb
1068
+ - test/test_helper.rb
1069
+ - test/jobs/destroy_stack_job_test.rb
1070
+ - test/jobs/fetch_deployed_revision_job_test.rb
1071
+ - test/jobs/fetch_commit_stats_job_test.rb
1026
1072
  - test/jobs/merge_pull_requests_job_test.rb
1027
- - test/jobs/deliver_hook_job_test.rb
1028
1073
  - test/jobs/update_github_last_deployed_ref_job_test.rb
1029
- - test/jobs/refresh_status_job_test.rb
1030
- - test/jobs/fetch_deployed_revision_job_test.rb
1031
- - test/jobs/purge_old_deliveries_job_test.rb
1074
+ - test/jobs/cache_deploy_spec_job_test.rb
1075
+ - test/jobs/emit_event_job_test.rb
1032
1076
  - test/jobs/refresh_github_user_job_test.rb
1033
1077
  - test/jobs/chunk_rollup_job_test.rb
1034
1078
  - test/jobs/mark_deploy_healthy_job_test.rb
1035
- - test/jobs/fetch_commit_stats_job_test.rb
1036
- - test/jobs/cache_deploy_spec_job_test.rb
1037
- - test/jobs/perform_task_job_test.rb
1079
+ - test/jobs/refresh_status_job_test.rb
1080
+ - test/jobs/purge_old_deliveries_job_test.rb
1081
+ - test/jobs/deliver_hook_job_test.rb
1038
1082
  - test/jobs/github_sync_job_test.rb
1039
- - test/jobs/destroy_stack_job_test.rb
1040
- - test/fixtures/timeout
1041
- - test/fixtures/shipit/check_runs.yml
1042
- - test/fixtures/shipit/release_statuses.yml
1043
- - test/fixtures/shipit/users.yml
1044
- - test/fixtures/shipit/output_chunks.yml
1045
- - test/fixtures/shipit/deliveries.yml
1046
- - test/fixtures/shipit/hooks.yml
1047
- - test/fixtures/shipit/github_hooks.yml
1048
- - test/fixtures/shipit/statuses.yml
1049
- - test/fixtures/shipit/memberships.yml
1050
- - test/fixtures/shipit/teams.yml
1051
- - test/fixtures/shipit/tasks.yml
1052
- - test/fixtures/shipit/api_clients.yml
1053
- - test/fixtures/shipit/stacks.yml
1054
- - test/fixtures/shipit/commits.yml
1055
- - test/fixtures/shipit/pull_requests.yml
1056
- - test/fixtures/shipit/commit_deployments.yml
1057
- - test/fixtures/shipit/commit_deployment_statuses.yml
1058
- - test/fixtures/payloads/status_master.json
1059
- - test/fixtures/payloads/push_master.json
1060
- - test/fixtures/payloads/push_not_master.json
1061
- - test/fixtures/payloads/check_suite_master.json
1062
- - test/test_helper.rb
1083
+ - test/jobs/perform_task_job_test.rb
1084
+ - test/jobs/unique_job_test.rb
1085
+ - test/unit/environment_variables_test.rb
1086
+ - test/unit/commands_test.rb
1087
+ - test/unit/github_app_test.rb
1088
+ - test/unit/rollback_commands_test.rb
1089
+ - test/unit/command_test.rb
1090
+ - test/unit/shipit_test.rb
1091
+ - test/unit/line_buffer_test.rb
1092
+ - test/unit/csv_serializer_test.rb
1093
+ - test/unit/deploy_commands_test.rb
1094
+ - test/unit/variable_definition_test.rb
1095
+ - test/unit/github_url_helper_test.rb