shipit-engine 0.32.0 → 0.35.1

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