shipit-engine 0.32.0 → 0.35.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (235) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -2
  3. data/app/assets/images/magic-solid.svg +1 -0
  4. data/app/assets/javascripts/shipit/repositories_search.js.coffee +60 -0
  5. data/app/assets/javascripts/shipit/{search.js.coffee → stack_search.js.coffee} +0 -0
  6. data/app/assets/stylesheets/_pages/_deploy.scss +2 -3
  7. data/app/assets/stylesheets/_pages/_repositories.scss +148 -0
  8. data/app/assets/stylesheets/_pages/_stacks.scss +19 -0
  9. data/app/assets/stylesheets/shipit.scss +1 -0
  10. data/app/controllers/shipit/api/ccmenu_controller.rb +1 -1
  11. data/app/controllers/shipit/api/deploys_controller.rb +2 -0
  12. data/app/controllers/shipit/api/{pull_requests_controller.rb → merge_requests_controller.rb} +8 -8
  13. data/app/controllers/shipit/api/rollbacks_controller.rb +2 -1
  14. data/app/controllers/shipit/api/stacks_controller.rb +15 -1
  15. data/app/controllers/shipit/deploys_controller.rb +1 -1
  16. data/app/controllers/shipit/merge_requests_controller.rb +31 -0
  17. data/app/controllers/shipit/merge_status_controller.rb +15 -15
  18. data/app/controllers/shipit/repositories_controller.rb +74 -0
  19. data/app/controllers/shipit/stacks_controller.rb +2 -2
  20. data/app/controllers/shipit/tasks_controller.rb +2 -2
  21. data/app/controllers/shipit/webhooks_controller.rb +23 -4
  22. data/app/helpers/shipit/chunks_helper.rb +2 -2
  23. data/app/helpers/shipit/github_url_helper.rb +8 -0
  24. data/app/helpers/shipit/shipit_helper.rb +0 -1
  25. data/app/helpers/shipit/stacks_helper.rb +4 -0
  26. data/app/jobs/shipit/create_on_github_job.rb +1 -0
  27. data/app/jobs/shipit/deliver_hook_job.rb +1 -1
  28. data/app/jobs/shipit/destroy_repository_job.rb +24 -0
  29. data/app/jobs/shipit/destroy_stack_job.rb +2 -2
  30. data/app/jobs/shipit/github_sync_job.rb +13 -9
  31. data/app/jobs/shipit/perform_task_job.rb +4 -98
  32. data/app/jobs/shipit/process_merge_requests_job.rb +32 -0
  33. data/app/jobs/shipit/refresh_merge_request_job.rb +11 -0
  34. data/app/jobs/shipit/update_github_last_deployed_ref_job.rb +1 -1
  35. data/app/models/shipit/anonymous_user.rb +10 -2
  36. data/app/models/shipit/check_run.rb +38 -2
  37. data/app/models/shipit/command_line_user.rb +4 -0
  38. data/app/models/shipit/commit.rb +31 -20
  39. data/app/models/shipit/commit_checks.rb +14 -13
  40. data/app/models/shipit/commit_deployment.rb +3 -3
  41. data/app/models/shipit/commit_deployment_status.rb +3 -3
  42. data/app/models/shipit/deploy.rb +17 -11
  43. data/app/models/shipit/deploy_spec/file_system.rb +11 -5
  44. data/app/models/shipit/deploy_spec/lerna_discovery.rb +12 -4
  45. data/app/models/shipit/deploy_spec.rb +16 -4
  46. data/app/models/shipit/duration.rb +2 -0
  47. data/app/models/shipit/hook.rb +28 -2
  48. data/app/models/shipit/merge_request.rb +304 -0
  49. data/app/models/shipit/provisioning_handler/base.rb +30 -0
  50. data/app/models/shipit/provisioning_handler/unregistered_provisioning_handler.rb +35 -0
  51. data/app/models/shipit/provisioning_handler.rb +32 -0
  52. data/app/models/shipit/pull_request.rb +26 -265
  53. data/app/models/shipit/pull_request_assignment.rb +10 -0
  54. data/app/models/shipit/release_status.rb +1 -1
  55. data/app/models/shipit/repository.rb +63 -3
  56. data/app/models/shipit/review_stack.rb +130 -0
  57. data/app/models/shipit/review_stack_provisioning_queue.rb +39 -0
  58. data/app/models/shipit/rollback.rb +5 -0
  59. data/app/models/shipit/stack.rb +78 -30
  60. data/app/models/shipit/status/group.rb +1 -1
  61. data/app/models/shipit/task.rb +62 -9
  62. data/app/models/shipit/task_execution_strategy/base.rb +20 -0
  63. data/app/models/shipit/task_execution_strategy/default.rb +109 -0
  64. data/app/models/shipit/team.rb +4 -2
  65. data/app/models/shipit/user.rb +10 -1
  66. data/app/models/shipit/webhooks/handlers/pull_request/assigned_handler.rb +74 -0
  67. data/app/models/shipit/webhooks/handlers/pull_request/closed_handler.rb +68 -0
  68. data/app/models/shipit/webhooks/handlers/pull_request/edited_handler.rb +74 -0
  69. data/app/models/shipit/webhooks/handlers/pull_request/label_capturing_handler.rb +127 -0
  70. data/app/models/shipit/webhooks/handlers/pull_request/labeled_handler.rb +106 -0
  71. data/app/models/shipit/webhooks/handlers/pull_request/opened_handler.rb +83 -0
  72. data/app/models/shipit/webhooks/handlers/pull_request/reopened_handler.rb +88 -0
  73. data/app/models/shipit/webhooks/handlers/pull_request/review_stack_adapter.rb +103 -0
  74. data/app/models/shipit/webhooks/handlers/pull_request/unlabeled_handler.rb +107 -0
  75. data/app/models/shipit/webhooks/handlers/push_handler.rb +4 -1
  76. data/app/models/shipit/webhooks.rb +10 -0
  77. data/app/serializers/shipit/deploy_serializer.rb +6 -0
  78. data/app/serializers/shipit/merge_request_serializer.rb +21 -0
  79. data/app/serializers/shipit/pull_request_serializer.rb +5 -8
  80. data/app/serializers/shipit/review_stack_serializer.rb +7 -0
  81. data/app/serializers/shipit/stack_serializer.rb +7 -6
  82. data/app/serializers/shipit/tail_task_serializer.rb +10 -2
  83. data/app/serializers/shipit/task_serializer.rb +1 -1
  84. data/app/validators/subset_validator.rb +1 -1
  85. data/app/views/layouts/merge_status.html.erb +1 -1
  86. data/app/views/shipit/merge_requests/_merge_request.html.erb +29 -0
  87. data/app/views/shipit/{pull_requests → merge_requests}/index.html.erb +2 -2
  88. data/app/views/shipit/merge_requests/merge_requests/_pull_request.html.erb +29 -0
  89. data/app/views/shipit/merge_requests/merge_requests/index.html.erb +20 -0
  90. data/app/views/shipit/merge_status/_merge_queue_button.html.erb +3 -3
  91. data/app/views/shipit/merge_status/backlogged.html.erb +1 -1
  92. data/app/views/shipit/merge_status/failure.html.erb +1 -1
  93. data/app/views/shipit/merge_status/locked.html.erb +1 -1
  94. data/app/views/shipit/merge_status/success.html.erb +2 -2
  95. data/app/views/shipit/repositories/_header.html.erb +19 -0
  96. data/app/views/shipit/repositories/index.html.erb +31 -0
  97. data/app/views/shipit/repositories/new.html.erb +23 -0
  98. data/app/views/shipit/repositories/settings.html.erb +53 -0
  99. data/app/views/shipit/repositories/show.html.erb +30 -0
  100. data/app/views/shipit/stacks/_banners.html.erb +15 -1
  101. data/app/views/shipit/stacks/_header.html.erb +5 -2
  102. data/app/views/shipit/stacks/_stack.html.erb +8 -0
  103. data/app/views/shipit/stacks/index.html.erb +2 -1
  104. data/app/views/shipit/stacks/new.html.erb +1 -1
  105. data/app/views/shipit/stacks/settings.html.erb +5 -5
  106. data/app/views/shipit/stacks/show.html.erb +1 -1
  107. data/app/views/shipit/tasks/_task_output.html.erb +1 -1
  108. data/config/routes.rb +15 -5
  109. data/config/secrets.development.example.yml +24 -0
  110. data/config/secrets.development.shopify.yml +20 -9
  111. data/db/migrate/20200706145406_add_review_stacks.rb +12 -0
  112. data/db/migrate/20200804144639_rename_pull_request_to_merge_request.rb +7 -0
  113. data/db/migrate/20200804161512_rename_commits_pull_request_id_to_merge_request_id.rb +5 -0
  114. data/db/migrate/20200813134712_recreate_shipit_pull_requests.rb +22 -0
  115. data/db/migrate/20200813194056_create_pull_request_assignments.rb +8 -0
  116. data/db/migrate/20201001125502_add_provision_pr_stacks_flag_to_repositories.rb +7 -0
  117. data/db/migrate/20201008145809_add_retry_attempt_to_tasks.rb +5 -0
  118. data/db/migrate/20201008152744_add_max_retries_to_tasks.rb +5 -0
  119. data/db/migrate/20210325194053_remove_stacks_branch_default.rb +5 -0
  120. data/db/migrate/20210504200438_add_github_updated_at_to_check_runs.rb +5 -0
  121. data/db/migrate/20210823075617_change_check_runs_github_updated_at_default.rb +5 -0
  122. data/lib/shipit/command.rb +7 -6
  123. data/lib/shipit/commands.rb +18 -5
  124. data/lib/shipit/engine.rb +2 -0
  125. data/lib/shipit/flock.rb +8 -1
  126. data/lib/shipit/github_app.rb +8 -6
  127. data/lib/shipit/octokit_iterator.rb +3 -3
  128. data/lib/shipit/review_stack_commands.rb +8 -0
  129. data/lib/shipit/simple_message_verifier.rb +2 -2
  130. data/lib/shipit/stack_commands.rb +36 -7
  131. data/lib/shipit/task_commands.rb +8 -1
  132. data/lib/shipit/version.rb +1 -1
  133. data/lib/shipit.rb +50 -16
  134. data/lib/snippets/publish-lerna-independent-packages +35 -34
  135. data/lib/snippets/publish-lerna-independent-packages-legacy +39 -0
  136. data/lib/tasks/cron.rake +11 -2
  137. data/test/controllers/api/ccmenu_controller_test.rb +1 -1
  138. data/test/controllers/api/deploys_controller_test.rb +17 -0
  139. data/test/controllers/api/{pull_requests_controller_test.rb → merge_requests_controller_test.rb} +12 -12
  140. data/test/controllers/api/outputs_controller_test.rb +1 -0
  141. data/test/controllers/api/rollback_controller_test.rb +1 -1
  142. data/test/controllers/api/stacks_controller_test.rb +42 -8
  143. data/test/controllers/{pull_requests_controller_test.rb → merge_requests_controller_test.rb} +6 -6
  144. data/test/controllers/repositories_controller_test.rb +71 -0
  145. data/test/controllers/stacks_controller_test.rb +9 -1
  146. data/test/controllers/tasks_controller_test.rb +14 -2
  147. data/test/controllers/webhooks_controller_test.rb +27 -12
  148. data/test/dummy/app/assets/config/manifest.js +3 -0
  149. data/test/dummy/config/application.rb +7 -2
  150. data/test/dummy/config/database.yml +9 -0
  151. data/test/dummy/config/environments/development.rb +1 -4
  152. data/test/dummy/config/environments/test.rb +0 -5
  153. data/test/dummy/config/secrets_double_github_app.yml +79 -0
  154. data/test/dummy/db/schema.rb +56 -17
  155. data/test/dummy/db/seeds.rb +2 -1
  156. data/test/fixtures/payloads/check_suite_master.json +4 -32
  157. data/test/fixtures/payloads/invalid_pull_request.json +117 -0
  158. data/test/fixtures/payloads/provision_disabled_pull_request.json +454 -0
  159. data/test/fixtures/payloads/pull_request_assigned.json +480 -0
  160. data/test/fixtures/payloads/pull_request_closed.json +454 -0
  161. data/test/fixtures/payloads/pull_request_labeled.json +461 -0
  162. data/test/fixtures/payloads/pull_request_opened.json +454 -0
  163. data/test/fixtures/payloads/pull_request_reopened.json +454 -0
  164. data/test/fixtures/payloads/pull_request_unlabeled.json +454 -0
  165. data/test/fixtures/payloads/pull_request_with_no_repo.json +454 -0
  166. data/test/fixtures/payloads/push_master.json +1 -1
  167. data/test/fixtures/payloads/push_not_master.json +1 -1
  168. data/test/fixtures/shipit/commits.yml +17 -4
  169. data/test/fixtures/shipit/hooks.yml +1 -0
  170. data/test/fixtures/shipit/merge_requests.yml +141 -0
  171. data/test/fixtures/shipit/pull_request_assignments.yml +3 -0
  172. data/test/fixtures/shipit/pull_requests.yml +10 -131
  173. data/test/fixtures/shipit/repositories.yml +1 -0
  174. data/test/fixtures/shipit/stacks.yml +145 -0
  175. data/test/fixtures/shipit/statuses.yml +9 -0
  176. data/test/fixtures/shipit/tasks.yml +4 -1
  177. data/test/fixtures/shipit/users.yml +7 -0
  178. data/test/helpers/json_helper.rb +5 -1
  179. data/test/helpers/payloads_helper.rb +4 -0
  180. data/test/jobs/chunk_rollup_job_test.rb +15 -1
  181. data/test/jobs/destroy_repository_job_test.rb +27 -0
  182. data/test/jobs/github_sync_job_test.rb +2 -1
  183. data/test/jobs/perform_task_job_test.rb +8 -8
  184. data/test/jobs/{merge_pull_requests_job_test.rb → process_merge_requests_job_test.rb} +18 -18
  185. data/test/lib/shipit/deploy_commands_test.rb +16 -0
  186. data/test/lib/shipit/task_commands_test.rb +17 -0
  187. data/test/models/commit_deployment_status_test.rb +3 -3
  188. data/test/models/commits_test.rb +24 -13
  189. data/test/models/deploy_spec_test.rb +64 -24
  190. data/test/models/deploys_test.rb +188 -14
  191. data/test/models/hook_test.rb +30 -1
  192. data/test/models/{pull_request_test.rb → merge_request_test.rb} +49 -34
  193. data/test/models/pull_request_assignment_test.rb +16 -0
  194. data/test/models/shipit/check_run_test.rb +124 -5
  195. data/test/models/shipit/provisioning_handler/base_test.rb +33 -0
  196. data/test/models/shipit/provisioning_handler/unregistered_provisioning_handler_test.rb +49 -0
  197. data/test/models/shipit/provisioning_handler_test.rb +64 -0
  198. data/test/models/shipit/pull_request_test.rb +52 -0
  199. data/test/models/shipit/repository_test.rb +5 -1
  200. data/test/models/shipit/review_stack_provision_status_test.rb +77 -0
  201. data/test/models/shipit/review_stack_provisioning_queue_test.rb +63 -0
  202. data/test/models/shipit/review_stack_test.rb +91 -0
  203. data/test/models/{stacks_test.rb → shipit/stacks_test.rb} +52 -8
  204. data/test/models/shipit/webhooks/handlers/pull_request/assigned_handler_test.rb +45 -0
  205. data/test/models/shipit/webhooks/handlers/pull_request/closed_handler_test.rb +192 -0
  206. data/test/models/shipit/webhooks/handlers/pull_request/edited_handler_test.rb +47 -0
  207. data/test/models/shipit/webhooks/handlers/pull_request/label_capturing_handler_test.rb +209 -0
  208. data/test/models/shipit/webhooks/handlers/pull_request/labeled_handler_test.rb +332 -0
  209. data/test/models/shipit/webhooks/handlers/pull_request/opened_handler_test.rb +238 -0
  210. data/test/models/shipit/webhooks/handlers/pull_request/reopened_handler_test.rb +282 -0
  211. data/test/models/shipit/webhooks/handlers/pull_request/review_stack_adapter_test.rb +107 -0
  212. data/test/models/shipit/webhooks/handlers/pull_request/unlabeled_handler_test.rb +324 -0
  213. data/test/models/shipit/{wehbooks → webhooks}/handlers_test.rb +0 -0
  214. data/test/models/tasks_test.rb +66 -3
  215. data/test/serializers/shipit/pull_request_serializer_test.rb +29 -0
  216. data/test/test_helper.rb +15 -0
  217. data/test/unit/anonymous_user_serializer_test.rb +1 -1
  218. data/test/unit/command_test.rb +8 -3
  219. data/test/unit/commit_serializer_test.rb +1 -1
  220. data/test/unit/deploy_commands_test.rb +73 -17
  221. data/test/unit/deploy_serializer_test.rb +1 -1
  222. data/test/unit/github_app_test.rb +2 -3
  223. data/test/unit/github_apps_test.rb +416 -0
  224. data/test/unit/github_url_helper_test.rb +5 -0
  225. data/test/unit/shipit_deployment_checks_test.rb +77 -0
  226. data/test/unit/shipit_task_execution_strategy_test.rb +47 -0
  227. data/test/unit/shipit_test.rb +14 -0
  228. data/test/unit/user_serializer_test.rb +1 -1
  229. metadata +306 -188
  230. data/app/controllers/shipit/pull_requests_controller.rb +0 -31
  231. data/app/jobs/shipit/merge_pull_requests_job.rb +0 -32
  232. data/app/jobs/shipit/refresh_pull_request_job.rb +0 -11
  233. data/app/views/shipit/pull_requests/_pull_request.html.erb +0 -29
  234. data/test/fixtures/shipit/output_chunks.yml +0 -47
  235. data/test/models/output_chunk_test.rb +0 -21
