shipit-engine 0.31.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -4
  3. data/Rakefile +4 -2
  4. data/app/assets/images/magic-solid.svg +1 -0
  5. data/app/assets/javascripts/shipit/repositories_search.js.coffee +60 -0
  6. data/app/assets/javascripts/shipit/{search.js.coffee → stack_search.js.coffee} +0 -0
  7. data/app/assets/stylesheets/_pages/_deploy.scss +2 -3
  8. data/app/assets/stylesheets/_pages/_repositories.scss +148 -0
  9. data/app/assets/stylesheets/_pages/_stacks.scss +19 -3
  10. data/app/assets/stylesheets/merge_status.scss +0 -3
  11. data/app/assets/stylesheets/shipit.scss +1 -0
  12. data/app/controllers/concerns/shipit/active_model_serializers_patch.rb +1 -0
  13. data/app/controllers/concerns/shipit/api/cacheable.rb +1 -0
  14. data/app/controllers/concerns/shipit/api/paginable.rb +3 -2
  15. data/app/controllers/concerns/shipit/api/rendering.rb +5 -4
  16. data/app/controllers/concerns/shipit/authentication.rb +3 -2
  17. data/app/controllers/concerns/shipit/pagination.rb +2 -1
  18. data/app/controllers/shipit/api/base_controller.rb +11 -6
  19. data/app/controllers/shipit/api/ccmenu_controller.rb +2 -1
  20. data/app/controllers/shipit/api/commits_controller.rb +2 -1
  21. data/app/controllers/shipit/api/deploys_controller.rb +6 -3
  22. data/app/controllers/shipit/api/hooks_controller.rb +6 -5
  23. data/app/controllers/shipit/api/locks_controller.rb +5 -4
  24. data/app/controllers/shipit/api/merge_requests_controller.rb +37 -0
  25. data/app/controllers/shipit/api/outputs_controller.rb +2 -1
  26. data/app/controllers/shipit/api/release_statuses_controller.rb +3 -2
  27. data/app/controllers/shipit/api/rollbacks_controller.rb +34 -0
  28. data/app/controllers/shipit/api/stacks_controller.rb +32 -5
  29. data/app/controllers/shipit/api/tasks_controller.rb +6 -5
  30. data/app/controllers/shipit/api_clients_controller.rb +4 -3
  31. data/app/controllers/shipit/ccmenu_url_controller.rb +4 -3
  32. data/app/controllers/shipit/commit_checks_controller.rb +2 -1
  33. data/app/controllers/shipit/commits_controller.rb +2 -1
  34. data/app/controllers/shipit/deploys_controller.rb +4 -3
  35. data/app/controllers/shipit/github_authentication_controller.rb +4 -3
  36. data/app/controllers/shipit/merge_requests_controller.rb +31 -0
  37. data/app/controllers/shipit/merge_status_controller.rb +31 -30
  38. data/app/controllers/shipit/release_statuses_controller.rb +3 -2
  39. data/app/controllers/shipit/repositories_controller.rb +74 -0
  40. data/app/controllers/shipit/rollbacks_controller.rb +3 -2
  41. data/app/controllers/shipit/shipit_controller.rb +2 -1
  42. data/app/controllers/shipit/stacks_controller.rb +24 -9
  43. data/app/controllers/shipit/status_controller.rb +2 -1
  44. data/app/controllers/shipit/tasks_controller.rb +7 -6
  45. data/app/controllers/shipit/webhooks_controller.rb +26 -6
  46. data/app/helpers/shipit/chunks_helper.rb +3 -2
  47. data/app/helpers/shipit/deploys_helper.rb +4 -3
  48. data/app/helpers/shipit/github_url_helper.rb +9 -0
  49. data/app/helpers/shipit/merge_status_helper.rb +1 -0
  50. data/app/helpers/shipit/shipit_helper.rb +1 -1
  51. data/app/helpers/shipit/stacks_helper.rb +5 -0
  52. data/app/helpers/shipit/tasks_helper.rb +1 -0
  53. data/app/jobs/shipit/background_job/unique.rb +1 -0
  54. data/app/jobs/shipit/background_job.rb +4 -0
  55. data/app/jobs/shipit/cache_deploy_spec_job.rb +1 -0
  56. data/app/jobs/shipit/chunk_rollup_job.rb +4 -0
  57. data/app/jobs/shipit/clear_git_cache_job.rb +1 -0
  58. data/app/jobs/shipit/continuous_delivery_job.rb +2 -1
  59. data/app/jobs/shipit/create_on_github_job.rb +7 -1
  60. data/app/jobs/shipit/create_release_statuses_job.rb +1 -0
  61. data/app/jobs/shipit/deferred_touch_job.rb +4 -0
  62. data/app/jobs/shipit/deliver_hook_job.rb +2 -1
  63. data/app/jobs/shipit/destroy_job.rb +1 -0
  64. data/app/jobs/shipit/destroy_repository_job.rb +24 -0
  65. data/app/jobs/shipit/destroy_stack_job.rb +3 -2
  66. data/app/jobs/shipit/emit_event_job.rb +2 -1
  67. data/app/jobs/shipit/fetch_commit_stats_job.rb +1 -0
  68. data/app/jobs/shipit/fetch_deployed_revision_job.rb +1 -0
  69. data/app/jobs/shipit/github_sync_job.rb +15 -10
  70. data/app/jobs/shipit/mark_deploy_healthy_job.rb +1 -0
  71. data/app/jobs/shipit/perform_commit_checks_job.rb +1 -0
  72. data/app/jobs/shipit/perform_task_job.rb +5 -92
  73. data/app/jobs/shipit/process_merge_requests_job.rb +32 -0
  74. data/app/jobs/shipit/purge_old_deliveries_job.rb +1 -0
  75. data/app/jobs/shipit/reap_dead_tasks_job.rb +21 -0
  76. data/app/jobs/shipit/refresh_check_runs_job.rb +1 -0
  77. data/app/jobs/shipit/refresh_github_user_job.rb +1 -0
  78. data/app/jobs/shipit/refresh_merge_request_job.rb +11 -0
  79. data/app/jobs/shipit/refresh_statuses_job.rb +1 -0
  80. data/app/jobs/shipit/setup_github_hook_job.rb +1 -0
  81. data/app/jobs/shipit/update_estimated_deploy_duration_job.rb +1 -0
  82. data/app/jobs/shipit/update_github_last_deployed_ref_job.rb +5 -4
  83. data/app/models/concerns/shipit/deferred_touch.rb +4 -3
  84. data/app/models/shipit/anonymous_user.rb +15 -2
  85. data/app/models/shipit/api_client.rb +3 -2
  86. data/app/models/shipit/application_record.rb +2 -1
  87. data/app/models/shipit/check_run.rb +41 -4
  88. data/app/models/shipit/command_line_user.rb +5 -0
  89. data/app/models/shipit/commit.rb +42 -24
  90. data/app/models/shipit/commit_checks.rb +15 -13
  91. data/app/models/shipit/commit_deployment.rb +6 -5
  92. data/app/models/shipit/commit_deployment_status.rb +5 -4
  93. data/app/models/shipit/commit_message.rb +1 -0
  94. data/app/models/shipit/delivery.rb +4 -3
  95. data/app/models/shipit/deploy.rb +23 -28
  96. data/app/models/shipit/deploy_spec/bundler_discovery.rb +1 -0
  97. data/app/models/shipit/deploy_spec/capistrano_discovery.rb +1 -0
  98. data/app/models/shipit/deploy_spec/file_system.rb +20 -7
  99. data/app/models/shipit/deploy_spec/kubernetes_discovery.rb +1 -0
  100. data/app/models/shipit/deploy_spec/lerna_discovery.rb +13 -4
  101. data/app/models/shipit/deploy_spec/npm_discovery.rb +5 -4
  102. data/app/models/shipit/deploy_spec/pypi_discovery.rb +1 -0
  103. data/app/models/shipit/deploy_spec/rubygems_discovery.rb +1 -0
  104. data/app/models/shipit/deploy_spec.rb +38 -7
  105. data/app/models/shipit/deploy_stats.rb +2 -1
  106. data/app/models/shipit/duration.rb +5 -2
  107. data/app/models/shipit/ephemeral_commit_checks.rb +1 -0
  108. data/app/models/shipit/github_hook.rb +2 -1
  109. data/app/models/shipit/github_status.rb +2 -1
  110. data/app/models/shipit/hook.rb +34 -7
  111. data/app/models/shipit/membership.rb +3 -2
  112. data/app/models/shipit/merge_request.rb +304 -0
  113. data/app/models/shipit/output_chunk.rb +7 -2
  114. data/app/models/shipit/provisioning_handler/base.rb +30 -0
  115. data/app/models/shipit/provisioning_handler/unregistered_provisioning_handler.rb +35 -0
  116. data/app/models/shipit/provisioning_handler.rb +32 -0
  117. data/app/models/shipit/pull_request.rb +28 -266
  118. data/app/models/shipit/pull_request_assignment.rb +10 -0
  119. data/app/models/shipit/record.rb +18 -0
  120. data/app/models/shipit/release_status.rb +4 -3
  121. data/app/models/shipit/repository.rb +71 -6
  122. data/app/models/shipit/review_stack.rb +130 -0
  123. data/app/models/shipit/review_stack_provisioning_queue.rb +39 -0
  124. data/app/models/shipit/rollback.rb +6 -0
  125. data/app/models/shipit/stack.rb +127 -45
  126. data/app/models/shipit/status/common.rb +7 -6
  127. data/app/models/shipit/status/group.rb +2 -1
  128. data/app/models/shipit/status/missing.rb +2 -1
  129. data/app/models/shipit/status/unknown.rb +2 -1
  130. data/app/models/shipit/status.rb +3 -2
  131. data/app/models/shipit/task.rb +98 -12
  132. data/app/models/shipit/task_definition.rb +1 -0
  133. data/app/models/shipit/task_execution_strategy/base.rb +20 -0
  134. data/app/models/shipit/task_execution_strategy/default.rb +109 -0
  135. data/app/models/shipit/team.rb +6 -3
  136. data/app/models/shipit/undeployed_commit.rb +1 -0
  137. data/app/models/shipit/unlimited_api_client.rb +1 -0
  138. data/app/models/shipit/user.rb +19 -8
  139. data/app/models/shipit/variable_definition.rb +1 -0
  140. data/app/models/shipit/webhooks/handlers/check_suite_handler.rb +1 -0
  141. data/app/models/shipit/webhooks/handlers/handler.rb +1 -0
  142. data/app/models/shipit/webhooks/handlers/membership_handler.rb +1 -0
  143. data/app/models/shipit/webhooks/handlers/pull_request/assigned_handler.rb +74 -0
  144. data/app/models/shipit/webhooks/handlers/pull_request/closed_handler.rb +68 -0
  145. data/app/models/shipit/webhooks/handlers/pull_request/edited_handler.rb +74 -0
  146. data/app/models/shipit/webhooks/handlers/pull_request/label_capturing_handler.rb +127 -0
  147. data/app/models/shipit/webhooks/handlers/pull_request/labeled_handler.rb +106 -0
  148. data/app/models/shipit/webhooks/handlers/pull_request/opened_handler.rb +83 -0
  149. data/app/models/shipit/webhooks/handlers/pull_request/reopened_handler.rb +88 -0
  150. data/app/models/shipit/webhooks/handlers/pull_request/review_stack_adapter.rb +103 -0
  151. data/app/models/shipit/webhooks/handlers/pull_request/unlabeled_handler.rb +107 -0
  152. data/app/models/shipit/webhooks/handlers/push_handler.rb +5 -1
  153. data/app/models/shipit/webhooks/handlers/status_handler.rb +1 -0
  154. data/app/models/shipit/webhooks.rb +11 -0
  155. data/app/serializers/concerns/shipit/conditional_attributes.rb +1 -0
  156. data/app/serializers/shipit/anonymous_user_serializer.rb +1 -0
  157. data/app/serializers/shipit/command_line_user_serializer.rb +1 -0
  158. data/app/serializers/shipit/commit_serializer.rb +1 -0
  159. data/app/serializers/shipit/deploy_serializer.rb +8 -1
  160. data/app/serializers/shipit/hook_serializer.rb +1 -0
  161. data/app/serializers/shipit/merge_request_serializer.rb +21 -0
  162. data/app/serializers/shipit/pull_request_serializer.rb +6 -8
  163. data/app/serializers/shipit/review_stack_serializer.rb +7 -0
  164. data/app/serializers/shipit/rollback_serializer.rb +1 -0
  165. data/app/serializers/shipit/short_commit_serializer.rb +1 -0
  166. data/app/serializers/shipit/stack_serializer.rb +8 -6
  167. data/app/serializers/shipit/tail_task_serializer.rb +11 -2
  168. data/app/serializers/shipit/task_serializer.rb +2 -17
  169. data/app/serializers/shipit/user_serializer.rb +6 -1
  170. data/app/validators/ascii_only_validator.rb +1 -0
  171. data/app/validators/subset_validator.rb +2 -1
  172. data/app/views/layouts/merge_status.html.erb +1 -1
  173. data/app/views/layouts/shipit.html.erb +1 -1
  174. data/app/views/shipit/_variables.html.erb +1 -1
  175. data/app/views/shipit/ccmenu/project.xml.builder +2 -1
  176. data/app/views/shipit/deploys/show.html.erb +2 -2
  177. data/app/views/shipit/merge_requests/_merge_request.html.erb +29 -0
  178. data/app/views/shipit/{pull_requests → merge_requests}/index.html.erb +2 -2
  179. data/app/views/shipit/merge_requests/merge_requests/_pull_request.html.erb +29 -0
  180. data/app/views/shipit/merge_requests/merge_requests/index.html.erb +20 -0
  181. data/app/views/shipit/merge_status/_merge_queue_button.html.erb +3 -3
  182. data/app/views/shipit/merge_status/backlogged.html.erb +1 -1
  183. data/app/views/shipit/merge_status/failure.html.erb +1 -1
  184. data/app/views/shipit/merge_status/locked.html.erb +1 -1
  185. data/app/views/shipit/merge_status/success.html.erb +2 -2
  186. data/app/views/shipit/repositories/_header.html.erb +19 -0
  187. data/app/views/shipit/repositories/index.html.erb +31 -0
  188. data/app/views/shipit/repositories/new.html.erb +23 -0
  189. data/app/views/shipit/repositories/settings.html.erb +53 -0
  190. data/app/views/shipit/repositories/show.html.erb +30 -0
  191. data/app/views/shipit/stacks/_banners.html.erb +15 -1
  192. data/app/views/shipit/stacks/_header.html.erb +8 -2
  193. data/app/views/shipit/stacks/_stack.html.erb +8 -0
  194. data/app/views/shipit/stacks/all_tasks.html.erb +28 -0
  195. data/app/views/shipit/stacks/index.html.erb +3 -2
  196. data/app/views/shipit/stacks/new.html.erb +1 -1
  197. data/app/views/shipit/stacks/settings.html.erb +5 -5
  198. data/app/views/shipit/stacks/show.html.erb +1 -1
  199. data/app/views/shipit/tasks/_task_output.html.erb +1 -1
  200. data/app/views/shipit/tasks/show.html.erb +1 -1
  201. data/config/initializers/inflections.rb +2 -1
  202. data/config/locales/en.yml +3 -3
  203. data/config/routes.rb +25 -7
  204. data/config/secrets.development.example.yml +24 -0
  205. data/config/secrets.development.shopify.yml +20 -9
  206. data/db/migrate/20200226211925_add_index_to_tasks_status.rb +5 -0
  207. data/db/migrate/20200427135152_add_pull_request_head_sha_to_commit.rb +5 -0
  208. data/db/migrate/20200615181558_add_rollback_once_aborted_to.rb +5 -0
  209. data/db/migrate/20200706145406_add_review_stacks.rb +12 -0
  210. data/db/migrate/20200804144639_rename_pull_request_to_merge_request.rb +7 -0
  211. data/db/migrate/20200804161512_rename_commits_pull_request_id_to_merge_request_id.rb +5 -0
  212. data/db/migrate/20200813134712_recreate_shipit_pull_requests.rb +22 -0
  213. data/db/migrate/20200813194056_create_pull_request_assignments.rb +8 -0
  214. data/db/migrate/20201001125502_add_provision_pr_stacks_flag_to_repositories.rb +7 -0
  215. data/db/migrate/20201008145809_add_retry_attempt_to_tasks.rb +5 -0
  216. data/db/migrate/20201008152744_add_max_retries_to_tasks.rb +5 -0
  217. data/db/migrate/20210325194053_remove_stacks_branch_default.rb +5 -0
  218. data/db/migrate/20210504200438_add_github_updated_at_to_check_runs.rb +5 -0
  219. data/db/migrate/20210823075617_change_check_runs_github_updated_at_default.rb +5 -0
  220. data/lib/shipit/cast_value.rb +1 -0
  221. data/lib/shipit/command.rb +19 -17
  222. data/lib/shipit/commands.rb +23 -9
  223. data/lib/shipit/csv_serializer.rb +1 -0
  224. data/lib/shipit/deploy_commands.rb +1 -0
  225. data/lib/shipit/engine.rb +9 -2
  226. data/lib/shipit/environment_variables.rb +2 -1
  227. data/lib/shipit/first_parent_commits_iterator.rb +1 -0
  228. data/lib/shipit/flock.rb +9 -1
  229. data/lib/shipit/github_app.rb +15 -12
  230. data/lib/shipit/github_http_cache_middleware.rb +1 -0
  231. data/lib/shipit/null_serializer.rb +1 -0
  232. data/lib/shipit/octokit_check_runs.rb +3 -2
  233. data/lib/shipit/octokit_iterator.rb +4 -3
  234. data/lib/shipit/paginator.rb +3 -2
  235. data/lib/shipit/review_stack_commands.rb +8 -0
  236. data/lib/shipit/rollback_commands.rb +1 -0
  237. data/lib/shipit/same_site_cookie_middleware.rb +29 -0
  238. data/lib/shipit/simple_message_verifier.rb +3 -2
  239. data/lib/shipit/stack_commands.rb +39 -9
  240. data/lib/shipit/stat.rb +1 -0
  241. data/lib/shipit/task_commands.rb +9 -0
  242. data/lib/shipit/version.rb +2 -1
  243. data/lib/shipit.rb +61 -17
  244. data/lib/snippets/publish-lerna-independent-packages +35 -34
  245. data/lib/snippets/publish-lerna-independent-packages-legacy +39 -0
  246. data/lib/snippets/release-gem +5 -1
  247. data/lib/tasks/cron.rake +13 -2
  248. data/lib/tasks/dev.rake +3 -2
  249. data/lib/tasks/shipit.rake +15 -14
  250. data/lib/tasks/teams.rake +1 -0
  251. data/test/controllers/api/base_controller_test.rb +3 -2
  252. data/test/controllers/api/ccmenu_controller_test.rb +9 -8
  253. data/test/controllers/api/commits_controller_test.rb +3 -2
  254. data/test/controllers/api/deploys_controller_test.rb +32 -14
  255. data/test/controllers/api/hooks_controller_test.rb +8 -7
  256. data/test/controllers/api/locks_controller_test.rb +7 -6
  257. data/test/controllers/api/{pull_requests_controller_test.rb → merge_requests_controller_test.rb} +17 -16
  258. data/test/controllers/api/outputs_controller_test.rb +3 -1
  259. data/test/controllers/api/release_statuses_controller_test.rb +2 -1
  260. data/test/controllers/api/rollback_controller_test.rb +113 -0
  261. data/test/controllers/api/stacks_controller_test.rb +71 -16
  262. data/test/controllers/api/tasks_controller_test.rb +13 -12
  263. data/test/controllers/api_clients_controller_test.rb +5 -4
  264. data/test/controllers/ccmenu_controller_test.rb +4 -3
  265. data/test/controllers/commit_checks_controller_test.rb +4 -3
  266. data/test/controllers/commits_controller_test.rb +3 -2
  267. data/test/controllers/deploys_controller_test.rb +32 -21
  268. data/test/controllers/github_authentication_controller_test.rb +1 -0
  269. data/test/controllers/merge_requests_controller_test.rb +32 -0
  270. data/test/controllers/merge_status_controller_test.rb +7 -6
  271. data/test/controllers/release_statuses_controller_test.rb +3 -2
  272. data/test/controllers/repositories_controller_test.rb +71 -0
  273. data/test/controllers/rollbacks_controller_test.rb +9 -8
  274. data/test/controllers/stacks_controller_test.rb +41 -19
  275. data/test/controllers/status_controller_test.rb +1 -0
  276. data/test/controllers/tasks_controller_test.rb +32 -19
  277. data/test/controllers/webhooks_controller_test.rb +33 -17
  278. data/test/dummy/app/assets/config/manifest.js +3 -0
  279. data/test/dummy/config/application.rb +7 -2
  280. data/test/dummy/config/database.yml +9 -0
  281. data/test/dummy/config/environments/development.rb +3 -4
  282. data/test/dummy/config/environments/test.rb +2 -5
  283. data/test/dummy/config/secrets_double_github_app.yml +79 -0
  284. data/test/dummy/db/schema.rb +59 -17
  285. data/test/dummy/db/seeds.rb +2 -1
  286. data/test/fixtures/payloads/check_suite_master.json +4 -32
  287. data/test/fixtures/payloads/invalid_pull_request.json +117 -0
  288. data/test/fixtures/payloads/provision_disabled_pull_request.json +454 -0
  289. data/test/fixtures/payloads/pull_request_assigned.json +480 -0
  290. data/test/fixtures/payloads/pull_request_closed.json +454 -0
  291. data/test/fixtures/payloads/pull_request_labeled.json +461 -0
  292. data/test/fixtures/payloads/pull_request_opened.json +454 -0
  293. data/test/fixtures/payloads/pull_request_reopened.json +454 -0
  294. data/test/fixtures/payloads/pull_request_unlabeled.json +454 -0
  295. data/test/fixtures/payloads/pull_request_with_no_repo.json +454 -0
  296. data/test/fixtures/payloads/push_master.json +1 -1
  297. data/test/fixtures/payloads/push_not_master.json +1 -1
  298. data/test/fixtures/shipit/commits.yml +31 -3
  299. data/test/fixtures/shipit/hooks.yml +1 -0
  300. data/test/fixtures/shipit/merge_requests.yml +141 -0
  301. data/test/fixtures/shipit/pull_request_assignments.yml +3 -0
  302. data/test/fixtures/shipit/pull_requests.yml +10 -131
  303. data/test/fixtures/shipit/repositories.yml +5 -0
  304. data/test/fixtures/shipit/stacks.yml +235 -14
  305. data/test/fixtures/shipit/statuses.yml +9 -0
  306. data/test/fixtures/shipit/tasks.yml +4 -1
  307. data/test/fixtures/shipit/users.yml +7 -0
  308. data/test/fixtures/timeout +2 -1
  309. data/test/helpers/api_helper.rb +1 -0
  310. data/test/helpers/fixture_aliases_helper.rb +1 -0
  311. data/test/helpers/hooks_helper.rb +2 -1
  312. data/test/helpers/json_helper.rb +20 -12
  313. data/test/helpers/links_helper.rb +4 -3
  314. data/test/helpers/payloads_helper.rb +5 -0
  315. data/test/helpers/queries_helper.rb +3 -2
  316. data/test/jobs/cache_deploy_spec_job_test.rb +2 -1
  317. data/test/jobs/chunk_rollup_job_test.rb +16 -1
  318. data/test/jobs/deliver_hook_job_test.rb +1 -0
  319. data/test/jobs/destroy_repository_job_test.rb +27 -0
  320. data/test/jobs/destroy_stack_job_test.rb +1 -0
  321. data/test/jobs/emit_event_job_test.rb +2 -1
  322. data/test/jobs/fetch_commit_stats_job_test.rb +1 -0
  323. data/test/jobs/fetch_deployed_revision_job_test.rb +1 -0
  324. data/test/jobs/github_sync_job_test.rb +3 -1
  325. data/test/jobs/mark_deploy_healthy_job_test.rb +1 -0
  326. data/test/jobs/perform_task_job_test.rb +12 -11
  327. data/test/jobs/{merge_pull_requests_job_test.rb → process_merge_requests_job_test.rb} +19 -18
  328. data/test/jobs/purge_old_deliveries_job_test.rb +1 -0
  329. data/test/jobs/reap_dead_tasks_job_test.rb +68 -0
  330. data/test/jobs/refresh_github_user_job_test.rb +1 -0
  331. data/test/jobs/refresh_status_job_test.rb +1 -0
  332. data/test/jobs/unique_job_test.rb +1 -0
  333. data/test/jobs/update_github_last_deployed_ref_job_test.rb +1 -0
  334. data/test/lib/shipit/deploy_commands_test.rb +16 -0
  335. data/test/lib/shipit/task_commands_test.rb +17 -0
  336. data/test/middleware/same_site_cookie_middleware_test.rb +52 -0
  337. data/test/models/api_client_test.rb +1 -0
  338. data/test/models/commit_checks_test.rb +1 -0
  339. data/test/models/commit_deployment_status_test.rb +4 -3
  340. data/test/models/commit_deployment_test.rb +2 -1
  341. data/test/models/commits_test.rb +96 -19
  342. data/test/models/delivery_test.rb +2 -1
  343. data/test/models/deploy_spec_test.rb +110 -65
  344. data/test/models/deploy_stats_test.rb +1 -0
  345. data/test/models/deploys_test.rb +219 -36
  346. data/test/models/duration_test.rb +1 -0
  347. data/test/models/github_hook_test.rb +1 -0
  348. data/test/models/hook_test.rb +47 -10
  349. data/test/models/membership_test.rb +1 -0
  350. data/test/models/{pull_request_test.rb → merge_request_test.rb} +53 -37
  351. data/test/models/pull_request_assignment_test.rb +16 -0
  352. data/test/models/release_statuses_test.rb +1 -0
  353. data/test/models/rollbacks_test.rb +1 -0
  354. data/test/models/shipit/check_run_test.rb +125 -5
  355. data/test/models/shipit/provisioning_handler/base_test.rb +33 -0
  356. data/test/models/shipit/provisioning_handler/unregistered_provisioning_handler_test.rb +49 -0
  357. data/test/models/shipit/provisioning_handler_test.rb +64 -0
  358. data/test/models/shipit/pull_request_test.rb +52 -0
  359. data/test/models/shipit/repository_test.rb +6 -1
  360. data/test/models/shipit/review_stack_provision_status_test.rb +77 -0
  361. data/test/models/shipit/review_stack_provisioning_queue_test.rb +63 -0
  362. data/test/models/shipit/review_stack_test.rb +91 -0
  363. data/test/models/{stacks_test.rb → shipit/stacks_test.rb} +82 -16
  364. data/test/models/shipit/webhooks/handlers/pull_request/assigned_handler_test.rb +45 -0
  365. data/test/models/shipit/webhooks/handlers/pull_request/closed_handler_test.rb +192 -0
  366. data/test/models/shipit/webhooks/handlers/pull_request/edited_handler_test.rb +47 -0
  367. data/test/models/shipit/webhooks/handlers/pull_request/label_capturing_handler_test.rb +209 -0
  368. data/test/models/shipit/webhooks/handlers/pull_request/labeled_handler_test.rb +332 -0
  369. data/test/models/shipit/webhooks/handlers/pull_request/opened_handler_test.rb +238 -0
  370. data/test/models/shipit/webhooks/handlers/pull_request/reopened_handler_test.rb +282 -0
  371. data/test/models/shipit/webhooks/handlers/pull_request/review_stack_adapter_test.rb +107 -0
  372. data/test/models/shipit/webhooks/handlers/pull_request/unlabeled_handler_test.rb +324 -0
  373. data/test/models/shipit/{wehbooks → webhooks}/handlers_test.rb +1 -0
  374. data/test/models/status/group_test.rb +1 -0
  375. data/test/models/status/missing_test.rb +1 -0
  376. data/test/models/status_test.rb +1 -0
  377. data/test/models/task_definitions_test.rb +9 -8
  378. data/test/models/tasks_test.rb +81 -1
  379. data/test/models/team_test.rb +4 -2
  380. data/test/models/undeployed_commits_test.rb +1 -0
  381. data/test/models/users_test.rb +13 -5
  382. data/test/serializers/shipit/pull_request_serializer_test.rb +29 -0
  383. data/test/test_command_integration.rb +3 -2
  384. data/test/test_helper.rb +49 -31
  385. data/test/unit/anonymous_user_serializer_test.rb +14 -0
  386. data/test/unit/command_test.rb +16 -10
  387. data/test/unit/commands_test.rb +1 -0
  388. data/test/unit/commit_serializer_test.rb +16 -0
  389. data/test/unit/csv_serializer_test.rb +3 -2
  390. data/test/unit/deploy_commands_test.rb +77 -20
  391. data/test/unit/deploy_serializer_test.rb +17 -0
  392. data/test/unit/environment_variables_test.rb +5 -4
  393. data/test/unit/github_app_test.rb +3 -3
  394. data/test/unit/github_apps_test.rb +416 -0
  395. data/test/unit/github_url_helper_test.rb +6 -0
  396. data/test/unit/rollback_commands_test.rb +2 -1
  397. data/test/unit/shipit_deployment_checks_test.rb +77 -0
  398. data/test/unit/shipit_helper_test.rb +17 -0
  399. data/test/unit/shipit_task_execution_strategy_test.rb +47 -0
  400. data/test/unit/shipit_test.rb +15 -0
  401. data/test/unit/user_serializer_test.rb +14 -0
  402. data/test/unit/variable_definition_test.rb +1 -0
  403. metadata +325 -182
  404. data/app/controllers/shipit/api/pull_requests_controller.rb +0 -36
  405. data/app/controllers/shipit/pull_requests_controller.rb +0 -30
  406. data/app/jobs/shipit/merge_pull_requests_job.rb +0 -31
  407. data/app/jobs/shipit/refresh_pull_request_job.rb +0 -10
  408. data/app/views/shipit/pull_requests/_pull_request.html.erb +0 -29
  409. data/test/controllers/pull_requests_controller_test.rb +0 -31
  410. data/test/fixtures/shipit/output_chunks.yml +0 -47
  411. data/test/models/output_chunk_test.rb +0 -20
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  module Shipit
@@ -16,5 +17,10 @@ module Shipit
16
17
  expected = 'https://github.com/shopify/shipit-engine/commit/6d9278037b872fd9a6690523e411ecb3aa181355'
