rspec-mysql 9 30
Passed Started
by
@groulot

Gilbert Roulot
1Running with gitlab-runner 11.0.0-rc1 (6dcccded)2 on docker-auto-scale-com 8a6210b83Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.4-golang-1.9-git-2.17-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 ...4Starting service mysql:5.7 ...5Pulling docker image mysql:5.7 ...6Using docker image sha256:0d16d0a97dd13a8ca0c0e205ce1f31f64d9d32048379eb322749442bff35f144 for mysql:5.7 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:caaeda72bf8fe795b75382088b6de0db742b512921061e838450127579ce3e1e for redis:alpine ...10Waiting for services to be up and running...11Pulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.4-golang-1.9-git-2.17-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 ...12Using docker image sha256:fe85dded4608c09093048de599b86386241171fcc0e1e6ed66bd48d927e8c932 for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.4-golang-1.9-git-2.17-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 ... 13 Running on runner-8a6210b8-project-278964-concurrent-0 via runner-8a6210b8-gsrm-1530018805-c8952b92...
00:04
14 Cloning repository for 5488_license_management_app_blacklist_backend with git depth set to 20...
00:25
15Cloning into '/builds/gitlab-org/gitlab-ee'...16Checking out 9b412872 as 5488_license_management_app_blacklist_backend...17Skipping Git submodules setup19Downloading cache.zip from http://runners-cache-4-internal.gitlab.com:444/runner/project/278964/ruby-2.4.4-debian-stretch-with-yarn-1 20Successfully extracted cache22Downloading artifacts from coordinator... ok id=77521866 responseStatus=200 OK token=tTkyAyhq23Downloading artifacts for compile-assets (77521867)...24Downloading artifacts from coordinator... ok id=77521867 responseStatus=200 OK token=wmuNn8yw25Downloading artifacts for setup-test-env (77521869)...26Downloading artifacts from coordinator... ok id=77521869 responseStatus=200 OK token=1w6WnMuM27WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 29Bundler version 1.16.230$ date31Tue Jun 26 13:38:52 UTC 201832$ source scripts/utils.sh33$ date34Tue Jun 26 13:38:52 UTC 201835$ source scripts/prepare_build.sh36The Gemfile's dependencies are satisfied37Successfully installed knapsack-1.16.0381 gem installed39Database 'gitlabhq_test' does not exist40-- enable_extension("plpgsql")41 -> 0.0014s42-- enable_extension("pg_trgm")43 -> 0.0000s44-- create_table("abuse_reports", {:force=>:cascade})45 -> 0.0166s46-- create_table("appearances", {:force=>:cascade})47 -> 0.0109s48-- create_table("application_setting_terms", {:force=>:cascade})49 -> 0.0106s50-- create_table("application_settings", {:force=>:cascade})51 -> 0.0177s52-- create_table("approvals", {:force=>:cascade})53 -> 0.0106s54-- add_index("approvals", ["merge_request_id"], {:name=>"index_approvals_on_merge_request_id", :using=>:btree})55 -> 0.0125s56-- create_table("approver_groups", {:force=>:cascade})57 -> 0.0105s58-- add_index("approver_groups", ["group_id"], {:name=>"index_approver_groups_on_group_id", :using=>:btree})59 -> 0.0086s60-- add_index("approver_groups", ["target_id", "target_type"], {:name=>"index_approver_groups_on_target_id_and_target_type", :using=>:btree})61 -> 0.0093s62-- create_table("approvers", {:force=>:cascade})63 -> 0.0110s64-- add_index("approvers", ["target_id", "target_type"], {:name=>"index_approvers_on_target_id_and_target_type", :using=>:btree})65 -> 0.0093s66-- add_index("approvers", ["user_id"], {:name=>"index_approvers_on_user_id", :using=>:btree})67 -> 0.0088s68-- create_table("audit_events", {:force=>:cascade})69 -> 0.0107s70-- add_index("audit_events", ["entity_id", "entity_type"], {:name=>"index_audit_events_on_entity_id_and_entity_type", :using=>:btree})71 -> 0.0095s72-- create_table("award_emoji", {:force=>:cascade})73 -> 0.0112s74-- add_index("award_emoji", ["awardable_type", "awardable_id"], {:name=>"index_award_emoji_on_awardable_type_and_awardable_id", :using=>:btree})75 -> 0.0098s76-- add_index("award_emoji", ["user_id", "name"], {:name=>"index_award_emoji_on_user_id_and_name", :using=>:btree})77 -> 0.0094s78-- create_table("badges", {:force=>:cascade})79 -> 0.0105s80-- add_index("badges", ["group_id"], {:name=>"index_badges_on_group_id", :using=>:btree})81 -> 0.0087s82-- add_index("badges", ["project_id"], {:name=>"index_badges_on_project_id", :using=>:btree})83 -> 0.0082s84-- create_table("board_assignees", {:force=>:cascade})85 -> 0.0106s86-- add_index("board_assignees", ["board_id", "assignee_id"], {:name=>"index_board_assignees_on_board_id_and_assignee_id", :unique=>true, :using=>:btree})87 -> 0.0090s88-- create_table("board_labels", {:force=>:cascade})89 -> 0.0105s90-- add_index("board_labels", ["board_id", "label_id"], {:name=>"index_board_labels_on_board_id_and_label_id", :unique=>true, :using=>:btree})91 -> 0.0095s92-- create_table("boards", {:force=>:cascade})93 -> 0.0102s94-- add_index("boards", ["group_id"], {:name=>"index_boards_on_group_id", :using=>:btree})95 -> 0.0086s96-- add_index("boards", ["milestone_id"], {:name=>"index_boards_on_milestone_id", :using=>:btree})97 -> 0.0079s98-- add_index("boards", ["project_id"], {:name=>"index_boards_on_project_id", :using=>:btree})99 -> 0.0079s100-- create_table("broadcast_messages", {:force=>:cascade})101 -> 0.0106s102-- add_index("broadcast_messages", ["starts_at", "ends_at", "id"], {:name=>"index_broadcast_messages_on_starts_at_and_ends_at_and_id", :using=>:btree})103 -> 0.0096s104-- create_table("chat_names", {:force=>:cascade})105 -> 0.0103s106-- add_index("chat_names", ["service_id", "team_id", "chat_id"], {:name=>"index_chat_names_on_service_id_and_team_id_and_chat_id", :unique=>true, :using=>:btree})107 -> 0.0100s108-- add_index("chat_names", ["user_id", "service_id"], {:name=>"index_chat_names_on_user_id_and_service_id", :unique=>true, :using=>:btree})109 -> 0.0088s110-- create_table("chat_teams", {:force=>:cascade})111 -> 0.0111s112-- add_index("chat_teams", ["namespace_id"], {:name=>"index_chat_teams_on_namespace_id", :unique=>true, :using=>:btree})113 -> 0.0086s114-- create_table("ci_build_trace_chunks", {:id=>:bigserial, :force=>:cascade})115 -> 0.0105s116-- add_index("ci_build_trace_chunks", ["build_id", "chunk_index"], {:name=>"index_ci_build_trace_chunks_on_build_id_and_chunk_index", :unique=>true, :using=>:btree})117 -> 0.0091s118-- create_table("ci_build_trace_section_names", {:force=>:cascade})119 -> 0.0105s120-- add_index("ci_build_trace_section_names", ["project_id", "name"], {:name=>"index_ci_build_trace_section_names_on_project_id_and_name", :unique=>true, :using=>:btree})121 -> 0.0089s122-- create_table("ci_build_trace_sections", {:force=>:cascade})123 -> 0.0106s124-- add_index("ci_build_trace_sections", ["build_id", "section_name_id"], {:name=>"index_ci_build_trace_sections_on_build_id_and_section_name_id", :unique=>true, :using=>:btree})125 -> 0.0088s126-- add_index("ci_build_trace_sections", ["project_id"], {:name=>"index_ci_build_trace_sections_on_project_id", :using=>:btree})127 -> 0.0081s128-- add_index("ci_build_trace_sections", ["section_name_id"], {:name=>"index_ci_build_trace_sections_on_section_name_id", :using=>:btree})129 -> 0.0087s130-- create_table("ci_builds", {:force=>:cascade})131 -> 0.0146s132-- add_index("ci_builds", ["artifacts_expire_at"], {:name=>"index_ci_builds_on_artifacts_expire_at", :where=>"(artifacts_file <> ''::text)", :using=>:btree})133 -> 0.0096s134-- add_index("ci_builds", ["auto_canceled_by_id"], {:name=>"index_ci_builds_on_auto_canceled_by_id", :using=>:btree})135 -> 0.0092s136-- add_index("ci_builds", ["commit_id", "stage_idx", "created_at"], {:name=>"index_ci_builds_on_commit_id_and_stage_idx_and_created_at", :using=>:btree})137 -> 0.0132s138-- add_index("ci_builds", ["commit_id", "status", "type"], {:name=>"index_ci_builds_on_commit_id_and_status_and_type", :using=>:btree})139 -> 0.0145s140-- add_index("ci_builds", ["commit_id", "type", "name", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_name_and_ref", :using=>:btree})141 -> 0.0138s142-- add_index("ci_builds", ["commit_id", "type", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_ref", :using=>:btree})143 -> 0.0118s144-- add_index("ci_builds", ["project_id", "id"], {:name=>"index_ci_builds_on_project_id_and_id", :using=>:btree})145 -> 0.0114s146-- add_index("ci_builds", ["protected"], {:name=>"index_ci_builds_on_protected", :using=>:btree})147 -> 0.0101s148-- add_index("ci_builds", ["runner_id"], {:name=>"index_ci_builds_on_runner_id", :using=>:btree})149 -> 0.0106s150-- add_index("ci_builds", ["stage_id", "stage_idx"], {:name=>"tmp_build_stage_position_index", :where=>"(stage_idx IS NOT NULL)", :using=>:btree})151 -> 0.0116s152-- add_index("ci_builds", ["stage_id"], {:name=>"index_ci_builds_on_stage_id", :using=>:btree})153 -> 0.0098s154-- add_index("ci_builds", ["status", "type", "runner_id"], {:name=>"index_ci_builds_on_status_and_type_and_runner_id", :using=>:btree})155 -> 0.0120s156-- add_index("ci_builds", ["status"], {:name=>"index_ci_builds_on_status", :using=>:btree})157 -> 0.0104s158-- add_index("ci_builds", ["token"], {:name=>"index_ci_builds_on_token", :unique=>true, :using=>:btree})159 -> 0.0098s160-- add_index("ci_builds", ["updated_at"], {:name=>"index_ci_builds_on_updated_at", :using=>:btree})161 -> 0.0098s162-- add_index("ci_builds", ["user_id"], {:name=>"index_ci_builds_on_user_id", :using=>:btree})163 -> 0.0099s164-- create_table("ci_builds_metadata", {:force=>:cascade})165 -> 0.0114s166-- add_index("ci_builds_metadata", ["build_id"], {:name=>"index_ci_builds_metadata_on_build_id", :unique=>true, :using=>:btree})167 -> 0.0095s168-- add_index("ci_builds_metadata", ["project_id"], {:name=>"index_ci_builds_metadata_on_project_id", :using=>:btree})169 -> 0.0090s170-- create_table("ci_group_variables", {:force=>:cascade})171 -> 0.0120s172-- add_index("ci_group_variables", ["group_id", "key"], {:name=>"index_ci_group_variables_on_group_id_and_key", :unique=>true, :using=>:btree})173 -> 0.0100s174-- create_table("ci_job_artifacts", {:force=>:cascade})175 -> 0.0111s176-- add_index("ci_job_artifacts", ["expire_at", "job_id"], {:name=>"index_ci_job_artifacts_on_expire_at_and_job_id", :using=>:btree})177 -> 0.0095s178-- add_index("ci_job_artifacts", ["file_store"], {:name=>"index_ci_job_artifacts_on_file_store", :using=>:btree})179 -> 0.0087s180-- add_index("ci_job_artifacts", ["job_id", "file_type"], {:name=>"index_ci_job_artifacts_on_job_id_and_file_type", :unique=>true, :using=>:btree})181 -> 0.0096s182-- add_index("ci_job_artifacts", ["project_id"], {:name=>"index_ci_job_artifacts_on_project_id", :using=>:btree})183 -> 0.0115s184-- create_table("ci_pipeline_chat_data", {:id=>:bigserial, :force=>:cascade})185 -> 0.0117s186-- add_index("ci_pipeline_chat_data", ["pipeline_id"], {:name=>"index_ci_pipeline_chat_data_on_pipeline_id", :unique=>true, :using=>:btree})187 -> 0.0092s188-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})189 -> 0.0114s190-- add_index("ci_pipeline_schedule_variables", ["pipeline_schedule_id", "key"], {:name=>"index_ci_pipeline_schedule_variables_on_schedule_id_and_key", :unique=>true, :using=>:btree})191 -> 0.0092s192-- create_table("ci_pipeline_schedules", {:force=>:cascade})193 -> 0.0107s194-- add_index("ci_pipeline_schedules", ["next_run_at", "active"], {:name=>"index_ci_pipeline_schedules_on_next_run_at_and_active", :using=>:btree})195 -> 0.0109s196-- add_index("ci_pipeline_schedules", ["project_id"], {:name=>"index_ci_pipeline_schedules_on_project_id", :using=>:btree})197 -> 0.0088s198-- create_table("ci_pipeline_variables", {:force=>:cascade})199 -> 0.0110s200-- add_index("ci_pipeline_variables", ["pipeline_id", "key"], {:name=>"index_ci_pipeline_variables_on_pipeline_id_and_key", :unique=>true, :using=>:btree})201 -> 0.0105s202-- create_table("ci_pipelines", {:force=>:cascade})203 -> 0.0114s204-- add_index("ci_pipelines", ["auto_canceled_by_id"], {:name=>"index_ci_pipelines_on_auto_canceled_by_id", :using=>:btree})205 -> 0.0089s206-- add_index("ci_pipelines", ["pipeline_schedule_id"], {:name=>"index_ci_pipelines_on_pipeline_schedule_id", :using=>:btree})207 -> 0.0088s208-- add_index("ci_pipelines", ["project_id", "iid"], {:name=>"index_ci_pipelines_on_project_id_and_iid", :unique=>true, :where=>"(iid IS NOT NULL)", :using=>:btree})209 -> 0.0095s210-- add_index("ci_pipelines", ["project_id", "ref", "status", "id"], {:name=>"index_ci_pipelines_on_project_id_and_ref_and_status_and_id", :using=>:btree})211 -> 0.0114s212-- add_index("ci_pipelines", ["project_id", "sha"], {:name=>"index_ci_pipelines_on_project_id_and_sha", :using=>:btree})213 -> 0.0099s214-- add_index("ci_pipelines", ["project_id"], {:name=>"index_ci_pipelines_on_project_id", :using=>:btree})215 -> 0.0092s216-- add_index("ci_pipelines", ["status"], {:name=>"index_ci_pipelines_on_status", :using=>:btree})217 -> 0.0093s218-- add_index("ci_pipelines", ["user_id"], {:name=>"index_ci_pipelines_on_user_id", :using=>:btree})219 -> 0.0092s220-- create_table("ci_runner_namespaces", {:force=>:cascade})221 -> 0.0112s222-- add_index("ci_runner_namespaces", ["namespace_id"], {:name=>"index_ci_runner_namespaces_on_namespace_id", :using=>:btree})223 -> 0.0089s224-- add_index("ci_runner_namespaces", ["runner_id", "namespace_id"], {:name=>"index_ci_runner_namespaces_on_runner_id_and_namespace_id", :unique=>true, :using=>:btree})225 -> 0.0089s226-- create_table("ci_runner_projects", {:force=>:cascade})227 -> 0.0107s228-- add_index("ci_runner_projects", ["project_id"], {:name=>"index_ci_runner_projects_on_project_id", :using=>:btree})229 -> 0.0082s230-- add_index("ci_runner_projects", ["runner_id"], {:name=>"index_ci_runner_projects_on_runner_id", :using=>:btree})231 -> 0.0082s232-- create_table("ci_runners", {:force=>:cascade})233 -> 0.0114s234-- add_index("ci_runners", ["contacted_at"], {:name=>"index_ci_runners_on_contacted_at", :using=>:btree})235 -> 0.0092s236-- add_index("ci_runners", ["is_shared"], {:name=>"index_ci_runners_on_is_shared", :using=>:btree})237 -> 0.0081s238-- add_index("ci_runners", ["locked"], {:name=>"index_ci_runners_on_locked", :using=>:btree})239 -> 0.0084s240-- add_index("ci_runners", ["runner_type"], {:name=>"index_ci_runners_on_runner_type", :using=>:btree})241 -> 0.0090s242-- add_index("ci_runners", ["token"], {:name=>"index_ci_runners_on_token", :using=>:btree})243 -> 0.0086s244-- create_table("ci_sources_pipelines", {:force=>:cascade})245 -> 0.0103s246-- add_index("ci_sources_pipelines", ["pipeline_id"], {:name=>"index_ci_sources_pipelines_on_pipeline_id", :using=>:btree})247 -> 0.0104s248-- add_index("ci_sources_pipelines", ["project_id"], {:name=>"index_ci_sources_pipelines_on_project_id", :using=>:btree})249 -> 0.0081s250-- add_index("ci_sources_pipelines", ["source_job_id"], {:name=>"index_ci_sources_pipelines_on_source_job_id", :using=>:btree})251 -> 0.0099s252-- add_index("ci_sources_pipelines", ["source_pipeline_id"], {:name=>"index_ci_sources_pipelines_on_source_pipeline_id", :using=>:btree})253 -> 0.0086s254-- add_index("ci_sources_pipelines", ["source_project_id"], {:name=>"index_ci_sources_pipelines_on_source_project_id", :using=>:btree})255 -> 0.0081s256-- create_table("ci_stages", {:force=>:cascade})257 -> 0.0099s258-- add_index("ci_stages", ["pipeline_id", "name"], {:name=>"index_ci_stages_on_pipeline_id_and_name", :unique=>true, :using=>:btree})259 -> 0.0094s260-- add_index("ci_stages", ["pipeline_id", "position"], {:name=>"index_ci_stages_on_pipeline_id_and_position", :using=>:btree})261 -> 0.0090s262-- add_index("ci_stages", ["pipeline_id"], {:name=>"index_ci_stages_on_pipeline_id", :using=>:btree})263 -> 0.0081s264-- add_index("ci_stages", ["project_id"], {:name=>"index_ci_stages_on_project_id", :using=>:btree})265 -> 0.0085s266-- create_table("ci_trigger_requests", {:force=>:cascade})267 -> 0.0104s268-- add_index("ci_trigger_requests", ["commit_id"], {:name=>"index_ci_trigger_requests_on_commit_id", :using=>:btree})269 -> 0.0080s270-- create_table("ci_triggers", {:force=>:cascade})271 -> 0.0099s272-- add_index("ci_triggers", ["project_id"], {:name=>"index_ci_triggers_on_project_id", :using=>:btree})273 -> 0.0079s274-- create_table("ci_variables", {:force=>:cascade})275 -> 0.0105s276-- add_index("ci_variables", ["project_id", "key", "environment_scope"], {:name=>"index_ci_variables_on_project_id_and_key_and_environment_scope", :unique=>true, :using=>:btree})277 -> 0.0102s278-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})279 -> 0.0108s280-- add_index("cluster_platforms_kubernetes", ["cluster_id"], {:name=>"index_cluster_platforms_kubernetes_on_cluster_id", :unique=>true, :using=>:btree})281 -> 0.0088s282-- create_table("cluster_projects", {:force=>:cascade})283 -> 0.0104s284-- add_index("cluster_projects", ["cluster_id"], {:name=>"index_cluster_projects_on_cluster_id", :using=>:btree})285 -> 0.0082s286-- add_index("cluster_projects", ["project_id"], {:name=>"index_cluster_projects_on_project_id", :using=>:btree})287 -> 0.0081s288-- create_table("cluster_providers_gcp", {:force=>:cascade})289 -> 0.0111s290-- add_index("cluster_providers_gcp", ["cluster_id"], {:name=>"index_cluster_providers_gcp_on_cluster_id", :unique=>true, :using=>:btree})291 -> 0.0084s292-- create_table("clusters", {:force=>:cascade})293 -> 0.0107s294-- add_index("clusters", ["enabled"], {:name=>"index_clusters_on_enabled", :using=>:btree})295 -> 0.0095s296-- add_index("clusters", ["user_id"], {:name=>"index_clusters_on_user_id", :using=>:btree})297 -> 0.0120s298-- create_table("clusters_applications_helm", {:force=>:cascade})299 -> 0.0106s300-- create_table("clusters_applications_ingress", {:force=>:cascade})301 -> 0.0105s302-- create_table("clusters_applications_jupyter", {:force=>:cascade})303 -> 0.0100s304-- create_table("clusters_applications_prometheus", {:force=>:cascade})305 -> 0.0112s306-- create_table("clusters_applications_runners", {:force=>:cascade})307 -> 0.0107s308-- add_index("clusters_applications_runners", ["cluster_id"], {:name=>"index_clusters_applications_runners_on_cluster_id", :unique=>true, :using=>:btree})309 -> 0.0086s310-- add_index("clusters_applications_runners", ["runner_id"], {:name=>"index_clusters_applications_runners_on_runner_id", :using=>:btree})311 -> 0.0096s312-- create_table("container_repositories", {:force=>:cascade})313 -> 0.0102s314-- add_index("container_repositories", ["project_id", "name"], {:name=>"index_container_repositories_on_project_id_and_name", :unique=>true, :using=>:btree})315 -> 0.0096s316-- add_index("container_repositories", ["project_id"], {:name=>"index_container_repositories_on_project_id", :using=>:btree})317 -> 0.0099s318-- create_table("conversational_development_index_metrics", {:force=>:cascade})319 -> 0.0129s320-- create_table("deploy_keys_projects", {:force=>:cascade})321 -> 0.0106s322-- add_index("deploy_keys_projects", ["project_id"], {:name=>"index_deploy_keys_projects_on_project_id", :using=>:btree})323 -> 0.0102s324-- create_table("deploy_tokens", {:force=>:cascade})325 -> 0.0142s326-- add_index("deploy_tokens", ["token", "expires_at", "id"], {:name=>"index_deploy_tokens_on_token_and_expires_at_and_id", :where=>"(revoked IS FALSE)", :using=>:btree})327 -> 0.0131s328-- add_index("deploy_tokens", ["token"], {:name=>"index_deploy_tokens_on_token", :unique=>true, :using=>:btree})329 -> 0.0084s330-- create_table("deployments", {:force=>:cascade})331 -> 0.0107s332-- add_index("deployments", ["created_at"], {:name=>"index_deployments_on_created_at", :using=>:btree})333 -> 0.0089s334-- add_index("deployments", ["environment_id", "id"], {:name=>"index_deployments_on_environment_id_and_id", :using=>:btree})335 -> 0.0096s336-- add_index("deployments", ["environment_id", "iid", "project_id"], {:name=>"index_deployments_on_environment_id_and_iid_and_project_id", :using=>:btree})337 -> 0.0105s338-- add_index("deployments", ["project_id", "iid"], {:name=>"index_deployments_on_project_id_and_iid", :unique=>true, :using=>:btree})339 -> 0.0095s340-- create_table("emails", {:force=>:cascade})341 -> 0.0115s342-- add_index("emails", ["confirmation_token"], {:name=>"index_emails_on_confirmation_token", :unique=>true, :using=>:btree})343 -> 0.0089s344-- add_index("emails", ["email"], {:name=>"index_emails_on_email", :unique=>true, :using=>:btree})345 -> 0.0095s346-- add_index("emails", ["user_id"], {:name=>"index_emails_on_user_id", :using=>:btree})347 -> 0.0080s348-- create_table("environments", {:force=>:cascade})349 -> 0.0107s350-- add_index("environments", ["project_id", "name"], {:name=>"index_environments_on_project_id_and_name", :unique=>true, :using=>:btree})351 -> 0.0090s352-- add_index("environments", ["project_id", "slug"], {:name=>"index_environments_on_project_id_and_slug", :unique=>true, :using=>:btree})353 -> 0.0089s354-- create_table("epic_issues", {:force=>:cascade})355 -> 0.0105s356-- add_index("epic_issues", ["epic_id"], {:name=>"index_epic_issues_on_epic_id", :using=>:btree})357 -> 0.0094s358-- add_index("epic_issues", ["issue_id"], {:name=>"index_epic_issues_on_issue_id", :unique=>true, :using=>:btree})359 -> 0.0082s360-- create_table("epic_metrics", {:force=>:cascade})361 -> 0.0101s362-- add_index("epic_metrics", ["epic_id"], {:name=>"index_epic_metrics", :using=>:btree})363 -> 0.0081s364-- create_table("epics", {:force=>:cascade})365 -> 0.0109s366-- add_index("epics", ["assignee_id"], {:name=>"index_epics_on_assignee_id", :using=>:btree})367 -> 0.0101s368-- add_index("epics", ["author_id"], {:name=>"index_epics_on_author_id", :using=>:btree})369 -> 0.0081s370-- add_index("epics", ["end_date"], {:name=>"index_epics_on_end_date", :using=>:btree})371 -> 0.0081s372-- add_index("epics", ["group_id"], {:name=>"index_epics_on_group_id", :using=>:btree})373 -> 0.0089s374-- add_index("epics", ["iid"], {:name=>"index_epics_on_iid", :using=>:btree})375 -> 0.0084s376-- add_index("epics", ["milestone_id"], {:name=>"index_milestone", :using=>:btree})377 -> 0.0087s378-- add_index("epics", ["start_date"], {:name=>"index_epics_on_start_date", :using=>:btree})379 -> 0.0080s380-- create_table("events", {:force=>:cascade})381 -> 0.0108s382-- add_index("events", ["action"], {:name=>"index_events_on_action", :using=>:btree})383 -> 0.0091s384-- add_index("events", ["author_id", "project_id"], {:name=>"index_events_on_author_id_and_project_id", :using=>:btree})385 -> 0.0110s386-- add_index("events", ["project_id", "id"], {:name=>"index_events_on_project_id_and_id", :using=>:btree})387 -> 0.0092s388-- add_index("events", ["target_type", "target_id"], {:name=>"index_events_on_target_type_and_target_id", :using=>:btree})389 -> 0.0090s390-- create_table("feature_gates", {:force=>:cascade})391 -> 0.0108s392-- add_index("feature_gates", ["feature_key", "key", "value"], {:name=>"index_feature_gates_on_feature_key_and_key_and_value", :unique=>true, :using=>:btree})393 -> 0.0100s394-- create_table("features", {:force=>:cascade})395 -> 0.0105s396-- add_index("features", ["key"], {:name=>"index_features_on_key", :unique=>true, :using=>:btree})397 -> 0.0093s398-- create_table("fork_network_members", {:force=>:cascade})399 -> 0.0105s400-- add_index("fork_network_members", ["fork_network_id"], {:name=>"index_fork_network_members_on_fork_network_id", :using=>:btree})401 -> 0.0091s402-- add_index("fork_network_members", ["project_id"], {:name=>"index_fork_network_members_on_project_id", :unique=>true, :using=>:btree})403 -> 0.0089s404-- create_table("fork_networks", {:force=>:cascade})405 -> 0.0107s406-- add_index("fork_networks", ["root_project_id"], {:name=>"index_fork_networks_on_root_project_id", :unique=>true, :using=>:btree})407 -> 0.0096s408-- create_table("forked_project_links", {:force=>:cascade})409 -> 0.0105s410-- add_index("forked_project_links", ["forked_to_project_id"], {:name=>"index_forked_project_links_on_forked_to_project_id", :unique=>true, :using=>:btree})411 -> 0.0082s412-- create_table("gcp_clusters", {:force=>:cascade})413 -> 0.0108s414-- add_index("gcp_clusters", ["project_id"], {:name=>"index_gcp_clusters_on_project_id", :unique=>true, :using=>:btree})415 -> 0.0089s416-- create_table("geo_event_log", {:id=>:bigserial, :force=>:cascade})417 -> 0.0112s418-- add_index("geo_event_log", ["repositories_changed_event_id"], {:name=>"index_geo_event_log_on_repositories_changed_event_id", :using=>:btree})419 -> 0.0088s420-- add_index("geo_event_log", ["repository_created_event_id"], {:name=>"index_geo_event_log_on_repository_created_event_id", :using=>:btree})421 -> 0.0091s422-- add_index("geo_event_log", ["repository_deleted_event_id"], {:name=>"index_geo_event_log_on_repository_deleted_event_id", :using=>:btree})423 -> 0.0098s424-- add_index("geo_event_log", ["repository_renamed_event_id"], {:name=>"index_geo_event_log_on_repository_renamed_event_id", :using=>:btree})425 -> 0.0089s426-- add_index("geo_event_log", ["repository_updated_event_id"], {:name=>"index_geo_event_log_on_repository_updated_event_id", :using=>:btree})427 -> 0.0092s428-- create_table("geo_hashed_storage_attachments_events", {:id=>:bigserial, :force=>:cascade})429 -> 0.0117s430-- add_index("geo_hashed_storage_attachments_events", ["project_id"], {:name=>"index_geo_hashed_storage_attachments_events_on_project_id", :using=>:btree})431 -> 0.0085s432-- create_table("geo_hashed_storage_migrated_events", {:id=>:bigserial, :force=>:cascade})433 -> 0.0110s434-- add_index("geo_hashed_storage_migrated_events", ["project_id"], {:name=>"index_geo_hashed_storage_migrated_events_on_project_id", :using=>:btree})435 -> 0.0086s436-- create_table("geo_job_artifact_deleted_events", {:id=>:bigserial, :force=>:cascade})437 -> 0.0106s438-- add_index("geo_job_artifact_deleted_events", ["job_artifact_id"], {:name=>"index_geo_job_artifact_deleted_events_on_job_artifact_id", :using=>:btree})439 -> 0.0085s440-- create_table("geo_lfs_object_deleted_events", {:id=>:bigserial, :force=>:cascade})441 -> 0.0107s442-- add_index("geo_lfs_object_deleted_events", ["lfs_object_id"], {:name=>"index_geo_lfs_object_deleted_events_on_lfs_object_id", :using=>:btree})443 -> 0.0087s444-- create_table("geo_node_namespace_links", {:force=>:cascade})445 -> 0.0108s446-- add_index("geo_node_namespace_links", ["geo_node_id", "namespace_id"], {:name=>"index_geo_node_namespace_links_on_geo_node_id_and_namespace_id", :unique=>true, :using=>:btree})447 -> 0.0111s448-- add_index("geo_node_namespace_links", ["geo_node_id"], {:name=>"index_geo_node_namespace_links_on_geo_node_id", :using=>:btree})449 -> 0.0102s450-- create_table("geo_node_statuses", {:force=>:cascade})451 -> 0.0116s452-- add_index("geo_node_statuses", ["geo_node_id"], {:name=>"index_geo_node_statuses_on_geo_node_id", :unique=>true, :using=>:btree})453 -> 0.0119s454-- create_table("geo_nodes", {:force=>:cascade})455 -> 0.0115s456-- add_index("geo_nodes", ["access_key"], {:name=>"index_geo_nodes_on_access_key", :using=>:btree})457 -> 0.0090s458-- add_index("geo_nodes", ["primary"], {:name=>"index_geo_nodes_on_primary", :using=>:btree})459 -> 0.0088s460-- add_index("geo_nodes", ["url"], {:name=>"index_geo_nodes_on_url", :unique=>true, :using=>:btree})461 -> 0.0086s462-- create_table("geo_repositories_changed_events", {:id=>:bigserial, :force=>:cascade})463 -> 0.0113s464-- add_index("geo_repositories_changed_events", ["geo_node_id"], {:name=>"index_geo_repositories_changed_events_on_geo_node_id", :using=>:btree})465 -> 0.0104s466-- create_table("geo_repository_created_events", {:id=>:bigserial, :force=>:cascade})467 -> 0.0110s468-- add_index("geo_repository_created_events", ["project_id"], {:name=>"index_geo_repository_created_events_on_project_id", :using=>:btree})469 -> 0.0086s470-- create_table("geo_repository_deleted_events", {:id=>:bigserial, :force=>:cascade})471 -> 0.0113s472-- add_index("geo_repository_deleted_events", ["project_id"], {:name=>"index_geo_repository_deleted_events_on_project_id", :using=>:btree})473 -> 0.0087s474-- create_table("geo_repository_renamed_events", {:id=>:bigserial, :force=>:cascade})475 -> 0.0191s476-- add_index("geo_repository_renamed_events", ["project_id"], {:name=>"index_geo_repository_renamed_events_on_project_id", :using=>:btree})477 -> 0.0089s478-- create_table("geo_repository_updated_events", {:id=>:bigserial, :force=>:cascade})479 -> 0.0112s480-- add_index("geo_repository_updated_events", ["project_id"], {:name=>"index_geo_repository_updated_events_on_project_id", :using=>:btree})481 -> 0.0096s482-- add_index("geo_repository_updated_events", ["source"], {:name=>"index_geo_repository_updated_events_on_source", :using=>:btree})483 -> 0.0085s484-- create_table("geo_upload_deleted_events", {:id=>:bigserial, :force=>:cascade})485 -> 0.0112s486-- add_index("geo_upload_deleted_events", ["upload_id"], {:name=>"index_geo_upload_deleted_events_on_upload_id", :using=>:btree})487 -> 0.0088s488-- create_table("gpg_key_subkeys", {:force=>:cascade})489 -> 0.0115s490-- add_index("gpg_key_subkeys", ["fingerprint"], {:name=>"index_gpg_key_subkeys_on_fingerprint", :unique=>true, :using=>:btree})491 -> 0.0092s492-- add_index("gpg_key_subkeys", ["gpg_key_id"], {:name=>"index_gpg_key_subkeys_on_gpg_key_id", :using=>:btree})493 -> 0.0095s494-- add_index("gpg_key_subkeys", ["keyid"], {:name=>"index_gpg_key_subkeys_on_keyid", :unique=>true, :using=>:btree})495 -> 0.0094s496-- create_table("gpg_keys", {:force=>:cascade})497 -> 0.0114s498-- add_index("gpg_keys", ["fingerprint"], {:name=>"index_gpg_keys_on_fingerprint", :unique=>true, :using=>:btree})499 -> 0.0098s500-- add_index("gpg_keys", ["primary_keyid"], {:name=>"index_gpg_keys_on_primary_keyid", :unique=>true, :using=>:btree})501 -> 0.0093s502-- add_index("gpg_keys", ["user_id"], {:name=>"index_gpg_keys_on_user_id", :using=>:btree})503 -> 0.0089s504-- create_table("gpg_signatures", {:force=>:cascade})505 -> 0.0120s506-- add_index("gpg_signatures", ["commit_sha"], {:name=>"index_gpg_signatures_on_commit_sha", :unique=>true, :using=>:btree})507 -> 0.0095s508-- add_index("gpg_signatures", ["gpg_key_id"], {:name=>"index_gpg_signatures_on_gpg_key_id", :using=>:btree})509 -> 0.0090s510-- add_index("gpg_signatures", ["gpg_key_primary_keyid"], {:name=>"index_gpg_signatures_on_gpg_key_primary_keyid", :using=>:btree})511 -> 0.0088s512-- add_index("gpg_signatures", ["gpg_key_subkey_id"], {:name=>"index_gpg_signatures_on_gpg_key_subkey_id", :using=>:btree})513 -> 0.0089s514-- add_index("gpg_signatures", ["project_id"], {:name=>"index_gpg_signatures_on_project_id", :using=>:btree})515 -> 0.0086s516-- create_table("group_custom_attributes", {:force=>:cascade})517 -> 0.0122s518-- add_index("group_custom_attributes", ["group_id", "key"], {:name=>"index_group_custom_attributes_on_group_id_and_key", :unique=>true, :using=>:btree})519 -> 0.0089s520-- add_index("group_custom_attributes", ["key", "value"], {:name=>"index_group_custom_attributes_on_key_and_value", :using=>:btree})521 -> 0.0087s522-- create_table("historical_data", {:force=>:cascade})523 -> 0.0107s524-- create_table("identities", {:force=>:cascade})525 -> 0.0100s526-- add_index("identities", ["saml_provider_id"], {:name=>"index_identities_on_saml_provider_id", :where=>"(saml_provider_id IS NOT NULL)", :using=>:btree})527 -> 0.0085s528-- add_index("identities", ["user_id"], {:name=>"index_identities_on_user_id", :using=>:btree})529 -> 0.0085s530-- create_table("index_statuses", {:force=>:cascade})531 -> 0.0142s532-- add_index("index_statuses", ["project_id"], {:name=>"index_index_statuses_on_project_id", :unique=>true, :using=>:btree})533 -> 0.0085s534-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})535 -> 0.0105s536-- add_index("internal_ids", ["usage", "namespace_id"], {:name=>"index_internal_ids_on_usage_and_namespace_id", :unique=>true, :where=>"(namespace_id IS NOT NULL)", :using=>:btree})537 -> 0.0088s538-- add_index("internal_ids", ["usage", "project_id"], {:name=>"index_internal_ids_on_usage_and_project_id", :unique=>true, :where=>"(project_id IS NOT NULL)", :using=>:btree})539 -> 0.0084s540-- create_table("issue_assignees", {:id=>false, :force=>:cascade})541 -> 0.0097s542-- add_index("issue_assignees", ["issue_id", "user_id"], {:name=>"index_issue_assignees_on_issue_id_and_user_id", :unique=>true, :using=>:btree})543 -> 0.0174s544-- add_index("issue_assignees", ["user_id"], {:name=>"index_issue_assignees_on_user_id", :using=>:btree})545 -> 0.0100s546-- create_table("issue_links", {:force=>:cascade})547 -> 0.0101s548-- add_index("issue_links", ["source_id", "target_id"], {:name=>"index_issue_links_on_source_id_and_target_id", :unique=>true, :using=>:btree})549 -> 0.0086s550-- add_index("issue_links", ["source_id"], {:name=>"index_issue_links_on_source_id", :using=>:btree})551 -> 0.0082s552-- add_index("issue_links", ["target_id"], {:name=>"index_issue_links_on_target_id", :using=>:btree})553 -> 0.0080s554-- create_table("issue_metrics", {:force=>:cascade})555 -> 0.0110s556-- add_index("issue_metrics", ["issue_id"], {:name=>"index_issue_metrics", :using=>:btree})557 -> 0.0081s558-- create_table("issues", {:force=>:cascade})559 -> 0.0106s560-- add_index("issues", ["author_id"], {:name=>"index_issues_on_author_id", :using=>:btree})561 -> 0.0098s562-- add_index("issues", ["confidential"], {:name=>"index_issues_on_confidential", :using=>:btree})563 -> 0.0085s564-- add_index("issues", ["description"], {:name=>"index_issues_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})565 -> 0.0014s566-- add_index("issues", ["milestone_id"], {:name=>"index_issues_on_milestone_id", :using=>:btree})567 -> 0.0092s568-- add_index("issues", ["moved_to_id"], {:name=>"index_issues_on_moved_to_id", :where=>"(moved_to_id IS NOT NULL)", :using=>:btree})569 -> 0.0085s570-- add_index("issues", ["project_id", "created_at", "id", "state"], {:name=>"index_issues_on_project_id_and_created_at_and_id_and_state", :using=>:btree})571 -> 0.0124s572-- add_index("issues", ["project_id", "due_date", "id", "state"], {:name=>"idx_issues_on_project_id_and_due_date_and_id_and_state_partial", :where=>"(due_date IS NOT NULL)", :using=>:btree})573 -> 0.0127s574-- add_index("issues", ["project_id", "iid"], {:name=>"index_issues_on_project_id_and_iid", :unique=>true, :using=>:btree})575 -> 0.0099s576-- add_index("issues", ["project_id", "updated_at", "id", "state"], {:name=>"index_issues_on_project_id_and_updated_at_and_id_and_state", :using=>:btree})577 -> 0.0121s578-- add_index("issues", ["relative_position"], {:name=>"index_issues_on_relative_position", :using=>:btree})579 -> 0.0091s580-- add_index("issues", ["state"], {:name=>"index_issues_on_state", :using=>:btree})581 -> 0.0270s582-- add_index("issues", ["title"], {:name=>"index_issues_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})583 -> 0.0017s584-- add_index("issues", ["updated_at"], {:name=>"index_issues_on_updated_at", :using=>:btree})585 -> 0.0177s586-- add_index("issues", ["updated_by_id"], {:name=>"index_issues_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})587 -> 0.0148s588-- create_table("keys", {:force=>:cascade})589 -> 0.0143s590-- add_index("keys", ["fingerprint"], {:name=>"index_keys_on_fingerprint", :unique=>true, :using=>:btree})591 -> 0.0123s592-- add_index("keys", ["user_id"], {:name=>"index_keys_on_user_id", :using=>:btree})593 -> 0.0188s594-- create_table("label_links", {:force=>:cascade})595 -> 0.0143s596-- add_index("label_links", ["label_id"], {:name=>"index_label_links_on_label_id", :using=>:btree})597 -> 0.0108s598-- add_index("label_links", ["target_id", "target_type"], {:name=>"index_label_links_on_target_id_and_target_type", :using=>:btree})599 -> 0.0140s600-- create_table("label_priorities", {:force=>:cascade})601 -> 0.0136s602-- add_index("label_priorities", ["priority"], {:name=>"index_label_priorities_on_priority", :using=>:btree})603 -> 0.0109s604-- add_index("label_priorities", ["project_id", "label_id"], {:name=>"index_label_priorities_on_project_id_and_label_id", :unique=>true, :using=>:btree})605 -> 0.0090s606-- create_table("labels", {:force=>:cascade})607 -> 0.0106s608-- add_index("labels", ["group_id", "project_id", "title"], {:name=>"index_labels_on_group_id_and_project_id_and_title", :unique=>true, :using=>:btree})609 -> 0.0105s610-- add_index("labels", ["project_id"], {:name=>"index_labels_on_project_id", :using=>:btree})611 -> 0.0086s612-- add_index("labels", ["template"], {:name=>"index_labels_on_template", :where=>"template", :using=>:btree})613 -> 0.0093s614-- add_index("labels", ["title"], {:name=>"index_labels_on_title", :using=>:btree})615 -> 0.0105s616-- add_index("labels", ["type", "project_id"], {:name=>"index_labels_on_type_and_project_id", :using=>:btree})617 -> 0.0098s618-- create_table("ldap_group_links", {:force=>:cascade})619 -> 0.0106s620-- create_table("lfs_file_locks", {:force=>:cascade})621 -> 0.0111s622-- add_index("lfs_file_locks", ["project_id", "path"], {:name=>"index_lfs_file_locks_on_project_id_and_path", :unique=>true, :using=>:btree})623 -> 0.0095s624-- add_index("lfs_file_locks", ["user_id"], {:name=>"index_lfs_file_locks_on_user_id", :using=>:btree})625 -> 0.0081s626-- create_table("lfs_objects", {:force=>:cascade})627 -> 0.0110s628-- add_index("lfs_objects", ["oid"], {:name=>"index_lfs_objects_on_oid", :unique=>true, :using=>:btree})629 -> 0.0085s630-- create_table("lfs_objects_projects", {:force=>:cascade})631 -> 0.0109s632-- add_index("lfs_objects_projects", ["project_id"], {:name=>"index_lfs_objects_projects_on_project_id", :using=>:btree})633 -> 0.0086s634-- create_table("licenses", {:force=>:cascade})635 -> 0.0119s636-- create_table("lists", {:force=>:cascade})637 -> 0.0108s638-- add_index("lists", ["board_id", "label_id"], {:name=>"index_lists_on_board_id_and_label_id", :unique=>true, :using=>:btree})639 -> 0.0095s640-- add_index("lists", ["label_id"], {:name=>"index_lists_on_label_id", :using=>:btree})641 -> 0.0084s642-- add_index("lists", ["user_id"], {:name=>"index_lists_on_user_id", :using=>:btree})643 -> 0.0089s644-- create_table("managed_licenses", {:force=>:cascade})645 -> 0.0139s646-- add_index("managed_licenses", ["project_id", "name"], {:name=>"index_managed_licenses_on_project_id_and_name", :unique=>true, :using=>:btree})647 -> 0.0094s648-- add_index("managed_licenses", ["project_id"], {:name=>"index_managed_licenses_on_project_id", :using=>:btree})649 -> 0.0087s650-- create_table("members", {:force=>:cascade})651 -> 0.0113s652-- add_index("members", ["access_level"], {:name=>"index_members_on_access_level", :using=>:btree})653 -> 0.0089s654-- add_index("members", ["invite_token"], {:name=>"index_members_on_invite_token", :unique=>true, :using=>:btree})655 -> 0.0096s656-- add_index("members", ["requested_at"], {:name=>"index_members_on_requested_at", :using=>:btree})657 -> 0.0091s658-- add_index("members", ["source_id", "source_type"], {:name=>"index_members_on_source_id_and_source_type", :using=>:btree})659 -> 0.0101s660-- add_index("members", ["user_id"], {:name=>"index_members_on_user_id", :using=>:btree})661 -> 0.0097s662-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})663 -> 0.0112s664-- add_index("merge_request_diff_commits", ["merge_request_diff_id", "relative_order"], {:name=>"index_merge_request_diff_commits_on_mr_diff_id_and_order", :unique=>true, :using=>:btree})665 -> 0.0193s666-- add_index("merge_request_diff_commits", ["sha"], {:name=>"index_merge_request_diff_commits_on_sha", :using=>:btree})667 -> 0.0104s668-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})669 -> 0.0110s670-- add_index("merge_request_diff_files", ["merge_request_diff_id", "relative_order"], {:name=>"index_merge_request_diff_files_on_mr_diff_id_and_order", :unique=>true, :using=>:btree})671 -> 0.0164s672-- create_table("merge_request_diffs", {:force=>:cascade})673 -> 0.0115s674-- add_index("merge_request_diffs", ["merge_request_id", "id"], {:name=>"index_merge_request_diffs_on_merge_request_id_and_id", :using=>:btree})675 -> 0.0096s676-- create_table("merge_request_metrics", {:force=>:cascade})677 -> 0.0127s678-- add_index("merge_request_metrics", ["first_deployed_to_production_at"], {:name=>"index_merge_request_metrics_on_first_deployed_to_production_at", :using=>:btree})679 -> 0.0103s680-- add_index("merge_request_metrics", ["merge_request_id"], {:name=>"index_merge_request_metrics", :using=>:btree})681 -> 0.0088s682-- add_index("merge_request_metrics", ["pipeline_id"], {:name=>"index_merge_request_metrics_on_pipeline_id", :using=>:btree})683 -> 0.0086s684-- create_table("merge_requests", {:force=>:cascade})685 -> 0.0122s686-- add_index("merge_requests", ["assignee_id"], {:name=>"index_merge_requests_on_assignee_id", :using=>:btree})687 -> 0.0094s688-- add_index("merge_requests", ["author_id"], {:name=>"index_merge_requests_on_author_id", :using=>:btree})689 -> 0.0091s690-- add_index("merge_requests", ["created_at"], {:name=>"index_merge_requests_on_created_at", :using=>:btree})691 -> 0.0102s692-- add_index("merge_requests", ["description"], {:name=>"index_merge_requests_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})693 -> 0.0013s694-- add_index("merge_requests", ["head_pipeline_id"], {:name=>"index_merge_requests_on_head_pipeline_id", :using=>:btree})695 -> 0.0100s696-- add_index("merge_requests", ["latest_merge_request_diff_id"], {:name=>"index_merge_requests_on_latest_merge_request_diff_id", :using=>:btree})697 -> 0.0096s698-- add_index("merge_requests", ["merge_user_id"], {:name=>"index_merge_requests_on_merge_user_id", :where=>"(merge_user_id IS NOT NULL)", :using=>:btree})699 -> 0.0093s700-- add_index("merge_requests", ["milestone_id"], {:name=>"index_merge_requests_on_milestone_id", :using=>:btree})701 -> 0.0092s702-- add_index("merge_requests", ["source_branch"], {:name=>"index_merge_requests_on_source_branch", :using=>:btree})703 -> 0.0095s704-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_and_branch_state_opened", :where=>"((state)::text = 'opened'::text)", :using=>:btree})705 -> 0.0112s706-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_id_and_source_branch", :using=>:btree})707 -> 0.0108s708-- add_index("merge_requests", ["target_branch"], {:name=>"index_merge_requests_on_target_branch", :using=>:btree})709 -> 0.0111s710-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid", :unique=>true, :using=>:btree})711 -> 0.0109s712-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid_opened", :where=>"((state)::text = 'opened'::text)", :using=>:btree})713 -> 0.0106s714-- add_index("merge_requests", ["target_project_id", "merge_commit_sha", "id"], {:name=>"index_merge_requests_on_tp_id_and_merge_commit_sha_and_id", :using=>:btree})715 -> 0.0155s716-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title", :using=>:btree})717 -> 0.0122s718-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})719 -> 0.0013s720-- add_index("merge_requests", ["updated_by_id"], {:name=>"index_merge_requests_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})721 -> 0.0101s722-- create_table("merge_requests_closing_issues", {:force=>:cascade})723 -> 0.0117s724-- add_index("merge_requests_closing_issues", ["issue_id"], {:name=>"index_merge_requests_closing_issues_on_issue_id", :using=>:btree})725 -> 0.0091s726-- add_index("merge_requests_closing_issues", ["merge_request_id"], {:name=>"index_merge_requests_closing_issues_on_merge_request_id", :using=>:btree})727 -> 0.0090s728-- create_table("milestones", {:force=>:cascade})729 -> 0.0114s730-- add_index("milestones", ["description"], {:name=>"index_milestones_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})731 -> 0.0015s732-- add_index("milestones", ["due_date"], {:name=>"index_milestones_on_due_date", :using=>:btree})733 -> 0.0103s734-- add_index("milestones", ["group_id"], {:name=>"index_milestones_on_group_id", :using=>:btree})735 -> 0.0089s736-- add_index("milestones", ["project_id", "iid"], {:name=>"index_milestones_on_project_id_and_iid", :unique=>true, :using=>:btree})737 -> 0.0095s738-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title", :using=>:btree})739 -> 0.0092s740-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})741 -> 0.0008s742-- create_table("namespace_statistics", {:force=>:cascade})743 -> 0.0112s744-- add_index("namespace_statistics", ["namespace_id"], {:name=>"index_namespace_statistics_on_namespace_id", :unique=>true, :using=>:btree})745 -> 0.0086s746-- create_table("namespaces", {:force=>:cascade})747 -> 0.0122s748-- add_index("namespaces", ["created_at"], {:name=>"index_namespaces_on_created_at", :using=>:btree})749 -> 0.0095s750-- add_index("namespaces", ["ldap_sync_last_successful_update_at"], {:name=>"index_namespaces_on_ldap_sync_last_successful_update_at", :using=>:btree})751 -> 0.0091s752-- add_index("namespaces", ["ldap_sync_last_update_at"], {:name=>"index_namespaces_on_ldap_sync_last_update_at", :using=>:btree})753 -> 0.0092s754-- add_index("namespaces", ["name", "parent_id"], {:name=>"index_namespaces_on_name_and_parent_id", :unique=>true, :using=>:btree})755 -> 0.0101s756-- add_index("namespaces", ["name"], {:name=>"index_namespaces_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})757 -> 0.0011s758-- add_index("namespaces", ["owner_id"], {:name=>"index_namespaces_on_owner_id", :using=>:btree})759 -> 0.0092s760-- add_index("namespaces", ["parent_id", "id"], {:name=>"index_namespaces_on_parent_id_and_id", :unique=>true, :using=>:btree})761 -> 0.0103s762-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path", :using=>:btree})763 -> 0.0090s764-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})765 -> 0.0010s766-- add_index("namespaces", ["plan_id"], {:name=>"index_namespaces_on_plan_id", :using=>:btree})767 -> 0.0090s768-- add_index("namespaces", ["require_two_factor_authentication"], {:name=>"index_namespaces_on_require_two_factor_authentication", :using=>:btree})769 -> 0.0092s770-- add_index("namespaces", ["runners_token"], {:name=>"index_namespaces_on_runners_token", :unique=>true, :using=>:btree})771 -> 0.0093s772-- add_index("namespaces", ["type"], {:name=>"index_namespaces_on_type", :using=>:btree})773 -> 0.0114s774-- create_table("note_diff_files", {:force=>:cascade})775 -> 0.0111s776-- add_index("note_diff_files", ["diff_note_id"], {:name=>"index_note_diff_files_on_diff_note_id", :unique=>true, :using=>:btree})777 -> 0.0090s778-- create_table("notes", {:force=>:cascade})779 -> 0.0134s780-- add_index("notes", ["author_id"], {:name=>"index_notes_on_author_id", :using=>:btree})781 -> 0.0098s782-- add_index("notes", ["commit_id"], {:name=>"index_notes_on_commit_id", :using=>:btree})783 -> 0.0096s784-- add_index("notes", ["created_at"], {:name=>"index_notes_on_created_at", :using=>:btree})785 -> 0.0122s786-- add_index("notes", ["discussion_id"], {:name=>"index_notes_on_discussion_id", :using=>:btree})787 -> 0.0098s788-- add_index("notes", ["line_code"], {:name=>"index_notes_on_line_code", :using=>:btree})789 -> 0.0096s790-- add_index("notes", ["note"], {:name=>"index_notes_on_note_trigram", :using=>:gin, :opclasses=>{"note"=>"gin_trgm_ops"}})791 -> 0.0012s792-- add_index("notes", ["noteable_id", "noteable_type"], {:name=>"index_notes_on_noteable_id_and_noteable_type", :using=>:btree})793 -> 0.0110s794-- add_index("notes", ["noteable_type"], {:name=>"index_notes_on_noteable_type", :using=>:btree})795 -> 0.0092s796-- add_index("notes", ["project_id", "noteable_type"], {:name=>"index_notes_on_project_id_and_noteable_type", :using=>:btree})797 -> 0.0103s798-- add_index("notes", ["updated_at"], {:name=>"index_notes_on_updated_at", :using=>:btree})799 -> 0.0094s800-- create_table("notification_settings", {:force=>:cascade})801 -> 0.0120s802-- add_index("notification_settings", ["source_id", "source_type"], {:name=>"index_notification_settings_on_source_id_and_source_type", :using=>:btree})803 -> 0.0101s804-- add_index("notification_settings", ["user_id", "source_id", "source_type"], {:name=>"index_notifications_on_user_id_and_source_id_and_source_type", :unique=>true, :using=>:btree})805 -> 0.0109s806-- add_index("notification_settings", ["user_id"], {:name=>"index_notification_settings_on_user_id", :using=>:btree})807 -> 0.0089s808-- create_table("oauth_access_grants", {:force=>:cascade})809 -> 0.0112s810-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})811 -> 0.0095s812-- create_table("oauth_access_tokens", {:force=>:cascade})813 -> 0.0121s814-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})815 -> 0.0093s816-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})817 -> 0.0092s818-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})819 -> 0.0120s820-- create_table("oauth_applications", {:force=>:cascade})821 -> 0.0123s822-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})823 -> 0.0106s824-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})825 -> 0.0090s826-- create_table("oauth_openid_requests", {:force=>:cascade})827 -> 0.0121s828-- create_table("pages_domains", {:force=>:cascade})829 -> 0.0111s830-- add_index("pages_domains", ["domain"], {:name=>"index_pages_domains_on_domain", :unique=>true, :using=>:btree})831 -> 0.0089s832-- add_index("pages_domains", ["project_id", "enabled_until"], {:name=>"index_pages_domains_on_project_id_and_enabled_until", :using=>:btree})833 -> 0.0099s834-- add_index("pages_domains", ["project_id"], {:name=>"index_pages_domains_on_project_id", :using=>:btree})835 -> 0.0092s836-- add_index("pages_domains", ["verified_at", "enabled_until"], {:name=>"index_pages_domains_on_verified_at_and_enabled_until", :using=>:btree})837 -> 0.0115s838-- add_index("pages_domains", ["verified_at"], {:name=>"index_pages_domains_on_verified_at", :using=>:btree})839 -> 0.0135s840-- create_table("path_locks", {:force=>:cascade})841 -> 0.0113s842-- add_index("path_locks", ["path"], {:name=>"index_path_locks_on_path", :using=>:btree})843 -> 0.0093s844-- add_index("path_locks", ["project_id"], {:name=>"index_path_locks_on_project_id", :using=>:btree})845 -> 0.0089s846-- add_index("path_locks", ["user_id"], {:name=>"index_path_locks_on_user_id", :using=>:btree})847 -> 0.0086s848-- create_table("personal_access_tokens", {:force=>:cascade})849 -> 0.0116s850-- add_index("personal_access_tokens", ["token"], {:name=>"index_personal_access_tokens_on_token", :unique=>true, :using=>:btree})851 -> 0.0093s852-- add_index("personal_access_tokens", ["user_id"], {:name=>"index_personal_access_tokens_on_user_id", :using=>:btree})853 -> 0.0113s854-- create_table("plans", {:force=>:cascade})855 -> 0.0109s856-- add_index("plans", ["name"], {:name=>"index_plans_on_name", :using=>:btree})857 -> 0.0089s858-- create_table("project_authorizations", {:id=>false, :force=>:cascade})859 -> 0.0111s860-- add_index("project_authorizations", ["project_id"], {:name=>"index_project_authorizations_on_project_id", :using=>:btree})861 -> 0.0087s862-- add_index("project_authorizations", ["user_id", "project_id", "access_level"], {:name=>"index_project_authorizations_on_user_id_project_id_access_level", :unique=>true, :using=>:btree})863 -> 0.0200s864-- create_table("project_auto_devops", {:force=>:cascade})865 -> 0.0112s866-- add_index("project_auto_devops", ["project_id"], {:name=>"index_project_auto_devops_on_project_id", :unique=>true, :using=>:btree})867 -> 0.0088s868-- create_table("project_ci_cd_settings", {:force=>:cascade})869 -> 0.0120s870-- add_index("project_ci_cd_settings", ["project_id"], {:name=>"index_project_ci_cd_settings_on_project_id", :unique=>true, :using=>:btree})871 -> 0.0089s872-- create_table("project_custom_attributes", {:force=>:cascade})873 -> 0.0106s874-- add_index("project_custom_attributes", ["key", "value"], {:name=>"index_project_custom_attributes_on_key_and_value", :using=>:btree})875 -> 0.0100s876-- add_index("project_custom_attributes", ["project_id", "key"], {:name=>"index_project_custom_attributes_on_project_id_and_key", :unique=>true, :using=>:btree})877 -> 0.0098s878-- create_table("project_deploy_tokens", {:force=>:cascade})879 -> 0.0110s880-- add_index("project_deploy_tokens", ["project_id", "deploy_token_id"], {:name=>"index_project_deploy_tokens_on_project_id_and_deploy_token_id", :unique=>true, :using=>:btree})881 -> 0.0094s882-- create_table("project_features", {:force=>:cascade})883 -> 0.0108s884-- add_index("project_features", ["project_id"], {:name=>"index_project_features_on_project_id", :unique=>true, :using=>:btree})885 -> 0.0088s886-- create_table("project_group_links", {:force=>:cascade})887 -> 0.0115s888-- add_index("project_group_links", ["group_id"], {:name=>"index_project_group_links_on_group_id", :using=>:btree})889 -> 0.0092s890-- add_index("project_group_links", ["project_id"], {:name=>"index_project_group_links_on_project_id", :using=>:btree})891 -> 0.0084s892-- create_table("project_import_data", {:force=>:cascade})893 -> 0.0107s894-- add_index("project_import_data", ["project_id"], {:name=>"index_project_import_data_on_project_id", :using=>:btree})895 -> 0.0095s896-- create_table("project_mirror_data", {:force=>:cascade})897 -> 0.0113s898-- add_index("project_mirror_data", ["jid"], {:name=>"index_project_mirror_data_on_jid", :using=>:btree})899 -> 0.0086s900-- add_index("project_mirror_data", ["last_successful_update_at"], {:name=>"index_project_mirror_data_on_last_successful_update_at", :using=>:btree})901 -> 0.0091s902-- add_index("project_mirror_data", ["next_execution_timestamp", "retry_count"], {:name=>"index_mirror_data_on_next_execution_and_retry_count", :using=>:btree})903 -> 0.0100s904-- add_index("project_mirror_data", ["project_id"], {:name=>"index_project_mirror_data_on_project_id", :unique=>true, :using=>:btree})905 -> 0.0088s906-- add_index("project_mirror_data", ["status"], {:name=>"index_project_mirror_data_on_status", :using=>:btree})907 -> 0.0115s908-- create_table("project_repository_states", {:force=>:cascade})909 -> 0.0116s910-- add_index("project_repository_states", ["last_repository_verification_failure"], {:name=>"idx_repository_states_on_repository_failure_partial", :where=>"(last_repository_verification_failure IS NOT NULL)", :using=>:btree})911 -> 0.0099s912-- add_index("project_repository_states", ["last_wiki_verification_failure"], {:name=>"idx_repository_states_on_wiki_failure_partial", :where=>"(last_wiki_verification_failure IS NOT NULL)", :using=>:btree})913 -> 0.0093s914-- add_index("project_repository_states", ["project_id"], {:name=>"idx_repository_states_outdated_checksums", :where=>"(((repository_verification_checksum IS NULL) AND (last_repository_verification_failure IS NULL)) OR ((wiki_verification_checksum IS NULL) AND (last_wiki_verification_failure IS NULL)))", :using=>:btree})915 -> 0.0094s916-- add_index("project_repository_states", ["project_id"], {:name=>"index_project_repository_states_on_project_id", :unique=>true, :using=>:btree})917 -> 0.0128s918-- create_table("project_statistics", {:force=>:cascade})919 -> 0.0118s920-- add_index("project_statistics", ["namespace_id"], {:name=>"index_project_statistics_on_namespace_id", :using=>:btree})921 -> 0.0103s922-- add_index("project_statistics", ["project_id"], {:name=>"index_project_statistics_on_project_id", :unique=>true, :using=>:btree})923 -> 0.0105s924-- create_table("projects", {:force=>:cascade})925 -> 0.0164s926-- add_index("projects", ["ci_id"], {:name=>"index_projects_on_ci_id", :using=>:btree})927 -> 0.0137s928-- add_index("projects", ["created_at"], {:name=>"index_projects_on_created_at", :using=>:btree})929 -> 0.0131s930-- add_index("projects", ["creator_id"], {:name=>"index_projects_on_creator_id", :using=>:btree})931 -> 0.0181s932-- add_index("projects", ["description"], {:name=>"index_projects_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})933 -> 0.0043s934-- add_index("projects", ["id", "repository_storage", "last_repository_updated_at"], {:name=>"idx_projects_on_repository_storage_last_repository_updated_at", :using=>:btree})935 -> 0.0226s936-- add_index("projects", ["id"], {:name=>"index_projects_on_id_partial_for_visibility", :unique=>true, :where=>"(visibility_level = ANY (ARRAY[10, 20]))", :using=>:btree})937 -> 0.0145s938-- add_index("projects", ["id"], {:name=>"index_projects_on_mirror_and_mirror_trigger_builds_both_true", :where=>"((mirror IS TRUE) AND (mirror_trigger_builds IS TRUE))", :using=>:btree})939 -> 0.0140s940-- add_index("projects", ["last_activity_at"], {:name=>"index_projects_on_last_activity_at", :using=>:btree})941 -> 0.0129s942-- add_index("projects", ["last_repository_check_failed"], {:name=>"index_projects_on_last_repository_check_failed", :using=>:btree})943 -> 0.0135s944-- add_index("projects", ["last_repository_updated_at"], {:name=>"index_projects_on_last_repository_updated_at", :using=>:btree})945 -> 0.0135s946-- add_index("projects", ["mirror_last_successful_update_at"], {:name=>"index_projects_on_mirror_last_successful_update_at", :using=>:btree})947 -> 0.0128s948-- add_index("projects", ["name"], {:name=>"index_projects_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})949 -> 0.0025s950-- add_index("projects", ["namespace_id"], {:name=>"index_projects_on_namespace_id", :using=>:btree})951 -> 0.0147s952-- add_index("projects", ["path"], {:name=>"index_projects_on_path", :using=>:btree})953 -> 0.0137s954-- add_index("projects", ["path"], {:name=>"index_projects_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})955 -> 0.0038s956-- add_index("projects", ["pending_delete"], {:name=>"index_projects_on_pending_delete", :using=>:btree})957 -> 0.0134s958-- add_index("projects", ["repository_storage"], {:name=>"index_projects_on_repository_storage", :using=>:btree})959 -> 0.0122s960-- add_index("projects", ["runners_token"], {:name=>"index_projects_on_runners_token", :using=>:btree})961 -> 0.0125s962-- add_index("projects", ["star_count"], {:name=>"index_projects_on_star_count", :using=>:btree})963 -> 0.0191s964-- add_index("projects", ["visibility_level"], {:name=>"index_projects_on_visibility_level", :using=>:btree})965 -> 0.0177s966-- create_table("prometheus_metrics", {:force=>:cascade})967 -> 0.0116s968-- add_index("prometheus_metrics", ["group"], {:name=>"index_prometheus_metrics_on_group", :using=>:btree})969 -> 0.0117s970-- add_index("prometheus_metrics", ["project_id"], {:name=>"index_prometheus_metrics_on_project_id", :using=>:btree})971 -> 0.0098s972-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})973 -> 0.0120s974-- add_index("protected_branch_merge_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_merge_access", :using=>:btree})975 -> 0.0090s976-- add_index("protected_branch_merge_access_levels", ["user_id"], {:name=>"index_protected_branch_merge_access_levels_on_user_id", :using=>:btree})977 -> 0.0102s978-- create_table("protected_branch_push_access_levels", {:force=>:cascade})979 -> 0.0112s980-- add_index("protected_branch_push_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_push_access", :using=>:btree})981 -> 0.0096s982-- add_index("protected_branch_push_access_levels", ["user_id"], {:name=>"index_protected_branch_push_access_levels_on_user_id", :using=>:btree})983 -> 0.0093s984-- create_table("protected_branch_unprotect_access_levels", {:force=>:cascade})985 -> 0.0112s986-- add_index("protected_branch_unprotect_access_levels", ["group_id"], {:name=>"index_protected_branch_unprotect_access_levels_on_group_id", :using=>:btree})987 -> 0.0097s988-- add_index("protected_branch_unprotect_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_unprotect_access", :using=>:btree})989 -> 0.0093s990-- add_index("protected_branch_unprotect_access_levels", ["user_id"], {:name=>"index_protected_branch_unprotect_access_levels_on_user_id", :using=>:btree})991 -> 0.0114s992-- create_table("protected_branches", {:force=>:cascade})993 -> 0.0121s994-- add_index("protected_branches", ["project_id"], {:name=>"index_protected_branches_on_project_id", :using=>:btree})995 -> 0.0092s996-- create_table("protected_tag_create_access_levels", {:force=>:cascade})997 -> 0.0114s998-- add_index("protected_tag_create_access_levels", ["protected_tag_id"], {:name=>"index_protected_tag_create_access", :using=>:btree})999 -> 0.0094s1000-- add_index("protected_tag_create_access_levels", ["user_id"], {:name=>"index_protected_tag_create_access_levels_on_user_id", :using=>:btree})1001 -> 0.0097s1002-- create_table("protected_tags", {:force=>:cascade})1003 -> 0.0124s1004-- add_index("protected_tags", ["project_id"], {:name=>"index_protected_tags_on_project_id", :using=>:btree})1005 -> 0.0094s1006-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})1007 -> 0.0124s1008-- add_index("push_event_payloads", ["event_id"], {:name=>"index_push_event_payloads_on_event_id", :unique=>true, :using=>:btree})1009 -> 0.0171s1010-- create_table("push_rules", {:force=>:cascade})1011 -> 0.0120s1012-- add_index("push_rules", ["is_sample"], {:name=>"index_push_rules_on_is_sample", :where=>"is_sample", :using=>:btree})1013 -> 0.0102s1014-- add_index("push_rules", ["project_id"], {:name=>"index_push_rules_on_project_id", :using=>:btree})1015 -> 0.0095s1016-- create_table("redirect_routes", {:force=>:cascade})1017 -> 0.0128s1018-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path", :unique=>true, :using=>:btree})1019 -> 0.0102s1020-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})1021 -> 0.0007s1022-- add_index("redirect_routes", ["source_type", "source_id"], {:name=>"index_redirect_routes_on_source_type_and_source_id", :using=>:btree})1023 -> 0.0106s1024-- create_table("releases", {:force=>:cascade})1025 -> 0.0126s1026-- add_index("releases", ["project_id", "tag"], {:name=>"index_releases_on_project_id_and_tag", :using=>:btree})1027 -> 0.0106s1028-- add_index("releases", ["project_id"], {:name=>"index_releases_on_project_id", :using=>:btree})1029 -> 0.0093s1030-- create_table("remote_mirrors", {:force=>:cascade})1031 -> 0.0125s1032-- add_index("remote_mirrors", ["last_successful_update_at"], {:name=>"index_remote_mirrors_on_last_successful_update_at", :using=>:btree})1033 -> 0.0121s1034-- add_index("remote_mirrors", ["project_id"], {:name=>"index_remote_mirrors_on_project_id", :using=>:btree})1035 -> 0.0112s1036-- create_table("routes", {:force=>:cascade})1037 -> 0.0121s1038-- add_index("routes", ["path"], {:name=>"index_routes_on_path", :unique=>true, :using=>:btree})1039 -> 0.0091s1040-- add_index("routes", ["path"], {:name=>"index_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})1041 -> 0.0006s1042-- add_index("routes", ["source_type", "source_id"], {:name=>"index_routes_on_source_type_and_source_id", :unique=>true, :using=>:btree})1043 -> 0.0115s1044-- create_table("saml_providers", {:force=>:cascade})1045 -> 0.0115s1046-- add_index("saml_providers", ["group_id"], {:name=>"index_saml_providers_on_group_id", :using=>:btree})1047 -> 0.0105s1048-- create_table("sent_notifications", {:force=>:cascade})1049 -> 0.0123s1050-- add_index("sent_notifications", ["reply_key"], {:name=>"index_sent_notifications_on_reply_key", :unique=>true, :using=>:btree})1051 -> 0.0107s1052-- create_table("services", {:force=>:cascade})1053 -> 0.0124s1054-- add_index("services", ["project_id"], {:name=>"index_services_on_project_id", :using=>:btree})1055 -> 0.0112s1056-- add_index("services", ["template"], {:name=>"index_services_on_template", :using=>:btree})1057 -> 0.0114s1058-- create_table("slack_integrations", {:force=>:cascade})1059 -> 0.0124s1060-- add_index("slack_integrations", ["service_id"], {:name=>"index_slack_integrations_on_service_id", :using=>:btree})1061 -> 0.0112s1062-- add_index("slack_integrations", ["team_id", "alias"], {:name=>"index_slack_integrations_on_team_id_and_alias", :unique=>true, :using=>:btree})1063 -> 0.0102s1064-- create_table("snippets", {:force=>:cascade})1065 -> 0.0121s1066-- add_index("snippets", ["author_id"], {:name=>"index_snippets_on_author_id", :using=>:btree})1067 -> 0.0109s1068-- add_index("snippets", ["file_name"], {:name=>"index_snippets_on_file_name_trigram", :using=>:gin, :opclasses=>{"file_name"=>"gin_trgm_ops"}})1069 -> 0.0018s1070-- add_index("snippets", ["project_id"], {:name=>"index_snippets_on_project_id", :using=>:btree})1071 -> 0.0097s1072-- add_index("snippets", ["title"], {:name=>"index_snippets_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})1073 -> 0.0016s1074-- add_index("snippets", ["updated_at"], {:name=>"index_snippets_on_updated_at", :using=>:btree})1075 -> 0.0111s1076-- add_index("snippets", ["visibility_level"], {:name=>"index_snippets_on_visibility_level", :using=>:btree})1077 -> 0.0097s1078-- create_table("spam_logs", {:force=>:cascade})1079 -> 0.0120s1080-- create_table("subscriptions", {:force=>:cascade})1081 -> 0.0117s1082-- add_index("subscriptions", ["subscribable_id", "subscribable_type", "user_id", "project_id"], {:name=>"index_subscriptions_on_subscribable_and_user_id_and_project_id", :unique=>true, :using=>:btree})1083 -> 0.0143s1084-- create_table("system_note_metadata", {:force=>:cascade})1085 -> 0.0116s1086-- add_index("system_note_metadata", ["note_id"], {:name=>"index_system_note_metadata_on_note_id", :unique=>true, :using=>:btree})1087 -> 0.0094s1088-- create_table("taggings", {:force=>:cascade})1089 -> 0.0106s1090-- add_index("taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], {:name=>"taggings_idx", :unique=>true, :using=>:btree})1091 -> 0.0145s1092-- add_index("taggings", ["tag_id"], {:name=>"index_taggings_on_tag_id", :using=>:btree})1093 -> 0.0093s1094-- add_index("taggings", ["taggable_id", "taggable_type", "context"], {:name=>"index_taggings_on_taggable_id_and_taggable_type_and_context", :using=>:btree})1095 -> 0.0141s1096-- add_index("taggings", ["taggable_id", "taggable_type"], {:name=>"index_taggings_on_taggable_id_and_taggable_type", :using=>:btree})1097 -> 0.0106s1098-- create_table("tags", {:force=>:cascade})1099 -> 0.0115s1100-- add_index("tags", ["name"], {:name=>"index_tags_on_name", :unique=>true, :using=>:btree})1101 -> 0.0095s1102-- create_table("term_agreements", {:force=>:cascade})1103 -> 0.0131s1104-- add_index("term_agreements", ["term_id"], {:name=>"index_term_agreements_on_term_id", :using=>:btree})1105 -> 0.0089s1106-- add_index("term_agreements", ["user_id", "term_id"], {:name=>"term_agreements_unique_index", :unique=>true, :using=>:btree})1107 -> 0.0096s1108-- add_index("term_agreements", ["user_id"], {:name=>"index_term_agreements_on_user_id", :using=>:btree})1109 -> 0.0092s1110-- create_table("timelogs", {:force=>:cascade})1111 -> 0.0127s1112-- add_index("timelogs", ["issue_id"], {:name=>"index_timelogs_on_issue_id", :using=>:btree})1113 -> 0.0091s1114-- add_index("timelogs", ["merge_request_id"], {:name=>"index_timelogs_on_merge_request_id", :using=>:btree})1115 -> 0.0091s1116-- add_index("timelogs", ["user_id"], {:name=>"index_timelogs_on_user_id", :using=>:btree})1117 -> 0.0091s1118-- create_table("todos", {:force=>:cascade})1119 -> 0.0203s1120-- add_index("todos", ["author_id"], {:name=>"index_todos_on_author_id", :using=>:btree})1121 -> 0.0092s1122-- add_index("todos", ["commit_id"], {:name=>"index_todos_on_commit_id", :using=>:btree})1123 -> 0.0087s1124-- add_index("todos", ["note_id"], {:name=>"index_todos_on_note_id", :using=>:btree})1125 -> 0.0085s1126-- add_index("todos", ["project_id"], {:name=>"index_todos_on_project_id", :using=>:btree})1127 -> 0.0096s1128-- add_index("todos", ["target_type", "target_id"], {:name=>"index_todos_on_target_type_and_target_id", :using=>:btree})1129 -> 0.0100s1130-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_done", :where=>"((state)::text = 'done'::text)", :using=>:btree})1131 -> 0.0102s1132-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_pending", :where=>"((state)::text = 'pending'::text)", :using=>:btree})1133 -> 0.0111s1134-- add_index("todos", ["user_id"], {:name=>"index_todos_on_user_id", :using=>:btree})1135 -> 0.0094s1136-- create_table("trending_projects", {:force=>:cascade})1137 -> 0.0120s1138-- add_index("trending_projects", ["project_id"], {:name=>"index_trending_projects_on_project_id", :unique=>true, :using=>:btree})1139 -> 0.0104s1140-- create_table("u2f_registrations", {:force=>:cascade})1141 -> 0.0121s1142-- add_index("u2f_registrations", ["key_handle"], {:name=>"index_u2f_registrations_on_key_handle", :using=>:btree})1143 -> 0.0093s1144-- add_index("u2f_registrations", ["user_id"], {:name=>"index_u2f_registrations_on_user_id", :using=>:btree})1145 -> 0.0092s1146-- create_table("uploads", {:force=>:cascade})1147 -> 0.0115s1148-- add_index("uploads", ["checksum"], {:name=>"index_uploads_on_checksum", :using=>:btree})1149 -> 0.0109s1150-- add_index("uploads", ["model_id", "model_type"], {:name=>"index_uploads_on_model_id_and_model_type", :using=>:btree})1151 -> 0.0105s1152-- add_index("uploads", ["uploader", "path"], {:name=>"index_uploads_on_uploader_and_path", :using=>:btree})1153 -> 0.0099s1154-- create_table("user_agent_details", {:force=>:cascade})1155 -> 0.0153s1156-- add_index("user_agent_details", ["subject_id", "subject_type"], {:name=>"index_user_agent_details_on_subject_id_and_subject_type", :using=>:btree})1157 -> 0.0105s1158-- create_table("user_callouts", {:force=>:cascade})1159 -> 0.0107s1160-- add_index("user_callouts", ["user_id", "feature_name"], {:name=>"index_user_callouts_on_user_id_and_feature_name", :unique=>true, :using=>:btree})1161 -> 0.0096s1162-- add_index("user_callouts", ["user_id"], {:name=>"index_user_callouts_on_user_id", :using=>:btree})1163 -> 0.0081s1164-- create_table("user_custom_attributes", {:force=>:cascade})1165 -> 0.0125s1166-- add_index("user_custom_attributes", ["key", "value"], {:name=>"index_user_custom_attributes_on_key_and_value", :using=>:btree})1167 -> 0.0135s1168-- add_index("user_custom_attributes", ["user_id", "key"], {:name=>"index_user_custom_attributes_on_user_id_and_key", :unique=>true, :using=>:btree})1169 -> 0.0097s1170-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})1171 -> 0.0151s1172-- add_index("user_interacted_projects", ["project_id", "user_id"], {:name=>"index_user_interacted_projects_on_project_id_and_user_id", :unique=>true, :using=>:btree})1173 -> 0.0186s1174-- add_index("user_interacted_projects", ["user_id"], {:name=>"index_user_interacted_projects_on_user_id", :using=>:btree})1175 -> 0.0083s1176-- create_table("user_synced_attributes_metadata", {:force=>:cascade})1177 -> 0.0104s1178-- add_index("user_synced_attributes_metadata", ["user_id"], {:name=>"index_user_synced_attributes_metadata_on_user_id", :unique=>true, :using=>:btree})1179 -> 0.0102s1180-- create_table("users", {:force=>:cascade})1181 -> 0.0179s1182-- add_index("users", ["admin"], {:name=>"index_users_on_admin", :using=>:btree})1183 -> 0.0141s1184-- add_index("users", ["confirmation_token"], {:name=>"index_users_on_confirmation_token", :unique=>true, :using=>:btree})1185 -> 0.0122s1186-- add_index("users", ["created_at"], {:name=>"index_users_on_created_at", :using=>:btree})1187 -> 0.0162s1188-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true, :using=>:btree})1189 -> 0.0137s1190-- add_index("users", ["email"], {:name=>"index_users_on_email_trigram", :using=>:gin, :opclasses=>{"email"=>"gin_trgm_ops"}})1191 -> 0.0037s1192-- add_index("users", ["feed_token"], {:name=>"index_users_on_feed_token", :using=>:btree})1193 -> 0.0209s1194-- add_index("users", ["ghost"], {:name=>"index_users_on_ghost", :using=>:btree})1195 -> 0.0130s1196-- add_index("users", ["incoming_email_token"], {:name=>"index_users_on_incoming_email_token", :using=>:btree})1197 -> 0.0132s1198-- add_index("users", ["name"], {:name=>"index_users_on_name", :using=>:btree})1199 -> 0.0134s1200-- add_index("users", ["name"], {:name=>"index_users_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})1201 -> 0.0029s1202-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true, :using=>:btree})1203 -> 0.0120s1204-- add_index("users", ["state"], {:name=>"index_users_on_state", :using=>:btree})1205 -> 0.0138s1206-- add_index("users", ["state"], {:name=>"index_users_on_state_and_internal_attrs", :where=>"((ghost <> true) AND (support_bot <> true))", :using=>:btree})1207 -> 0.0130s1208-- add_index("users", ["support_bot"], {:name=>"index_users_on_support_bot", :using=>:btree})1209 -> 0.0145s1210-- add_index("users", ["username"], {:name=>"index_users_on_username", :using=>:btree})1211 -> 0.0327s1212-- add_index("users", ["username"], {:name=>"index_users_on_username_trigram", :using=>:gin, :opclasses=>{"username"=>"gin_trgm_ops"}})1213 -> 0.0016s1214-- create_table("users_star_projects", {:force=>:cascade})1215 -> 0.0122s1216-- add_index("users_star_projects", ["project_id"], {:name=>"index_users_star_projects_on_project_id", :using=>:btree})1217 -> 0.0102s1218-- add_index("users_star_projects", ["user_id", "project_id"], {:name=>"index_users_star_projects_on_user_id_and_project_id", :unique=>true, :using=>:btree})1219 -> 0.0090s1220-- create_table("vulnerability_feedback", {:force=>:cascade})1221 -> 0.0114s1222-- add_index("vulnerability_feedback", ["author_id"], {:name=>"index_vulnerability_feedback_on_author_id", :using=>:btree})1223 -> 0.0089s1224-- add_index("vulnerability_feedback", ["issue_id"], {:name=>"index_vulnerability_feedback_on_issue_id", :using=>:btree})1225 -> 0.0085s1226-- add_index("vulnerability_feedback", ["pipeline_id"], {:name=>"index_vulnerability_feedback_on_pipeline_id", :using=>:btree})1227 -> 0.0084s1228-- add_index("vulnerability_feedback", ["project_id", "category", "feedback_type", "project_fingerprint"], {:name=>"vulnerability_feedback_unique_idx", :unique=>true, :using=>:btree})1229 -> 0.0105s1230-- create_table("web_hook_logs", {:force=>:cascade})1231 -> 0.0113s1232-- add_index("web_hook_logs", ["web_hook_id"], {:name=>"index_web_hook_logs_on_web_hook_id", :using=>:btree})1233 -> 0.0086s1234-- create_table("web_hooks", {:force=>:cascade})1235 -> 0.0119s1236-- add_index("web_hooks", ["project_id"], {:name=>"index_web_hooks_on_project_id", :using=>:btree})1237 -> 0.0098s1238-- add_index("web_hooks", ["type"], {:name=>"index_web_hooks_on_type", :using=>:btree})1239 -> 0.0101s1240-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})1241 -> 0.0210s1242-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1243 -> 0.0241s1244-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1245 -> 0.0218s1246-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})1247 -> 0.0220s1248-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})1249 -> 0.0215s1250-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})1251 -> 0.0750s1252-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})1253 -> 0.0197s1254-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})1255 -> 0.0203s1256-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :name=>"fk_1e9a074a35", :on_delete=>:cascade})1257 -> 0.0229s1258-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})1259 -> 0.0248s1260-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})1261 -> 0.0199s1262-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1263 -> 0.0199s1264-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})1265 -> 0.0200s1266-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})1267 -> 0.0231s1268-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})1269 -> 0.0243s1270-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})1271 -> 0.0236s1272-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})1273 -> 0.0548s1274-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})1275 -> 0.0521s1276-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})1277 -> 0.0532s1278-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})1279 -> 0.0535s1280-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1281 -> 0.0219s1282-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})1283 -> 0.0228s1284-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})1285 -> 0.0206s1286-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})1287 -> 0.0346s1288-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})1289 -> 0.0279s1290-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})1291 -> 0.0214s1292-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1293 -> 0.0219s1294-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})1295 -> 0.0197s1296-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})1297 -> 0.0227s1298-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})1299 -> 0.0242s1300-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})1301 -> 0.0199s1302-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})1303 -> 0.0370s1304-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})1305 -> 0.0366s1306-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})1307 -> 0.0370s1308-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})1309 -> 0.0222s1310-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})1311 -> 0.0215s1312-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})1313 -> 0.0234s1314-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})1315 -> 0.0291s1316-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})1317 -> 0.0314s1318-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})1319 -> 0.0351s1320-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})1321 -> 0.0350s1322-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})1323 -> 0.0339s1324-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})1325 -> 0.0328s1326-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})1327 -> 0.0342s1328-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})1329 -> 0.0242s1330-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})1331 -> 0.0206s1332-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})1333 -> 0.0211s1334-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})1335 -> 0.0203s1336-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})1337 -> 0.0203s1338-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})1339 -> 0.0217s1340-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})1341 -> 0.0237s1342-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})1343 -> 0.0202s1344-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})1345 -> 0.0218s1346-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})1347 -> 0.0211s1348-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})1349 -> 0.0207s1350-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})1351 -> 0.0209s1352-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})1353 -> 0.0224s1354-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})1355 -> 0.0201s1356-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})1357 -> 0.0239s1358-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})1359 -> 0.0228s1360-- add_foreign_key("container_repositories", "projects")1361 -> 0.0221s1362-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})1363 -> 0.0228s1364-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})1365 -> 0.0289s1366-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})1367 -> 0.0232s1368-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})1369 -> 0.0219s1370-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})1371 -> 0.0224s1372-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})1373 -> 0.0205s1374-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})1375 -> 0.0337s1376-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})1377 -> 0.0347s1378-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})1379 -> 0.0313s1380-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})1381 -> 0.0345s1382-- add_foreign_key("events", "projects", {:on_delete=>:cascade})1383 -> 0.0275s1384-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})1385 -> 0.0287s1386-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})1387 -> 0.0237s1388-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})1389 -> 0.0246s1390-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})1391 -> 0.0261s1392-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})1393 -> 0.0200s1394-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})1395 -> 0.0190s1396-- add_foreign_key("gcp_clusters", "projects", {:on_delete=>:cascade})1397 -> 0.0196s1398-- add_foreign_key("gcp_clusters", "services", {:on_delete=>:nullify})1399 -> 0.0221s1400-- add_foreign_key("gcp_clusters", "users", {:on_delete=>:nullify})1401 -> 0.0249s1402-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})1403 -> 0.0289s1404-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})1405 -> 0.0305s1406-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})1407 -> 0.0339s1408-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})1409 -> 0.0330s1410-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})1411 -> 0.0345s1412-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})1413 -> 0.0345s1414-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})1415 -> 0.0335s1416-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :on_delete=>:cascade})1417 -> 0.0360s1418-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})1419 -> 0.0377s1420-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})1421 -> 0.0193s1422-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})1423 -> 0.0180s1424-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})1425 -> 0.0213s1426-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})1427 -> 0.0243s1428-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})1429 -> 0.0200s1430-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})1431 -> 0.0193s1432-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})1433 -> 0.0202s1434-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})1435 -> 0.0206s1436-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})1437 -> 0.0238s1438-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})1439 -> 0.0233s1440-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})1441 -> 0.0236s1442-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})1443 -> 0.0274s1444-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})1445 -> 0.0290s1446-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})1447 -> 0.0280s1448-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1449 -> 0.0210s1450-- add_foreign_key("identities", "saml_providers", {:name=>"fk_aade90f0fc", :on_delete=>:cascade})1451 -> 0.0211s1452-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})1453 -> 0.0197s1454-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})1455 -> 0.0221s1456-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})1457 -> 0.0252s1458-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})1459 -> 0.0208s1460-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})1461 -> 0.0193s1462-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})1463 -> 0.0239s1464-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})1465 -> 0.0242s1466-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})1467 -> 0.0202s1468-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})1469 -> 0.0433s1470-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})1471 -> 0.0497s1472-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1473 -> 0.0417s1474-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1475 -> 0.0470s1476-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1477 -> 0.0444s1478-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1479 -> 0.0467s1480-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1481 -> 0.0262s1482-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1483 -> 0.0242s1484-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1485 -> 0.0265s1486-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1487 -> 0.0309s1488-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1489 -> 0.0222s1490-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1491 -> 0.0229s1492-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1493 -> 0.0251s1494-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1495 -> 0.0243s1496-- add_foreign_key("lists", "users", {:name=>"fk_d6cf4279f7", :on_delete=>:cascade})1497 -> 0.0269s1498-- add_foreign_key("managed_licenses", "projects", {:on_delete=>:cascade})1499 -> 0.0228s1500-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1501 -> 0.0385s1502-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1503 -> 0.0213s1504-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1505 -> 0.0182s1506-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1507 -> 0.0205s1508-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1509 -> 0.0279s1510-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1511 -> 0.0297s1512-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1513 -> 0.0275s1514-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1515 -> 0.0294s1516-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1517 -> 0.0506s1518-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1519 -> 0.0520s1520-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1521 -> 0.0571s1522-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1523 -> 0.0518s1524-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1525 -> 0.0525s1526-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1527 -> 0.0534s1528-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1529 -> 0.0501s1530-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1531 -> 0.0565s1532-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1533 -> 0.0483s1534-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1535 -> 0.0239s1536-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1537 -> 0.0233s1538-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1539 -> 0.0263s1540-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1541 -> 0.0267s1542-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1543 -> 0.0204s1544-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1545 -> 0.0379s1546-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1547 -> 0.0192s1548-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1549 -> 0.0343s1550-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1551 -> 0.0207s1552-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1553 -> 0.0285s1554-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1555 -> 0.0244s1556-- add_foreign_key("path_locks", "users")1557 -> 0.0232s1558-- add_foreign_key("personal_access_tokens", "users")1559 -> 0.0290s1560-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1561 -> 0.0280s1562-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1563 -> 0.0207s1564-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1565 -> 0.0216s1566-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1567 -> 0.0330s1568-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1569 -> 0.0242s1570-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1571 -> 0.0349s1572-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1573 -> 0.0282s1574-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1575 -> 0.0205s1576-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1577 -> 0.0223s1578-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1579 -> 0.0192s1580-- add_foreign_key("project_mirror_data", "projects", {:name=>"fk_d1aad367d7", :on_delete=>:cascade})1581 -> 0.0268s1582-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1583 -> 0.0258s1584-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1585 -> 0.0208s1586-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1587 -> 0.0219s1588-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1589 -> 0.0226s1590-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1591 -> 0.0241s1592-- add_foreign_key("protected_branch_merge_access_levels", "users")1593 -> 0.0261s1594-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1595 -> 0.0258s1596-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1597 -> 0.0251s1598-- add_foreign_key("protected_branch_push_access_levels", "users")1599 -> 0.0252s1600-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1601 -> 0.0244s1602-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1603 -> 0.0236s1604-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1605 -> 0.0242s1606-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1607 -> 0.0202s1608-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1609 -> 0.0294s1610-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1611 -> 0.0244s1612-- add_foreign_key("protected_tag_create_access_levels", "users")1613 -> 0.0243s1614-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1615 -> 0.1477s1616-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1617 -> 0.0176s1618-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1619 -> 0.0211s1620-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1621 -> 0.0228s1622-- add_foreign_key("remote_mirrors", "projects", {:name=>"fk_43a9aa4ca8", :on_delete=>:cascade})1623 -> 0.0218s1624-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1625 -> 0.0178s1626-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1627 -> 0.0201s1628-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1629 -> 0.0215s1630-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1631 -> 0.0256s1632-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1633 -> 0.0374s1634-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1635 -> 0.0202s1636-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1637 -> 0.0224s1638-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1639 -> 0.0234s1640-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1641 -> 0.0231s1642-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1643 -> 0.0244s1644-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1645 -> 0.0344s1646-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1647 -> 0.0342s1648-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1649 -> 0.0329s1650-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1651 -> 0.0345s1652-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1653 -> 0.0199s1654-- add_foreign_key("u2f_registrations", "users")1655 -> 0.0208s1656-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1657 -> 0.0236s1658-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1659 -> 0.0222s1660-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1661 -> 0.0198s1662-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1663 -> 0.0198s1664-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1665 -> 0.0202s1666-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1667 -> 0.0500s1668-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1669 -> 0.0236s1670-- add_foreign_key("vulnerability_feedback", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1671 -> 0.0271s1672-- add_foreign_key("vulnerability_feedback", "issues", {:on_delete=>:nullify})1673 -> 0.0247s1674-- add_foreign_key("vulnerability_feedback", "projects", {:on_delete=>:cascade})1675 -> 0.0248s1676-- add_foreign_key("vulnerability_feedback", "users", {:column=>"author_id", :on_delete=>:cascade})1677 -> 0.0240s1678-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1679 -> 0.0206s1680-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1681 -> 0.0216s1682-- initialize_schema_migrations_table()1683 -> 0.0345s1684Adding limits to schema.rb for mysql1685-- column_exists?(:merge_request_diffs, :st_commits)1686 -> 0.0012s1687-- column_exists?(:merge_request_diffs, :st_diffs)1688 -> 0.0007s1689-- change_column(:snippets, :content, :text, {:limit=>2147483647})1690 -> 0.0311s1691-- change_column(:notes, :st_diff, :text, {:limit=>2147483647})1692 -> 0.0398s1693-- change_column(:snippets, :content_html, :text, {:limit=>2147483647})1694 -> 0.0287s1695-- change_column(:merge_request_diff_files, :diff, :text, {:limit=>2147483647})1696 -> 0.0216s1697-- change_column(:ci_build_trace_chunks, :raw_data, :binary, {:limit=>16777215})1698 -> 0.0229s1699-- change_column(:gpg_keys, :key, :text, {:limit=>16777215})1700 -> 0.0264s1701Database 'gitlabhq_geo_test' does not exist1702-- enable_extension("plpgsql")1703 -> 0.0009s1704-- create_table("event_log_states", {:primary_key=>"event_id", :force=>:cascade})1705 -> 0.0128s1706-- create_table("file_registry", {:force=>:cascade})1707 -> 0.0110s1708-- add_index("file_registry", ["file_type", "file_id"], {:name=>"index_file_registry_on_file_type_and_file_id", :unique=>true, :using=>:btree})1709 -> 0.0089s1710-- add_index("file_registry", ["file_type"], {:name=>"index_file_registry_on_file_type", :using=>:btree})1711 -> 0.0088s1712-- add_index("file_registry", ["retry_at"], {:name=>"index_file_registry_on_retry_at", :using=>:btree})1713 -> 0.0105s1714-- add_index("file_registry", ["success"], {:name=>"index_file_registry_on_success", :using=>:btree})1715 -> 0.0080s1716-- create_table("job_artifact_registry", {:force=>:cascade})1717 -> 0.0106s1718-- add_index("job_artifact_registry", ["artifact_id"], {:name=>"index_job_artifact_registry_on_artifact_id", :using=>:btree})1719 -> 0.0092s1720-- add_index("job_artifact_registry", ["retry_at"], {:name=>"index_job_artifact_registry_on_retry_at", :using=>:btree})1721 -> 0.0079s1722-- add_index("job_artifact_registry", ["success"], {:name=>"index_job_artifact_registry_on_success", :using=>:btree})1723 -> 0.0082s1724-- create_table("project_registry", {:force=>:cascade})1725 -> 0.0102s1726-- add_index("project_registry", ["last_repository_successful_sync_at"], {:name=>"index_project_registry_on_last_repository_successful_sync_at", :using=>:btree})1727 -> 0.0085s1728-- add_index("project_registry", ["last_repository_synced_at"], {:name=>"index_project_registry_on_last_repository_synced_at", :using=>:btree})1729 -> 0.0081s1730-- add_index("project_registry", ["project_id"], {:name=>"idx_project_registry_on_repo_checksums_and_failure_partial", :where=>"((repository_verification_checksum_sha IS NULL) AND (last_repository_verification_failure IS NULL))", :using=>:btree})1731 -> 0.0081s1732-- add_index("project_registry", ["project_id"], {:name=>"idx_project_registry_on_repository_failure_partial", :where=>"(last_repository_verification_failure IS NOT NULL)", :using=>:btree})1733 -> 0.0081s1734-- add_index("project_registry", ["project_id"], {:name=>"idx_project_registry_on_wiki_checksums_and_failure_partial", :where=>"((wiki_verification_checksum_sha IS NULL) AND (last_wiki_verification_failure IS NULL))", :using=>:btree})1735 -> 0.0087s1736-- add_index("project_registry", ["project_id"], {:name=>"idx_project_registry_on_wiki_failure_partial", :where=>"(last_wiki_verification_failure IS NOT NULL)", :using=>:btree})1737 -> 0.0087s1738-- add_index("project_registry", ["project_id"], {:name=>"idx_repository_checksum_mismatch", :where=>"(repository_checksum_mismatch = true)", :using=>:btree})1739 -> 0.0084s1740-- add_index("project_registry", ["project_id"], {:name=>"idx_wiki_checksum_mismatch", :where=>"(wiki_checksum_mismatch = true)", :using=>:btree})1741 -> 0.0084s1742-- add_index("project_registry", ["project_id"], {:name=>"index_project_registry_on_project_id", :unique=>true, :using=>:btree})1743 -> 0.0092s1744-- add_index("project_registry", ["repository_retry_at"], {:name=>"index_project_registry_on_repository_retry_at", :using=>:btree})1745 -> 0.0083s1746-- add_index("project_registry", ["repository_verification_checksum_sha"], {:name=>"idx_project_registry_on_repository_checksum_sha_partial", :where=>"(repository_verification_checksum_sha IS NULL)", :using=>:btree})1747 -> 0.0084s1748-- add_index("project_registry", ["resync_repository"], {:name=>"index_project_registry_on_resync_repository", :using=>:btree})1749 -> 0.0089s1750-- add_index("project_registry", ["resync_wiki"], {:name=>"index_project_registry_on_resync_wiki", :using=>:btree})1751 -> 0.0088s1752-- add_index("project_registry", ["wiki_retry_at"], {:name=>"index_project_registry_on_wiki_retry_at", :using=>:btree})1753 -> 0.0091s1754-- add_index("project_registry", ["wiki_verification_checksum_sha"], {:name=>"idx_project_registry_on_wiki_checksum_sha_partial", :where=>"(wiki_verification_checksum_sha IS NULL)", :using=>:btree})1755 -> 0.0088s1756-- initialize_schema_migrations_table()1757 -> 0.0261s1758$ date1759Tue Jun 26 13:41:05 UTC 20181760$ JOB_NAME=( $CI_JOB_NAME )1761$ export CI_NODE_INDEX=${JOB_NAME[-2]}1762$ export CI_NODE_TOTAL=${JOB_NAME[-1]}1763$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1764$ export KNAPSACK_GENERATE_REPORT=true1765$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}1766$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1767$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1768$ export FLAKY_RSPEC_GENERATE_REPORT=true1769$ export CACHE_CLASSES=true1770$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1771$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}1772$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}1773$ scripts/gitaly-test-spawn1774Checking gitaly-ruby bundle...1775The Gemfile's dependencies are satisfied1776Trying to connect to gitaly: .... OK1777$ knapsack rspec "--color --format documentation --tag ~geo"1778Report specs:1779spec/models/merge_request_spec.rb1780spec/features/projects/pipelines/pipeline_spec.rb1781spec/features/task_lists_spec.rb1782spec/features/issues/filtered_search/dropdown_author_spec.rb1783spec/models/cycle_analytics/production_spec.rb1784spec/features/projects/commits/user_browses_commits_spec.rb1785spec/requests/api/repositories_spec.rb1786spec/controllers/projects_controller_spec.rb1787spec/services/git_tag_push_service_spec.rb1788spec/models/project_services/kubernetes_service_spec.rb1789spec/features/merge_request/user_sees_pipelines_spec.rb1790spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb1791spec/features/projects/fork_spec.rb1792spec/features/projects/settings/integration_settings_spec.rb1793spec/features/issues/spam_issues_spec.rb1794spec/features/users/user_browses_projects_on_user_page_spec.rb1795spec/models/remote_mirror_spec.rb1796spec/features/security/dashboard_access_spec.rb1797spec/features/merge_requests/user_filters_by_assignees_spec.rb1798spec/features/projects/tree/upload_file_spec.rb1799spec/serializers/pipeline_details_entity_spec.rb1800spec/features/dashboard/archived_projects_spec.rb1801spec/lib/gitlab/exclusive_lease_spec.rb1802spec/features/projects/show/no_password_spec.rb1803spec/features/search/user_searches_for_wiki_pages_spec.rb1804spec/controllers/dashboard/todos_controller_spec.rb1805spec/features/projects/settings/user_manages_project_members_spec.rb1806spec/features/ics/project_issues_spec.rb1807spec/models/project_services/drone_ci_service_spec.rb1808spec/services/projects/update_remote_mirror_service_spec.rb1809spec/finders/milestones_finder_spec.rb1810spec/lib/gitlab/hashed_storage/migrator_spec.rb1811spec/lib/gitlab/gitaly_client/repository_service_spec.rb1812spec/serializers/stage_entity_spec.rb1813spec/services/files/delete_service_spec.rb1814spec/services/projects/hashed_storage/migrate_repository_service_spec.rb1815spec/features/projects/services/user_activates_atlassian_bamboo_ci_spec.rb1816spec/lib/banzai/redactor_spec.rb1817spec/features/projects/issues/rss_spec.rb1818spec/features/projects/tree/rss_spec.rb1819spec/lib/constraints/user_url_constrainer_spec.rb1820Leftover specs:1821Knapsack report generator started!1822Run options: exclude {:geo=>true}1823==> Setting up GitLab Shell...1824 GitLab Shell setup in 0.061719791 seconds...1825==> Setting up Gitaly...1826 Gitaly setup in 0.000127686 seconds...1827MergeRequest1828 associations1829 should belong to target_project class_name => Project1830 should belong to source_project class_name => Project1831 should belong to merge_user class_name => User1832 should belong to assignee1833 should have many merge_request_diffs1834 #squash_in_progress?1835 when Gitaly squash_in_progress is enabled1836 behaves like checking whether a squash is in progress1837Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/e7/f6/e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683.git/gitlab-worktree/squash-6 (identifier squash-6)1838HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1839 returns true when there is a current squash directory1840Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/79/02/7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451.git/gitlab-worktree/squash-7 (identifier squash-7)1841HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1842 returns false when there is no squash directory1843Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/2c/62/2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git/gitlab-worktree/squash-8 (identifier squash-8)1844HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1845 returns false when the squash directory has expired1846Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/19/58/19581e27de7ced00ff1ce50b2047e7a567c76b1cbaebabe5ef03f7c3017bb5b7.git/gitlab-worktree/squash-9 (identifier squash-9)1847HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1848 returns false when the source project has been removed1849 when Gitaly squash_in_progress is disabled1850 behaves like checking whether a squash is in progress1851Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/4a/44/4a44dc15364204a80fe80e9039455cc1608281820fe2b24f1e5233ade6af1dd5.git/gitlab-worktree/squash-10 (identifier squash-10)1852HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1853 returns true when there is a current squash directory1854Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/4f/c8/4fc82b26aecb47d2868c4efbe3581732a3e7cbcc6c2efb32062c08170a05eeb8.git/gitlab-worktree/squash-11 (identifier squash-11)1855HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1856 returns false when there is no squash directory1857Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/6b/51/6b51d431df5d7f141cbececcf79edf3dd861c3b4069f0b11661a3eefacbba918.git/gitlab-worktree/squash-12 (identifier squash-12)1858HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1859 returns false when the squash directory has expired1860Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/3f/db/3fdba35f04dc8c462986c992bcf875546257113072a909c162f7e470e581e278.git/gitlab-worktree/squash-13 (identifier squash-13)1861HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'1862 returns false when the source project has been removed1863 #squash?1864 disabled in database1865 should be falsy1866 enabled in database1867 should be truthy1868 modules1869 should includes the Issuable module1870 should includes the Referable module1871 should includes the Sortable module1872 should includes the Taskable module1873 behaves like AtomicInternalId1874 .has_internal_id1875 Module inclusion1876 should includes the AtomicInternalId module1877 Validation1878 when presence validation is required1879 validates presence1880 when presence validation is not required1881 does not validate presence (PENDING: No reason given)1882 Creating an instance1883 saves a new instance properly1884 internal id generation1885 calls InternalId.generate_next and sets internal id attribute1886 does not overwrite an existing internal id1887 validation1888 should validate that :target_branch cannot be empty/falsy1889 should validate that :source_branch cannot be empty/falsy1890 Validation of merge user with Merge When Pipeline Succeeds1891 allows user to be nil when the feature is disabled1892 is invalid without merge user1893 is valid with merge user1894 for forks1895 allows merge requests for sibling-forks1896 callbacks1897 #ensure_merge_request_metrics1898 creates metrics after saving1899 does not duplicate metrics for a merge request1900 respond to1901 should respond to #unchecked?1902 should respond to #can_be_merged?1903 should respond to #cannot_be_merged?1904 should respond to #merge_params1905 should respond to #merge_when_pipeline_succeeds1906 .by_commit_sha1907 with sha contained in latest merge request diff1908 returns merge requests1909 with sha contained not in latest merge request diff1910 returns empty requests1911 with sha not contained in1912 returns empty result1913 .in_projects1914 returns the merge requests for a set of projects1915 .set_latest_merge_request_diff_ids!1916 sets IDs for merge requests, whether they are already set or not1917 #target_branch_sha1918 returns memoized value1919 when the target branch does not exist1920 returns nil1921 #card_attributes1922 includes the author name1923 includes the assignee name1924 #assignee_ids1925 returns an array of the assigned user id1926 #assignee_ids=1927 sets assignee_id to the last id in the array1928 #assignee_or_author?1929 returns true for a user that is assigned to a merge request1930 returns true for a user that is the author of a merge request1931 returns false for a user that is not the assignee or author1932 #cache_merge_request_closes_issues!1933 caches closed issues1934 when both internal and external issue trackers are enabled1935 does not cache issues from external trackers1936 caches an internal issue1937 when only external issue tracker enabled1938 does not cache issues from external trackers1939 does not cache an internal issue1940 #source_branch_sha1941 returns memoized value1942 with diffs1943 returns the sha of the source branch last commit1944 without diffs1945 returns the sha of the source branch last commit1946 when there is a tag name matching the branch name1947 returns the sha of the source branch last commit1948 when the merge request is being created1949 returns nil1950 #to_reference1951 returns a String reference to the object1952 supports a cross-project reference1953 returns a String reference with the full path1954 #raw_diffs1955 when there are MR diffs1956 delegates to the MR diffs1957 when there are no MR diffs1958 delegates to the compare object1959 #diffs1960 when there are MR diffs1961 delegates to the MR diffs1962 when there are no MR diffs1963 delegates to the compare object, setting expanded: true1964 #diff_size1965 when there are MR diffs1966 returns the correct count1967 returns the correct overflow count1968 does not perform highlighting1969 when there are no MR diffs1970 returns the correct count1971 returns the correct overflow count1972 does not perform highlighting1973 #related_notes1974 includes notes for commits1975 includes notes for commits from target project as well1976 #for_fork?1977 returns true if the merge request is for a fork1978 returns false if is not for a fork1979 #closes_issues1980 accesses the set of issues that will be closed on acceptance1981 only lists issues as to be closed if it targets the default branch1982 #issues_mentioned_but_not_closing1983 detects issues mentioned in description but not closed1984 when the project has an external issue tracker1985 detects issues mentioned in description but not closed1986 #work_in_progress?1987 detects the 'WIP ' prefix1988 detects the 'WIP:' prefix1989 detects the 'WIP: ' prefix1990 detects the '[WIP]' prefix1991 detects the '[WIP] ' prefix1992 detects the ' [WIP] WIP [WIP] WIP: WIP ' prefix1993 doesn't detect WIP for words starting with WIP1994 doesn't detect WIP for words containing with WIP1995 doesn't detect WIP by default1996 #wipless_title1997 removes the 'WIP ' prefix1998 is satisfies the #work_in_progress? method1999 removes the 'WIP:' prefix2000 is satisfies the #work_in_progress? method2001 removes the 'WIP: ' prefix2002 is satisfies the #work_in_progress? method2003 removes the '[WIP]' prefix2004 is satisfies the #work_in_progress? method2005 removes the '[WIP] ' prefix2006 is satisfies the #work_in_progress? method2007 removes the ' [WIP] WIP [WIP] WIP: WIP ' prefix2008 is satisfies the #work_in_progress? method2009 #wip_title2010 adds the WIP: prefix to the title2011 does not add the WIP: prefix multiple times2012 is satisfies the #work_in_progress? method2013 #approvers_left2014 returns correct value2015 returns correct value when there is a group approver2016 returns correct value when there is only a group approver2017 #number_of_potential_approvers2018 includes approvers set on the MR2019 includes approvers from group2020 includes project members with developer access and up2021 excludes users who have already approved the MR2022 excludes the MR author2023 excludes blocked users2024 when the project is part of a group2025 includes group members with developer access and up2026 #overall_approver_groups2027 returns a merge request group approver2028 returns a project group approver2029 returns a merge request approver if there is no project group approver2030 #all_approvers_including_groups2031 returns correct set of users2032 #approver_group_ids=2033 create approver_groups2034 #approvals_required2035 when the MR has approvals_before_merge set2036 uses the approvals_before_merge from the MR2037 when the MR doesn't have approvals_before_merge set2038 takes approvals_before_merge from the target project2039 #can_remove_source_branch?2040 can't be removed when its a protected branch2041 can't remove a root ref2042 is unable to remove the source branch for a project the user cannot push to2043 can be removed if the last commit is the head of the source branch2044 cannot be removed if the last commit is not also the head of the source branch2045 #merge_commit_message2046 includes merge information as the title2047 includes its title in the body2048 includes its closed issues in the body2049 includes its reference in the body2050 excludes multiple linebreak runs when description is blank2051 includes its description in the body2052 does not includes its description in the body2053 #reset_merge_when_pipeline_succeeds2054 sets the item to false2055 #hook_attrs2056 delegates to Gitlab::HookData::MergeRequestBuilder#build2057 #diverged_commits_count2058 when the target branch does not exist anymore2059 does not crash2060 returns 02061 diverged on same repository2062 counts commits that are on target branch but not on source branch2063 diverged on fork2064 counts commits that are on target branch but not on source branch2065 rebased on fork2066 counts commits that are on target branch but not on source branch2067 caching2068 caches the output2069 invalidates the cache when the source sha changes2070 invalidates the cache when the target sha changes2071 behaves like an editable mentionable2072 creates new cross-reference notes when the mentionable text is edited2073 behaves like a mentionable2074 generates a descriptive back-reference2075 extracts references from its reference property2076 creates cross-reference notes2077 behaves like a Taskable2078 with multiple tasks2079 returns the correct task status2080 #tasks?2081 returns true when object has tasks2082 returns false when object has no tasks2083 with nested tasks2084 returns the correct task status2085 with an incomplete task2086 returns the correct task status2087 with tasks that are not formatted correctly2088 returns the correct task status2089 with a complete task2090 returns the correct task status2091 #commit_shas2092 delegates to merge request diff2093 head pipeline2094 #head_pipeline2095 returns nil for MR without head_pipeline_id2096 when the source project does not exist2097 returns nil2098 #actual_head_pipeline2099 returns nil for MR with old pipeline2100 returns the pipeline for MR with recent pipeline2101 returns nil when source project does not exist2102 #has_ci?2103 has ci2104 returns true if MR has head_pipeline_id and commits2105 returns true if MR has any pipeline and commits2106 returns true if MR has CI service and commits2107 has no ci2108 returns false if MR has no CI service nor pipeline, and no commits2109 #all_pipelines2110 with single merge_request_diffs2111 behaves like returning pipelines with proper ordering2112 returns all pipelines2113 with multiple irrelevant merge_request_diffs2114 behaves like returning pipelines with proper ordering2115 returns all pipelines2116 with unsaved merge request2117 returns pipelines from diff_head_sha2118 #all_commit_shas2119 when merge request is persisted2120 with a completely different branch2121 behaves like returning all SHA2122 returns all SHAs from all merge_request_diffs2123 with a branch having no difference2124 behaves like returning all SHA2125 returns all SHAs from all merge_request_diffs2126 when merge request is not persisted2127 when compare commits are set in the service2128 returns commits from compare commits temporary data2129 when compare commits are not set in the service2130 returns array with diff head sha element only2131 #short_merge_commit_sha2132 returns short id when there is a merge_commit_sha2133 returns nil when there is no merge_commit_sha2134 #can_be_reverted?2135 when there is no merge_commit for the MR2136 returns false2137 when the MR has been merged2138 when there is no revert commit2139 returns true2140 when there is no merged_at for the MR2141 returns true2142 when there is a revert commit2143 when the revert commit is mentioned in a note after the MR was merged2144 returns false2145 when there is no merged_at for the MR2146 returns false2147 when the revert commit is mentioned in a note just before the MR was merged2148 returns false2149 when the revert commit is mentioned in a note long before the MR was merged2150 returns true2151 #participants2152 includes the merge request author2153 includes the authors of the notes2154 cached counts2155 updates when assignees change2156 #merge_async2157 enqueues MergeWorker job and updates merge_jid2158 #check_if_can_be_merged2159 when merge_status is unchecked2160 behaves like checking if can be merged2161 when it is not broken and has no conflicts2162 is marked as mergeable2163 when broken2164 becomes unmergeable2165 when it has conflicts2166 becomes unmergeable2167 when merge_status is unchecked2168 behaves like checking if can be merged2169 when it is not broken and has no conflicts2170 is marked as mergeable2171 when broken2172 becomes unmergeable2173 when it has conflicts2174 becomes unmergeable2175 #mergeable?2176 returns false if #mergeable_state? is false2177 return true if #mergeable_state? is true and the MR #can_be_merged? is true2178 when using approvals2179 return false if not approved2180 return true if approved2181 #mergeable_state?2182 checks if merge request can be merged2183 when not open2184 returns false2185 when working in progress2186 returns false2187 when broken2188 returns false2189 when failed2190 when #mergeable_ci_state? is false2191 returns false2192 when #mergeable_discussions_state? is false2193 returns false2194 returns true when skipping discussions check2195 #mergeable_ci_state?2196 when it is only allowed to merge when build is green2197 and a failed pipeline is associated2198 should be falsey2199 and a successful pipeline is associated2200 should be truthy2201 and a skipped pipeline is associated2202 should be truthy2203 when no pipeline is associated2204 should be truthy2205 when merges are not restricted to green builds2206 and a failed pipeline is associated2207 should be truthy2208 when no pipeline is associated2209 should be truthy2210 #mergeable_discussions_state?2211 when project.only_allow_merge_if_all_discussions_are_resolved == true2212 with all discussions resolved2213 returns true2214 with unresolved discussions2215 returns false2216 with no discussions2217 returns true2218 when project.only_allow_merge_if_all_discussions_are_resolved == false2219 with unresolved discussions2220 returns true2221 #environments_for2222 with multiple environments2223 selects deployed environments2224 with environments on source project2225 selects deployed environments2226 with environments on target project2227 selects deployed environments2228 without a diff_head_commit2229 returns an empty array2230 #reload_diff2231 does not change existing merge request diff2232 creates new merge request diff2233 executes diff cache service2234 calls update_diff_discussion_positions2235 when using the after_update hook to update2236 when the branches are updated2237 uses the new heads to generate the diff2238 #update_diff_discussion_positions2239 updates diff discussion positions2240 when resolve_outdated_diff_discussions is set2241 calls MergeRequests::ResolvedDiscussionNotificationService2242 approvals2243 on a project with only one member2244 when there is one approver2245 when that approver is the MR author2246 does not require approval for the merge request2247 does not allow the approver to approve the MR2248 does not allow a logged-out user to approve the MR2249 on a project with several members2250 when there is one approver required2251 when that approver is the MR author2252 requires one approval2253 does not allow the author to approve the MR2254 allows any other project member with write access to approve the MR2255 does not allow a logged-out user to approve the MR2256 when that approver is not the MR author2257 requires one approval2258 only allows the approver to approve the MR2259 when there are multiple approvers required2260 when one of those approvers is the MR author2261 requires the original number of approvals2262 does not allow the author to approve the MR2263 allows any other other approver to approve the MR2264 does not allow a logged-out user to approve the MR2265 when all of the valid approvers have approved the MR2266 requires the original number of approvals2267 does not allow the author to approve the MR2268 does not allow the approvers to approve the MR again2269 allows any other project member with write access to approve the MR2270 when more than the number of approvers have approved the MR2271 marks the MR as approved2272 clamps the approvals left at zero2273 when the approvers do not contain the MR author2274 requires the original number of approvals2275 only allows the approvers to approve the MR2276 when only 1 approval approved2277 only allows the approvers to approve the MR2278 when all approvals received2279 allows anyone with write access except for author to approve the MR2280 #branch_merge_base_commit2281 source and target branch exist2282 should eq "ae73cb07c9eeaf35924a10f713b364d32b2dd34f"2283 should be a kind of Commit2284 when the target branch does not exist2285 returns nil2286 #diff_refs2287 with diffs2288 does not touch the repository2289 returns expected diff_refs2290 #source_project_missing?2291 when the fork exists2292 should be falsey2293 when the source project is the same as the target project2294 should be falsey2295 when the fork does not exist2296 returns true2297 #merge_ongoing?2298 returns true when the merge request is locked2299 returns true when merge_id, MR is not merged and it has no running job2300 returns false when merge_jid is nil2301 returns false if MR is merged2302 returns false if there is no merge job running2303 #closed_without_fork?2304 when the merge request is closed2305 returns false if the fork exist2306 returns true if the fork does not exist2307 when the merge request is open2308 returns false2309 #reopenable?2310 when the merge request is closed2311 returns true2312 forked project2313 returns false if unforked2314 returns false if the source project is deleted2315 returns false if the merge request is merged2316 when the merge request is opened2317 returns false2318 #mergeable_with_quick_action?2319 when autocomplete_precheck is set to true2320 is mergeable by developer2321 is not mergeable by normal user2322 when autocomplete_precheck is set to false2323 is mergeable by developer2324 is not mergeable by normal user2325 closed MR2326 is not mergeable2327 MR with WIP2328 is not mergeable2329 sha differs from the MR diff_head_sha2330 is not mergeable2331 sha is not provided2332 is not mergeable2333 with pipeline ok2334 is mergeable2335 with failing pipeline2336 is not mergeable2337 with running pipeline2338 is mergeable2339 with approvals2340 is not mergeable when not approved2341 is mergeable when approved2342 #base_pipeline2343 returns latest pipeline2344 #has_commits?2345 returns true when merge request diff has commits2346 #has_no_commits?2347 returns true when merge request diff has 0 commits2348 #merge_request_diff_for2349 runs a single query on the initial call, and none afterwards2350 with diff refs2351 returns the diffs2352 with a commit SHA2353 returns the diffs2354 #version_params_for2355 when the diff refs are for an older merge request version2356 returns the diff ID for the version to show2357 when the diff refs are for a comparison between merge request versions2358 returns the diff ID and start sha of the versions to compare2359 when the diff refs are not for a merge request version2360 returns nil2361 #fetch_ref!2362 fetches the ref correctly2363 removing a merge request2364 refreshes the number of open merge requests of the target project2365 behaves like throttled touch2366 #touch2367 updates the updated_at timestamp2368 updates the object at most once per minute2369 state machine transitions2370 #unlock_mr2371 updates merge request head pipeline and sets merge_jid to nil2372 transition to cannot_be_merged2373 notifies, but does not notify again if rechecking still results in cannot_be_merged2374 notifies whenever merge request is newly unmergeable2375 check_state?2376 indicates whether MR is still checking for mergeability2377 #should_be_rebased?2378 returns false for the same source and target branches2379 #rebase_in_progress?2380 when Gitaly rebase_in_progress is enabled2381 behaves like checking whether a rebase is in progress2382Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/37/7a/377adeb4cd4096adc7ca64b533938cffc6294a9b3534f883b2336a26252cda9a.git/gitlab-worktree/rebase-260 (identifier rebase-260)2383HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2384 returns true when there is a current rebase directory2385Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/7a/20/7a20311cf7a4b222d436424480bc65dd0f9d2cefcbbb1fa148ca0d7e1d5bb55a.git/gitlab-worktree/rebase-261 (identifier rebase-261)2386HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2387 returns false when there is no rebase directory2388Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/8d/1e/8d1ede4f889e0ed6f0823d8c1821905b9de37a0f851dc270df0dbf72b3c93641.git/gitlab-worktree/rebase-262 (identifier rebase-262)2389HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2390 returns false when the rebase directory has expired2391Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/aa/e0/aae02129362d611717b6c00ad8d73bf820a0f6d88fca8e515cafe78d3a335965.git/gitlab-worktree/rebase-263 (identifier rebase-263)2392HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2393 returns false when the source project has been removed2394 when Gitaly rebase_in_progress is enabled2395 behaves like checking whether a rebase is in progress2396Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/15/60/156091ee0884f36de9836d58b6f05f357ec6ef0620c571577ac61f7beac35f8e.git/gitlab-worktree/rebase-264 (identifier rebase-264)2397HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2398 returns true when there is a current rebase directory2399Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/88/82/88820462180e5c893eff2ed73f4ec33e205d1cd5acc4d17fa7b2bca2495d3448.git/gitlab-worktree/rebase-265 (identifier rebase-265)2400HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2401 returns false when there is no rebase directory2402Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/8d/23/8d23cf6c86e834a7aa6eded54c26ce2bb2e74903538c61bdd5d2197997ab2f72.git/gitlab-worktree/rebase-266 (identifier rebase-266)2403HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2404 returns false when the rebase directory has expired2405Preparing /builds/gitlab-org/gitlab-ee/tmp/tests/repositories/@hashed/f1/0d/f10d91a7596bf5a6773579ff1306afdc363b0be08602c768907c09261cad3a56.git/gitlab-worktree/rebase-267 (identifier rebase-267)2406HEAD is now at b83d6e3 Merge branch 'branch-merged' into 'master'2407 returns false when the source project has been removed2408 #allow_collaboration2409 is false when pushing by a maintainer is not possible2410 is true when pushing by a maintainer is possible2411 #collaborative_push_possible?2412 does not allow maintainer to push if the source project is the same as the target2413 allows maintainer to push when both source and target are public2414 is not available for protected branches2415 #can_allow_collaboration?2416 is false if the user does not have push access to the source project2417 is true when the user has push access to the source project2418 #merge_participants2419 contains author2420 when merge_when_pipeline_succeeds? is true2421 when merge user is author2422 contains author only2423 when merge user and author are different users2424 contains author and merge user2425Pipeline2426Starting the Capybara driver server...2427 GET /:project/pipelines/:id2428 shows the pipeline graph2429 shows Pipeline tab pane as active2430 pipeline graph2431 when pipeline has running builds2432 shows a running icon and a cancel action for the running build2433 should be possible to cancel the running build2434 when pipeline has successful builds2435 shows the success icon and a retry action for the successful build2436 should be possible to retry the success job2437 when pipeline has failed builds2438 shows the failed icon and a retry action for the failed build2439 should be possible to retry the failed build2440 should include the failure reason2441 when pipeline has manual jobs2442 shows the skipped icon and a play action for the manual build2443 should be possible to play the manual job2444 when pipeline has external job2445 shows the success icon and the generic comit status build2446 page tabs2447 shows Pipeline, Jobs and Failed Jobs tabs with link2448 shows counter in Jobs tab2449 shows Pipeline tab as active2450 without permission to access builds2451 does not show failed jobs tab pane2452 retrying jobs2453 should not text "retried"2454 when retrying2455 should not text "Retry"2456 canceling jobs2457 should not have visible css ".ci-canceled"2458 when canceling2459 should not text "Cancel running"2460 when user does not have access to read jobs2461 GET /:project/pipelines/:id2462 shows the pipeline graph2463 should not link to job2464 GET /:project/pipelines/:id/builds2465 shows a list of jobs2466 shows jobs tab pane as active2467 page tabs2468 shows Pipeline and Jobs tabs with link2469 shows counter in Jobs tab2470 shows Jobs tab as active2471 retrying jobs2472 should not text "retried"2473 when retrying2474 should not text "Retry"2475 canceling jobs2476 should not have visible css ".ci-canceled"2477 when canceling2478 should not text "Cancel running"2479 playing manual job2480 should be pending2481 failed jobs2482 displays a tooltip with the failure reason2483 GET /:project/pipelines/:id/failures2484 with failed build2485 shows jobs tab pane as active2486 lists failed builds2487 shows build failure logs2488 shows the failure reason2489 shows retry button for failed build2490 when missing build logs2491 shows jobs tab pane as active2492 lists failed builds2493 does not show trace2494 without permission to access builds2495 when accessing failed jobs page2496 fails to access the page2497 without failures2498 displays the pipeline graph2499Task Lists2500 for Issues2501 multiple tasks2502 renders2503 contains the required selectors2504 is only editable by author2505 provides a summary on Issues#index2506 single incomplete task2507 renders2508 provides a summary on Issues#index2509 single complete task2510 renders2511 provides a summary on Issues#index2512 nested tasks2513 with Redcarpet2514 behaves like shared nested tasks2515 renders2516 solves tasks2517 with CommonMark2518 behaves like shared nested tasks2519 renders2520 solves tasks2521 for Notes2522 multiple tasks2523 renders for note body2524 contains the required selectors2525 is only editable by author2526 single incomplete task2527 renders for note body2528 single complete task2529 renders for note body2530 for Merge Requests2531 multiple tasks2532 renders for description2533 contains the required selectors2534 is only editable by author2535 provides a summary on MergeRequests#index2536 single incomplete task2537 renders for description2538 provides a summary on MergeRequests#index2539 single complete task2540 renders for description2541 provides a summary on MergeRequests#index2542Dropdown author2543 behavior2544 opens when the search bar has author:2545 closes when the search bar is unfocused2546 should show loading indicator when opened2547 should hide loading indicator when loaded2548 should load all the authors when opened2549 shows current user at top of dropdown2550 filtering2551 filters by name2552 filters by case insensitive name2553 filters by username with symbol2554 filters by username without symbol2555 filters by case insensitive username without symbol2556 selecting from dropdown2557 fills in the author username when the author has not been filtered2558 fills in the author username when the author has been filtered2559 selecting from dropdown without Ajax call2560 selects current user2561 input has existing content2562 opens author dropdown with existing search term2563 opens author dropdown with existing assignee2564 opens author dropdown with existing label2565 opens author dropdown with existing milestone2566 caching requests2567 caches requests after the first load2568CycleAnalytics#production2569 start condition: issue is created2570 end condition: merge request that closes issue is deployed to production2571 finds the median of available durations between the two conditions2572 when the data belongs to another project2573 returns nil2574 when the end condition happens before the start condition2575 returns nil2576 start condition NOT PRESENT: issue is created2577 end condition: merge request that closes issue is deployed to production2578 returns nil2579 start condition: issue is created2580 end condition NOT PRESENT: merge request that closes issue is deployed to production2581 returns nil2582 start condition: issue is created2583 end condition: production deploy happens after merge request is merged (along with other changes)2584 finds the median of available durations between the two conditions2585 when the data belongs to another project2586 returns nil2587 when the end condition happens before the start condition2588 returns nil2589 start condition NOT PRESENT: issue is created2590 end condition: production deploy happens after merge request is merged (along with other changes)2591 returns nil2592 start condition: issue is created2593 end condition NOT PRESENT: production deploy happens after merge request is merged (along with other changes)2594 returns nil2595 start condition: issue is created2596 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)2597 finds the median of available durations between the two conditions2598 when the data belongs to another project2599 returns nil2600 when the end condition happens before the start condition2601 returns nil2602 start condition NOT PRESENT: issue is created2603 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)2604 returns nil2605 start condition: issue is created2606 end condition NOT PRESENT: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)2607 returns nil2608 when none of the start / end conditions are matched2609 returns nil2610 when a regular merge request (that doesn't close the issue) is merged and deployed2611 returns nil2612 when the deployment happens to a non-production environment2613 returns nil2614User browses commits2615 renders commit2616 fill commit sha when click new tag from commit page2617 renders inline diff button when click side-by-side diff button2618 renders breadcrumbs on specific commit path2619 renders diff links to both the previous and current image2620 when commit has ci status2621 renders commit ci info2622 primary email2623 finds a commit by a primary email2624 secondary email2625 finds a commit by a secondary email2626 when the blob does not exist2627 shows a blank label2628 commits list2629 searches commit2630 renders commits atom feed2631 master branch2632 renders project commits2633 does not render create merge request button2634 when click the compare tab2635 does not render create merge request button2636 feature branch2637 when project does not have open merge requests2638 renders project commits2639 renders create merge request button2640 when click the compare tab2641 renders create merge request button2642 when project have open merge request2643 renders project commits2644 renders button to the merge request2645 when click the compare tab2646 renders button to the merge request2647API::Repositories2648 GET /projects/:id/repository/tree2649 when unauthenticated and project is public2650 behaves like repository tree2651 returns the repository tree2652 when ref does not exist2653 behaves like 404 response2654 returns 4042655 when repository is disabled2656 behaves like 403 response2657 returns 4032658 with recursive=12659 returns recursive project paths tree2660 when repository is disabled2661 behaves like 403 response2662 returns 4032663 when ref does not exist2664 behaves like 404 response2665 returns 4042666 when unauthenticated and project is private2667 behaves like 404 response2668 returns 4042669 when authenticated as a developer2670 behaves like repository tree2671 returns the repository tree2672 when ref does not exist2673 behaves like 404 response2674 returns 4042675 when repository is disabled2676 behaves like 403 response2677 returns 4032678 with recursive=12679 returns recursive project paths tree2680 when repository is disabled2681 behaves like 403 response2682 returns 4032683 when ref does not exist2684 behaves like 404 response2685 returns 4042686 when authenticated as a guest2687 behaves like 403 response2688 returns 4032689 GET /projects/:id/repository/blobs/:sha2690 when unauthenticated and project is public2691 behaves like repository blob2692 returns blob attributes as json2693 when sha does not exist2694 behaves like 404 response2695 returns 4042696 when repository is disabled2697 behaves like 403 response2698 returns 4032699 when unauthenticated and project is private2700 behaves like 404 response2701 returns 4042702 when authenticated as a developer2703 behaves like repository blob2704 returns blob attributes as json2705 when sha does not exist2706 behaves like 404 response2707 returns 4042708 when repository is disabled2709 behaves like 403 response2710 returns 4032711 when authenticated as a guest2712 behaves like 403 response2713 returns 4032714 GET /projects/:id/repository/blobs/:sha/raw2715 when unauthenticated and project is public2716 behaves like repository raw blob2717 returns the repository raw blob2718 when sha does not exist2719 behaves like 404 response2720 returns 4042721 when repository is disabled2722 behaves like 403 response2723 returns 4032724 when unauthenticated and project is private2725 behaves like 404 response2726 returns 4042727 when authenticated as a developer2728 behaves like repository raw blob2729 returns the repository raw blob2730 when sha does not exist2731 behaves like 404 response2732 returns 4042733 when repository is disabled2734 behaves like 403 response2735 returns 4032736 when authenticated as a guest2737 behaves like 403 response2738 returns 4032739 GET /projects/:id/repository/archive(.:format)?:sha2740 when unauthenticated and project is public2741 behaves like repository archive2742 returns the repository archive2743 returns the repository archive archive.zip2744 returns the repository archive archive.tar.bz22745 when sha does not exist2746 behaves like 404 response2747 returns 4042748 when unauthenticated and project is private2749 behaves like 404 response2750 returns 4042751 when authenticated as a developer2752 behaves like repository archive2753 returns the repository archive2754 returns the repository archive archive.zip2755 returns the repository archive archive.tar.bz22756 when sha does not exist2757 behaves like 404 response2758 returns 4042759 when authenticated as a guest2760 behaves like 403 response2761 returns 4032762 GET /projects/:id/repository/compare2763 when unauthenticated and project is public2764 behaves like repository compare2765 compares branches2766 compares tags2767 compares commits2768 compares commits in reverse order2769 compares same refs2770 when unauthenticated and project is private2771 behaves like 404 response2772 returns 4042773 when authenticated as a developer2774 behaves like repository compare2775 compares branches2776 compares tags2777 compares commits2778 compares commits in reverse order2779 compares same refs2780 when authenticated as a guest2781 behaves like 403 response2782 returns 4032783 GET /projects/:id/repository/contributors2784 when unauthenticated and project is public2785 behaves like repository contributors2786 returns valid data2787 using sorting2788 by commits desc2789 returns the repository contribuors sorted by commits desc2790 by name desc2791 returns the repository contribuors sorted by name asc case insensitive2792 when unauthenticated and project is private2793 behaves like 404 response2794 returns 4042795 when authenticated as a developer2796 behaves like repository contributors2797 returns valid data2798 using sorting2799 by commits desc2800 returns the repository contribuors sorted by commits desc2801 by name desc2802 returns the repository contribuors sorted by name asc case insensitive2803 when authenticated as a guest2804 behaves like 403 response2805 returns 4032806 Links header contains working URLs when no `order_by` nor `sort` is given2807 returns `Link` header that includes URLs with default value for `order_by` & `sort`2808ProjectsController2809 GET new2810 with an authenticated user2811 when namespace_id param is present2812 when user has access to the namespace2813 renders the template2814 when user does not have access to the namespace2815 responds with status 4042816 GET index2817 as a user2818 redirects to root page2819 as a guest2820 redirects to Explore page2821 GET show2822 user not project member2823 user does not have access to project2824 does not initialize notification setting2825 user has access to project2826 and does not have notification setting2827 initializes notification as disabled2828 and has notification setting2829 shows current notification setting2830 when project repository is disabled2831 shows wiki homepage2832 shows issues list page if wiki is disabled2833 shows customize workflow page if wiki and issues are disabled2834 shows activity if enabled by user2835 when the storage is not available2836 renders a 5032837 project with empty repo2838 with readme view set2839 renders the empty project view2840 with activity view set2841 renders the empty project view2842 with files view set2843 renders the empty project view2844 project with broken repo2845 with readme view set2846 renders the empty project view2847 with activity view set2848 renders the empty project view2849 with files view set2850 renders the empty project view2851 rendering default project view2852 renders the activity view2853 renders the files view2854 renders the readme view2855 project repo over limit2856 shows the over size limit warning message for project members2857 does not show the message for non members2858 when the url contains .atom2859 expects an error creating the project2860 when the project is pending deletions2861 renders a 404 error2862 redirection from http://someproject.git2863 redirects to project page (format.html)2864 when the project is forked and has a repository2865 does not increase the number of queries when the project is forked2866 #update2867 hashed storage2868 behaves like updating a project2869 updates Fast Forward Merge attributes2870 when only renaming a project path2871 sets the repository to the right path after a rename2872 when project has container repositories with tags2873 does not allow to rename the project2874 legacy storage2875 behaves like updating a project2876 updates Fast Forward Merge attributes2877 when only renaming a project path2878 sets the repository to the right path after a rename2879 when project has container repositories with tags2880 does not allow to rename the project2881 #transfer2882 updates namespace2883 when new namespace is empty2884 project namespace is not changed2885 #destroy2886 redirects to the dashboard2887 when the project is forked2888 closes all related merge requests2889 PUT #new_issuable_address for issue2890 has http status 2002891 changes the user incoming email token2892 changes projects new issue address2893 PUT #new_issuable_address for merge request2894 has http status 2002895 changes the user incoming email token2896 changes projects new merge request address2897 POST #toggle_star2898 toggles star if user is signed in2899 does nothing if user is not signed in2900 DELETE remove_fork2901 does nothing if user is not signed in2902 when signed in2903 with forked project2904 removes fork from project2905 when project not forked2906 does nothing if project was not forked2907 GET refs2908 gets a list of branches and tags2909 gets a list of branches, tags and commits2910 GET edit2911 does not allow an auditor user to access the page2912 allows an admin user to access the page2913 POST #preview_markdown2914 renders json in a correct format2915 #ensure_canonical_path2916 for a GET request2917 when requesting the canonical path2918 with exactly matching casing2919 loads the project2920 with different casing2921 redirects to the normalized path2922 when requesting a redirected path2923 redirects to the canonical path2924 redirects to the canonical path (testing non-show action)2925 for a POST request2926 when requesting the canonical path with different casing2927 does not 4042928 does not redirect to the correct casing2929 when requesting a redirected path2930 returns not found2931 for a DELETE request2932 when requesting the canonical path with different casing2933 does not 4042934 does not redirect to the correct casing2935 when requesting a redirected path2936 returns not found2937 #export2938 when project export is enabled2939 returns 3022940 when project export is disabled2941 returns 4042942 #download_export2943 when project export is enabled2944 returns 3022945 when project export is disabled2946 returns 4042947 #remove_export2948 when project export is enabled2949 returns 3022950 when project export is disabled2951 returns 4042952 #generate_new_export2953 when project export is enabled2954 returns 3022955 when project export is disabled2956 returns 4042957GitTagPushService2958 Push tags2959 flushes general cached data2960 flushes the tags cache2961 Pipelines2962 creates a new pipeline2963 Git Tag Push Data2964 annotated tag2965 should include {:object_kind => "tag_push"}2966 should include {:ref => "refs/tags/v1.1.0"}2967 should include {:before => "0000000000000000000000000000000000000000"}2968 should include {:after => "8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b"}2969 should include {:message => "Version 1.1.0"}2970 should include {:user_id => 1123}2971 should include {:user_name => "John Doe1091"}2972 should include {:project_id => 608}2973 with repository data2974 should include {:name => "project610"}2975 should include {:url => "git@localhost:namespace593/project611.git"}2976 should include {:description => nil}2977 should include {:homepage => "http://localhost/namespace595/project613"}2978 with commits2979 should be a kind of Array2980 has 1 element2981 the commit2982 should include {:id => "5937ac0a7beb003549fc5fd26fc247adbce4a52e"}2983 should include {:message => "Add submodule from gitlab.com\n\nSigned-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>\n"}2984 should include {:timestamp => "2014-02-27T09:01:38Z"}2985 should include {:url => "http://localhost/namespace601/project619/commit/5937ac0a7beb003549fc5fd26fc247adbce4a52e"}2986 with a author2987 should include {:name => "Dmitriy Zaporozhets"}2988 should include {:email => "dmitriy.zaporozhets@gmail.com"}2989 lightweight tag2990 should include {:object_kind => "tag_push"}2991 should include {:ref => "refs/tags/light-tag"}2992 should include {:before => "0000000000000000000000000000000000000000"}2993 should include {:after => "5937ac0a7beb003549fc5fd26fc247adbce4a52e"}2994 should include {:message => ""}2995 should include {:user_id => 1163}2996 should include {:user_name => "John Doe1131"}2997 should include {:project_id => 628}2998 with repository data2999 should include {:name => "project630"}3000 should include {:url => "git@localhost:namespace613/project631.git"}3001 should include {:description => nil}3002 should include {:homepage => "http://localhost/namespace615/project633"}3003 with commits3004 should be a kind of Array3005 has 1 element3006 the commit3007 should include {:id => "5937ac0a7beb003549fc5fd26fc247adbce4a52e"}3008 should include {:message => "Add submodule from gitlab.com\n\nSigned-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>\n"}3009 should include {:timestamp => "2014-02-27T09:01:38Z"}3010 should include {:url => "http://localhost/namespace621/project639/commit/5937ac0a7beb003549fc5fd26fc247adbce4a52e"}3011 with a author3012 should include {:name => "Dmitriy Zaporozhets"}3013 should include {:email => "dmitriy.zaporozhets@gmail.com"}3014 Webhooks3015 execute webhooks3016 when pushing tags3017KubernetesService3018 Associations3019 should belong to project3020 Validations3021 when service is active3022 should not validate that :namespace cannot be empty/falsy3023 should validate that :api_url cannot be empty/falsy3024 should validate that :token cannot be empty/falsy3025 namespace format3026 validates foo as valid3027 validates 1foo as valid3028 validates foo1 as valid3029 validates foo-bar as valid3030 validates -foo as invalid3031 validates foo- as invalid3032 validates aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa as valid3033 validates aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa as invalid3034 validates a.b as invalid3035 validates a*b as invalid3036 validates FOO as valid3037 when service is inactive3038 should not validate that :api_url cannot be empty/falsy3039 should not validate that :token cannot be empty/falsy3040 with a deprecated service3041 should not update attributes3042 should include an error with a deprecation message3043 with a non-deprecated service3044 should update attributes3045 with an active and deprecated service3046 should deactive the service3047 should not include a deprecation message as error3048 should update attributes3049 with a template service3050 should update attributes3051 #initialize_properties3052 without a project3053 leaves the namespace unset3054 #fields3055 as template3056 sets the namespace to the default3057 with associated project3058 sets the namespace to the default3059 #actual_namespace3060 behaves like a correctly formatted namespace3061 returns a valid Kubernetes namespace name3062 when the project path contains forbidden characters3063 behaves like a correctly formatted namespace3064 returns a valid Kubernetes namespace name3065 when namespace is specified3066 behaves like a correctly formatted namespace3067 returns a valid Kubernetes namespace name3068 when service is not assigned to project3069 does not return namespace3070 #test3071 with path prefix in api_url3072 tests with the prefix3073 with custom CA certificate3074 is added to the certificate store3075 success3076 reads the discovery endpoint3077 failure3078 fails to read the discovery endpoint3079 #predefined_variables3080 namespace is provided3081 behaves like setting variables3082 sets the variables3083 no namespace provided3084 sets the KUBE_NAMESPACE3085 behaves like setting variables3086 sets the variables3087 #terminals3088 with invalid pods3089 returns no terminals3090 with valid pods3091 returns terminals3092 uses max session time from settings3093 #calculate_reactive_cache3094 when service is inactive3095 should be nil3096 when kubernetes responds with valid pods and deployments3097 should eq {:pods=>[{"metadata"=>{"name"=>"kube-pod", "generate_name"=>"generated-name-with-suffix", "creationTi... "status"=>{"observedGeneration"=>4, "replicas"=>3, "updatedReplicas"=>3, "availableReplicas"=>3}}]}3098 when kubernetes responds with 500s3099 should raise Kubeclient::HttpError3100 when kubernetes responds with 404s3101 should eq {:pods=>[], :deployments=>[]}3102 #deprecated?3103 with an active kubernetes service3104 should return false3105 with a inactive kubernetes service3106 should return true3107 #deprecation_message3108 should indicate the service is deprecated3109 if the services is active3110 should return a message3111 if the service is not active3112 should return a message3113 #deprecated?3114 with an active kubernetes service3115 should return false3116 with a inactive kubernetes service3117 should return true3118 #deprecation_message3119 should indicate the service is deprecated3120 if the services is active3121 should return a message3122 if the service is not active3123 should return a message3124Merge request > User sees pipelines3125 pipeline tab3126 with pipelines3127 user visits merge request pipelines tab3128 pipeline sha does not equal last commit sha3129 without pipelines3130 user visits merge request page3131 race condition3132 when pipeline and merge request were created simultaneously3133 user sees pipeline in merge request widget3134User interacts with deploy keys3135 viewing deploy keys3136 when project has keys3137 shows deploy keys3138 when another project has keys3139 shows deploy keys3140 when there are public deploy keys3141 shows public deploy keys3142 adding deploy keys3143 adds new key3144 attaching existing keys3145 from another project3146 behaves like attaches a key3147 attaches key3148 when keys are public3149 behaves like attaches a key3150 attaches key3151Project fork3152 allows user to fork project3153 disables fork button when user has exceeded project limit3154 forks the project3155 shows the forked project on the list3156 when the project is private3157 renders private forks of the project3158 when the user already forked the project3159 renders error3160 master in group3161 allows user to fork project to group or to user namespace3162 allows user to fork project to group and not user when exceeded project limit3163 links to the fork if the project was already forked within that namespace3164Projects > Settings > Integration settings3165 for developer3166 to be disallowed to view3167 for master3168 Webhooks3169 show list of webhooks3170 create webhook3171 edit existing webhook3172 test existing webhook3173 remove existing webhook3174 from webhooks list page3175 from webhook edit page3176 Webhook logs3177 show list of hook logs3178 show hook log details3179 retry hook log3180New issue3181 when identified as a spam3182 creates an issue after solving reCaptcha3183 when not identified as a spam3184 creates an issue3185Users > User browses projects on user page3186 hides loading spinner after load3187 paginates projects3188 when not signed in3189 renders user public project3190 when signed in as another user3191 renders user public and internal projects3192 when signed in as user3193 personal projects3194 renders all user projects3195 contributed projects3196 when user has contributions3197 renders contributed project3198RemoteMirror3199 URL validation3200 with a valid URL3201 should be valid3202 with an invalid URL3203 should not be valid3204 does not allow url with an invalid user3205 encrypting credentials3206 when setting URL for a first time32072018-06-26T13:49:58.508Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_1 from project 78632082018-06-26T13:49:58.517Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_1 from project 7863209 stores the URL without credentials32102018-06-26T13:49:58.707Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_2 from project 78732112018-06-26T13:49:58.713Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_2 from project 7873212 stores the credentials on a separate field32132018-06-26T13:49:58.901Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_3 from project 78832142018-06-26T13:49:58.907Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_3 from project 7883215 handles credentials with large content3216 when updating the URL32172018-06-26T13:49:59.340Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_4 from project 78932182018-06-26T13:49:59.346Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_4 from project 78932192018-06-26T13:49:59.362Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_098e6314ed5550c9df89ac7dcf486ee6 from project 78932202018-06-26T13:49:59.368Z 1621 TID-go1dhunu9 INFO: Remote remote_mirror_098e6314ed5550c9df89ac7dcf486ee6 was successfully removed from project 7893221 allows a new URL without credentials32222018-06-26T13:49:59.560Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_5 from project 79032232018-06-26T13:49:59.568Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_5 from project 79032242018-06-26T13:49:59.583Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_03f79b4917930597d020be3585384dc2 from project 79032252018-06-26T13:49:59.593Z 1621 TID-go1dhunu9 INFO: Remote remote_mirror_03f79b4917930597d020be3585384dc2 was successfully removed from project 7903226 allows a new URL with credentials32272018-06-26T13:49:59.777Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_6 from project 79132282018-06-26T13:49:59.783Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_6 from project 79132292018-06-26T13:49:59.798Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_3580db2ed7670ac8e8be4cd8f0c5e913 from project 79132302018-06-26T13:49:59.804Z 1621 TID-go1dhunu9 INFO: Remote remote_mirror_3580db2ed7670ac8e8be4cd8f0c5e913 was successfully removed from project 7913231 updates the remote config if credentials changed32322018-06-26T13:49:59.998Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_7 from project 79232332018-06-26T13:50:00.035Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_7 from project 79232342018-06-26T13:50:00.053Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_fce7351d4fd390f1d1678a598a8a77a1 from project 79232352018-06-26T13:50:00.060Z 1621 TID-go1dhunu9 INFO: Remote remote_mirror_fce7351d4fd390f1d1678a598a8a77a1 was successfully removed from project 7923236 removes previous remote3237 #remote_name3238 when remote name is persisted in the database32392018-06-26T13:50:00.240Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_8 from project 79332402018-06-26T13:50:00.246Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_8 from project 7933241 returns remote name with random value3242 when remote name is not persisted in the database32432018-06-26T13:50:00.435Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_9 from project 79432442018-06-26T13:50:00.441Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_9 from project 7943245 returns remote name with remote mirror id3246 when remote is not persisted in the database3247 returns nil3248 #safe_url3249 when URL contains credentials32502018-06-26T13:50:00.812Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_10 from project 79632512018-06-26T13:50:00.819Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_10 from project 7963252 masks the credentials3253 when URL does not contain credentials32542018-06-26T13:50:01.014Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_11 from project 79732552018-06-26T13:50:01.020Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_11 from project 7973256 shows the full URL3257 when remote mirror gets destroyed32582018-06-26T13:50:01.215Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_12 from project 79832592018-06-26T13:50:01.222Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_12 from project 79832602018-06-26T13:50:01.227Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_a0b9d9f2af9f165fd3f0fd4dbf5586e2 from project 79832612018-06-26T13:50:01.233Z 1621 TID-go1dhunu9 INFO: Remote remote_mirror_a0b9d9f2af9f165fd3f0fd4dbf5586e2 was successfully removed from project 7983262 removes remote3263 stuck mirrors32642018-06-26T13:50:01.446Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_13 from project 79932652018-06-26T13:50:01.453Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_13 from project 7993266 includes mirrors stuck in started with no last_update_at set3267 #sync3268 with remote mirroring disabled32692018-06-26T13:50:01.461Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_14 from project 80032702018-06-26T13:50:01.461Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_14 from project 8003271 returns nil3272 as a Geo secondary32732018-06-26T13:50:01.686Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_15 from project 80132742018-06-26T13:50:01.686Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_15 from project 8013275 returns nil3276 with remote mirroring enabled3277 with only protected branches enabled3278 when it did not update in the last minute32792018-06-26T13:50:01.892Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_16 from project 80232802018-06-26T13:50:01.892Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_16 from project 8023281 schedules a RepositoryUpdateRemoteMirrorWorker to run now3282 when it did update in the last minute32832018-06-26T13:50:02.107Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_17 from project 80332842018-06-26T13:50:02.107Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_17 from project 8033285 schedules a RepositoryUpdateRemoteMirrorWorker to run in the next minute3286 with only protected branches disabled3287 when it did not update in the last 5 minutes32882018-06-26T13:50:02.316Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_18 from project 80432892018-06-26T13:50:02.316Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_18 from project 8043290 schedules a RepositoryUpdateRemoteMirrorWorker to run now3291 when it did update within the last 5 minutes32922018-06-26T13:50:02.555Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_19 from project 80532932018-06-26T13:50:02.555Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_19 from project 8053294 schedules a RepositoryUpdateRemoteMirrorWorker to run in the next 5 minutes3295 #updated_since?3296 when remote mirror does not have status failed32972018-06-26T13:50:02.771Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_20 from project 80632982018-06-26T13:50:02.771Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_20 from project 8063299 returns true when last update started after the timestamp33002018-06-26T13:50:02.988Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_21 from project 80733012018-06-26T13:50:02.988Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_21 from project 8073302 returns false when last update started before the timestamp3303 when remote mirror has status failed33042018-06-26T13:50:03.203Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_22 from project 80833052018-06-26T13:50:03.203Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_22 from project 8083306 returns false when last update started after the timestamp3307 no project33082018-06-26T13:50:03.674Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_23 from project 80933092018-06-26T13:50:03.680Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_23 from project 8093310 includes mirror with a project in pending_delete3311Dashboard access3312 GET /dashboard3313 should be allowed for admin3314 should be allowed for user3315 should be allowed for auditor3316 should be denied for visitor3317 GET /dashboard/issues3318 should be allowed for admin3319 should be allowed for user3320 should be allowed for auditor3321 should be denied for visitor3322 GET /dashboard/merge_requests3323 should be allowed for admin3324 should be allowed for user3325 should be allowed for auditor3326 should be denied for visitor3327 GET /dashboard/projects/starred3328 should be allowed for admin3329 should be allowed for user3330 should be allowed for auditor3331 should be denied for visitor3332 GET /help3333 should be allowed for admin3334 should be allowed for user3335 should be allowed for auditor3336 should be allowed for visitor3337 GET /koding3338 with Koding enabled3339 should be allowed for admin3340 should be allowed for user3341 should be allowed for auditor3342 should be denied for visitor3343 GET /projects/new3344 should be allowed for admin3345 should be allowed for user3346 should be allowed for auditor3347 should be denied for visitor3348 GET /groups/new3349 should be allowed for admin3350 should be allowed for user3351 should be allowed for auditor3352 should be denied for visitor3353 GET /profile/groups3354 should be allowed for admin3355 should be allowed for user3356 should be allowed for auditor3357 should be denied for visitor3358Merge Requests > User filters by assignees3359 filtering by assignee:none3360 applies the filter3361 filtering by assignee:@username3362 applies the filter3363Multi-file editor upload file3364 uploads text file3365PipelineDetailsEntity3366 inherrits from PipelineEntity3367 #as_json3368 when pipeline is empty3369 contains details3370 contains flags3371 when pipeline is retryable3372 user has ability to retry pipeline3373 retryable flag is true3374 user does not have ability to retry pipeline3375 retryable flag is false3376 when pipeline is cancelable3377 user has ability to cancel pipeline3378 cancelable flag is true3379 user does not have ability to cancel pipeline3380 cancelable flag is false3381 when pipeline has commit statuses3382 contains stages3383 when pipeline has YAML errors3384 contains information about error3385 contains flag that indicates there are errors3386 when pipeline does not have YAML errors3387 does not contain field that normally holds an error3388 contains flag that indicates there are no errors3389 when pipeline is triggered by other pipeline3390 contains an information about depedent pipeline3391 when pipeline triggered other pipeline3392 contains an information about depedent pipeline3393Dashboard Archived Project3394 renders non archived projects3395 renders all projects3396 renders only archived projects3397 searchs archived projects3398Gitlab::ExclusiveLease3399 #try_obtain3400 cannot obtain twice before the lease has expired3401 can obtain after the lease has expired3402 #try_obtain_with_ttl3403 cannot obtain twice before the lease has expired3404 can obtain after the lease has expired3405 #renew3406 returns true when we have the existing lease3407 returns false when we dont have a lease3408 #exists?3409 returns true for an existing lease3410 returns false for a lease that does not exist3411 #same_uuid?3412 returns true for an existing lease3413 returns false for a lease that does not exist3414 .get_uuid3415 gets the uuid if lease with the key associated exists3416 returns false if the lease does not exist3417 .cancel3418 can cancel a lease3419 #ttl3420 returns the TTL of the Redis key3421 returns nil when the lease does not exist3422 .reset_all!3423 removes all existing lease keys from redis3424No Password Alert3425 with internal auth enabled3426 when user has a password3427 shows no alert3428 when user has password automatically set3429 shows a password alert3430 with internal auth disabled3431 when user has no personal access tokens3432 has a personal access token alert3433 when user has a personal access token3434 shows no alert3435 when user is ldap user3436 shows no alert3437User searches for wiki pages3438 does not show top right search form3439 finds a page3440Dashboard::TodosController3441 GET #index3442 project authorization3443 renders 404 when user does not have read access on given project3444 renders 404 when given project does not exists3445 renders 200 when filtering for "any project" todos3446 renders 200 when user has access on given project3447 when using pagination3448 redirects to last_page if page number is larger than number of pages3449 goes to the correct page3450 does not redirect to external sites when provided a host field3451 when providing no filters3452 does not perform a query to get the page count, but gets that from the user3453 when providing filters3454 performs a query to get the correct page count3455 PATCH #restore3456 restores the todo to pending state3457 PATCH #bulk_restore3458 restores the todos to pending state3459Projects > Settings > User manages project members3460 cancels a team member3461 imports a team from another project3462 shows all members of project shared group3463Project Issues Calendar Feed3464 GET /issues3465 when authenticated3466 with no referer3467 renders calendar feed3468 with GitLab as the referer3469 renders calendar feed as text/plain3470 when authenticated via personal access token3471 renders calendar feed3472 when authenticated via feed token3473 renders calendar feed3474 issue with due date3475 renders issue fields3476DroneCiService3477 associations3478 should belong to project3479 should have one service_hook3480 validations3481 active3482 should validate that :token cannot be empty/falsy3483 should validate that :drone_url cannot be empty/falsy3484 behaves like issue tracker service URL attribute3485 should allow :drone_url to be ‹"https://example.com"›3486 should not allow :drone_url to be ‹"example.com"›3487 should not allow :drone_url to be ‹"ftp://example.com"›3488 should not allow :drone_url to be ‹"herp-and-derp"›3489 inactive3490 should not validate that :token cannot be empty/falsy3491 should not validate that :drone_url cannot be empty/falsy3492 service page/path methods3493 should eq "http://drone.example.com/gitlab/namespace819/project/redirect/commits/2ab7834c?branch=dev"3494 should eq "http://drone.example.com/gitlab/namespace820/project/commits/2ab7834c?branch=dev&access_token=secret"3495 #commit_status3496 returns the contents of the reactive cache3497 #calculate_reactive_cache3498 #commit_status3499 sets commit status to :error when status is 5003500 sets commit status to :error when status is 4043501 sets commit status to :canceled when returned status is "killed"3502 sets commit status to :failed when returned status is "failure"3503 sets commit status to :failed when returned status is "error"3504 sets commit status to "success" when returned status is "success"3505 execute3506 should receive service_hook(*(any args)) 1 time3507Projects::UpdateRemoteMirrorService3508 #execute35092018-06-26T13:50:51.968Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_24 from project 87935102018-06-26T13:50:51.974Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_24 from project 8793511 fetches the remote repository35122018-06-26T13:50:52.419Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_25 from project 88135132018-06-26T13:50:52.424Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_25 from project 8813514 succeeds3515 Syncing branches35162018-06-26T13:50:52.894Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_26 from project 88335172018-06-26T13:50:52.899Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_26 from project 8833518 push all the branches the first time35192018-06-26T13:50:53.438Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_27 from project 88535202018-06-26T13:50:53.443Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_27 from project 8853521 does not push anything is remote is up to date35222018-06-26T13:50:53.899Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_28 from project 88735232018-06-26T13:50:53.904Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_28 from project 8873524 sync new branches35252018-06-26T13:50:54.380Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_29 from project 88935262018-06-26T13:50:54.385Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_29 from project 8893527 sync updated branches3528 when push only protected branches option is set35292018-06-26T13:50:54.837Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_30 from project 89135302018-06-26T13:50:54.841Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_30 from project 8913531 sync updated protected branches35322018-06-26T13:50:55.299Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_31 from project 89335332018-06-26T13:50:55.303Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_31 from project 8933534 does not sync unprotected branches3535 when branch exists in local and remote repo3536 when it has diverged35372018-06-26T13:50:55.738Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_32 from project 89535382018-06-26T13:50:55.743Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_32 from project 8953539 syncs branches3540 for delete3541 when branch exists in local and remote repo35422018-06-26T13:50:56.223Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_33 from project 89735432018-06-26T13:50:56.227Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_33 from project 8973544 deletes the branch from remote repo3545 when push only protected branches option is set3546 when branch exists in local and remote repo35472018-06-26T13:50:56.658Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_34 from project 89935482018-06-26T13:50:56.662Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_34 from project 8993549 deletes the protected branch from remote repo35502018-06-26T13:50:57.104Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_35 from project 90135512018-06-26T13:50:57.109Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_35 from project 9013552 does not delete the unprotected branch from remote repo3553 when branch only exists on remote repo3554 when it has diverged35552018-06-26T13:50:57.552Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_36 from project 90335562018-06-26T13:50:57.556Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_36 from project 9033557 does not delete the remote branch3558 when it has not diverged35592018-06-26T13:50:57.984Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_37 from project 90535602018-06-26T13:50:57.989Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_37 from project 9053561 deletes the remote branch3562 when branch only exists on remote repo3563 when it has diverged35642018-06-26T13:50:58.445Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_38 from project 90735652018-06-26T13:50:58.450Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_38 from project 9073566 does not delete the remote branch3567 when it has not diverged35682018-06-26T13:50:58.898Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_39 from project 90935692018-06-26T13:50:58.903Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_39 from project 9093570 deletes the remote branch3571 Syncing tags3572 when there are not tags to push35732018-06-26T13:50:59.369Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_40 from project 91135742018-06-26T13:50:59.374Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_40 from project 9113575 does not try to push tags3576 when there are some tags to push35772018-06-26T13:50:59.804Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_41 from project 91335782018-06-26T13:50:59.808Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_41 from project 9133579 pushes tags to remote3580 when there are some tags to delete35812018-06-26T13:51:00.357Z 1621 TID-go1dhunu9 INFO: Removing remote remote_mirror_42 from project 91535822018-06-26T13:51:00.361Z 1621 TID-go1dhunu9 ERROR: Could not remove remote remote_mirror_42 from project 9153583 deletes tags from remote3584MilestonesFinder3585 it returns milestones for projects3586 returns milestones for groups3587 milestones for groups and project3588 returns milestones for groups and projects3589 orders milestones by due date3590 with filters3591 filters by active state3592 filters by closed state3593 filters by title3594 #find_by3595 finds a single milestone3596Gitlab::HashedStorage::Migrator3597 #bulk_schedule3598 schedules job to StorageMigratorWorker3599 #bulk_migrate3600 enqueue jobs to ProjectMigrateHashedStorageWorker3601 sets projects as read only3602 rescues and log exceptions3603 delegates each project in specified range to #migrate3604 #migrate3605 enqueues job to ProjectMigrateHashedStorageWorker3606 rescues and log exceptions3607 sets project as read only36082018-06-26T13:51:04.615Z 1621 TID-go1dhunu9 INFO: Skipped attachments migration from '/builds/gitlab-org/gitlab-ee/tmp/tests/public/uploads/namespace878/project911' to '/builds/gitlab-org/gitlab-ee/tmp/tests/public/uploads/@hashed/6d/09/6d094db49a6e224278dd87d28835b66af6d2db257522e22c105b829cf368af98', source path doesn't exist or is not a directory (PROJECT_ID=944)3609 migrate project3610Gitlab::GitalyClient::RepositoryService3611 #exists?3612 sends a repository_exists message3613 #cleanup3614 sends a cleanup message3615 #garbage_collect3616 sends a garbage_collect message3617 #repack_full3618 sends a repack_full message3619 #repack_incremental3620 sends a repack_incremental message3621 #repository_size3622 sends a repository_size message3623 #apply_gitattributes3624 sends an apply_gitattributes message3625 #info_attributes3626 reads the info attributes3627 #has_local_branches?3628 sends a has_local_branches message3629 #fetch_remote3630 sends a fetch_remote_request message3631 #rebase_in_progress?3632 sends a repository_rebase_in_progress message3633 #squash_in_progress?3634 sends a repository_squash_in_progress message3635 #calculate_checksum3636 sends a calculate_checksum message3637 #create_from_snapshot3638 sends a create_repository_from_snapshot message3639 #raw_changes_between3640 sends a create_repository_from_snapshot message3641StageEntity3642 #as_json3643 contains relevant fields3644 contains detailed status3645 contains valid name3646 contains path to the stage3647 contains path to the stage dropdown3648 contains stage title3649 when the jobs should be grouped3650 exposes the group key3651 and contains commit status3652 contains commit status3653Files::DeleteService3654 #execute3655 when the file's last commit sha does not match the supplied last_commit_sha3656 returns a hash with the correct error message and a :error status3657 when the file's last commit sha does match the supplied last_commit_sha3658 behaves like successfully deletes the file3659 returns a hash with the :success status3660 deletes the file3661 when the last_commit_sha is not supplied3662 behaves like successfully deletes the file3663 returns a hash with the :success status3664 deletes the file3665Projects::HashedStorage::MigrateRepositoryService3666 #execute3667 when succeeds3668 renames project and wiki repositories3669 updates project to be hashed and not read-only3670 move operation is called for both repositories3671 writes project full path to .git/config3672 when one move fails3673 rollsback repositories to original name3674 when rollback fails3675 does not try to move nil repository over hashed3676User activates Atlassian Bamboo CI3677 activates service3678Banzai::Redactor3679 #redact3680 when reference not visible to user3681 redacts an array of documents3682 replaces redacted reference with inner HTML3683 returns <a> tag with original href if it is originally a link reference3684 when data-original attribute provided3685 replaces redacted reference with original content3686 when project is in pending delete3687 redacts an issue attached3688 redacts an external issue3689 when reference visible to user3690 does not redact an array of documents3691 when the user cannot read cross project3692 skips links to issues within the same project3693 removes info from a cross project reference3694 #redact_nodes3695 redacts an Array of nodes3696 #nodes_visible_to_user3697 returns a Set containing the visible nodes3698Project Issues RSS3699 when signed in3700 behaves like it has an RSS button with current_user's feed token3701 shows the RSS button with current_user's feed token3702 behaves like an autodiscoverable RSS feed with current_user's feed token3703 has an RSS autodiscovery link tag with current_user's feed token3704 when signed out3705 behaves like it has an RSS button without a feed token3706 shows the RSS button without a feed token3707 behaves like an autodiscoverable RSS feed without a feed token3708 has an RSS autodiscovery link tag without a feed token3709Project Tree RSS3710 when signed in3711 behaves like an autodiscoverable RSS feed with current_user's feed token3712 has an RSS autodiscovery link tag with current_user's feed token3713 when signed out3714 behaves like an autodiscoverable RSS feed without a feed token3715 has an RSS autodiscovery link tag without a feed token3716Constraints::UserUrlConstrainer3717 #matches?3718 valid request3719 should be truthy3720 invalid request3721 should be falsey3722 when the request matches a redirect route3723 and is a GET request3724 should be truthy3725 and is NOT a GET request3726 should be falsey3727Knapsack report was generated. Preview:3728{3729 "spec/models/merge_request_spec.rb": 123.21269106864929,3730 "spec/features/projects/pipelines/pipeline_spec.rb": 74.36678194999695,3731 "spec/features/task_lists_spec.rb": 51.92938184738159,3732 "spec/features/issues/filtered_search/dropdown_author_spec.rb": 33.5640664100647,3733 "spec/models/cycle_analytics/production_spec.rb": 29.91214108467102,3734 "spec/features/projects/commits/user_browses_commits_spec.rb": 34.83449840545654,3735 "spec/requests/api/repositories_spec.rb": 21.046733379364014,3736 "spec/controllers/projects_controller_spec.rb": 21.346567153930664,3737 "spec/services/git_tag_push_service_spec.rb": 14.35833740234375,3738 "spec/models/project_services/kubernetes_service_spec.rb": 12.698744297027588,3739 "spec/features/merge_request/user_sees_pipelines_spec.rb": 7.984889507293701,3740 "spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb": 12.305084466934204,3741 "spec/features/projects/fork_spec.rb": 12.337372064590454,3742 "spec/features/projects/settings/integration_settings_spec.rb": 9.294923067092896,3743 "spec/features/issues/spam_issues_spec.rb": 8.334089279174805,3744 "spec/features/users/user_browses_projects_on_user_page_spec.rb": 10.50042724609375,3745 "spec/models/remote_mirror_spec.rb": 5.811154842376709,3746 "spec/features/security/dashboard_access_spec.rb": 5.346593141555786,3747 "spec/features/merge_requests/user_filters_by_assignees_spec.rb": 4.222930431365967,3748 "spec/features/projects/tree/upload_file_spec.rb": 5.046159744262695,3749 "spec/serializers/pipeline_details_entity_spec.rb": 4.167431116104126,3750 "spec/features/dashboard/archived_projects_spec.rb": 3.367098331451416,3751 "spec/lib/gitlab/exclusive_lease_spec.rb": 4.053745746612549,3752 "spec/features/projects/show/no_password_spec.rb": 3.7787930965423584,3753 "spec/features/search/user_searches_for_wiki_pages_spec.rb": 3.0120725631713867,3754 "spec/controllers/dashboard/todos_controller_spec.rb": 3.846118688583374,3755 "spec/features/projects/settings/user_manages_project_members_spec.rb": 3.026393175125122,3756 "spec/features/ics/project_issues_spec.rb": 1.635615587234497,3757 "spec/models/project_services/drone_ci_service_spec.rb": 1.9557092189788818,3758 "spec/services/projects/update_remote_mirror_service_spec.rb": 8.733298063278198,3759 "spec/finders/milestones_finder_spec.rb": 1.847710132598877,3760 "spec/lib/gitlab/hashed_storage/migrator_spec.rb": 1.7417137622833252,3761 "spec/lib/gitlab/gitaly_client/repository_service_spec.rb": 1.787060022354126,3762 "spec/serializers/stage_entity_spec.rb": 1.9642457962036133,3763 "spec/services/files/delete_service_spec.rb": 1.6374421119689941,3764 "spec/services/projects/hashed_storage/migrate_repository_service_spec.rb": 1.2985525131225586,3765 "spec/features/projects/services/user_activates_atlassian_bamboo_ci_spec.rb": 1.6731324195861816,3766 "spec/lib/banzai/redactor_spec.rb": 1.4296798706054688,3767 "spec/features/projects/issues/rss_spec.rb": 1.3291120529174805,3768 "spec/features/projects/tree/rss_spec.rb": 0.9674868583679199,3769 "spec/lib/constraints/user_url_constrainer_spec.rb": 0.141268253326416023770}3771Knapsack global time execution for tests: 09m 11s3772Pending: (Failures listed here are expected and do not affect your suite's status)3773 1) MergeRequest modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required does not validate presence3774 # No reason given3775 # ./spec/support/shared_examples/models/atomic_internal_id_spec.rb:333776Finished in 9 minutes 48 seconds (files took 23.11 seconds to load)3777949 examples, 0 failures, 1 pending3779$ date3780Tue Jun 26 13:51:31 UTC 20183783coverage/: found 5 matching files 3784knapsack/: found 5 matching files 3785rspec_flaky/: found 4 matching files 3786WARNING: tmp/capybara/: no matching files 3787Uploading artifacts to coordinator... ok id=77521933 responseStatus=201 Created token=_zda2FEH3788Job succeeded