@@ -17,5 +17,10 @@ module Shipit
17
17
  expected = 'https://github.com/shopify/shipit-engine/commit/6d9278037b872fd9a6690523e411ecb3aa181355'
18
18
  assert_equal expected, github_commit_url(shipit_commits(:first))
19
19
  end
20
+
21
+ test "#github_pull_request_url returns a PR url" do
22
+ expected = 'https://github.com/shopify/shipit-engine/pull/62'
23
+ assert_equal expected, github_pull_request_url(shipit_merge_requests(:shipit_pending))
24
+ end
20
25
  end
21
26
  end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ module Shipit
6
+ class ShipitDeploymentChecksTest < ActiveSupport::TestCase
7
+ setup do
8
+ class FakeDeploymentChecks
9
+ def self.call(_stack)
10
+ true
11
+ end
12
+ end
13
+ end
14
+
15
+ teardown do
16
+ Shipit.deployment_checks = nil
17
+
18
+ Object.send(:remove_const, :FakeDeploymentChecks) if Object.const_defined?(:FakeDeploymentChecks)
19
+ end
20
+
21
+ test "allows registration of deployment checks" do
22
+ deployment_checks = FakeDeploymentChecks
23
+
24
+ Shipit.deployment_checks = deployment_checks
25
+
26
+ assert_equal(
27
+ deployment_checks,
28
+ Shipit.deployment_checks
29
+ )
30
+ end
31
+
32
+ test "allows deployments and continuous delivery when checks are not present" do
33
+ stack = shipit_stacks(:review_stack)
34
+ stack.update(continuous_deployment: true)
35
+
36
+ Shipit.deployment_checks = nil
37
+
38
+ assert stack.deployable?
39
+
40
+ stack.trigger_continuous_delivery
41
+
42
+ refute stack.continuous_delivery_delayed?
43
+ end
44
+
45
+ test "allows deployments and continuous delivery when checks pass" do
46
+ stack = shipit_stacks(:review_stack)
47
+ stack.update(continuous_deployment: true)
48
+
49
+ Shipit.deployment_checks = FakeDeploymentChecks
50
+
51
+ assert stack.deployable?
52
+
53
+ stack.trigger_continuous_delivery
54
+
55
+ refute stack.continuous_delivery_delayed?
56
+ end
57
+
58
+ test "prevents deployments and delays continuous delivery when checks fail" do
59
+ class FakeDeploymentChecks
60
+ def self.call(_stack)
61
+ false
62
+ end
63
+ end
64
+
65
+ stack = shipit_stacks(:review_stack)
66
+ stack.update(continuous_deployment: true)
67
+
68
+ Shipit.deployment_checks = FakeDeploymentChecks
69
+
70
+ refute stack.deployable?
71
+
72
+ stack.trigger_continuous_delivery
73
+
74
+ assert stack.continuous_delivery_delayed?
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ module Shipit
6
+ class ShipitTaskExecutionStrategyTest < ActiveSupport::TestCase
7
+ setup do
8
+ class FakeExecutionStrategy < Shipit::TaskExecutionStrategy::Base
9
+ def execute; end
10
+ end
11
+ end
12
+
13
+ teardown do
14
+ Shipit.task_execution_strategy = nil
15
+
16
+ Object.send(:remove_const, :FakeExecutionStrategy) if Object.const_defined?(:FakeExecutionStrategy)
17
+ end
18
+
19
+ test "uses the default strategy" do
20
+ Shipit.task_execution_strategy = nil
21
+
22
+ assert_equal Shipit::TaskExecutionStrategy::Default, Shipit.task_execution_strategy
23
+ end
24
+
25
+ test "allows registration of an execution strategy" do
26
+ strategy = FakeExecutionStrategy
27
+
28
+ Shipit.task_execution_strategy = strategy
29
+
30
+ assert_equal(
31
+ strategy,
32
+ Shipit.task_execution_strategy
33
+ )
34
+ end
35
+
36
+ test "the registered execution strategy is invoked during execution of a task" do
37
+ task_type = Shipit::Deploy
38
+ task = task_type.new
39
+ strategy = FakeExecutionStrategy
40
+ strategy.any_instance.expects(:execute)
41
+
42
+ Shipit.task_execution_strategy = strategy
43
+
44
+ Shipit::PerformTaskJob.new.perform(task)
45
+ end
46
+ end
47
+ end
@@ -7,6 +7,20 @@ module Shipit
7
7
  Shipit.instance_variables.each(&Shipit.method(:remove_instance_variable))