17
18
  assert_equal expected, github_commit_url(shipit_commits(:first))
18
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
19
25
  end
20
26
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  module Shipit
@@ -10,7 +11,7 @@ module Shipit
10
11
  dependencies_steps!: ['bundle install --some-args'],
11
12
  deploy_steps!: ['bundle exec cap $ENVIRONMENT deploy'],
12
13
  rollback_steps!: ['bundle exec cap $ENVIRONMENT deploy:rollback'],
13
- machine_env: {'GLOBAL' => '1'},
14
+ machine_env: { 'GLOBAL' => '1' },
14
15
  directory: nil,
15
16
  clear_working_directory?: true,
16
17
  )
@@ -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,17 @@
1
+ # frozen_string_literal: true
2
+ require 'test_helper'
3
+
4
+ module Shipit
5
+ class ShipitHelperTest < ActionView::TestCase
6
+ include Shipit::ShipitHelper
7
+ include ERB::Util
8
+
9
+ test "#emojify embeds known emojis" do
10
+ assert_includes emojify(':smile:'), '<img'
11
+ end
12
+
13
+ test "#emojify returns unknown emojis" do
14
+ assert_equal ':unknown:', emojify(':unknown:')
15
+ end
16
+ end
17
+ 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
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  module Shipit
@@ -6,6 +7,20 @@ module Shipit
6
7
  Shipit.instance_variables.each(&Shipit.method(:remove_instance_variable))
