shipit-engine 0.29.0 → 0.30.0

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 (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