8
8
  end
9
9
 
10
+ test ".github uses indifferent access to search through the Github applications" do
11
+ secrets = ActiveSupport::OrderedOptions.new
12
+ secrets.merge!(Rails::Secrets.parse(['test/dummy/config/secrets.yml'], env: Rails.env))
13
+ secrets.merge!(YAML.load_file('test/dummy/config/secrets_double_github_app.yml'))
14
+ secrets.deep_symbolize_keys!
15
+ Shipit.stubs(:secrets).returns(secrets)
16
+ assert_instance_of(Shipit::GitHubApp, Shipit.github(organization: 'OrgOne'))
17
+ assert_instance_of(Shipit::GitHubApp, Shipit.github(organization: :OrgOne))
18
+ assert_instance_of(Shipit::GitHubApp, Shipit.github(organization: 'orgone'))
19
+ assert_instance_of(Shipit::GitHubApp, Shipit.github(organization: :orgone))
20
+ assert_instance_of(Shipit::GitHubApp, Shipit.github(organization: :OrgTwo))
21
+ Shipit.unstub(:secrets)
22
+ end
23
+
10
24
  test ".github_teams returns an empty array if there's no team" do
11
25
  assert_equal([], Shipit.github_teams)
12
26
  end
@@ -8,7 +8,7 @@ module Shipit
8
8
  serializer = ActiveModel::Serializer.serializer_for(user)
9
9
  assert_equal UserSerializer, serializer
10
10
  serialized = serializer.new(user).to_json
11
- assert_json("anonymous", false, document: serialized)
11
+ assert_json_document(serialized, "anonymous", false)
12
12
  end
13
13
  end
14
14
  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.32.0
4
+ version: 0.35.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean Boussier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2021-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.15'
103
+ version: '1.3'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.15'
110
+ version: '1.3'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: faraday-http-cache
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.2.2
117
+ version: '2.2'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.2.2
124
+ version: '2.2'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: gemoji
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,42 +142,42 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 4.1.0
145
+ version: '4.4'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 4.1.0
152
+ version: '4.4'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: lodash-rails
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 4.6.1
159
+ version: '4.17'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 4.6.1
166
+ version: '4.17'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: octokit
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '4.15'
173
+ version: '4.20'
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.15'
180
+ version: '4.20'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: omniauth-github
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 6.0.0
215
+ version: 6.1.0
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 6.0.0
222
+ version: 6.1.0
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: rails-timeago
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -262,34 +262,20 @@ dependencies:
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0'
265
- - !ruby/object:Gem::Dependency
266
- name: redis-namespace
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
270
- - !ruby/object:Gem::Version
271
- version: 1.6.0
272
- type: :runtime
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: 1.6.0
279
265
  - !ruby/object:Gem::Dependency
280
266
  name: redis-objects
281
267
  requirement: !ruby/object:Gem::Requirement
282
268
  requirements:
283
269
  - - "~>"
284
270
  - !ruby/object:Gem::Version
285
- version: 1.4.3
271
+ version: '1.5'
286
272
  type: :runtime
287
273
  prerelease: false
288
274
  version_requirements: !ruby/object:Gem::Requirement
289
275
  requirements:
290
276
  - - "~>"
291
277
  - !ruby/object:Gem::Version
292
- version: 1.4.3
278
+ version: '1.5'
293
279
  - !ruby/object:Gem::Dependency
294
280
  name: responders
295
281
  requirement: !ruby/object:Gem::Requirement
@@ -322,14 +308,14 @@ dependencies:
322
308
  name: sass-rails