7
8
  end
8
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
+
9
24
  test ".github_teams returns an empty array if there's no team" do
10
25
  assert_equal([], Shipit.github_teams)
11
26
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ require 'test_helper'
3
+
4
+ module Shipit
5
+ class UserSerializerTest < ActiveSupport::TestCase
6
+ test 'includes anonymous key' do
7
+ user = User.new
8
+ serializer = ActiveModel::Serializer.serializer_for(user)
9
+ assert_equal UserSerializer, serializer
10
+ serialized = serializer.new(user).to_json
11
+ assert_json_document(serialized, "anonymous", false)
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  module Shipit
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.31.0
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean Boussier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-13 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
@@ -252,44 +252,30 @@ dependencies:
252
252
  name: rake
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: '10.0'
258
- type: :runtime
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: '10.0'
265
- - !ruby/object:Gem::Dependency
266
- name: redis-namespace
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
255
+ - - ">="
270
256
  - !ruby/object:Gem::Version
271
- version: 1.6.0
257
+ version: '0'
272
258
  type: :runtime
273
259
  prerelease: false
274
260
  version_requirements: !ruby/object:Gem::Requirement
275
261
  requirements:
276
- - - "~>"
262
+ - - ">="
277
263
  - !ruby/object:Gem::Version
278
- version: 1.6.0
264
+ version: '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,9 +485,10 @@ 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
491
+ - app/controllers/shipit/api/rollbacks_controller.rb
488
492
  - app/controllers/shipit/api/stacks_controller.rb