323
309
  requirement: !ruby/object:Gem::Requirement
324
310
  requirements:
325
- - - "~>"
311
+ - - ">="
326
312
  - !ruby/object:Gem::Version
327
313
  version: '5.0'
328
314
  type: :runtime
329
315
  prerelease: false
330
316
  version_requirements: !ruby/object:Gem::Requirement
331
317
  requirements:
332
- - - "~>"
318
+ - - ">="
333
319
  - !ruby/object:Gem::Version
334
320
  version: '5.0'
335
321
  - !ruby/object:Gem::Dependency
@@ -360,20 +346,34 @@ dependencies:
360
346
  - - ">="
361
347
  - !ruby/object:Gem::Version
362
348
  version: 2.3.2
349
+ - !ruby/object:Gem::Dependency
350
+ name: sprockets
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - "<"
354
+ - !ruby/object:Gem::Version
355
+ version: '4'
356
+ type: :runtime
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - "<"
361
+ - !ruby/object:Gem::Version
362
+ version: '4'
363
363
  - !ruby/object:Gem::Dependency
364
364
  name: state_machines-activerecord
365
365
  requirement: !ruby/object:Gem::Requirement
366
366
  requirements:
367
367
  - - "~>"
368
368
  - !ruby/object:Gem::Version
369
- version: 0.6.0
369
+ version: 0.8.0
370
370
  type: :runtime
371
371
  prerelease: false
372
372
  version_requirements: !ruby/object:Gem::Requirement
373
373
  requirements:
374
374
  - - "~>"
375
375
  - !ruby/object:Gem::Version
376
- version: 0.6.0
376
+ version: 0.8.0
377
377
  - !ruby/object:Gem::Dependency
378
378
  name: validate_url
379
379
  requirement: !ruby/object:Gem::Requirement
@@ -418,6 +418,7 @@ files:
418
418
  - app/assets/images/flapping.svg
419
419
  - app/assets/images/lock.svg
420
420
  - app/assets/images/logo.svg
421
+ - app/assets/images/magic-solid.svg
421
422
  - app/assets/images/pending-small.svg
422
423
  - app/assets/images/pending.gif
423
424
  - app/assets/images/search-active.svg
@@ -437,7 +438,8 @@ files:
437
438
  - app/assets/javascripts/shipit/deploy.js.coffee
438
439
  - app/assets/javascripts/shipit/flash.js.coffee
439
440
  - app/assets/javascripts/shipit/page_updater.js.coffee
440
- - app/assets/javascripts/shipit/search.js.coffee
441
+ - app/assets/javascripts/shipit/repositories_search.js.coffee
442
+ - app/assets/javascripts/shipit/stack_search.js.coffee
441
443
  - app/assets/javascripts/shipit/stacks.js.coffee
442
444
  - app/assets/javascripts/task.js.coffee
443
445
  - app/assets/javascripts/task/ansi_colors.js.coffee
@@ -459,6 +461,7 @@ files:
459
461
  - app/assets/stylesheets/_base/_utility.scss
460
462
  - app/assets/stylesheets/_pages/_commits.scss
461
463
  - app/assets/stylesheets/_pages/_deploy.scss
464
+ - app/assets/stylesheets/_pages/_repositories.scss
462
465
  - app/assets/stylesheets/_pages/_settings.scss
463
466
  - app/assets/stylesheets/_pages/_stacks.scss
464
467
  - app/assets/stylesheets/_structure/_layout.scss
@@ -482,8 +485,8 @@ files:
482
485
  - app/controllers/shipit/api/deploys_controller.rb
483
486
  - app/controllers/shipit/api/hooks_controller.rb
484
487
  - app/controllers/shipit/api/locks_controller.rb
488
+ - app/controllers/shipit/api/merge_requests_controller.rb
485
489
  - app/controllers/shipit/api/outputs_controller.rb
486
- - app/controllers/shipit/api/pull_requests_controller.rb
487
490
  - app/controllers/shipit/api/release_statuses_controller.rb
488
491
  - app/controllers/shipit/api/rollbacks_controller.rb
489
492
  - app/controllers/shipit/api/stacks_controller.rb
@@ -494,9 +497,10 @@ files:
494
497
  - app/controllers/shipit/commits_controller.rb
495
498
  - app/controllers/shipit/deploys_controller.rb
496
499
  - app/controllers/shipit/github_authentication_controller.rb
500
+ - app/controllers/shipit/merge_requests_controller.rb
497
501
  - app/controllers/shipit/merge_status_controller.rb
498
- - app/controllers/shipit/pull_requests_controller.rb
499
502
  - app/controllers/shipit/release_statuses_controller.rb
503
+ - app/controllers/shipit/repositories_controller.rb
500
504
  - app/controllers/shipit/rollbacks_controller.rb
501
505
  - app/controllers/shipit/shipit_controller.rb
502
506
  - app/controllers/shipit/stacks_controller.rb
@@ -521,20 +525,21 @@ files:
521
525
  - app/jobs/shipit/deferred_touch_job.rb
522
526
  - app/jobs/shipit/deliver_hook_job.rb
523
527
  - app/jobs/shipit/destroy_job.rb
528
+ - app/jobs/shipit/destroy_repository_job.rb
524
529
  - app/jobs/shipit/destroy_stack_job.rb
525
530
  - app/jobs/shipit/emit_event_job.rb
526
531
  - app/jobs/shipit/fetch_commit_stats_job.rb
527
532
  - app/jobs/shipit/fetch_deployed_revision_job.rb
528
533
  - app/jobs/shipit/github_sync_job.rb
529
534
  - app/jobs/shipit/mark_deploy_healthy_job.rb
530
- - app/jobs/shipit/merge_pull_requests_job.rb
531
535
  - app/jobs/shipit/perform_commit_checks_job.rb
532
536
  - app/jobs/shipit/perform_task_job.rb
537
+ - app/jobs/shipit/process_merge_requests_job.rb
533
538
  - app/jobs/shipit/purge_old_deliveries_job.rb
534
539
  - app/jobs/shipit/reap_dead_tasks_job.rb
535
540
  - app/jobs/shipit/refresh_check_runs_job.rb
536
541
  - app/jobs/shipit/refresh_github_user_job.rb
537
- - app/jobs/shipit/refresh_pull_request_job.rb
542
+ - app/jobs/shipit/refresh_merge_request_job.rb
538
543
  - app/jobs/shipit/refresh_statuses_job.rb
539
544
  - app/jobs/shipit/setup_github_hook_job.rb
540
545
  - app/jobs/shipit/update_estimated_deploy_duration_job.rb
@@ -568,11 +573,18 @@ files:
568
573
  - app/models/shipit/github_status.rb
569
574
  - app/models/shipit/hook.rb
570
575
  - app/models/shipit/membership.rb
576
+ - app/models/shipit/merge_request.rb
571
577
  - app/models/shipit/output_chunk.rb
578
+ - app/models/shipit/provisioning_handler.rb
579
+ - app/models/shipit/provisioning_handler/base.rb
580
+ - app/models/shipit/provisioning_handler/unregistered_provisioning_handler.rb
572
581
  - app/models/shipit/pull_request.rb
582
+ - app/models/shipit/pull_request_assignment.rb
573
583
  - app/models/shipit/record.rb
574
584
  - app/models/shipit/release_status.rb
575
585
  - app/models/shipit/repository.rb
586
+ - app/models/shipit/review_stack.rb
587
+ - app/models/shipit/review_stack_provisioning_queue.rb
576
588
  - app/models/shipit/rollback.rb
577
589
  - app/models/shipit/stack.rb
578
590
  - app/models/shipit/status.rb
@@ -582,6 +594,8 @@ files:
582
594
  - app/models/shipit/status/unknown.rb
583
595
  - app/models/shipit/task.rb
584
596
  - app/models/shipit/task_definition.rb
597
+ - app/models/shipit/task_execution_strategy/base.rb
598
+ - app/models/shipit/task_execution_strategy/default.rb
585
599
  - app/models/shipit/team.rb
586
600
  - app/models/shipit/undeployed_commit.rb
587
601
  - app/models/shipit/unlimited_api_client.rb
@@ -591,6 +605,15 @@ files:
591
605
  - app/models/shipit/webhooks/handlers/check_suite_handler.rb
592
606
  - app/models/shipit/webhooks/handlers/handler.rb
593
607
  - app/models/shipit/webhooks/handlers/membership_handler.rb
608
+ - app/models/shipit/webhooks/handlers/pull_request/assigned_handler.rb
609
+ - app/models/shipit/webhooks/handlers/pull_request/closed_handler.rb
610
+ - app/models/shipit/webhooks/handlers/pull_request/edited_handler.rb
611
+ - app/models/shipit/webhooks/handlers/pull_request/label_capturing_handler.rb
612
+ - app/models/shipit/webhooks/handlers/pull_request/labeled_handler.rb
613
+ - app/models/shipit/webhooks/handlers/pull_request/opened_handler.rb
614
+ - app/models/shipit/webhooks/handlers/pull_request/reopened_handler.rb
615
+ - app/models/shipit/webhooks/handlers/pull_request/review_stack_adapter.rb
616
+ - app/models/shipit/webhooks/handlers/pull_request/unlabeled_handler.rb
594
617
  - app/models/shipit/webhooks/handlers/push_handler.rb
595
618
  - app/models/shipit/webhooks/handlers/status_handler.rb
596
619
  - app/serializers/concerns/shipit/conditional_attributes.rb
@@ -599,7 +622,9 @@ files:
599
622
  - app/serializers/shipit/commit_serializer.rb
600
623
  - app/serializers/shipit/deploy_serializer.rb
601
624
  - app/serializers/shipit/hook_serializer.rb
625
+ - app/serializers/shipit/merge_request_serializer.rb
602
626
  - app/serializers/shipit/pull_request_serializer.rb
627
+ - app/serializers/shipit/review_stack_serializer.rb
603
628
  - app/serializers/shipit/rollback_serializer.rb
604
629
  - app/serializers/shipit/short_commit_serializer.rb
605
630
  - app/serializers/shipit/stack_serializer.rb
@@ -628,6 +653,10 @@ files:
628
653
  - app/views/shipit/deploys/rollback.html.erb
629
654
  - app/views/shipit/deploys/show.html.erb
630
655
  - app/views/shipit/github_authentication/failed.html.erb
656
+ - app/views/shipit/merge_requests/_merge_request.html.erb
657
+ - app/views/shipit/merge_requests/index.html.erb
658
+ - app/views/shipit/merge_requests/merge_requests/_pull_request.html.erb
659
+ - app/views/shipit/merge_requests/merge_requests/index.html.erb
631
660
  - app/views/shipit/merge_status/_anchor.html.erb
632
661
  - app/views/shipit/merge_status/_commit_count_warning.html.erb
633
662
  - app/views/shipit/merge_status/_merge_queue_button.html.erb
@@ -638,12 +667,16 @@ files:
638
667
  - app/views/shipit/merge_status/logged_out.erb
639
668
  - app/views/shipit/merge_status/success.html.erb
640
669
  - app/views/shipit/missing_settings.html.erb
641
- - app/views/shipit/pull_requests/_pull_request.html.erb
642
- - app/views/shipit/pull_requests/index.html.erb
670
+ - app/views/shipit/repositories/_header.html.erb
671
+ - app/views/shipit/repositories/index.html.erb
672
+ - app/views/shipit/repositories/new.html.erb
673
+ - app/views/shipit/repositories/settings.html.erb
674
+ - app/views/shipit/repositories/show.html.erb
643
675
  - app/views/shipit/shared/_author.html.erb
644
676
  - app/views/shipit/stacks/_banners.html.erb
645
677
  - app/views/shipit/stacks/_header.html.erb
646
678
  - app/views/shipit/stacks/_links.html.erb
679
+ - app/views/shipit/stacks/_stack.html.erb
647
680
  - app/views/shipit/stacks/all_tasks.html.erb
648
681
  - app/views/shipit/stacks/index.html.erb
649
682
  - app/views/shipit/stacks/new.html.erb
@@ -725,6 +758,17 @@ files:
725
758
  - db/migrate/20200226211925_add_index_to_tasks_status.rb
726
759
  - db/migrate/20200427135152_add_pull_request_head_sha_to_commit.rb
727
760
  - db/migrate/20200615181558_add_rollback_once_aborted_to.rb
761
+ - db/migrate/20200706145406_add_review_stacks.rb
762
+ - db/migrate/20200804144639_rename_pull_request_to_merge_request.rb
763
+ - db/migrate/20200804161512_rename_commits_pull_request_id_to_merge_request_id.rb
764
+ - db/migrate/20200813134712_recreate_shipit_pull_requests.rb
765
+ - db/migrate/20200813194056_create_pull_request_assignments.rb
766
+ - db/migrate/20201001125502_add_provision_pr_stacks_flag_to_repositories.rb
767
+ - db/migrate/20201008145809_add_retry_attempt_to_tasks.rb
768
+ - db/migrate/20201008152744_add_max_retries_to_tasks.rb
769
+ - db/migrate/20210325194053_remove_stacks_branch_default.rb
770
+ - db/migrate/20210504200438_add_github_updated_at_to_check_runs.rb
771
+ - db/migrate/20210823075617_change_check_runs_github_updated_at_default.rb
728
772
  - lib/shipit-engine.rb
729
773
  - lib/shipit.rb
730
774
  - lib/shipit/cast_value.rb
@@ -743,6 +787,7 @@ files:
743
787
  - lib/shipit/octokit_check_runs.rb
744
788
  - lib/shipit/octokit_iterator.rb
745
789
  - lib/shipit/paginator.rb
790
+ - lib/shipit/review_stack_commands.rb
746
791
  - lib/shipit/rollback_commands.rb
747
792
  - lib/shipit/same_site_cookie_middleware.rb
748
793
  - lib/shipit/simple_message_verifier.rb
@@ -763,6 +808,7 @@ files:
763
808
  - lib/snippets/git-askpass
764
809
  - lib/snippets/misconfigured-npm-publish-config
765
810
  - lib/snippets/publish-lerna-independent-packages
811
+ - lib/snippets/publish-lerna-independent-packages-legacy
766
812
  - lib/snippets/push-to-heroku
767
813
  - lib/snippets/release-gem
768
814
  - lib/tasks/cron.rake
@@ -775,8 +821,8 @@ files:
775
821
  - test/controllers/api/deploys_controller_test.rb
776
822
  - test/controllers/api/hooks_controller_test.rb
777
823
  - test/controllers/api/locks_controller_test.rb
824
+ - test/controllers/api/merge_requests_controller_test.rb
778
825
  - test/controllers/api/outputs_controller_test.rb
779
- - test/controllers/api/pull_requests_controller_test.rb
780
826
  - test/controllers/api/release_statuses_controller_test.rb
781
827
  - test/controllers/api/rollback_controller_test.rb
782
828
  - test/controllers/api/stacks_controller_test.rb
@@ -787,15 +833,17 @@ files:
787
833
  - test/controllers/commits_controller_test.rb
788
834
  - test/controllers/deploys_controller_test.rb
789
835
  - test/controllers/github_authentication_controller_test.rb
836
+ - test/controllers/merge_requests_controller_test.rb
790
837
  - test/controllers/merge_status_controller_test.rb
791
- - test/controllers/pull_requests_controller_test.rb
792
838
  - test/controllers/release_statuses_controller_test.rb
839
+ - test/controllers/repositories_controller_test.rb
793
840
  - test/controllers/rollbacks_controller_test.rb
794
841
  - test/controllers/stacks_controller_test.rb
795
842
  - test/controllers/status_controller_test.rb
796
843
  - test/controllers/tasks_controller_test.rb
797
844
  - test/controllers/webhooks_controller_test.rb
798
845
  - test/dummy/Rakefile
846
+ - test/dummy/app/assets/config/manifest.js
799
847
  - test/dummy/app/assets/javascripts/application.js
800
848
  - test/dummy/app/assets/stylesheets/application.css
801
849
  - test/dummy/app/controllers/application_controller.rb
@@ -827,6 +875,7 @@ files:
827
875
  - test/dummy/config/locales/en.yml
828
876
  - test/dummy/config/routes.rb
829
877
  - test/dummy/config/secrets.yml
878
+ - test/dummy/config/secrets_double_github_app.yml
830
879
  - test/dummy/db/schema.rb
831
880
  - test/dummy/db/seeds.rb
832
881
  - test/dummy/public/404.html
@@ -834,6 +883,15 @@ files:
834
883
  - test/dummy/public/500.html
835
884
  - test/dummy/public/favicon.ico
836
885
  - test/fixtures/payloads/check_suite_master.json
886
+ - test/fixtures/payloads/invalid_pull_request.json
887
+ - test/fixtures/payloads/provision_disabled_pull_request.json
888
+ - test/fixtures/payloads/pull_request_assigned.json
889
+ - test/fixtures/payloads/pull_request_closed.json
890
+ - test/fixtures/payloads/pull_request_labeled.json
891
+ - test/fixtures/payloads/pull_request_opened.json
892
+ - test/fixtures/payloads/pull_request_reopened.json
893
+ - test/fixtures/payloads/pull_request_unlabeled.json
894
+ - test/fixtures/payloads/pull_request_with_no_repo.json
837
895
  - test/fixtures/payloads/push_master.json