489
493
  - app/controllers/shipit/api/tasks_controller.rb
490
494
  - app/controllers/shipit/api_clients_controller.rb
@@ -493,9 +497,10 @@ files:
493
497
  - app/controllers/shipit/commits_controller.rb
494
498
  - app/controllers/shipit/deploys_controller.rb
495
499
  - app/controllers/shipit/github_authentication_controller.rb
500
+ - app/controllers/shipit/merge_requests_controller.rb
496
501
  - app/controllers/shipit/merge_status_controller.rb
497
- - app/controllers/shipit/pull_requests_controller.rb
498
502
  - app/controllers/shipit/release_statuses_controller.rb
503
+ - app/controllers/shipit/repositories_controller.rb
499
504
  - app/controllers/shipit/rollbacks_controller.rb
500
505
  - app/controllers/shipit/shipit_controller.rb
501
506
  - app/controllers/shipit/stacks_controller.rb
@@ -520,19 +525,21 @@ files:
520
525
  - app/jobs/shipit/deferred_touch_job.rb
521
526
  - app/jobs/shipit/deliver_hook_job.rb
522
527
  - app/jobs/shipit/destroy_job.rb
528
+ - app/jobs/shipit/destroy_repository_job.rb
523
529
  - app/jobs/shipit/destroy_stack_job.rb
524
530
  - app/jobs/shipit/emit_event_job.rb
525
531
  - app/jobs/shipit/fetch_commit_stats_job.rb
526
532
  - app/jobs/shipit/fetch_deployed_revision_job.rb
527
533
  - app/jobs/shipit/github_sync_job.rb
528
534
  - app/jobs/shipit/mark_deploy_healthy_job.rb
529
- - app/jobs/shipit/merge_pull_requests_job.rb
530
535
  - app/jobs/shipit/perform_commit_checks_job.rb
531
536
  - app/jobs/shipit/perform_task_job.rb
537
+ - app/jobs/shipit/process_merge_requests_job.rb
532
538
  - app/jobs/shipit/purge_old_deliveries_job.rb
539
+ - app/jobs/shipit/reap_dead_tasks_job.rb
533
540
  - app/jobs/shipit/refresh_check_runs_job.rb
534
541
  - app/jobs/shipit/refresh_github_user_job.rb
535
- - app/jobs/shipit/refresh_pull_request_job.rb
542
+ - app/jobs/shipit/refresh_merge_request_job.rb
536
543
  - app/jobs/shipit/refresh_statuses_job.rb
537
544
  - app/jobs/shipit/setup_github_hook_job.rb
538
545
  - app/jobs/shipit/update_estimated_deploy_duration_job.rb
@@ -566,10 +573,18 @@ files:
566
573
  - app/models/shipit/github_status.rb
567
574
  - app/models/shipit/hook.rb
568
575
  - app/models/shipit/membership.rb
576
+ - app/models/shipit/merge_request.rb
569
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
570
581
  - app/models/shipit/pull_request.rb
582
+ - app/models/shipit/pull_request_assignment.rb
583
+ - app/models/shipit/record.rb
571
584
  - app/models/shipit/release_status.rb
572
585
  - app/models/shipit/repository.rb
586
+ - app/models/shipit/review_stack.rb
587
+ - app/models/shipit/review_stack_provisioning_queue.rb
573
588
  - app/models/shipit/rollback.rb
574
589
  - app/models/shipit/stack.rb
575
590
  - app/models/shipit/status.rb
@@ -579,6 +594,8 @@ files:
579
594
  - app/models/shipit/status/unknown.rb