838
896
  - test/fixtures/payloads/push_not_master.json
839
897
  - test/fixtures/payloads/status_master.json
@@ -846,7 +904,8 @@ files:
846
904
  - test/fixtures/shipit/github_hooks.yml
847
905
  - test/fixtures/shipit/hooks.yml
848
906
  - test/fixtures/shipit/memberships.yml
849
- - test/fixtures/shipit/output_chunks.yml
907
+ - test/fixtures/shipit/merge_requests.yml
908
+ - test/fixtures/shipit/pull_request_assignments.yml
850
909
  - test/fixtures/shipit/pull_requests.yml
851
910
  - test/fixtures/shipit/release_statuses.yml
852
911
  - test/fixtures/shipit/repositories.yml
@@ -866,20 +925,23 @@ files:
866
925
  - test/jobs/cache_deploy_spec_job_test.rb
867
926
  - test/jobs/chunk_rollup_job_test.rb
868
927
  - test/jobs/deliver_hook_job_test.rb
928
+ - test/jobs/destroy_repository_job_test.rb
869
929
  - test/jobs/destroy_stack_job_test.rb
870
930
  - test/jobs/emit_event_job_test.rb
871
931
  - test/jobs/fetch_commit_stats_job_test.rb
872
932
  - test/jobs/fetch_deployed_revision_job_test.rb
873
933
  - test/jobs/github_sync_job_test.rb
874
934
  - test/jobs/mark_deploy_healthy_job_test.rb
875
- - test/jobs/merge_pull_requests_job_test.rb
876
935
  - test/jobs/perform_task_job_test.rb
936
+ - test/jobs/process_merge_requests_job_test.rb
877
937
  - test/jobs/purge_old_deliveries_job_test.rb
878
938
  - test/jobs/reap_dead_tasks_job_test.rb
879
939
  - test/jobs/refresh_github_user_job_test.rb
880
940
  - test/jobs/refresh_status_job_test.rb
881
941
  - test/jobs/unique_job_test.rb
882
942
  - test/jobs/update_github_last_deployed_ref_job_test.rb
943
+ - test/lib/shipit/deploy_commands_test.rb
944
+ - test/lib/shipit/task_commands_test.rb
883
945
  - test/middleware/same_site_cookie_middleware_test.rb
884
946
  - test/models/api_client_test.rb
885
947
  - test/models/commit_checks_test.rb
@@ -894,14 +956,30 @@ files:
894
956
  - test/models/github_hook_test.rb
895
957
  - test/models/hook_test.rb
896
958
  - test/models/membership_test.rb
897
- - test/models/output_chunk_test.rb
898
- - test/models/pull_request_test.rb
959
+ - test/models/merge_request_test.rb
960
+ - test/models/pull_request_assignment_test.rb
899
961
  - test/models/release_statuses_test.rb
900
962
  - test/models/rollbacks_test.rb
901
963
  - test/models/shipit/check_run_test.rb
964
+ - test/models/shipit/provisioning_handler/base_test.rb
965
+ - test/models/shipit/provisioning_handler/unregistered_provisioning_handler_test.rb
966
+ - test/models/shipit/provisioning_handler_test.rb
967
+ - test/models/shipit/pull_request_test.rb
902
968
  - test/models/shipit/repository_test.rb
903
- - test/models/shipit/wehbooks/handlers_test.rb
904
- - test/models/stacks_test.rb
969
+ - test/models/shipit/review_stack_provision_status_test.rb
970
+ - test/models/shipit/review_stack_provisioning_queue_test.rb
971
+ - test/models/shipit/review_stack_test.rb
972
+ - test/models/shipit/stacks_test.rb
973
+ - test/models/shipit/webhooks/handlers/pull_request/assigned_handler_test.rb
974
+ - test/models/shipit/webhooks/handlers/pull_request/closed_handler_test.rb
975
+ - test/models/shipit/webhooks/handlers/pull_request/edited_handler_test.rb
976
+ - test/models/shipit/webhooks/handlers/pull_request/label_capturing_handler_test.rb
977
+ - test/models/shipit/webhooks/handlers/pull_request/labeled_handler_test.rb
978
+ - test/models/shipit/webhooks/handlers/pull_request/opened_handler_test.rb
979
+ - test/models/shipit/webhooks/handlers/pull_request/reopened_handler_test.rb
980
+ - test/models/shipit/webhooks/handlers/pull_request/review_stack_adapter_test.rb
981
+ - test/models/shipit/webhooks/handlers/pull_request/unlabeled_handler_test.rb
982
+ - test/models/shipit/webhooks/handlers_test.rb
905
983
  - test/models/status/group_test.rb
906
984
  - test/models/status/missing_test.rb
907
985
  - test/models/status_test.rb
@@ -910,6 +988,7 @@ files:
910
988
  - test/models/team_test.rb
911
989
  - test/models/undeployed_commits_test.rb
912
990
  - test/models/users_test.rb
991
+ - test/serializers/shipit/pull_request_serializer_test.rb
913
992
  - test/test_command_integration.rb
914
993
  - test/test_helper.rb
915
994
  - test/unit/anonymous_user_serializer_test.rb
@@ -921,10 +1000,13 @@ files:
921
1000
  - test/unit/deploy_serializer_test.rb
922
1001
  - test/unit/environment_variables_test.rb
923
1002
  - test/unit/github_app_test.rb
1003
+ - test/unit/github_apps_test.rb
924
1004
  - test/unit/github_url_helper_test.rb
925
1005
  - test/unit/line_buffer_test.rb
926
1006
  - test/unit/rollback_commands_test.rb
1007
+ - test/unit/shipit_deployment_checks_test.rb
927
1008
  - test/unit/shipit_helper_test.rb
1009
+ - test/unit/shipit_task_execution_strategy_test.rb
928
1010
  - test/unit/shipit_test.rb
929
1011
  - test/unit/user_serializer_test.rb
930
1012
  - test/unit/variable_definition_test.rb
@@ -954,167 +1036,203 @@ required_rubygems_version: !ruby/object:Gem::Requirement
954
1036
  - !ruby/object:Gem::Version
955
1037
  version: '0'
956
1038
  requirements: []
957
- rubygems_version: 3.0.3
1039
+ rubygems_version: 3.2.20
958
1040
  signing_key:
959
1041
  specification_version: 4
960
1042
  summary: Application deployment software
961
1043
  test_files:
962
- - test/dummy/public/favicon.ico
963
- - test/dummy/public/500.html
964
- - test/dummy/public/422.html
965
- - test/dummy/public/404.html
966
- - test/dummy/db/seeds.rb
967
- - test/dummy/db/schema.rb
968
- - test/dummy/bin/rake
969
- - test/dummy/bin/bundle
970
- - test/dummy/bin/rails
971
- - test/dummy/bin/setup
972
- - test/dummy/app/views/layouts/application.html.erb
973
- - test/dummy/app/assets/stylesheets/application.css
974
- - test/dummy/app/assets/javascripts/application.js
975
- - test/dummy/app/controllers/application_controller.rb
976
- - test/dummy/app/helpers/application_helper.rb
977
- - test/dummy/config.ru
978
- - test/dummy/Rakefile
979
- - test/dummy/config/application.rb
980
- - test/dummy/config/database.yml
981
- - test/dummy/config/locales/en.yml
982
- - test/dummy/config/secrets.yml
983
- - test/dummy/config/boot.rb
984
- - test/dummy/config/database.mysql.yml
985
- - test/dummy/config/initializers/filter_parameter_logging.rb
986
- - test/dummy/config/initializers/session_store.rb
987
- - test/dummy/config/initializers/backtrace_silencers.rb
988
- - test/dummy/config/initializers/mime_types.rb
989
- - test/dummy/config/initializers/cookies_serializer.rb
990
- - test/dummy/config/initializers/0_load_development_secrets.rb
991
- - test/dummy/config/initializers/assets.rb
992
- - test/dummy/config/initializers/wrap_parameters.rb
993
- - test/dummy/config/initializers/inflections.rb
994
- - test/dummy/config/environment.rb
995
- - test/dummy/config/routes.rb
996
- - test/dummy/config/database.postgresql.yml
997
- - test/dummy/config/environments/test.rb
998
- - test/dummy/config/environments/development.rb
999
- - test/dummy/config/environments/production.rb
1000
- - test/controllers/webhooks_controller_test.rb
1001
- - test/controllers/rollbacks_controller_test.rb
1002
- - test/controllers/github_authentication_controller_test.rb
1003
- - test/controllers/merge_status_controller_test.rb
1004
- - test/controllers/commit_checks_controller_test.rb
1044
+ - test/test_helper.rb
1045
+ - test/models/undeployed_commits_test.rb
1046
+ - test/models/pull_request_assignment_test.rb
1047
+ - test/models/commits_test.rb
1048
+ - test/models/membership_test.rb
1049
+ - test/models/status/group_test.rb
1050
+ - test/models/status/missing_test.rb
1051
+ - test/models/api_client_test.rb
1052
+ - test/models/deploys_test.rb
1053
+ - test/models/shipit/stacks_test.rb
1054
+ - test/models/shipit/review_stack_provision_status_test.rb
1055
+ - test/models/shipit/review_stack_provisioning_queue_test.rb
1056
+ - test/models/shipit/provisioning_handler_test.rb
1057
+ - test/models/shipit/provisioning_handler/base_test.rb
1058
+ - test/models/shipit/provisioning_handler/unregistered_provisioning_handler_test.rb
1059
+ - test/models/shipit/review_stack_test.rb
1060
+ - test/models/shipit/webhooks/handlers_test.rb
1061
+ - test/models/shipit/webhooks/handlers/pull_request/assigned_handler_test.rb
1062
+ - test/models/shipit/webhooks/handlers/pull_request/edited_handler_test.rb
1063
+ - test/models/shipit/webhooks/handlers/pull_request/reopened_handler_test.rb
1064
+ - test/models/shipit/webhooks/handlers/pull_request/opened_handler_test.rb
1065
+ - test/models/shipit/webhooks/handlers/pull_request/unlabeled_handler_test.rb
1066
+ - test/models/shipit/webhooks/handlers/pull_request/closed_handler_test.rb
1067
+ - test/models/shipit/webhooks/handlers/pull_request/label_capturing_handler_test.rb
1068
+ - test/models/shipit/webhooks/handlers/pull_request/review_stack_adapter_test.rb
1069
+ - test/models/shipit/webhooks/handlers/pull_request/labeled_handler_test.rb
1070
+ - test/models/shipit/check_run_test.rb
1071
+ - test/models/shipit/pull_request_test.rb
1072
+ - test/models/shipit/repository_test.rb
1073
+ - test/models/delivery_test.rb
1074
+ - test/models/deploy_stats_test.rb
1075
+ - test/models/release_statuses_test.rb
1076
+ - test/models/team_test.rb
1077
+ - test/models/rollbacks_test.rb
1078
+ - test/models/users_test.rb
1079
+ - test/models/deploy_spec_test.rb
1080
+ - test/models/commit_checks_test.rb
1081
+ - test/models/status_test.rb
1082
+ - test/models/github_hook_test.rb
1083
+ - test/models/duration_test.rb
1084
+ - test/models/task_definitions_test.rb
1085
+ - test/models/commit_deployment_status_test.rb
1086
+ - test/models/hook_test.rb
1087
+ - test/models/merge_request_test.rb
1088
+ - test/models/commit_deployment_test.rb
1089
+ - test/models/tasks_test.rb
1005
1090
  - test/controllers/ccmenu_controller_test.rb
1006
- - test/controllers/stacks_controller_test.rb
1007
- - test/controllers/deploys_controller_test.rb
1008
- - test/controllers/api/hooks_controller_test.rb
1009
1091
  - test/controllers/api/ccmenu_controller_test.rb
1010
- - test/controllers/api/stacks_controller_test.rb
1092
+ - test/controllers/api/hooks_controller_test.rb
1093
+ - test/controllers/api/tasks_controller_test.rb
1094
+ - test/controllers/api/merge_requests_controller_test.rb
1095
+ - test/controllers/api/outputs_controller_test.rb
1011
1096
  - test/controllers/api/base_controller_test.rb
1012
- - test/controllers/api/locks_controller_test.rb
1013
- - test/controllers/api/deploys_controller_test.rb
1014
1097
  - test/controllers/api/commits_controller_test.rb
1015
1098
  - test/controllers/api/release_statuses_controller_test.rb
1016
1099
  - test/controllers/api/rollback_controller_test.rb
1017
- - test/controllers/api/pull_requests_controller_test.rb
1018
- - test/controllers/api/tasks_controller_test.rb
1019
- - test/controllers/api/outputs_controller_test.rb
1020
- - test/controllers/status_controller_test.rb
1100
+ - test/controllers/api/deploys_controller_test.rb
1101
+ - test/controllers/api/locks_controller_test.rb
1102
+ - test/controllers/api/stacks_controller_test.rb
1103
+ - test/controllers/tasks_controller_test.rb
1104
+ - test/controllers/merge_requests_controller_test.rb
1105
+ - test/controllers/rollbacks_controller_test.rb
1021
1106
  - test/controllers/commits_controller_test.rb
1022
1107
  - test/controllers/release_statuses_controller_test.rb
1023
- - test/controllers/pull_requests_controller_test.rb
1024
- - test/controllers/tasks_controller_test.rb
1108
+ - test/controllers/webhooks_controller_test.rb
1109
+ - test/controllers/github_authentication_controller_test.rb
1110
+ - test/controllers/status_controller_test.rb
1025
1111
  - test/controllers/api_clients_controller_test.rb
1026
- - test/unit/command_test.rb
1027
- - test/unit/shipit_helper_test.rb
1028
- - test/unit/user_serializer_test.rb
1112
+ - test/controllers/commit_checks_controller_test.rb
1113
+ - test/controllers/repositories_controller_test.rb
1114
+ - test/controllers/deploys_controller_test.rb
1115
+ - test/controllers/stacks_controller_test.rb
1116
+ - test/controllers/merge_status_controller_test.rb
1117
+ - test/fixtures/timeout
1118
+ - test/fixtures/shipit/check_runs.yml
1119
+ - test/fixtures/shipit/teams.yml
1120
+ - test/fixtures/shipit/repositories.yml
1121
+ - test/fixtures/shipit/commits.yml
1122
+ - test/fixtures/shipit/deliveries.yml
1123
+ - test/fixtures/shipit/memberships.yml
1124
+ - test/fixtures/shipit/merge_requests.yml
1125
+ - test/fixtures/shipit/tasks.yml
1126
+ - test/fixtures/shipit/pull_requests.yml
1127
+ - test/fixtures/shipit/statuses.yml
1128
+ - test/fixtures/shipit/release_statuses.yml
1129
+ - test/fixtures/shipit/users.yml
1130
+ - test/fixtures/shipit/api_clients.yml
1131
+ - test/fixtures/shipit/pull_request_assignments.yml
1132
+ - test/fixtures/shipit/commit_deployments.yml
1133
+ - test/fixtures/shipit/commit_deployment_statuses.yml
1134
+ - test/fixtures/shipit/github_hooks.yml
1135
+ - test/fixtures/shipit/hooks.yml
1136
+ - test/fixtures/shipit/stacks.yml
1137
+ - test/fixtures/payloads/check_suite_master.json
1138
+ - test/fixtures/payloads/pull_request_labeled.json
1139
+ - test/fixtures/payloads/pull_request_unlabeled.json
1140
+ - test/fixtures/payloads/pull_request_opened.json
1141
+ - test/fixtures/payloads/invalid_pull_request.json
1142
+ - test/fixtures/payloads/pull_request_closed.json
1143
+ - test/fixtures/payloads/pull_request_assigned.json
1144
+ - test/fixtures/payloads/status_master.json
1145
+ - test/fixtures/payloads/push_master.json
1146
+ - test/fixtures/payloads/provision_disabled_pull_request.json
1147
+ - test/fixtures/payloads/pull_request_with_no_repo.json
1148
+ - test/fixtures/payloads/pull_request_reopened.json
1149
+ - test/fixtures/payloads/push_not_master.json
1150
+ - test/middleware/same_site_cookie_middleware_test.rb
1151
+ - test/unit/shipit_task_execution_strategy_test.rb
1029
1152
  - test/unit/commands_test.rb
1030
- - test/unit/line_buffer_test.rb
1031
- - test/unit/deploy_commands_test.rb
1032
- - test/unit/shipit_test.rb
1033
1153
  - test/unit/rollback_commands_test.rb
1034
- - test/unit/deploy_serializer_test.rb
1035
- - test/unit/anonymous_user_serializer_test.rb
1036
- - test/unit/csv_serializer_test.rb
1037
- - test/unit/commit_serializer_test.rb
1038
- - test/unit/variable_definition_test.rb
1039
1154
  - test/unit/github_url_helper_test.rb
1155
+ - test/unit/variable_definition_test.rb
1040
1156
  - test/unit/environment_variables_test.rb