580
595
  - app/models/shipit/task.rb
581
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
582
599
  - app/models/shipit/team.rb
583
600
  - app/models/shipit/undeployed_commit.rb
584
601
  - app/models/shipit/unlimited_api_client.rb
@@ -588,6 +605,15 @@ files:
588
605
  - app/models/shipit/webhooks/handlers/check_suite_handler.rb
589
606
  - app/models/shipit/webhooks/handlers/handler.rb
590
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
591
617
  - app/models/shipit/webhooks/handlers/push_handler.rb
592
618
  - app/models/shipit/webhooks/handlers/status_handler.rb
593
619
  - app/serializers/concerns/shipit/conditional_attributes.rb
@@ -596,7 +622,9 @@ files:
596
622
  - app/serializers/shipit/commit_serializer.rb
597
623
  - app/serializers/shipit/deploy_serializer.rb
598
624
  - app/serializers/shipit/hook_serializer.rb
625
+ - app/serializers/shipit/merge_request_serializer.rb
599
626
  - app/serializers/shipit/pull_request_serializer.rb
627
+ - app/serializers/shipit/review_stack_serializer.rb
600
628
  - app/serializers/shipit/rollback_serializer.rb
601
629
  - app/serializers/shipit/short_commit_serializer.rb
602
630
  - app/serializers/shipit/stack_serializer.rb
@@ -625,6 +653,10 @@ files:
625
653
  - app/views/shipit/deploys/rollback.html.erb
626
654
  - app/views/shipit/deploys/show.html.erb
627
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
628
660
  - app/views/shipit/merge_status/_anchor.html.erb
629
661
  - app/views/shipit/merge_status/_commit_count_warning.html.erb
630
662
  - app/views/shipit/merge_status/_merge_queue_button.html.erb
@@ -635,12 +667,17 @@ files:
635
667
  - app/views/shipit/merge_status/logged_out.erb
636
668
  - app/views/shipit/merge_status/success.html.erb
637
669
  - app/views/shipit/missing_settings.html.erb
638
- - app/views/shipit/pull_requests/_pull_request.html.erb
639
- - 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
640
675
  - app/views/shipit/shared/_author.html.erb
641
676
  - app/views/shipit/stacks/_banners.html.erb
642
677
  - app/views/shipit/stacks/_header.html.erb
643
678
  - app/views/shipit/stacks/_links.html.erb
679
+ - app/views/shipit/stacks/_stack.html.erb
680
+ - app/views/shipit/stacks/all_tasks.html.erb
644
681
  - app/views/shipit/stacks/index.html.erb
645
682
  - app/views/shipit/stacks/new.html.erb
646
683
  - app/views/shipit/stacks/settings.html.erb
@@ -718,6 +755,20 @@ files:
718
755
  - db/migrate/20191219205202_add_archived_since_to_stacks.rb
719
756
  - db/migrate/20200102175621_optional_task_commits.rb
720
757
  - db/migrate/20200109132519_add_sha_to_commit_deployments.rb
758
+ - db/migrate/20200226211925_add_index_to_tasks_status.rb
759
+ - db/migrate/20200427135152_add_pull_request_head_sha_to_commit.rb
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
721
772
  - lib/shipit-engine.rb
722
773
  - lib/shipit.rb
723
774
  - lib/shipit/cast_value.rb
@@ -736,7 +787,9 @@ files:
736
787
  - lib/shipit/octokit_check_runs.rb
737
788
  - lib/shipit/octokit_iterator.rb
738
789
  - lib/shipit/paginator.rb
790
+ - lib/shipit/review_stack_commands.rb
739
791
  - lib/shipit/rollback_commands.rb
792
+ - lib/shipit/same_site_cookie_middleware.rb
740
793
  - lib/shipit/simple_message_verifier.rb
741
794
  - lib/shipit/stack_commands.rb
742
795
  - lib/shipit/stat.rb
@@ -755,6 +808,7 @@ files:
755
808
  - lib/snippets/git-askpass
756
809
  - lib/snippets/misconfigured-npm-publish-config
757
810
  - lib/snippets/publish-lerna-independent-packages
811
+ - lib/snippets/publish-lerna-independent-packages-legacy
758
812
  - lib/snippets/push-to-heroku
759
813
  - lib/snippets/release-gem
760
814
  - lib/tasks/cron.rake
@@ -767,9 +821,10 @@ files:
767
821
  - test/controllers/api/deploys_controller_test.rb
768
822
  - test/controllers/api/hooks_controller_test.rb
769
823
  - test/controllers/api/locks_controller_test.rb
824
+ - test/controllers/api/merge_requests_controller_test.rb
770
825
  - test/controllers/api/outputs_controller_test.rb
771
- - test/controllers/api/pull_requests_controller_test.rb
772
826
  - test/controllers/api/release_statuses_controller_test.rb
827
+ - test/controllers/api/rollback_controller_test.rb
773
828
  - test/controllers/api/stacks_controller_test.rb
774
829
  - test/controllers/api/tasks_controller_test.rb
775
830
  - test/controllers/api_clients_controller_test.rb
@@ -778,15 +833,17 @@ files:
778
833
  - test/controllers/commits_controller_test.rb
779
834
  - test/controllers/deploys_controller_test.rb
780
835
  - test/controllers/github_authentication_controller_test.rb
836
+ - test/controllers/merge_requests_controller_test.rb
781
837
  - test/controllers/merge_status_controller_test.rb
782
- - test/controllers/pull_requests_controller_test.rb
783
838
  - test/controllers/release_statuses_controller_test.rb
839
+ - test/controllers/repositories_controller_test.rb
784
840
  - test/controllers/rollbacks_controller_test.rb
785
841
  - test/controllers/stacks_controller_test.rb
786
842
  - test/controllers/status_controller_test.rb
787
843
  - test/controllers/tasks_controller_test.rb
788
844
  - test/controllers/webhooks_controller_test.rb
789
845
  - test/dummy/Rakefile
846
+ - test/dummy/app/assets/config/manifest.js
790
847
  - test/dummy/app/assets/javascripts/application.js
791
848
  - test/dummy/app/assets/stylesheets/application.css
792
849
  - test/dummy/app/controllers/application_controller.rb
@@ -818,6 +875,7 @@ files:
818
875
  - test/dummy/config/locales/en.yml
819
876
  - test/dummy/config/routes.rb
820
877
  - test/dummy/config/secrets.yml
878
+ - test/dummy/config/secrets_double_github_app.yml
821
879
  - test/dummy/db/schema.rb
822
880
  - test/dummy/db/seeds.rb
823
881
  - test/dummy/public/404.html
@@ -825,6 +883,15 @@ files:
825
883
  - test/dummy/public/500.html
826
884
  - test/dummy/public/favicon.ico
827
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
828
895
  - test/fixtures/payloads/push_master.json
829
896
  - test/fixtures/payloads/push_not_master.json
830
897
  - test/fixtures/payloads/status_master.json
@@ -837,7 +904,8 @@ files:
837
904
  - test/fixtures/shipit/github_hooks.yml
838
905
  - test/fixtures/shipit/hooks.yml
839
906
  - test/fixtures/shipit/memberships.yml
840
- - test/fixtures/shipit/output_chunks.yml
907
+ - test/fixtures/shipit/merge_requests.yml
908
+ - test/fixtures/shipit/pull_request_assignments.yml
841
909
  - test/fixtures/shipit/pull_requests.yml
842
910
  - test/fixtures/shipit/release_statuses.yml
843
911
  - test/fixtures/shipit/repositories.yml
@@ -857,19 +925,24 @@ files:
857
925
  - test/jobs/cache_deploy_spec_job_test.rb
858
926
  - test/jobs/chunk_rollup_job_test.rb
859
927
  - test/jobs/deliver_hook_job_test.rb
928
+ - test/jobs/destroy_repository_job_test.rb
860
929
  - test/jobs/destroy_stack_job_test.rb
861
930
  - test/jobs/emit_event_job_test.rb
862
931
  - test/jobs/fetch_commit_stats_job_test.rb
863
932
  - test/jobs/fetch_deployed_revision_job_test.rb
864
933
  - test/jobs/github_sync_job_test.rb
865
934
  - test/jobs/mark_deploy_healthy_job_test.rb
866
- - test/jobs/merge_pull_requests_job_test.rb
867
935
  - test/jobs/perform_task_job_test.rb
936
+ - test/jobs/process_merge_requests_job_test.rb
868
937
  - test/jobs/purge_old_deliveries_job_test.rb
938
+ - test/jobs/reap_dead_tasks_job_test.rb
869
939
  - test/jobs/refresh_github_user_job_test.rb
870
940
  - test/jobs/refresh_status_job_test.rb
871
941
  - test/jobs/unique_job_test.rb
872
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
945
+ - test/middleware/same_site_cookie_middleware_test.rb
873
946
  - test/models/api_client_test.rb
874
947
  - test/models/commit_checks_test.rb
875
948
  - test/models/commit_deployment_status_test.rb
@@ -883,14 +956,30 @@ files:
883
956
  - test/models/github_hook_test.rb
884
957
  - test/models/hook_test.rb
885
958
  - test/models/membership_test.rb
886
- - test/models/output_chunk_test.rb
887
- - test/models/pull_request_test.rb
959
+ - test/models/merge_request_test.rb
960
+ - test/models/pull_request_assignment_test.rb
888
961
  - test/models/release_statuses_test.rb
889
962
  - test/models/rollbacks_test.rb
890
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
891
968
  - test/models/shipit/repository_test.rb
892
- - test/models/shipit/wehbooks/handlers_test.rb
893
- - 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
894
983
  - test/models/status/group_test.rb
895
984
  - test/models/status/missing_test.rb
896
985
  - test/models/status_test.rb
@@ -899,18 +988,27 @@ files:
899
988
  - test/models/team_test.rb
900
989
  - test/models/undeployed_commits_test.rb
901
990
  - test/models/users_test.rb
991
+ - test/serializers/shipit/pull_request_serializer_test.rb
902
992
  - test/test_command_integration.rb
903
993
  - test/test_helper.rb
994
+ - test/unit/anonymous_user_serializer_test.rb
904
995
  - test/unit/command_test.rb
905
996
  - test/unit/commands_test.rb
997
+ - test/unit/commit_serializer_test.rb
906
998
  - test/unit/csv_serializer_test.rb
907
999
  - test/unit/deploy_commands_test.rb
1000
+ - test/unit/deploy_serializer_test.rb
908
1001
  - test/unit/environment_variables_test.rb
909
1002
  - test/unit/github_app_test.rb
1003
+ - test/unit/github_apps_test.rb
910
1004
  - test/unit/github_url_helper_test.rb
911
1005
  - test/unit/line_buffer_test.rb
912
1006
  - test/unit/rollback_commands_test.rb
1007
+ - test/unit/shipit_deployment_checks_test.rb
1008
+ - test/unit/shipit_helper_test.rb
1009
+ - test/unit/shipit_task_execution_strategy_test.rb
913
1010
  - test/unit/shipit_test.rb
1011
+ - test/unit/user_serializer_test.rb
914
1012
  - test/unit/variable_definition_test.rb
915
1013
  - vendor/assets/javascripts/clusterize.js
916
1014
  - vendor/assets/javascripts/jquery-notify.js
@@ -921,7 +1019,8 @@ files:
921
1019
  homepage: https://github.com/shopify/shipit-engine
922
1020
  licenses:
923
1021
  - MIT
924
- metadata: {}
1022
+ metadata:
1023
+ allowed_push_host: https://rubygems.org
925
1024
  post_install_message:
926
1025
  rdoc_options: []
927
1026
  require_paths:
@@ -937,159 +1036,203 @@ required_rubygems_version: !ruby/object:Gem::Requirement
937
1036
  - !ruby/object:Gem::Version
938
1037
  version: '0'
939
1038
  requirements: []
940
- rubygems_version: 3.0.3
1039
+ rubygems_version: 3.2.20
941
1040
  signing_key:
942
1041
  specification_version: 4
943
1042
  summary: Application deployment software
944
1043
  test_files:
945
- - test/controllers/release_statuses_controller_test.rb
946
- - test/controllers/status_controller_test.rb
947
- - test/controllers/github_authentication_controller_test.rb
948
- - test/controllers/pull_requests_controller_test.rb
949
- - test/controllers/tasks_controller_test.rb
950
- - test/controllers/commits_controller_test.rb
951
- - test/controllers/merge_status_controller_test.rb
952
- - test/controllers/webhooks_controller_test.rb
953
- - test/controllers/deploys_controller_test.rb
954
- - test/controllers/api_clients_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
955
1090
  - test/controllers/ccmenu_controller_test.rb
956
- - test/controllers/api/release_statuses_controller_test.rb
957
- - test/controllers/api/locks_controller_test.rb
958
- - test/controllers/api/base_controller_test.rb
959
- - test/controllers/api/outputs_controller_test.rb
960
- - test/controllers/api/pull_requests_controller_test.rb
961
- - test/controllers/api/tasks_controller_test.rb
1091
+ - test/controllers/api/ccmenu_controller_test.rb
962
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
1096
+ - test/controllers/api/base_controller_test.rb
963
1097
  - test/controllers/api/commits_controller_test.rb
1098
+ - test/controllers/api/release_statuses_controller_test.rb
1099
+ - test/controllers/api/rollback_controller_test.rb
964
1100
  - test/controllers/api/deploys_controller_test.rb
965
- - test/controllers/api/ccmenu_controller_test.rb
1101
+ - test/controllers/api/locks_controller_test.rb
966
1102
  - test/controllers/api/stacks_controller_test.rb
1103
+ - test/controllers/tasks_controller_test.rb
1104
+ - test/controllers/merge_requests_controller_test.rb
967
1105
  - test/controllers/rollbacks_controller_test.rb
1106
+ - test/controllers/commits_controller_test.rb
1107
+ - test/controllers/release_statuses_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
1111
+ - test/controllers/api_clients_controller_test.rb
968
1112
  - test/controllers/commit_checks_controller_test.rb
1113
+ - test/controllers/repositories_controller_test.rb
1114
+ - test/controllers/deploys_controller_test.rb
969
1115
  - test/controllers/stacks_controller_test.rb
970
- - test/unit/csv_serializer_test.rb
971
- - test/unit/variable_definition_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
972
1152
  - test/unit/commands_test.rb
973
- - test/unit/shipit_test.rb
974
- - test/unit/command_test.rb
975
- - test/unit/environment_variables_test.rb
1153
+ - test/unit/rollback_commands_test.rb
976
1154
  - test/unit/github_url_helper_test.rb
1155
+ - test/unit/variable_definition_test.rb
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
977
1160
  - test/unit/github_app_test.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
978
1169
  - test/unit/deploy_commands_test.rb