1157
+ - test/unit/shipit_deployment_checks_test.rb
1158
+ - test/unit/line_buffer_test.rb
1159
+ - test/unit/anonymous_user_serializer_test.rb
1041
1160
  - test/unit/github_app_test.rb
1042
- - test/models/release_statuses_test.rb
1043
- - test/models/deploys_test.rb
1044
- - test/models/undeployed_commits_test.rb
1045
- - test/models/team_test.rb
1046
- - test/models/rollbacks_test.rb
1047
- - test/models/commit_checks_test.rb
1048
- - test/models/github_hook_test.rb
1049
- - test/models/task_definitions_test.rb
1050
- - test/models/tasks_test.rb
1051
- - test/models/output_chunk_test.rb
1052
- - test/models/commit_deployment_status_test.rb
1053
- - test/models/delivery_test.rb
1054
- - test/models/users_test.rb
1055
- - test/models/commit_deployment_test.rb
1056
- - test/models/duration_test.rb
1057
- - test/models/api_client_test.rb
1058
- - test/models/shipit/wehbooks/handlers_test.rb
1059
- - test/models/shipit/repository_test.rb
1060
- - test/models/shipit/check_run_test.rb
1061
- - test/models/commits_test.rb
1062
- - test/models/status/group_test.rb
1063
- - test/models/status/missing_test.rb
1064
- - test/models/deploy_spec_test.rb
1065
- - test/models/stacks_test.rb
1066
- - test/models/deploy_stats_test.rb
1067
- - test/models/hook_test.rb
1068
- - test/models/membership_test.rb
1069
- - test/models/status_test.rb
1070
- - test/models/pull_request_test.rb
1071
- - test/middleware/same_site_cookie_middleware_test.rb
1072
- - test/test_command_integration.rb
1161
+ - test/unit/user_serializer_test.rb
1162
+ - test/unit/deploy_serializer_test.rb
1163
+ - test/unit/commit_serializer_test.rb
1164
+ - test/unit/github_apps_test.rb
1165
+ - test/unit/shipit_test.rb
1166
+ - test/unit/shipit_helper_test.rb
1167
+ - test/unit/command_test.rb
1168
+ - test/unit/csv_serializer_test.rb
1169
+ - test/unit/deploy_commands_test.rb
1170
+ - test/helpers/links_helper.rb
1171
+ - test/helpers/api_helper.rb
1073
1172
  - test/helpers/hooks_helper.rb
1173
+ - test/helpers/payloads_helper.rb
1074
1174
  - test/helpers/queries_helper.rb
1075
- - test/helpers/json_helper.rb
1076
1175
  - test/helpers/fixture_aliases_helper.rb
1077
- - test/helpers/payloads_helper.rb
1078
- - test/helpers/links_helper.rb
1079
- - test/helpers/api_helper.rb
1080
- - test/jobs/emit_event_job_test.rb
1081
- - test/jobs/unique_job_test.rb
1082
- - test/jobs/merge_pull_requests_job_test.rb
1083
- - test/jobs/deliver_hook_job_test.rb
1084
- - test/jobs/update_github_last_deployed_ref_job_test.rb
1176
+ - test/helpers/json_helper.rb
1177
+ - test/test_command_integration.rb
1178
+ - test/dummy/Rakefile
1179
+ - test/dummy/config/database.postgresql.yml
1180
+ - test/dummy/config/locales/en.yml
1181
+ - test/dummy/config/routes.rb
1182
+ - test/dummy/config/application.rb
1183
+ - test/dummy/config/environments/development.rb
1184
+ - test/dummy/config/environments/test.rb
1185
+ - test/dummy/config/environments/production.rb
1186
+ - test/dummy/config/boot.rb
1187
+ - test/dummy/config/secrets_double_github_app.yml
1188
+ - test/dummy/config/database.yml
1189
+ - test/dummy/config/secrets.yml
1190
+ - test/dummy/config/initializers/0_load_development_secrets.rb
1191
+ - test/dummy/config/initializers/wrap_parameters.rb
1192
+ - test/dummy/config/initializers/cookies_serializer.rb
1193
+ - test/dummy/config/initializers/inflections.rb
1194
+ - test/dummy/config/initializers/filter_parameter_logging.rb
1195
+ - test/dummy/config/initializers/session_store.rb
1196
+ - test/dummy/config/initializers/mime_types.rb
1197
+ - test/dummy/config/initializers/assets.rb
1198
+ - test/dummy/config/initializers/backtrace_silencers.rb
1199
+ - test/dummy/config/database.mysql.yml
1200
+ - test/dummy/config/environment.rb
1201
+ - test/dummy/public/favicon.ico
1202
+ - test/dummy/public/404.html
1203
+ - test/dummy/public/422.html
1204
+ - test/dummy/public/500.html
1205
+ - test/dummy/bin/rails
1206
+ - test/dummy/bin/rake
1207
+ - test/dummy/bin/setup
1208
+ - test/dummy/bin/bundle
1209
+ - test/dummy/app/controllers/application_controller.rb
1210
+ - test/dummy/app/helpers/application_helper.rb
1211
+ - test/dummy/app/assets/config/manifest.js
1212
+ - test/dummy/app/assets/javascripts/application.js
1213
+ - test/dummy/app/assets/stylesheets/application.css
1214
+ - test/dummy/app/views/layouts/application.html.erb
1215
+ - test/dummy/config.ru
1216
+ - test/dummy/db/seeds.rb
1217
+ - test/dummy/db/schema.rb
1218
+ - test/jobs/mark_deploy_healthy_job_test.rb
1085
1219
  - test/jobs/refresh_status_job_test.rb
1086
- - test/jobs/fetch_deployed_revision_job_test.rb
1087
- - test/jobs/purge_old_deliveries_job_test.rb
1220
+ - test/jobs/update_github_last_deployed_ref_job_test.rb
1088
1221
  - test/jobs/refresh_github_user_job_test.rb
1089
- - test/jobs/chunk_rollup_job_test.rb
1090
- - test/jobs/mark_deploy_healthy_job_test.rb
1091
- - test/jobs/reap_dead_tasks_job_test.rb
1092
- - test/jobs/fetch_commit_stats_job_test.rb
1093
- - test/jobs/cache_deploy_spec_job_test.rb
1094
1222
  - test/jobs/perform_task_job_test.rb
1095
- - test/jobs/github_sync_job_test.rb
1223
+ - test/jobs/cache_deploy_spec_job_test.rb
1224
+ - test/jobs/fetch_deployed_revision_job_test.rb
1096
1225
  - test/jobs/destroy_stack_job_test.rb
1097
- - test/fixtures/timeout
1098
- - test/fixtures/shipit/check_runs.yml
1099
- - test/fixtures/shipit/release_statuses.yml
1100
- - test/fixtures/shipit/users.yml
1101
- - test/fixtures/shipit/output_chunks.yml
1102
- - test/fixtures/shipit/deliveries.yml
1103
- - test/fixtures/shipit/hooks.yml
1104
- - test/fixtures/shipit/github_hooks.yml
1105
- - test/fixtures/shipit/statuses.yml
1106
- - test/fixtures/shipit/memberships.yml
1107
- - test/fixtures/shipit/teams.yml
1108
- - test/fixtures/shipit/tasks.yml
1109
- - test/fixtures/shipit/api_clients.yml
1110
- - test/fixtures/shipit/stacks.yml
1111
- - test/fixtures/shipit/commits.yml
1112
- - test/fixtures/shipit/repositories.yml
1113
- - test/fixtures/shipit/pull_requests.yml
1114
- - test/fixtures/shipit/commit_deployments.yml
1115
- - test/fixtures/shipit/commit_deployment_statuses.yml
1116
- - test/fixtures/payloads/status_master.json
1117
- - test/fixtures/payloads/push_master.json
1118
- - test/fixtures/payloads/push_not_master.json
1119
- - test/fixtures/payloads/check_suite_master.json
1120
- - test/test_helper.rb
1226
+ - test/jobs/deliver_hook_job_test.rb
1227
+ - test/jobs/emit_event_job_test.rb
1228
+ - test/jobs/destroy_repository_job_test.rb
1229
+ - test/jobs/reap_dead_tasks_job_test.rb
1230
+ - test/jobs/github_sync_job_test.rb
1231
+ - test/jobs/chunk_rollup_job_test.rb
1232
+ - test/jobs/unique_job_test.rb
1233
+ - test/jobs/fetch_commit_stats_job_test.rb
1234
+ - test/jobs/purge_old_deliveries_job_test.rb
1235
+ - test/jobs/process_merge_requests_job_test.rb
1236
+ - test/serializers/shipit/pull_request_serializer_test.rb
1237
+ - test/lib/shipit/task_commands_test.rb
1238
+ - test/lib/shipit/deploy_commands_test.rb