979
- - test/unit/rollback_commands_test.rb
980
- - test/unit/line_buffer_test.rb
981
- - test/test_helper.rb
982
- - test/jobs/refresh_status_job_test.rb
983
- - test/jobs/chunk_rollup_job_test.rb
984
- - test/jobs/deliver_hook_job_test.rb
985
- - test/jobs/emit_event_job_test.rb
986
- - test/jobs/perform_task_job_test.rb
987
- - test/jobs/mark_deploy_healthy_job_test.rb
988
- - test/jobs/destroy_stack_job_test.rb
989
- - test/jobs/purge_old_deliveries_job_test.rb
990
- - test/jobs/update_github_last_deployed_ref_job_test.rb
991
- - test/jobs/github_sync_job_test.rb
992
- - test/jobs/unique_job_test.rb
993
- - test/jobs/refresh_github_user_job_test.rb
994
- - test/jobs/merge_pull_requests_job_test.rb
995
- - test/jobs/fetch_deployed_revision_job_test.rb
996
- - test/jobs/fetch_commit_stats_job_test.rb
997
- - test/jobs/cache_deploy_spec_job_test.rb
998
- - test/models/status/missing_test.rb
999
- - test/models/status/group_test.rb
1000
- - test/models/tasks_test.rb
1001
- - test/models/github_hook_test.rb
1002
- - test/models/duration_test.rb
1003
- - test/models/output_chunk_test.rb
1004
- - test/models/task_definitions_test.rb
1005
- - test/models/team_test.rb
1006
- - test/models/release_statuses_test.rb
1007
- - test/models/commits_test.rb
1008
- - test/models/commit_deployment_test.rb
1009
- - test/models/deploy_spec_test.rb
1010
- - test/models/commit_deployment_status_test.rb
1011
- - test/models/api_client_test.rb
1012
- - test/models/membership_test.rb
1013
- - test/models/undeployed_commits_test.rb
1014
- - test/models/commit_checks_test.rb
1015
- - test/models/delivery_test.rb
1016
- - test/models/status_test.rb
1017
- - test/models/stacks_test.rb
1018
- - test/models/deploy_stats_test.rb
1019
- - test/models/deploys_test.rb
1020
- - test/models/hook_test.rb
1021
- - test/models/shipit/repository_test.rb
1022
- - test/models/shipit/wehbooks/handlers_test.rb
1023
- - test/models/shipit/check_run_test.rb
1024
- - test/models/pull_request_test.rb
1025
- - test/models/users_test.rb
1026
- - test/models/rollbacks_test.rb
1027
- - test/helpers/fixture_aliases_helper.rb
1028
- - test/helpers/queries_helper.rb
1029
- - test/helpers/api_helper.rb
1030
- - test/helpers/payloads_helper.rb
1031
1170
  - test/helpers/links_helper.rb
1171
+ - test/helpers/api_helper.rb
1032
1172
  - test/helpers/hooks_helper.rb
1173
+ - test/helpers/payloads_helper.rb
1174
+ - test/helpers/queries_helper.rb
1175
+ - test/helpers/fixture_aliases_helper.rb
1033
1176
  - test/helpers/json_helper.rb
1034
- - test/dummy/app/controllers/application_controller.rb
1035
- - test/dummy/app/helpers/application_helper.rb
1036
- - test/dummy/app/views/layouts/application.html.erb
1037
- - test/dummy/app/assets/stylesheets/application.css
1038
- - test/dummy/app/assets/javascripts/application.js
1039
- - test/dummy/bin/bundle
1040
- - test/dummy/bin/rake
1041
- - test/dummy/bin/rails
1042
- - test/dummy/bin/setup
1043
- - test/dummy/config/initializers/filter_parameter_logging.rb
1044
- - test/dummy/config/initializers/wrap_parameters.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
1045
1190
  - test/dummy/config/initializers/0_load_development_secrets.rb
1046
- - test/dummy/config/initializers/backtrace_silencers.rb
1191
+ - test/dummy/config/initializers/wrap_parameters.rb
1047
1192
  - test/dummy/config/initializers/cookies_serializer.rb
1193
+ - test/dummy/config/initializers/inflections.rb
1194
+ - test/dummy/config/initializers/filter_parameter_logging.rb
1048
1195
  - test/dummy/config/initializers/session_store.rb
1049
- - test/dummy/config/initializers/assets.rb
1050
1196
  - test/dummy/config/initializers/mime_types.rb
1051
- - test/dummy/config/initializers/inflections.rb
1052
- - test/dummy/config/secrets.yml
1197
+ - test/dummy/config/initializers/assets.rb
1198
+ - test/dummy/config/initializers/backtrace_silencers.rb
1053
1199
  - test/dummy/config/database.mysql.yml
1054
- - test/dummy/config/application.rb
1055
- - test/dummy/config/database.postgresql.yml
1056
- - test/dummy/config/database.yml
1057
1200
  - test/dummy/config/environment.rb
1058
- - test/dummy/config/boot.rb
1059
- - test/dummy/config/locales/en.yml
1060
- - test/dummy/config/environments/development.rb
1061
- - test/dummy/config/environments/test.rb
1062
- - test/dummy/config/environments/production.rb
1063
- - test/dummy/config/routes.rb
1064
- - test/dummy/public/500.html
1065
1201
  - test/dummy/public/favicon.ico
1066
- - test/dummy/public/422.html
1067
1202
  - test/dummy/public/404.html
1068
- - test/dummy/db/schema.rb
1069
- - test/dummy/db/seeds.rb
1070
- - test/dummy/Rakefile
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
1071
1215
  - test/dummy/config.ru
1072
- - test/test_command_integration.rb
1073
- - test/fixtures/payloads/push_not_master.json
1074
- - test/fixtures/payloads/check_suite_master.json
1075
- - test/fixtures/payloads/push_master.json
1076
- - test/fixtures/payloads/status_master.json
1077
- - test/fixtures/timeout
1078
- - test/fixtures/shipit/memberships.yml
1079
- - test/fixtures/shipit/check_runs.yml
1080
- - test/fixtures/shipit/repositories.yml
1081
- - test/fixtures/shipit/tasks.yml
1082
- - test/fixtures/shipit/users.yml
1083
- - test/fixtures/shipit/statuses.yml
1084
- - test/fixtures/shipit/deliveries.yml
1085
- - test/fixtures/shipit/stacks.yml
1086
- - test/fixtures/shipit/pull_requests.yml
1087
- - test/fixtures/shipit/teams.yml
1088
- - test/fixtures/shipit/github_hooks.yml
1089
- - test/fixtures/shipit/hooks.yml
1090
- - test/fixtures/shipit/release_statuses.yml
1091
- - test/fixtures/shipit/commit_deployment_statuses.yml
1092
- - test/fixtures/shipit/commits.yml
1093
- - test/fixtures/shipit/commit_deployments.yml
1094
- - test/fixtures/shipit/api_clients.yml
1095
- - test/fixtures/shipit/output_chunks.yml
1216
+ - test/dummy/db/seeds.rb
1217
+ - test/dummy/db/schema.rb
1218
+ - test/jobs/mark_deploy_healthy_job_test.rb
1219
+ - test/jobs/refresh_status_job_test.rb
1220
+ - test/jobs/update_github_last_deployed_ref_job_test.rb
1221
+ - test/jobs/refresh_github_user_job_test.rb
1222
+ - test/jobs/perform_task_job_test.rb
1223
+ - test/jobs/cache_deploy_spec_job_test.rb
1224
+ - test/jobs/fetch_deployed_revision_job_test.rb
1225
+ - test/jobs/destroy_stack_job_test.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