spinach-pg 1 2
Passed Started
by
@vsizov

Valery Sizov
1Running with gitlab-runner 10.7.0 (7c273476)2 on docker-auto-scale-com 9538b0ab3Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.7-golang-1.9-git-2.17-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6 ...4Starting service postgres:9.2 ...5Pulling docker image postgres:9.2 ...6Using docker image sha256:18cdbca56093c841d28e629eb8acd4224afe0aa4c57c839351fc181888b8a470 for postgres:9.2 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:98bd7cfc43b8ef0ff130465e3d5427c0771002c2f35a6a9b62cb2d04602bed0a for redis:alpine ...10Waiting for services to be up and running...11Pulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.7-golang-1.9-git-2.17-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6 ...12Using docker image sha256:fdb36b9f5c89bf331a5884b2bc013addfeac245b65b8051a0e6652fb6d46f8a9 for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.7-golang-1.9-git-2.17-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6 ... 13 Running on runner-9538b0ab-project-278964-concurrent-0 via runner-9538b0ab-gsrm-1525258268-81e5049e...
00:02
14 Fetching changes for 5841-geo-basesyncservice-should-prune-the-geo-temporary-directory-before-fetching with git depth set to 20...
00:11
15Removing .gitlab_shell_secret16Removing .gitlab_workhorse_secret17Removing .yarn-cache/18Removing config/database.yml19Removing config/database_geo.yml20Removing config/gitlab.yml21Removing config/redis.cache.yml22Removing config/redis.queues.yml23Removing config/redis.shared_state.yml24Removing config/resque.yml25Removing config/secrets.yml26Removing coverage/27Removing knapsack/28Removing log/api_json.log29Removing log/application.log30Removing log/gitaly-test.log31Removing log/grpc.log32Removing log/test_json.log33Removing node_modules/34Removing public/assets/35Removing rspec_flaky/36Removing shared/tmp/37Removing tmp/tests/38Removing vendor/ruby/39HEAD is now at ee63e98d SamlProvider has many linked Identities41 * [new branch] 5841-geo-basesyncservice-should-prune-the-geo-temporary-directory-before-fetching -> origin/5841-geo-basesyncservice-should-prune-the-geo-temporary-directory-before-fetching42Checking out 73af10c1 as 5841-geo-basesyncservice-should-prune-the-geo-temporary-directory-before-fetching...43Skipping Git submodules setup45Downloading cache.zip from http://runners-cache-4-internal.gitlab.com:444/runner/project/278964/ruby-2.3.7-with-yarn 46Successfully extracted cache48Downloading artifacts from coordinator... ok id=66066850 responseStatus=200 OK token=gcRYWULP49Downloading artifacts for compile-assets (66066853)...50Downloading artifacts from coordinator... ok id=66066853 responseStatus=200 OK token=ZUdCpByW51Downloading artifacts for setup-test-env (66066854)...52Downloading artifacts from coordinator... ok id=66066854 responseStatus=200 OK token=S7SxDrPM53WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 55Bundler version 1.16.156$ date57Wed May 2 14:40:18 UTC 201858$ source scripts/utils.sh59$ date60Wed May 2 14:40:18 UTC 201861$ source scripts/prepare_build.sh62The Gemfile's dependencies are satisfied63Successfully installed knapsack-1.16.0641 gem installed65NOTICE: database "gitlabhq_test" does not exist, skipping66DROP DATABASE67CREATE DATABASE68CREATE ROLE69GRANT70-- enable_extension("plpgsql")71 -> 0.0138s72-- enable_extension("pg_trgm")73 -> 0.0148s74-- create_table("abuse_reports", {:force=>:cascade})75 -> 0.0121s76-- create_table("appearances", {:force=>:cascade})77 -> 0.0090s78-- create_table("application_settings", {:force=>:cascade})79 -> 0.0509s80-- create_table("approvals", {:force=>:cascade})81 -> 0.0062s82-- add_index("approvals", ["merge_request_id"], {:name=>"index_approvals_on_merge_request_id", :using=>:btree})83 -> 0.0056s84-- create_table("approver_groups", {:force=>:cascade})85 -> 0.0089s86-- add_index("approver_groups", ["group_id"], {:name=>"index_approver_groups_on_group_id", :using=>:btree})87 -> 0.0057s88-- add_index("approver_groups", ["target_id", "target_type"], {:name=>"index_approver_groups_on_target_id_and_target_type", :using=>:btree})89 -> 0.0063s90-- create_table("approvers", {:force=>:cascade})91 -> 0.0079s92-- add_index("approvers", ["target_id", "target_type"], {:name=>"index_approvers_on_target_id_and_target_type", :using=>:btree})93 -> 0.0056s94-- add_index("approvers", ["user_id"], {:name=>"index_approvers_on_user_id", :using=>:btree})95 -> 0.0048s96-- create_table("audit_events", {:force=>:cascade})97 -> 0.0076s98-- add_index("audit_events", ["entity_id", "entity_type"], {:name=>"index_audit_events_on_entity_id_and_entity_type", :using=>:btree})99 -> 0.0055s100-- create_table("award_emoji", {:force=>:cascade})101 -> 0.0081s102-- add_index("award_emoji", ["awardable_type", "awardable_id"], {:name=>"index_award_emoji_on_awardable_type_and_awardable_id", :using=>:btree})103 -> 0.0055s104-- add_index("award_emoji", ["user_id", "name"], {:name=>"index_award_emoji_on_user_id_and_name", :using=>:btree})105 -> 0.0053s106-- create_table("badges", {:force=>:cascade})107 -> 0.0086s108-- add_index("badges", ["group_id"], {:name=>"index_badges_on_group_id", :using=>:btree})109 -> 0.0051s110-- add_index("badges", ["project_id"], {:name=>"index_badges_on_project_id", :using=>:btree})111 -> 0.0049s112-- create_table("board_assignees", {:force=>:cascade})113 -> 0.0060s114-- add_index("board_assignees", ["board_id", "assignee_id"], {:name=>"index_board_assignees_on_board_id_and_assignee_id", :unique=>true, :using=>:btree})115 -> 0.0053s116-- create_table("board_labels", {:force=>:cascade})117 -> 0.0054s118-- add_index("board_labels", ["board_id", "label_id"], {:name=>"index_board_labels_on_board_id_and_label_id", :unique=>true, :using=>:btree})119 -> 0.0055s120-- create_table("boards", {:force=>:cascade})121 -> 0.0099s122-- add_index("boards", ["group_id"], {:name=>"index_boards_on_group_id", :using=>:btree})123 -> 0.0052s124-- add_index("boards", ["milestone_id"], {:name=>"index_boards_on_milestone_id", :using=>:btree})125 -> 0.0051s126-- add_index("boards", ["project_id"], {:name=>"index_boards_on_project_id", :using=>:btree})127 -> 0.0062s128-- create_table("broadcast_messages", {:force=>:cascade})129 -> 0.0110s130-- add_index("broadcast_messages", ["starts_at", "ends_at", "id"], {:name=>"index_broadcast_messages_on_starts_at_and_ends_at_and_id", :using=>:btree})131 -> 0.0064s132-- create_table("chat_names", {:force=>:cascade})133 -> 0.0081s134-- 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})135 -> 0.0054s136-- add_index("chat_names", ["user_id", "service_id"], {:name=>"index_chat_names_on_user_id_and_service_id", :unique=>true, :using=>:btree})137 -> 0.0053s138-- create_table("chat_teams", {:force=>:cascade})139 -> 0.0083s140-- add_index("chat_teams", ["namespace_id"], {:name=>"index_chat_teams_on_namespace_id", :unique=>true, :using=>:btree})141 -> 0.0052s142-- create_table("ci_build_trace_section_names", {:force=>:cascade})143 -> 0.0081s144-- 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})145 -> 0.0055s146-- create_table("ci_build_trace_sections", {:force=>:cascade})147 -> 0.0052s148-- 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})149 -> 0.0051s150-- add_index("ci_build_trace_sections", ["project_id"], {:name=>"index_ci_build_trace_sections_on_project_id", :using=>:btree})151 -> 0.0050s152-- add_index("ci_build_trace_sections", ["section_name_id"], {:name=>"index_ci_build_trace_sections_on_section_name_id", :using=>:btree})153 -> 0.0050s154-- create_table("ci_builds", {:force=>:cascade})155 -> 0.0094s156-- add_index("ci_builds", ["artifacts_expire_at"], {:name=>"index_ci_builds_on_artifacts_expire_at", :where=>"(artifacts_file <> ''::text)", :using=>:btree})157 -> 0.0055s158-- add_index("ci_builds", ["auto_canceled_by_id"], {:name=>"index_ci_builds_on_auto_canceled_by_id", :using=>:btree})159 -> 0.0051s160-- 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})161 -> 0.0055s162-- add_index("ci_builds", ["commit_id", "status", "type"], {:name=>"index_ci_builds_on_commit_id_and_status_and_type", :using=>:btree})163 -> 0.0057s164-- add_index("ci_builds", ["commit_id", "type", "name", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_name_and_ref", :using=>:btree})165 -> 0.0055s166-- add_index("ci_builds", ["commit_id", "type", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_ref", :using=>:btree})167 -> 0.0051s168-- add_index("ci_builds", ["project_id", "id"], {:name=>"index_ci_builds_on_project_id_and_id", :using=>:btree})169 -> 0.0051s170-- add_index("ci_builds", ["protected"], {:name=>"index_ci_builds_on_protected", :using=>:btree})171 -> 0.0053s172-- add_index("ci_builds", ["runner_id"], {:name=>"index_ci_builds_on_runner_id", :using=>:btree})173 -> 0.0055s174-- add_index("ci_builds", ["stage_id"], {:name=>"index_ci_builds_on_stage_id", :using=>:btree})175 -> 0.0052s176-- add_index("ci_builds", ["status", "type", "runner_id"], {:name=>"index_ci_builds_on_status_and_type_and_runner_id", :using=>:btree})177 -> 0.0052s178-- add_index("ci_builds", ["status"], {:name=>"index_ci_builds_on_status", :using=>:btree})179 -> 0.0056s180-- add_index("ci_builds", ["token"], {:name=>"index_ci_builds_on_token", :unique=>true, :using=>:btree})181 -> 0.0053s182-- add_index("ci_builds", ["updated_at"], {:name=>"index_ci_builds_on_updated_at", :using=>:btree})183 -> 0.0048s184-- add_index("ci_builds", ["user_id"], {:name=>"index_ci_builds_on_user_id", :using=>:btree})185 -> 0.0054s186-- create_table("ci_builds_metadata", {:force=>:cascade})187 -> 0.0061s188-- add_index("ci_builds_metadata", ["build_id"], {:name=>"index_ci_builds_metadata_on_build_id", :unique=>true, :using=>:btree})189 -> 0.0055s190-- add_index("ci_builds_metadata", ["project_id"], {:name=>"index_ci_builds_metadata_on_project_id", :using=>:btree})191 -> 0.0051s192-- create_table("ci_group_variables", {:force=>:cascade})193 -> 0.0088s194-- add_index("ci_group_variables", ["group_id", "key"], {:name=>"index_ci_group_variables_on_group_id_and_key", :unique=>true, :using=>:btree})195 -> 0.0062s196-- create_table("ci_job_artifacts", {:force=>:cascade})197 -> 0.0080s198-- add_index("ci_job_artifacts", ["expire_at", "job_id"], {:name=>"index_ci_job_artifacts_on_expire_at_and_job_id", :using=>:btree})199 -> 0.0054s200-- add_index("ci_job_artifacts", ["file_store"], {:name=>"index_ci_job_artifacts_on_file_store", :using=>:btree})201 -> 0.0057s202-- add_index("ci_job_artifacts", ["job_id", "file_type"], {:name=>"index_ci_job_artifacts_on_job_id_and_file_type", :unique=>true, :using=>:btree})203 -> 0.0051s204-- add_index("ci_job_artifacts", ["project_id"], {:name=>"index_ci_job_artifacts_on_project_id", :using=>:btree})205 -> 0.0048s206-- create_table("ci_pipeline_chat_data", {:id=>:bigserial, :force=>:cascade})207 -> 0.0078s208-- add_index("ci_pipeline_chat_data", ["pipeline_id"], {:name=>"index_ci_pipeline_chat_data_on_pipeline_id", :unique=>true, :using=>:btree})209 -> 0.0048s210-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})211 -> 0.0081s212-- 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})213 -> 0.0066s214-- create_table("ci_pipeline_schedules", {:force=>:cascade})215 -> 0.0099s216-- add_index("ci_pipeline_schedules", ["next_run_at", "active"], {:name=>"index_ci_pipeline_schedules_on_next_run_at_and_active", :using=>:btree})217 -> 0.0063s218-- add_index("ci_pipeline_schedules", ["project_id"], {:name=>"index_ci_pipeline_schedules_on_project_id", :using=>:btree})219 -> 0.0055s220-- create_table("ci_pipeline_variables", {:force=>:cascade})221 -> 0.0082s222-- add_index("ci_pipeline_variables", ["pipeline_id", "key"], {:name=>"index_ci_pipeline_variables_on_pipeline_id_and_key", :unique=>true, :using=>:btree})223 -> 0.0051s224-- create_table("ci_pipelines", {:force=>:cascade})225 -> 0.0094s226-- add_index("ci_pipelines", ["auto_canceled_by_id"], {:name=>"index_ci_pipelines_on_auto_canceled_by_id", :using=>:btree})227 -> 0.0053s228-- add_index("ci_pipelines", ["pipeline_schedule_id"], {:name=>"index_ci_pipelines_on_pipeline_schedule_id", :using=>:btree})229 -> 0.0049s230-- add_index("ci_pipelines", ["project_id", "ref", "status", "id"], {:name=>"index_ci_pipelines_on_project_id_and_ref_and_status_and_id", :using=>:btree})231 -> 0.0058s232-- add_index("ci_pipelines", ["project_id", "sha"], {:name=>"index_ci_pipelines_on_project_id_and_sha", :using=>:btree})233 -> 0.0055s234-- add_index("ci_pipelines", ["project_id"], {:name=>"index_ci_pipelines_on_project_id", :using=>:btree})235 -> 0.0055s236-- add_index("ci_pipelines", ["status"], {:name=>"index_ci_pipelines_on_status", :using=>:btree})237 -> 0.0053s238-- add_index("ci_pipelines", ["user_id"], {:name=>"index_ci_pipelines_on_user_id", :using=>:btree})239 -> 0.0057s240-- create_table("ci_runner_projects", {:force=>:cascade})241 -> 0.0059s242-- add_index("ci_runner_projects", ["project_id"], {:name=>"index_ci_runner_projects_on_project_id", :using=>:btree})243 -> 0.0059s244-- add_index("ci_runner_projects", ["runner_id"], {:name=>"index_ci_runner_projects_on_runner_id", :using=>:btree})245 -> 0.0064s246-- create_table("ci_runners", {:force=>:cascade})247 -> 0.0116s248-- add_index("ci_runners", ["contacted_at"], {:name=>"index_ci_runners_on_contacted_at", :using=>:btree})249 -> 0.0056s250-- add_index("ci_runners", ["is_shared"], {:name=>"index_ci_runners_on_is_shared", :using=>:btree})251 -> 0.0054s252-- add_index("ci_runners", ["locked"], {:name=>"index_ci_runners_on_locked", :using=>:btree})253 -> 0.0053s254-- add_index("ci_runners", ["token"], {:name=>"index_ci_runners_on_token", :using=>:btree})255 -> 0.0049s256-- create_table("ci_sources_pipelines", {:force=>:cascade})257 -> 0.0054s258-- add_index("ci_sources_pipelines", ["pipeline_id"], {:name=>"index_ci_sources_pipelines_on_pipeline_id", :using=>:btree})259 -> 0.0089s260-- add_index("ci_sources_pipelines", ["project_id"], {:name=>"index_ci_sources_pipelines_on_project_id", :using=>:btree})261 -> 0.0054s262-- add_index("ci_sources_pipelines", ["source_job_id"], {:name=>"index_ci_sources_pipelines_on_source_job_id", :using=>:btree})263 -> 0.0050s264-- add_index("ci_sources_pipelines", ["source_pipeline_id"], {:name=>"index_ci_sources_pipelines_on_source_pipeline_id", :using=>:btree})265 -> 0.0048s266-- add_index("ci_sources_pipelines", ["source_project_id"], {:name=>"index_ci_sources_pipelines_on_source_project_id", :using=>:btree})267 -> 0.0050s268-- create_table("ci_stages", {:force=>:cascade})269 -> 0.0091s270-- add_index("ci_stages", ["pipeline_id", "name"], {:name=>"index_ci_stages_on_pipeline_id_and_name", :unique=>true, :using=>:btree})271 -> 0.0049s272-- add_index("ci_stages", ["pipeline_id"], {:name=>"index_ci_stages_on_pipeline_id", :using=>:btree})273 -> 0.0048s274-- add_index("ci_stages", ["project_id"], {:name=>"index_ci_stages_on_project_id", :using=>:btree})275 -> 0.0046s276-- create_table("ci_trigger_requests", {:force=>:cascade})277 -> 0.0077s278-- add_index("ci_trigger_requests", ["commit_id"], {:name=>"index_ci_trigger_requests_on_commit_id", :using=>:btree})279 -> 0.0050s280-- create_table("ci_triggers", {:force=>:cascade})281 -> 0.0082s282-- add_index("ci_triggers", ["project_id"], {:name=>"index_ci_triggers_on_project_id", :using=>:btree})283 -> 0.0050s284-- create_table("ci_variables", {:force=>:cascade})285 -> 0.0094s286-- 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})287 -> 0.0062s288-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})289 -> 0.0089s290-- add_index("cluster_platforms_kubernetes", ["cluster_id"], {:name=>"index_cluster_platforms_kubernetes_on_cluster_id", :unique=>true, :using=>:btree})291 -> 0.0051s292-- create_table("cluster_projects", {:force=>:cascade})293 -> 0.0054s294-- add_index("cluster_projects", ["cluster_id"], {:name=>"index_cluster_projects_on_cluster_id", :using=>:btree})295 -> 0.0055s296-- add_index("cluster_projects", ["project_id"], {:name=>"index_cluster_projects_on_project_id", :using=>:btree})297 -> 0.0061s298-- create_table("cluster_providers_gcp", {:force=>:cascade})299 -> 0.0084s300-- add_index("cluster_providers_gcp", ["cluster_id"], {:name=>"index_cluster_providers_gcp_on_cluster_id", :unique=>true, :using=>:btree})301 -> 0.0050s302-- create_table("clusters", {:force=>:cascade})303 -> 0.0089s304-- add_index("clusters", ["enabled"], {:name=>"index_clusters_on_enabled", :using=>:btree})305 -> 0.0054s306-- add_index("clusters", ["user_id"], {:name=>"index_clusters_on_user_id", :using=>:btree})307 -> 0.0050s308-- create_table("clusters_applications_helm", {:force=>:cascade})309 -> 0.0088s310-- create_table("clusters_applications_ingress", {:force=>:cascade})311 -> 0.0094s312-- create_table("clusters_applications_prometheus", {:force=>:cascade})313 -> 0.0088s314-- create_table("clusters_applications_runners", {:force=>:cascade})315 -> 0.0091s316-- add_index("clusters_applications_runners", ["cluster_id"], {:name=>"index_clusters_applications_runners_on_cluster_id", :unique=>true, :using=>:btree})317 -> 0.0053s318-- add_index("clusters_applications_runners", ["runner_id"], {:name=>"index_clusters_applications_runners_on_runner_id", :using=>:btree})319 -> 0.0053s320-- create_table("container_repositories", {:force=>:cascade})321 -> 0.0082s322-- add_index("container_repositories", ["project_id", "name"], {:name=>"index_container_repositories_on_project_id_and_name", :unique=>true, :using=>:btree})323 -> 0.0052s324-- add_index("container_repositories", ["project_id"], {:name=>"index_container_repositories_on_project_id", :using=>:btree})325 -> 0.0049s326-- create_table("conversational_development_index_metrics", {:force=>:cascade})327 -> 0.0111s328-- create_table("deploy_keys_projects", {:force=>:cascade})329 -> 0.0070s330-- add_index("deploy_keys_projects", ["project_id"], {:name=>"index_deploy_keys_projects_on_project_id", :using=>:btree})331 -> 0.0054s332-- create_table("deploy_tokens", {:force=>:cascade})333 -> 0.0094s334-- 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})335 -> 0.0055s336-- add_index("deploy_tokens", ["token"], {:name=>"index_deploy_tokens_on_token", :unique=>true, :using=>:btree})337 -> 0.0050s338-- create_table("deployments", {:force=>:cascade})339 -> 0.0085s340-- add_index("deployments", ["created_at"], {:name=>"index_deployments_on_created_at", :using=>:btree})341 -> 0.0052s342-- add_index("deployments", ["environment_id", "id"], {:name=>"index_deployments_on_environment_id_and_id", :using=>:btree})343 -> 0.0064s344-- add_index("deployments", ["environment_id", "iid", "project_id"], {:name=>"index_deployments_on_environment_id_and_iid_and_project_id", :using=>:btree})345 -> 0.0052s346-- add_index("deployments", ["project_id", "iid"], {:name=>"index_deployments_on_project_id_and_iid", :unique=>true, :using=>:btree})347 -> 0.0050s348-- create_table("emails", {:force=>:cascade})349 -> 0.0083s350-- add_index("emails", ["confirmation_token"], {:name=>"index_emails_on_confirmation_token", :unique=>true, :using=>:btree})351 -> 0.0050s352-- add_index("emails", ["email"], {:name=>"index_emails_on_email", :unique=>true, :using=>:btree})353 -> 0.0049s354-- add_index("emails", ["user_id"], {:name=>"index_emails_on_user_id", :using=>:btree})355 -> 0.0070s356-- create_table("environments", {:force=>:cascade})357 -> 0.0095s358-- add_index("environments", ["project_id", "name"], {:name=>"index_environments_on_project_id_and_name", :unique=>true, :using=>:btree})359 -> 0.0053s360-- add_index("environments", ["project_id", "slug"], {:name=>"index_environments_on_project_id_and_slug", :unique=>true, :using=>:btree})361 -> 0.0067s362-- create_table("epic_issues", {:force=>:cascade})363 -> 0.0062s364-- add_index("epic_issues", ["epic_id"], {:name=>"index_epic_issues_on_epic_id", :using=>:btree})365 -> 0.0053s366-- add_index("epic_issues", ["issue_id"], {:name=>"index_epic_issues_on_issue_id", :unique=>true, :using=>:btree})367 -> 0.0051s368-- create_table("epic_metrics", {:force=>:cascade})369 -> 0.0053s370-- add_index("epic_metrics", ["epic_id"], {:name=>"index_epic_metrics", :using=>:btree})371 -> 0.0053s372-- create_table("epics", {:force=>:cascade})373 -> 0.0090s374-- add_index("epics", ["assignee_id"], {:name=>"index_epics_on_assignee_id", :using=>:btree})375 -> 0.0057s376-- add_index("epics", ["author_id"], {:name=>"index_epics_on_author_id", :using=>:btree})377 -> 0.0054s378-- add_index("epics", ["end_date"], {:name=>"index_epics_on_end_date", :using=>:btree})379 -> 0.0050s380-- add_index("epics", ["group_id"], {:name=>"index_epics_on_group_id", :using=>:btree})381 -> 0.0050s382-- add_index("epics", ["iid"], {:name=>"index_epics_on_iid", :using=>:btree})383 -> 0.0055s384-- add_index("epics", ["milestone_id"], {:name=>"index_milestone", :using=>:btree})385 -> 0.0052s386-- add_index("epics", ["start_date"], {:name=>"index_epics_on_start_date", :using=>:btree})387 -> 0.0051s388-- create_table("events", {:force=>:cascade})389 -> 0.0086s390-- add_index("events", ["action"], {:name=>"index_events_on_action", :using=>:btree})391 -> 0.0055s392-- add_index("events", ["author_id", "project_id"], {:name=>"index_events_on_author_id_and_project_id", :using=>:btree})393 -> 0.0050s394-- add_index("events", ["project_id", "id"], {:name=>"index_events_on_project_id_and_id", :using=>:btree})395 -> 0.0061s396-- add_index("events", ["target_type", "target_id"], {:name=>"index_events_on_target_type_and_target_id", :using=>:btree})397 -> 0.0051s398-- create_table("feature_gates", {:force=>:cascade})399 -> 0.0086s400-- add_index("feature_gates", ["feature_key", "key", "value"], {:name=>"index_feature_gates_on_feature_key_and_key_and_value", :unique=>true, :using=>:btree})401 -> 0.0053s402-- create_table("features", {:force=>:cascade})403 -> 0.0097s404-- add_index("features", ["key"], {:name=>"index_features_on_key", :unique=>true, :using=>:btree})405 -> 0.0056s406-- create_table("fork_network_members", {:force=>:cascade})407 -> 0.0054s408-- add_index("fork_network_members", ["fork_network_id"], {:name=>"index_fork_network_members_on_fork_network_id", :using=>:btree})409 -> 0.0052s410-- add_index("fork_network_members", ["project_id"], {:name=>"index_fork_network_members_on_project_id", :unique=>true, :using=>:btree})411 -> 0.0054s412-- create_table("fork_networks", {:force=>:cascade})413 -> 0.0081s414-- add_index("fork_networks", ["root_project_id"], {:name=>"index_fork_networks_on_root_project_id", :unique=>true, :using=>:btree})415 -> 0.0052s416-- create_table("forked_project_links", {:force=>:cascade})417 -> 0.0053s418-- add_index("forked_project_links", ["forked_to_project_id"], {:name=>"index_forked_project_links_on_forked_to_project_id", :unique=>true, :using=>:btree})419 -> 0.0053s420-- create_table("gcp_clusters", {:force=>:cascade})421 -> 0.0094s422-- add_index("gcp_clusters", ["project_id"], {:name=>"index_gcp_clusters_on_project_id", :unique=>true, :using=>:btree})423 -> 0.0055s424-- create_table("geo_event_log", {:id=>:bigserial, :force=>:cascade})425 -> 0.0067s426-- add_index("geo_event_log", ["repositories_changed_event_id"], {:name=>"index_geo_event_log_on_repositories_changed_event_id", :using=>:btree})427 -> 0.0054s428-- add_index("geo_event_log", ["repository_created_event_id"], {:name=>"index_geo_event_log_on_repository_created_event_id", :using=>:btree})429 -> 0.0049s430-- add_index("geo_event_log", ["repository_deleted_event_id"], {:name=>"index_geo_event_log_on_repository_deleted_event_id", :using=>:btree})431 -> 0.0049s432-- add_index("geo_event_log", ["repository_renamed_event_id"], {:name=>"index_geo_event_log_on_repository_renamed_event_id", :using=>:btree})433 -> 0.0051s434-- add_index("geo_event_log", ["repository_updated_event_id"], {:name=>"index_geo_event_log_on_repository_updated_event_id", :using=>:btree})435 -> 0.0050s436-- create_table("geo_hashed_storage_attachments_events", {:id=>:bigserial, :force=>:cascade})437 -> 0.0076s438-- add_index("geo_hashed_storage_attachments_events", ["project_id"], {:name=>"index_geo_hashed_storage_attachments_events_on_project_id", :using=>:btree})439 -> 0.0054s440-- create_table("geo_hashed_storage_migrated_events", {:id=>:bigserial, :force=>:cascade})441 -> 0.0083s442-- add_index("geo_hashed_storage_migrated_events", ["project_id"], {:name=>"index_geo_hashed_storage_migrated_events_on_project_id", :using=>:btree})443 -> 0.0049s444-- create_table("geo_job_artifact_deleted_events", {:id=>:bigserial, :force=>:cascade})445 -> 0.0082s446-- add_index("geo_job_artifact_deleted_events", ["job_artifact_id"], {:name=>"index_geo_job_artifact_deleted_events_on_job_artifact_id", :using=>:btree})447 -> 0.0049s448-- create_table("geo_lfs_object_deleted_events", {:id=>:bigserial, :force=>:cascade})449 -> 0.0078s450-- add_index("geo_lfs_object_deleted_events", ["lfs_object_id"], {:name=>"index_geo_lfs_object_deleted_events_on_lfs_object_id", :using=>:btree})451 -> 0.0052s452-- create_table("geo_node_namespace_links", {:force=>:cascade})453 -> 0.0053s454-- 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})455 -> 0.0052s456-- add_index("geo_node_namespace_links", ["geo_node_id"], {:name=>"index_geo_node_namespace_links_on_geo_node_id", :using=>:btree})457 -> 0.0047s458-- create_table("geo_node_statuses", {:force=>:cascade})459 -> 0.0099s460-- add_index("geo_node_statuses", ["geo_node_id"], {:name=>"index_geo_node_statuses_on_geo_node_id", :unique=>true, :using=>:btree})461 -> 0.0055s462-- create_table("geo_nodes", {:force=>:cascade})463 -> 0.0107s464-- add_index("geo_nodes", ["access_key"], {:name=>"index_geo_nodes_on_access_key", :using=>:btree})465 -> 0.0058s466-- add_index("geo_nodes", ["primary"], {:name=>"index_geo_nodes_on_primary", :using=>:btree})467 -> 0.0053s468-- add_index("geo_nodes", ["url"], {:name=>"index_geo_nodes_on_url", :unique=>true, :using=>:btree})469 -> 0.0051s470-- create_table("geo_repositories_changed_events", {:id=>:bigserial, :force=>:cascade})471 -> 0.0053s472-- add_index("geo_repositories_changed_events", ["geo_node_id"], {:name=>"index_geo_repositories_changed_events_on_geo_node_id", :using=>:btree})473 -> 0.0051s474-- create_table("geo_repository_created_events", {:id=>:bigserial, :force=>:cascade})475 -> 0.0084s476-- add_index("geo_repository_created_events", ["project_id"], {:name=>"index_geo_repository_created_events_on_project_id", :using=>:btree})477 -> 0.0054s478-- create_table("geo_repository_deleted_events", {:id=>:bigserial, :force=>:cascade})479 -> 0.0078s480-- add_index("geo_repository_deleted_events", ["project_id"], {:name=>"index_geo_repository_deleted_events_on_project_id", :using=>:btree})481 -> 0.0053s482-- create_table("geo_repository_renamed_events", {:id=>:bigserial, :force=>:cascade})483 -> 0.0083s484-- add_index("geo_repository_renamed_events", ["project_id"], {:name=>"index_geo_repository_renamed_events_on_project_id", :using=>:btree})485 -> 0.0049s486-- create_table("geo_repository_updated_events", {:id=>:bigserial, :force=>:cascade})487 -> 0.0082s488-- add_index("geo_repository_updated_events", ["project_id"], {:name=>"index_geo_repository_updated_events_on_project_id", :using=>:btree})489 -> 0.0047s490-- add_index("geo_repository_updated_events", ["source"], {:name=>"index_geo_repository_updated_events_on_source", :using=>:btree})491 -> 0.0053s492-- create_table("geo_upload_deleted_events", {:id=>:bigserial, :force=>:cascade})493 -> 0.0073s494-- add_index("geo_upload_deleted_events", ["upload_id"], {:name=>"index_geo_upload_deleted_events_on_upload_id", :using=>:btree})495 -> 0.0082s496-- create_table("gpg_key_subkeys", {:force=>:cascade})497 -> 0.0079s498-- add_index("gpg_key_subkeys", ["fingerprint"], {:name=>"index_gpg_key_subkeys_on_fingerprint", :unique=>true, :using=>:btree})499 -> 0.0048s500-- add_index("gpg_key_subkeys", ["gpg_key_id"], {:name=>"index_gpg_key_subkeys_on_gpg_key_id", :using=>:btree})501 -> 0.0045s502-- add_index("gpg_key_subkeys", ["keyid"], {:name=>"index_gpg_key_subkeys_on_keyid", :unique=>true, :using=>:btree})503 -> 0.0048s504-- create_table("gpg_keys", {:force=>:cascade})505 -> 0.0074s506-- add_index("gpg_keys", ["fingerprint"], {:name=>"index_gpg_keys_on_fingerprint", :unique=>true, :using=>:btree})507 -> 0.0048s508-- add_index("gpg_keys", ["primary_keyid"], {:name=>"index_gpg_keys_on_primary_keyid", :unique=>true, :using=>:btree})509 -> 0.0045s510-- add_index("gpg_keys", ["user_id"], {:name=>"index_gpg_keys_on_user_id", :using=>:btree})511 -> 0.0045s512-- create_table("gpg_signatures", {:force=>:cascade})513 -> 0.0084s514-- add_index("gpg_signatures", ["commit_sha"], {:name=>"index_gpg_signatures_on_commit_sha", :unique=>true, :using=>:btree})515 -> 0.0276s516-- add_index("gpg_signatures", ["gpg_key_id"], {:name=>"index_gpg_signatures_on_gpg_key_id", :using=>:btree})517 -> 0.4309s518-- add_index("gpg_signatures", ["gpg_key_primary_keyid"], {:name=>"index_gpg_signatures_on_gpg_key_primary_keyid", :using=>:btree})519 -> 0.0064s520-- add_index("gpg_signatures", ["gpg_key_subkey_id"], {:name=>"index_gpg_signatures_on_gpg_key_subkey_id", :using=>:btree})521 -> 0.0051s522-- add_index("gpg_signatures", ["project_id"], {:name=>"index_gpg_signatures_on_project_id", :using=>:btree})523 -> 0.0051s524-- create_table("group_custom_attributes", {:force=>:cascade})525 -> 0.0088s526-- add_index("group_custom_attributes", ["group_id", "key"], {:name=>"index_group_custom_attributes_on_group_id_and_key", :unique=>true, :using=>:btree})527 -> 0.0059s528-- add_index("group_custom_attributes", ["key", "value"], {:name=>"index_group_custom_attributes_on_key_and_value", :using=>:btree})529 -> 0.0055s530-- create_table("historical_data", {:force=>:cascade})531 -> 0.0064s532-- create_table("identities", {:force=>:cascade})533 -> 0.0083s534-- add_index("identities", ["user_id"], {:name=>"index_identities_on_user_id", :using=>:btree})535 -> 0.0052s536-- create_table("index_statuses", {:force=>:cascade})537 -> 0.0085s538-- add_index("index_statuses", ["project_id"], {:name=>"index_index_statuses_on_project_id", :unique=>true, :using=>:btree})539 -> 0.0060s540-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})541 -> 0.0055s542-- 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})543 -> 0.0052s544-- 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})545 -> 0.0048s546-- create_table("issue_assignees", {:id=>false, :force=>:cascade})547 -> 0.0022s548-- add_index("issue_assignees", ["issue_id", "user_id"], {:name=>"index_issue_assignees_on_issue_id_and_user_id", :unique=>true, :using=>:btree})549 -> 0.0052s550-- add_index("issue_assignees", ["user_id"], {:name=>"index_issue_assignees_on_user_id", :using=>:btree})551 -> 0.0048s552-- create_table("issue_links", {:force=>:cascade})553 -> 0.0052s554-- add_index("issue_links", ["source_id", "target_id"], {:name=>"index_issue_links_on_source_id_and_target_id", :unique=>true, :using=>:btree})555 -> 0.0050s556-- add_index("issue_links", ["source_id"], {:name=>"index_issue_links_on_source_id", :using=>:btree})557 -> 0.0047s558-- add_index("issue_links", ["target_id"], {:name=>"index_issue_links_on_target_id", :using=>:btree})559 -> 0.0048s560-- create_table("issue_metrics", {:force=>:cascade})561 -> 0.0053s562-- add_index("issue_metrics", ["issue_id"], {:name=>"index_issue_metrics", :using=>:btree})563 -> 0.0049s564-- create_table("issues", {:force=>:cascade})565 -> 0.0090s566-- add_index("issues", ["author_id"], {:name=>"index_issues_on_author_id", :using=>:btree})567 -> 0.0049s568-- add_index("issues", ["confidential"], {:name=>"index_issues_on_confidential", :using=>:btree})569 -> 0.0056s570-- add_index("issues", ["description"], {:name=>"index_issues_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})571 -> 0.0028s572-- add_index("issues", ["milestone_id"], {:name=>"index_issues_on_milestone_id", :using=>:btree})573 -> 0.0047s574-- add_index("issues", ["moved_to_id"], {:name=>"index_issues_on_moved_to_id", :where=>"(moved_to_id IS NOT NULL)", :using=>:btree})575 -> 0.0045s576-- add_index("issues", ["project_id", "created_at", "id", "state"], {:name=>"index_issues_on_project_id_and_created_at_and_id_and_state", :using=>:btree})577 -> 0.0057s578-- 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})579 -> 0.0052s580-- add_index("issues", ["project_id", "iid"], {:name=>"index_issues_on_project_id_and_iid", :unique=>true, :using=>:btree})581 -> 0.0049s582-- add_index("issues", ["project_id", "updated_at", "id", "state"], {:name=>"index_issues_on_project_id_and_updated_at_and_id_and_state", :using=>:btree})583 -> 0.0051s584-- add_index("issues", ["relative_position"], {:name=>"index_issues_on_relative_position", :using=>:btree})585 -> 0.0047s586-- add_index("issues", ["state"], {:name=>"index_issues_on_state", :using=>:btree})587 -> 0.0048s588-- add_index("issues", ["title"], {:name=>"index_issues_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})589 -> 0.0028s590-- add_index("issues", ["updated_at"], {:name=>"index_issues_on_updated_at", :using=>:btree})591 -> 0.0068s592-- add_index("issues", ["updated_by_id"], {:name=>"index_issues_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})593 -> 0.0051s594-- create_table("keys", {:force=>:cascade})595 -> 0.0085s596-- add_index("keys", ["fingerprint"], {:name=>"index_keys_on_fingerprint", :unique=>true, :using=>:btree})597 -> 0.0048s598-- add_index("keys", ["user_id"], {:name=>"index_keys_on_user_id", :using=>:btree})599 -> 0.0047s600-- create_table("label_links", {:force=>:cascade})601 -> 0.0075s602-- add_index("label_links", ["label_id"], {:name=>"index_label_links_on_label_id", :using=>:btree})603 -> 0.0048s604-- add_index("label_links", ["target_id", "target_type"], {:name=>"index_label_links_on_target_id_and_target_type", :using=>:btree})605 -> 0.0046s606-- create_table("label_priorities", {:force=>:cascade})607 -> 0.0054s608-- add_index("label_priorities", ["priority"], {:name=>"index_label_priorities_on_priority", :using=>:btree})609 -> 0.0049s610-- add_index("label_priorities", ["project_id", "label_id"], {:name=>"index_label_priorities_on_project_id_and_label_id", :unique=>true, :using=>:btree})611 -> 0.0050s612-- create_table("labels", {:force=>:cascade})613 -> 0.0092s614-- add_index("labels", ["group_id", "project_id", "title"], {:name=>"index_labels_on_group_id_and_project_id_and_title", :unique=>true, :using=>:btree})615 -> 0.0057s616-- add_index("labels", ["project_id"], {:name=>"index_labels_on_project_id", :using=>:btree})617 -> 0.0049s618-- add_index("labels", ["template"], {:name=>"index_labels_on_template", :where=>"template", :using=>:btree})619 -> 0.0049s620-- add_index("labels", ["title"], {:name=>"index_labels_on_title", :using=>:btree})621 -> 0.0047s622-- add_index("labels", ["type", "project_id"], {:name=>"index_labels_on_type_and_project_id", :using=>:btree})623 -> 0.0050s624-- create_table("ldap_group_links", {:force=>:cascade})625 -> 0.0085s626-- create_table("lfs_file_locks", {:force=>:cascade})627 -> 0.0084s628-- add_index("lfs_file_locks", ["project_id", "path"], {:name=>"index_lfs_file_locks_on_project_id_and_path", :unique=>true, :using=>:btree})629 -> 0.0053s630-- add_index("lfs_file_locks", ["user_id"], {:name=>"index_lfs_file_locks_on_user_id", :using=>:btree})631 -> 0.0048s632-- create_table("lfs_objects", {:force=>:cascade})633 -> 0.0078s634-- add_index("lfs_objects", ["oid"], {:name=>"index_lfs_objects_on_oid", :unique=>true, :using=>:btree})635 -> 0.0052s636-- create_table("lfs_objects_projects", {:force=>:cascade})637 -> 0.0066s638-- add_index("lfs_objects_projects", ["project_id"], {:name=>"index_lfs_objects_projects_on_project_id", :using=>:btree})639 -> 0.0047s640-- create_table("licenses", {:force=>:cascade})641 -> 0.0078s642-- create_table("lists", {:force=>:cascade})643 -> 0.0056s644-- add_index("lists", ["board_id", "label_id"], {:name=>"index_lists_on_board_id_and_label_id", :unique=>true, :using=>:btree})645 -> 0.0048s646-- add_index("lists", ["label_id"], {:name=>"index_lists_on_label_id", :using=>:btree})647 -> 0.0049s648-- create_table("members", {:force=>:cascade})649 -> 0.0090s650-- add_index("members", ["access_level"], {:name=>"index_members_on_access_level", :using=>:btree})651 -> 0.0050s652-- add_index("members", ["invite_token"], {:name=>"index_members_on_invite_token", :unique=>true, :using=>:btree})653 -> 0.0053s654-- add_index("members", ["requested_at"], {:name=>"index_members_on_requested_at", :using=>:btree})655 -> 0.0050s656-- add_index("members", ["source_id", "source_type"], {:name=>"index_members_on_source_id_and_source_type", :using=>:btree})657 -> 0.0050s658-- add_index("members", ["user_id"], {:name=>"index_members_on_user_id", :using=>:btree})659 -> 0.0049s660-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})661 -> 0.0050s662-- 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})663 -> 0.0052s664-- add_index("merge_request_diff_commits", ["sha"], {:name=>"index_merge_request_diff_commits_on_sha", :using=>:btree})665 -> 0.0052s666-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})667 -> 0.0053s668-- 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})669 -> 0.0053s670-- create_table("merge_request_diffs", {:force=>:cascade})671 -> 0.0081s672-- add_index("merge_request_diffs", ["merge_request_id", "id"], {:name=>"index_merge_request_diffs_on_merge_request_id_and_id", :using=>:btree})673 -> 0.0056s674-- create_table("merge_request_metrics", {:force=>:cascade})675 -> 0.0075s676-- add_index("merge_request_metrics", ["first_deployed_to_production_at"], {:name=>"index_merge_request_metrics_on_first_deployed_to_production_at", :using=>:btree})677 -> 0.0063s678-- add_index("merge_request_metrics", ["merge_request_id"], {:name=>"index_merge_request_metrics", :using=>:btree})679 -> 0.0050s680-- add_index("merge_request_metrics", ["pipeline_id"], {:name=>"index_merge_request_metrics_on_pipeline_id", :using=>:btree})681 -> 0.0045s682-- create_table("merge_requests", {:force=>:cascade})683 -> 0.0104s684-- add_index("merge_requests", ["assignee_id"], {:name=>"index_merge_requests_on_assignee_id", :using=>:btree})685 -> 0.0049s686-- add_index("merge_requests", ["author_id"], {:name=>"index_merge_requests_on_author_id", :using=>:btree})687 -> 0.0051s688-- add_index("merge_requests", ["created_at"], {:name=>"index_merge_requests_on_created_at", :using=>:btree})689 -> 0.0049s690-- add_index("merge_requests", ["description"], {:name=>"index_merge_requests_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})691 -> 0.0028s692-- add_index("merge_requests", ["head_pipeline_id"], {:name=>"index_merge_requests_on_head_pipeline_id", :using=>:btree})693 -> 0.0052s694-- add_index("merge_requests", ["latest_merge_request_diff_id"], {:name=>"index_merge_requests_on_latest_merge_request_diff_id", :using=>:btree})695 -> 0.0051s696-- add_index("merge_requests", ["merge_user_id"], {:name=>"index_merge_requests_on_merge_user_id", :where=>"(merge_user_id IS NOT NULL)", :using=>:btree})697 -> 0.0057s698-- add_index("merge_requests", ["milestone_id"], {:name=>"index_merge_requests_on_milestone_id", :using=>:btree})699 -> 0.0049s700-- add_index("merge_requests", ["source_branch"], {:name=>"index_merge_requests_on_source_branch", :using=>:btree})701 -> 0.0049s702-- 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})703 -> 0.0050s704-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_id_and_source_branch", :using=>:btree})705 -> 0.0051s706-- add_index("merge_requests", ["target_branch"], {:name=>"index_merge_requests_on_target_branch", :using=>:btree})707 -> 0.0050s708-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid", :unique=>true, :using=>:btree})709 -> 0.0049s710-- 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})711 -> 0.0047s712-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title", :using=>:btree})713 -> 0.0046s714-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})715 -> 0.0028s716-- add_index("merge_requests", ["updated_by_id"], {:name=>"index_merge_requests_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})717 -> 0.0045s718-- create_table("merge_requests_closing_issues", {:force=>:cascade})719 -> 0.0050s720-- add_index("merge_requests_closing_issues", ["issue_id"], {:name=>"index_merge_requests_closing_issues_on_issue_id", :using=>:btree})721 -> 0.0046s722-- add_index("merge_requests_closing_issues", ["merge_request_id"], {:name=>"index_merge_requests_closing_issues_on_merge_request_id", :using=>:btree})723 -> 0.0048s724-- create_table("milestones", {:force=>:cascade})725 -> 0.0075s726-- add_index("milestones", ["description"], {:name=>"index_milestones_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})727 -> 0.0035s728-- add_index("milestones", ["due_date"], {:name=>"index_milestones_on_due_date", :using=>:btree})729 -> 0.0046s730-- add_index("milestones", ["group_id"], {:name=>"index_milestones_on_group_id", :using=>:btree})731 -> 0.0047s732-- add_index("milestones", ["project_id", "iid"], {:name=>"index_milestones_on_project_id_and_iid", :unique=>true, :using=>:btree})733 -> 0.0048s734-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title", :using=>:btree})735 -> 0.0047s736-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})737 -> 0.0028s738-- create_table("namespace_statistics", {:force=>:cascade})739 -> 0.0099s740-- add_index("namespace_statistics", ["namespace_id"], {:name=>"index_namespace_statistics_on_namespace_id", :unique=>true, :using=>:btree})741 -> 0.0053s742-- create_table("namespaces", {:force=>:cascade})743 -> 0.0120s744-- add_index("namespaces", ["created_at"], {:name=>"index_namespaces_on_created_at", :using=>:btree})745 -> 0.0052s746-- add_index("namespaces", ["ldap_sync_last_successful_update_at"], {:name=>"index_namespaces_on_ldap_sync_last_successful_update_at", :using=>:btree})747 -> 0.0048s748-- add_index("namespaces", ["ldap_sync_last_update_at"], {:name=>"index_namespaces_on_ldap_sync_last_update_at", :using=>:btree})749 -> 0.0051s750-- add_index("namespaces", ["name", "parent_id"], {:name=>"index_namespaces_on_name_and_parent_id", :unique=>true, :using=>:btree})751 -> 0.0049s752-- add_index("namespaces", ["name"], {:name=>"index_namespaces_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})753 -> 0.0041s754-- add_index("namespaces", ["owner_id"], {:name=>"index_namespaces_on_owner_id", :using=>:btree})755 -> 0.0055s756-- add_index("namespaces", ["parent_id", "id"], {:name=>"index_namespaces_on_parent_id_and_id", :unique=>true, :using=>:btree})757 -> 0.0053s758-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path", :using=>:btree})759 -> 0.0052s760-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})761 -> 0.0033s762-- add_index("namespaces", ["plan_id"], {:name=>"index_namespaces_on_plan_id", :using=>:btree})763 -> 0.0070s764-- add_index("namespaces", ["require_two_factor_authentication"], {:name=>"index_namespaces_on_require_two_factor_authentication", :using=>:btree})765 -> 0.0051s766-- add_index("namespaces", ["type"], {:name=>"index_namespaces_on_type", :using=>:btree})767 -> 0.0051s768-- create_table("notes", {:force=>:cascade})769 -> 0.0090s770-- add_index("notes", ["author_id"], {:name=>"index_notes_on_author_id", :using=>:btree})771 -> 0.0051s772-- add_index("notes", ["commit_id"], {:name=>"index_notes_on_commit_id", :using=>:btree})773 -> 0.0047s774-- add_index("notes", ["created_at"], {:name=>"index_notes_on_created_at", :using=>:btree})775 -> 0.0050s776-- add_index("notes", ["discussion_id"], {:name=>"index_notes_on_discussion_id", :using=>:btree})777 -> 0.0054s778-- add_index("notes", ["line_code"], {:name=>"index_notes_on_line_code", :using=>:btree})779 -> 0.0054s780-- add_index("notes", ["note"], {:name=>"index_notes_on_note_trigram", :using=>:gin, :opclasses=>{"note"=>"gin_trgm_ops"}})781 -> 0.0031s782-- add_index("notes", ["noteable_id", "noteable_type"], {:name=>"index_notes_on_noteable_id_and_noteable_type", :using=>:btree})783 -> 0.0050s784-- add_index("notes", ["noteable_type"], {:name=>"index_notes_on_noteable_type", :using=>:btree})785 -> 0.0049s786-- add_index("notes", ["project_id", "noteable_type"], {:name=>"index_notes_on_project_id_and_noteable_type", :using=>:btree})787 -> 0.0051s788-- add_index("notes", ["updated_at"], {:name=>"index_notes_on_updated_at", :using=>:btree})789 -> 0.0047s790-- create_table("notification_settings", {:force=>:cascade})791 -> 0.0092s792-- add_index("notification_settings", ["source_id", "source_type"], {:name=>"index_notification_settings_on_source_id_and_source_type", :using=>:btree})793 -> 0.0052s794-- 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})795 -> 0.0048s796-- add_index("notification_settings", ["user_id"], {:name=>"index_notification_settings_on_user_id", :using=>:btree})797 -> 0.0048s798-- create_table("oauth_access_grants", {:force=>:cascade})799 -> 0.0084s800-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})801 -> 0.0052s802-- create_table("oauth_access_tokens", {:force=>:cascade})803 -> 0.0081s804-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})805 -> 0.0052s806-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})807 -> 0.0052s808-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})809 -> 0.0060s810-- create_table("oauth_applications", {:force=>:cascade})811 -> 0.0089s812-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})813 -> 0.0053s814-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})815 -> 0.0048s816-- create_table("oauth_openid_requests", {:force=>:cascade})817 -> 0.0079s818-- create_table("pages_domains", {:force=>:cascade})819 -> 0.0086s820-- add_index("pages_domains", ["domain"], {:name=>"index_pages_domains_on_domain", :unique=>true, :using=>:btree})821 -> 0.0051s822-- add_index("pages_domains", ["project_id", "enabled_until"], {:name=>"index_pages_domains_on_project_id_and_enabled_until", :using=>:btree})823 -> 0.0051s824-- add_index("pages_domains", ["project_id"], {:name=>"index_pages_domains_on_project_id", :using=>:btree})825 -> 0.0048s826-- add_index("pages_domains", ["verified_at", "enabled_until"], {:name=>"index_pages_domains_on_verified_at_and_enabled_until", :using=>:btree})827 -> 0.0048s828-- add_index("pages_domains", ["verified_at"], {:name=>"index_pages_domains_on_verified_at", :using=>:btree})829 -> 0.0051s830-- create_table("path_locks", {:force=>:cascade})831 -> 0.0082s832-- add_index("path_locks", ["path"], {:name=>"index_path_locks_on_path", :using=>:btree})833 -> 0.0055s834-- add_index("path_locks", ["project_id"], {:name=>"index_path_locks_on_project_id", :using=>:btree})835 -> 0.0083s836-- add_index("path_locks", ["user_id"], {:name=>"index_path_locks_on_user_id", :using=>:btree})837 -> 0.0058s838-- create_table("personal_access_tokens", {:force=>:cascade})839 -> 0.0102s840-- add_index("personal_access_tokens", ["token"], {:name=>"index_personal_access_tokens_on_token", :unique=>true, :using=>:btree})841 -> 0.0051s842-- add_index("personal_access_tokens", ["user_id"], {:name=>"index_personal_access_tokens_on_user_id", :using=>:btree})843 -> 0.0047s844-- create_table("plans", {:force=>:cascade})845 -> 0.0090s846-- add_index("plans", ["name"], {:name=>"index_plans_on_name", :using=>:btree})847 -> 0.0048s848-- create_table("project_authorizations", {:id=>false, :force=>:cascade})849 -> 0.0021s850-- add_index("project_authorizations", ["project_id"], {:name=>"index_project_authorizations_on_project_id", :using=>:btree})851 -> 0.0045s852-- 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})853 -> 0.0049s854-- create_table("project_auto_devops", {:force=>:cascade})855 -> 0.0078s856-- add_index("project_auto_devops", ["project_id"], {:name=>"index_project_auto_devops_on_project_id", :unique=>true, :using=>:btree})857 -> 0.0051s858-- create_table("project_ci_cd_settings", {:force=>:cascade})859 -> 0.0076s860-- add_index("project_ci_cd_settings", ["project_id"], {:name=>"index_project_ci_cd_settings_on_project_id", :unique=>true, :using=>:btree})861 -> 0.0050s862-- create_table("project_custom_attributes", {:force=>:cascade})863 -> 0.0078s864-- add_index("project_custom_attributes", ["key", "value"], {:name=>"index_project_custom_attributes_on_key_and_value", :using=>:btree})865 -> 0.0049s866-- add_index("project_custom_attributes", ["project_id", "key"], {:name=>"index_project_custom_attributes_on_project_id_and_key", :unique=>true, :using=>:btree})867 -> 0.0048s868-- create_table("project_deploy_tokens", {:force=>:cascade})869 -> 0.0055s870-- 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})871 -> 0.0054s872-- create_table("project_features", {:force=>:cascade})873 -> 0.0080s874-- add_index("project_features", ["project_id"], {:name=>"index_project_features_on_project_id", :using=>:btree})875 -> 0.0069s876-- create_table("project_group_links", {:force=>:cascade})877 -> 0.0063s878-- add_index("project_group_links", ["group_id"], {:name=>"index_project_group_links_on_group_id", :using=>:btree})879 -> 0.0051s880-- add_index("project_group_links", ["project_id"], {:name=>"index_project_group_links_on_project_id", :using=>:btree})881 -> 0.0053s882-- create_table("project_import_data", {:force=>:cascade})883 -> 0.0084s884-- add_index("project_import_data", ["project_id"], {:name=>"index_project_import_data_on_project_id", :using=>:btree})885 -> 0.0051s886-- create_table("project_mirror_data", {:force=>:cascade})887 -> 0.0063s888-- add_index("project_mirror_data", ["next_execution_timestamp", "retry_count"], {:name=>"index_mirror_data_on_next_execution_and_retry_count", :using=>:btree})889 -> 0.0052s890-- add_index("project_mirror_data", ["project_id"], {:name=>"index_project_mirror_data_on_project_id", :unique=>true, :using=>:btree})891 -> 0.0051s892-- create_table("project_repository_states", {:force=>:cascade})893 -> 0.0083s894-- 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})895 -> 0.0051s896-- 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})897 -> 0.0051s898-- add_index("project_repository_states", ["project_id"], {:name=>"index_project_repository_states_on_project_id", :unique=>true, :using=>:btree})899 -> 0.0062s900-- add_index("project_repository_states", ["repository_verification_checksum", "wiki_verification_checksum"], {:name=>"idx_repository_states_on_checksums_partial", :where=>"((repository_verification_checksum IS NULL) OR (wiki_verification_checksum IS NULL))", :using=>:btree})901 -> 0.0052s902-- create_table("project_statistics", {:force=>:cascade})903 -> 0.0079s904-- add_index("project_statistics", ["namespace_id"], {:name=>"index_project_statistics_on_namespace_id", :using=>:btree})905 -> 0.0057s906-- add_index("project_statistics", ["project_id"], {:name=>"index_project_statistics_on_project_id", :unique=>true, :using=>:btree})907 -> 0.0048s908-- create_table("projects", {:force=>:cascade})909 -> 0.0194s910-- add_index("projects", ["ci_id"], {:name=>"index_projects_on_ci_id", :using=>:btree})911 -> 0.0053s912-- add_index("projects", ["created_at"], {:name=>"index_projects_on_created_at", :using=>:btree})913 -> 0.0048s914-- add_index("projects", ["creator_id"], {:name=>"index_projects_on_creator_id", :using=>:btree})915 -> 0.0047s916-- add_index("projects", ["description"], {:name=>"index_projects_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})917 -> 0.0028s918-- add_index("projects", ["id"], {:name=>"index_projects_on_id_partial_for_visibility", :unique=>true, :where=>"(visibility_level = ANY (ARRAY[10, 20]))", :using=>:btree})919 -> 0.0048s920-- 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})921 -> 0.0051s922-- add_index("projects", ["last_activity_at"], {:name=>"index_projects_on_last_activity_at", :using=>:btree})923 -> 0.0052s924-- add_index("projects", ["last_repository_check_failed"], {:name=>"index_projects_on_last_repository_check_failed", :using=>:btree})925 -> 0.0053s926-- add_index("projects", ["last_repository_updated_at"], {:name=>"index_projects_on_last_repository_updated_at", :using=>:btree})927 -> 0.0049s928-- add_index("projects", ["mirror_last_successful_update_at"], {:name=>"index_projects_on_mirror_last_successful_update_at", :using=>:btree})929 -> 0.0047s930-- add_index("projects", ["name"], {:name=>"index_projects_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})931 -> 0.0029s932-- add_index("projects", ["namespace_id"], {:name=>"index_projects_on_namespace_id", :using=>:btree})933 -> 0.0047s934-- add_index("projects", ["path"], {:name=>"index_projects_on_path", :using=>:btree})935 -> 0.0052s936-- add_index("projects", ["path"], {:name=>"index_projects_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})937 -> 0.0040s938-- add_index("projects", ["pending_delete"], {:name=>"index_projects_on_pending_delete", :using=>:btree})939 -> 0.0051s940-- add_index("projects", ["repository_storage"], {:name=>"index_projects_on_repository_storage", :using=>:btree})941 -> 0.0051s942-- add_index("projects", ["runners_token"], {:name=>"index_projects_on_runners_token", :using=>:btree})943 -> 0.0050s944-- add_index("projects", ["star_count"], {:name=>"index_projects_on_star_count", :using=>:btree})945 -> 0.0054s946-- add_index("projects", ["visibility_level"], {:name=>"index_projects_on_visibility_level", :using=>:btree})947 -> 0.0051s948-- create_table("prometheus_metrics", {:force=>:cascade})949 -> 0.0082s950-- add_index("prometheus_metrics", ["group"], {:name=>"index_prometheus_metrics_on_group", :using=>:btree})951 -> 0.0050s952-- add_index("prometheus_metrics", ["project_id"], {:name=>"index_prometheus_metrics_on_project_id", :using=>:btree})953 -> 0.0051s954-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})955 -> 0.0063s956-- add_index("protected_branch_merge_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_merge_access", :using=>:btree})957 -> 0.0051s958-- add_index("protected_branch_merge_access_levels", ["user_id"], {:name=>"index_protected_branch_merge_access_levels_on_user_id", :using=>:btree})959 -> 0.0054s960-- create_table("protected_branch_push_access_levels", {:force=>:cascade})961 -> 0.0063s962-- add_index("protected_branch_push_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_push_access", :using=>:btree})963 -> 0.0051s964-- add_index("protected_branch_push_access_levels", ["user_id"], {:name=>"index_protected_branch_push_access_levels_on_user_id", :using=>:btree})965 -> 0.0049s966-- create_table("protected_branch_unprotect_access_levels", {:force=>:cascade})967 -> 0.0063s968-- add_index("protected_branch_unprotect_access_levels", ["group_id"], {:name=>"index_protected_branch_unprotect_access_levels_on_group_id", :using=>:btree})969 -> 0.0053s970-- add_index("protected_branch_unprotect_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_unprotect_access", :using=>:btree})971 -> 0.0053s972-- add_index("protected_branch_unprotect_access_levels", ["user_id"], {:name=>"index_protected_branch_unprotect_access_levels_on_user_id", :using=>:btree})973 -> 0.0051s974-- create_table("protected_branches", {:force=>:cascade})975 -> 0.0083s976-- add_index("protected_branches", ["project_id"], {:name=>"index_protected_branches_on_project_id", :using=>:btree})977 -> 0.0050s978-- create_table("protected_tag_create_access_levels", {:force=>:cascade})979 -> 0.0062s980-- add_index("protected_tag_create_access_levels", ["protected_tag_id"], {:name=>"index_protected_tag_create_access", :using=>:btree})981 -> 0.0054s982-- add_index("protected_tag_create_access_levels", ["user_id"], {:name=>"index_protected_tag_create_access_levels_on_user_id", :using=>:btree})983 -> 0.0048s984-- create_table("protected_tags", {:force=>:cascade})985 -> 0.0080s986-- add_index("protected_tags", ["project_id"], {:name=>"index_protected_tags_on_project_id", :using=>:btree})987 -> 0.0049s988-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})989 -> 0.0049s990-- add_index("push_event_payloads", ["event_id"], {:name=>"index_push_event_payloads_on_event_id", :unique=>true, :using=>:btree})991 -> 0.0053s992-- create_table("push_rules", {:force=>:cascade})993 -> 0.0105s994-- add_index("push_rules", ["is_sample"], {:name=>"index_push_rules_on_is_sample", :where=>"is_sample", :using=>:btree})995 -> 0.0049s996-- add_index("push_rules", ["project_id"], {:name=>"index_push_rules_on_project_id", :using=>:btree})997 -> 0.0049s998-- create_table("redirect_routes", {:force=>:cascade})999 -> 0.0082s1000-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path", :unique=>true, :using=>:btree})1001 -> 0.0053s1002-- add_index("redirect_routes", ["source_type", "source_id"], {:name=>"index_redirect_routes_on_source_type_and_source_id", :using=>:btree})1003 -> 0.0053s1004-- create_table("releases", {:force=>:cascade})1005 -> 0.0088s1006-- add_index("releases", ["project_id", "tag"], {:name=>"index_releases_on_project_id_and_tag", :using=>:btree})1007 -> 0.0049s1008-- add_index("releases", ["project_id"], {:name=>"index_releases_on_project_id", :using=>:btree})1009 -> 0.0058s1010-- create_table("remote_mirrors", {:force=>:cascade})1011 -> 0.0092s1012-- add_index("remote_mirrors", ["last_successful_update_at"], {:name=>"index_remote_mirrors_on_last_successful_update_at", :using=>:btree})1013 -> 0.0051s1014-- add_index("remote_mirrors", ["project_id"], {:name=>"index_remote_mirrors_on_project_id", :using=>:btree})1015 -> 0.0047s1016-- create_table("routes", {:force=>:cascade})1017 -> 0.0078s1018-- add_index("routes", ["path"], {:name=>"index_routes_on_path", :unique=>true, :using=>:btree})1019 -> 0.0118s1020-- add_index("routes", ["path"], {:name=>"index_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})1021 -> 0.0052s1022-- add_index("routes", ["source_type", "source_id"], {:name=>"index_routes_on_source_type_and_source_id", :unique=>true, :using=>:btree})1023 -> 0.0048s1024-- create_table("saml_providers", {:force=>:cascade})1025 -> 0.0080s1026-- add_index("saml_providers", ["group_id"], {:name=>"index_saml_providers_on_group_id", :using=>:btree})1027 -> 0.0051s1028-- create_table("sent_notifications", {:force=>:cascade})1029 -> 0.0085s1030-- add_index("sent_notifications", ["reply_key"], {:name=>"index_sent_notifications_on_reply_key", :unique=>true, :using=>:btree})1031 -> 0.0072s1032-- create_table("services", {:force=>:cascade})1033 -> 0.0169s1034-- add_index("services", ["project_id"], {:name=>"index_services_on_project_id", :using=>:btree})1035 -> 0.0081s1036-- add_index("services", ["template"], {:name=>"index_services_on_template", :using=>:btree})1037 -> 0.0053s1038-- create_table("slack_integrations", {:force=>:cascade})1039 -> 0.0084s1040-- add_index("slack_integrations", ["service_id"], {:name=>"index_slack_integrations_on_service_id", :using=>:btree})1041 -> 0.0054s1042-- add_index("slack_integrations", ["team_id", "alias"], {:name=>"index_slack_integrations_on_team_id_and_alias", :unique=>true, :using=>:btree})1043 -> 0.0050s1044-- create_table("snippets", {:force=>:cascade})1045 -> 0.0088s1046-- add_index("snippets", ["author_id"], {:name=>"index_snippets_on_author_id", :using=>:btree})1047 -> 0.0055s1048-- add_index("snippets", ["file_name"], {:name=>"index_snippets_on_file_name_trigram", :using=>:gin, :opclasses=>{"file_name"=>"gin_trgm_ops"}})1049 -> 0.0031s1050-- add_index("snippets", ["project_id"], {:name=>"index_snippets_on_project_id", :using=>:btree})1051 -> 0.0051s1052-- add_index("snippets", ["title"], {:name=>"index_snippets_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})1053 -> 0.0029s1054-- add_index("snippets", ["updated_at"], {:name=>"index_snippets_on_updated_at", :using=>:btree})1055 -> 0.0051s1056-- add_index("snippets", ["visibility_level"], {:name=>"index_snippets_on_visibility_level", :using=>:btree})1057 -> 0.0048s1058-- create_table("spam_logs", {:force=>:cascade})1059 -> 0.0087s1060-- create_table("subscriptions", {:force=>:cascade})1061 -> 0.0080s1062-- 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})1063 -> 0.0064s1064-- create_table("system_note_metadata", {:force=>:cascade})1065 -> 0.0077s1066-- add_index("system_note_metadata", ["note_id"], {:name=>"index_system_note_metadata_on_note_id", :unique=>true, :using=>:btree})1067 -> 0.0054s1068-- create_table("taggings", {:force=>:cascade})1069 -> 0.0081s1070-- add_index("taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], {:name=>"taggings_idx", :unique=>true, :using=>:btree})1071 -> 0.0064s1072-- add_index("taggings", ["tag_id"], {:name=>"index_taggings_on_tag_id", :using=>:btree})1073 -> 0.0048s1074-- add_index("taggings", ["taggable_id", "taggable_type", "context"], {:name=>"index_taggings_on_taggable_id_and_taggable_type_and_context", :using=>:btree})1075 -> 0.0053s1076-- add_index("taggings", ["taggable_id", "taggable_type"], {:name=>"index_taggings_on_taggable_id_and_taggable_type", :using=>:btree})1077 -> 0.0052s1078-- create_table("tags", {:force=>:cascade})1079 -> 0.0085s1080-- add_index("tags", ["name"], {:name=>"index_tags_on_name", :unique=>true, :using=>:btree})1081 -> 0.0053s1082-- create_table("timelogs", {:force=>:cascade})1083 -> 0.0058s1084-- add_index("timelogs", ["issue_id"], {:name=>"index_timelogs_on_issue_id", :using=>:btree})1085 -> 0.0052s1086-- add_index("timelogs", ["merge_request_id"], {:name=>"index_timelogs_on_merge_request_id", :using=>:btree})1087 -> 0.0049s1088-- add_index("timelogs", ["user_id"], {:name=>"index_timelogs_on_user_id", :using=>:btree})1089 -> 0.0050s1090-- create_table("todos", {:force=>:cascade})1091 -> 0.0083s1092-- add_index("todos", ["author_id"], {:name=>"index_todos_on_author_id", :using=>:btree})1093 -> 0.0052s1094-- add_index("todos", ["commit_id"], {:name=>"index_todos_on_commit_id", :using=>:btree})1095 -> 0.0048s1096-- add_index("todos", ["note_id"], {:name=>"index_todos_on_note_id", :using=>:btree})1097 -> 0.0047s1098-- add_index("todos", ["project_id"], {:name=>"index_todos_on_project_id", :using=>:btree})1099 -> 0.0048s1100-- add_index("todos", ["target_type", "target_id"], {:name=>"index_todos_on_target_type_and_target_id", :using=>:btree})1101 -> 0.0051s1102-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_done", :where=>"((state)::text = 'done'::text)", :using=>:btree})1103 -> 0.0050s1104-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_pending", :where=>"((state)::text = 'pending'::text)", :using=>:btree})1105 -> 0.0048s1106-- add_index("todos", ["user_id"], {:name=>"index_todos_on_user_id", :using=>:btree})1107 -> 0.0048s1108-- create_table("trending_projects", {:force=>:cascade})1109 -> 0.0052s1110-- add_index("trending_projects", ["project_id"], {:name=>"index_trending_projects_on_project_id", :unique=>true, :using=>:btree})1111 -> 0.0048s1112-- create_table("u2f_registrations", {:force=>:cascade})1113 -> 0.0083s1114-- add_index("u2f_registrations", ["key_handle"], {:name=>"index_u2f_registrations_on_key_handle", :using=>:btree})1115 -> 0.0049s1116-- add_index("u2f_registrations", ["user_id"], {:name=>"index_u2f_registrations_on_user_id", :using=>:btree})1117 -> 0.0046s1118-- create_table("uploads", {:force=>:cascade})1119 -> 0.0081s1120-- add_index("uploads", ["checksum"], {:name=>"index_uploads_on_checksum", :using=>:btree})1121 -> 0.0048s1122-- add_index("uploads", ["model_id", "model_type"], {:name=>"index_uploads_on_model_id_and_model_type", :using=>:btree})1123 -> 0.0055s1124-- add_index("uploads", ["uploader", "path"], {:name=>"index_uploads_on_uploader_and_path", :using=>:btree})1125 -> 0.0053s1126-- create_table("user_agent_details", {:force=>:cascade})1127 -> 0.0129s1128-- add_index("user_agent_details", ["subject_id", "subject_type"], {:name=>"index_user_agent_details_on_subject_id_and_subject_type", :using=>:btree})1129 -> 0.0054s1130-- create_table("user_callouts", {:force=>:cascade})1131 -> 0.0053s1132-- add_index("user_callouts", ["user_id", "feature_name"], {:name=>"index_user_callouts_on_user_id_and_feature_name", :unique=>true, :using=>:btree})1133 -> 0.0055s1134-- add_index("user_callouts", ["user_id"], {:name=>"index_user_callouts_on_user_id", :using=>:btree})1135 -> 0.0048s1136-- create_table("user_custom_attributes", {:force=>:cascade})1137 -> 0.0084s1138-- add_index("user_custom_attributes", ["key", "value"], {:name=>"index_user_custom_attributes_on_key_and_value", :using=>:btree})1139 -> 0.0054s1140-- add_index("user_custom_attributes", ["user_id", "key"], {:name=>"index_user_custom_attributes_on_user_id_and_key", :unique=>true, :using=>:btree})1141 -> 0.0054s1142-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})1143 -> 0.0024s1144-- add_index("user_interacted_projects", ["project_id", "user_id"], {:name=>"index_user_interacted_projects_on_project_id_and_user_id", :unique=>true, :using=>:btree})1145 -> 0.0048s1146-- add_index("user_interacted_projects", ["user_id"], {:name=>"index_user_interacted_projects_on_user_id", :using=>:btree})1147 -> 0.0051s1148-- create_table("user_synced_attributes_metadata", {:force=>:cascade})1149 -> 0.0100s1150-- add_index("user_synced_attributes_metadata", ["user_id"], {:name=>"index_user_synced_attributes_metadata_on_user_id", :unique=>true, :using=>:btree})1151 -> 0.0056s1152-- create_table("users", {:force=>:cascade})1153 -> 0.0204s1154-- add_index("users", ["admin"], {:name=>"index_users_on_admin", :using=>:btree})1155 -> 0.0052s1156-- add_index("users", ["confirmation_token"], {:name=>"index_users_on_confirmation_token", :unique=>true, :using=>:btree})1157 -> 0.0055s1158-- add_index("users", ["created_at"], {:name=>"index_users_on_created_at", :using=>:btree})1159 -> 0.0054s1160-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true, :using=>:btree})1161 -> 0.0070s1162-- add_index("users", ["email"], {:name=>"index_users_on_email_trigram", :using=>:gin, :opclasses=>{"email"=>"gin_trgm_ops"}})1163 -> 0.0034s1164-- add_index("users", ["ghost"], {:name=>"index_users_on_ghost", :using=>:btree})1165 -> 0.0050s1166-- add_index("users", ["incoming_email_token"], {:name=>"index_users_on_incoming_email_token", :using=>:btree})1167 -> 0.0051s1168-- add_index("users", ["name"], {:name=>"index_users_on_name", :using=>:btree})1169 -> 0.0050s1170-- add_index("users", ["name"], {:name=>"index_users_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})1171 -> 0.0029s1172-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true, :using=>:btree})1173 -> 0.0054s1174-- add_index("users", ["rss_token"], {:name=>"index_users_on_rss_token", :using=>:btree})1175 -> 0.0071s1176-- add_index("users", ["state"], {:name=>"index_users_on_state", :using=>:btree})1177 -> 0.0055s1178-- add_index("users", ["support_bot"], {:name=>"index_users_on_support_bot", :using=>:btree})1179 -> 0.0057s1180-- add_index("users", ["username"], {:name=>"index_users_on_username", :using=>:btree})1181 -> 0.0060s1182-- add_index("users", ["username"], {:name=>"index_users_on_username_trigram", :using=>:gin, :opclasses=>{"username"=>"gin_trgm_ops"}})1183 -> 0.0032s1184-- create_table("users_star_projects", {:force=>:cascade})1185 -> 0.0058s1186-- add_index("users_star_projects", ["project_id"], {:name=>"index_users_star_projects_on_project_id", :using=>:btree})1187 -> 0.0056s1188-- add_index("users_star_projects", ["user_id", "project_id"], {:name=>"index_users_star_projects_on_user_id_and_project_id", :unique=>true, :using=>:btree})1189 -> 0.0056s1190-- create_table("web_hook_logs", {:force=>:cascade})1191 -> 0.0087s1192-- add_index("web_hook_logs", ["web_hook_id"], {:name=>"index_web_hook_logs_on_web_hook_id", :using=>:btree})1193 -> 0.0066s1194-- create_table("web_hooks", {:force=>:cascade})1195 -> 0.0177s1196-- add_index("web_hooks", ["project_id"], {:name=>"index_web_hooks_on_project_id", :using=>:btree})1197 -> 0.0063s1198-- add_index("web_hooks", ["type"], {:name=>"index_web_hooks_on_type", :using=>:btree})1199 -> 0.0056s1200-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})1201 -> 0.0033s1202-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1203 -> 0.0025s1204-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1205 -> 0.0021s1206-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})1207 -> 0.0032s1208-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})1209 -> 0.0020s1210-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})1211 -> 0.0025s1212-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})1213 -> 0.0021s1214-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})1215 -> 0.0021s1216-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :name=>"fk_1e9a074a35", :on_delete=>:cascade})1217 -> 0.0019s1218-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})1219 -> 0.0022s1220-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})1221 -> 0.0022s1222-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})1223 -> 0.0022s1224-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})1225 -> 0.0018s1226-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})1227 -> 0.0023s1228-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})1229 -> 0.0022s1230-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})1231 -> 0.0023s1232-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})1233 -> 0.0021s1234-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})1235 -> 0.0023s1236-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1237 -> 0.0020s1238-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})1239 -> 0.0022s1240-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})1241 -> 0.0018s1242-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})1243 -> 0.0021s1244-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})1245 -> 0.0021s1246-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})1247 -> 0.0020s1248-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1249 -> 0.0020s1250-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})1251 -> 0.0019s1252-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})1253 -> 0.0024s1254-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})1255 -> 0.0020s1256-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})1257 -> 0.0020s1258-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})1259 -> 0.0021s1260-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})1261 -> 0.0018s1262-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})1263 -> 0.0024s1264-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})1265 -> 0.0024s1266-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})1267 -> 0.0022s1268-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})1269 -> 0.0019s1270-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})1271 -> 0.0018s1272-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})1273 -> 0.0021s1274-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})1275 -> 0.0021s1276-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})1277 -> 0.0019s1278-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})1279 -> 0.0025s1280-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})1281 -> 0.0019s1282-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})1283 -> 0.0027s1284-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})1285 -> 0.0025s1286-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})1287 -> 0.0023s1288-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})1289 -> 0.0023s1290-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})1291 -> 0.0019s1292-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})1293 -> 0.0023s1294-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})1295 -> 0.0020s1296-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})1297 -> 0.0026s1298-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})1299 -> 0.0020s1300-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})1301 -> 0.0020s1302-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})1303 -> 0.0018s1304-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})1305 -> 0.0021s1306-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})1307 -> 0.0019s1308-- add_foreign_key("container_repositories", "projects")1309 -> 0.0023s1310-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})1311 -> 0.0022s1312-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})1313 -> 0.0023s1314-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})1315 -> 0.0022s1316-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})1317 -> 0.0021s1318-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})1319 -> 0.0023s1320-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})1321 -> 0.0027s1322-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})1323 -> 0.0029s1324-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})1325 -> 0.0023s1326-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})1327 -> 0.0023s1328-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})1329 -> 0.0024s1330-- add_foreign_key("events", "projects", {:on_delete=>:cascade})1331 -> 0.0028s1332-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})1333 -> 0.0021s1334-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})1335 -> 0.0023s1336-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})1337 -> 0.0026s1338-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})1339 -> 0.0024s1340-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})1341 -> 0.0023s1342-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})1343 -> 0.0023s1344-- add_foreign_key("gcp_clusters", "projects", {:on_delete=>:cascade})1345 -> 0.0027s1346-- add_foreign_key("gcp_clusters", "services", {:on_delete=>:nullify})1347 -> 0.0032s1348-- add_foreign_key("gcp_clusters", "users", {:on_delete=>:nullify})1349 -> 0.0025s1350-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})1351 -> 0.0048s1352-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})1353 -> 0.0025s1354-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})1355 -> 0.0021s1356-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})1357 -> 0.0022s1358-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})1359 -> 0.0024s1360-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})1361 -> 0.0023s1362-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})1363 -> 0.0020s1364-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :on_delete=>:cascade})1365 -> 0.0019s1366-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})1367 -> 0.0024s1368-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})1369 -> 0.0025s1370-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})1371 -> 0.0025s1372-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})1373 -> 0.0023s1374-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})1375 -> 0.0020s1376-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})1377 -> 0.0022s1378-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})1379 -> 0.0019s1380-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})1381 -> 0.0022s1382-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})1383 -> 0.0022s1384-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})1385 -> 0.0032s1386-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})1387 -> 0.0021s1388-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})1389 -> 0.0027s1390-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})1391 -> 0.0023s1392-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})1393 -> 0.0019s1394-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})1395 -> 0.0026s1396-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1397 -> 0.0023s1398-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})1399 -> 0.0023s1400-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})1401 -> 0.0022s1402-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})1403 -> 0.0029s1404-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})1405 -> 0.0049s1406-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})1407 -> 0.0024s1408-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})1409 -> 0.0025s1410-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})1411 -> 0.0020s1412-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})1413 -> 0.0031s1414-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})1415 -> 0.0022s1416-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})1417 -> 0.0024s1418-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1419 -> 0.0024s1420-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1421 -> 0.0024s1422-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1423 -> 0.0022s1424-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1425 -> 0.0023s1426-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1427 -> 0.0022s1428-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1429 -> 0.0031s1430-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1431 -> 0.0019s1432-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1433 -> 0.0023s1434-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1435 -> 0.0023s1436-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1437 -> 0.0022s1438-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1439 -> 0.0022s1440-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1441 -> 0.0019s1442-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1443 -> 0.0025s1444-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1445 -> 0.0022s1446-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1447 -> 0.0022s1448-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1449 -> 0.0023s1450-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1451 -> 0.0022s1452-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1453 -> 0.0021s1454-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1455 -> 0.0023s1456-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1457 -> 0.0020s1458-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1459 -> 0.0023s1460-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1461 -> 0.0021s1462-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1463 -> 0.0030s1464-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1465 -> 0.0032s1466-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1467 -> 0.0026s1468-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1469 -> 0.0024s1470-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1471 -> 0.0024s1472-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1473 -> 0.0021s1474-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1475 -> 0.0022s1476-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1477 -> 0.0021s1478-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1479 -> 0.0027s1480-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1481 -> 0.0022s1482-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1483 -> 0.0023s1484-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1485 -> 0.0021s1486-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1487 -> 0.0020s1488-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1489 -> 0.0025s1490-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1491 -> 0.0018s1492-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1493 -> 0.0022s1494-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1495 -> 0.0023s1496-- add_foreign_key("path_locks", "users")1497 -> 0.0021s1498-- add_foreign_key("personal_access_tokens", "users")1499 -> 0.0022s1500-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1501 -> 0.0022s1502-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1503 -> 0.0020s1504-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1505 -> 0.0024s1506-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1507 -> 0.0022s1508-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1509 -> 0.0022s1510-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1511 -> 0.0021s1512-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1513 -> 0.0024s1514-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1515 -> 0.0021s1516-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1517 -> 0.0022s1518-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1519 -> 0.0021s1520-- add_foreign_key("project_mirror_data", "projects", {:name=>"fk_d1aad367d7", :on_delete=>:cascade})1521 -> 0.0023s1522-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1523 -> 0.0024s1524-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1525 -> 0.0025s1526-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1527 -> 0.0025s1528-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1529 -> 0.0021s1530-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1531 -> 0.0028s1532-- add_foreign_key("protected_branch_merge_access_levels", "users")1533 -> 0.0021s1534-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1535 -> 0.0023s1536-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1537 -> 0.0020s1538-- add_foreign_key("protected_branch_push_access_levels", "users")1539 -> 0.0027s1540-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1541 -> 0.0021s1542-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1543 -> 0.0021s1544-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1545 -> 0.0022s1546-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1547 -> 0.0024s1548-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1549 -> 0.0020s1550-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1551 -> 0.0027s1552-- add_foreign_key("protected_tag_create_access_levels", "users")1553 -> 0.0022s1554-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1555 -> 0.0022s1556-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1557 -> 0.0024s1558-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1559 -> 0.0025s1560-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1561 -> 0.0024s1562-- add_foreign_key("remote_mirrors", "projects", {:name=>"fk_43a9aa4ca8", :on_delete=>:cascade})1563 -> 0.0023s1564-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1565 -> 0.0020s1566-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1567 -> 0.0024s1568-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1569 -> 0.0021s1570-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1571 -> 0.0027s1572-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1573 -> 0.0023s1574-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1575 -> 0.0021s1576-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1577 -> 0.0022s1578-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1579 -> 0.0022s1580-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1581 -> 0.0021s1582-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1583 -> 0.0024s1584-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1585 -> 0.0024s1586-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1587 -> 0.0022s1588-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1589 -> 0.0023s1590-- add_foreign_key("u2f_registrations", "users")1591 -> 0.0024s1592-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1593 -> 0.0023s1594-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1595 -> 0.0022s1596-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1597 -> 0.0025s1598-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1599 -> 0.0024s1600-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1601 -> 0.0021s1602-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1603 -> 0.0025s1604-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1605 -> 0.0020s1606-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1607 -> 0.0024s1608-- initialize_schema_migrations_table()1609 -> 0.0158s1610-- enable_extension("plpgsql")1611 -> 0.0141s1612-- create_table("event_log_states", {:primary_key=>"event_id", :force=>:cascade})1613 -> 0.0079s1614-- create_table("file_registry", {:force=>:cascade})1615 -> 0.0092s1616-- add_index("file_registry", ["file_type", "file_id"], {:name=>"index_file_registry_on_file_type_and_file_id", :unique=>true, :using=>:btree})1617 -> 0.0055s1618-- add_index("file_registry", ["file_type"], {:name=>"index_file_registry_on_file_type", :using=>:btree})1619 -> 0.0050s1620-- add_index("file_registry", ["retry_at"], {:name=>"index_file_registry_on_retry_at", :using=>:btree})1621 -> 0.0047s1622-- add_index("file_registry", ["success"], {:name=>"index_file_registry_on_success", :using=>:btree})1623 -> 0.0049s1624-- create_table("job_artifact_registry", {:force=>:cascade})1625 -> 0.0081s1626-- add_index("job_artifact_registry", ["artifact_id"], {:name=>"index_job_artifact_registry_on_artifact_id", :using=>:btree})1627 -> 0.0054s1628-- add_index("job_artifact_registry", ["retry_at"], {:name=>"index_job_artifact_registry_on_retry_at", :using=>:btree})1629 -> 0.0051s1630-- add_index("job_artifact_registry", ["success"], {:name=>"index_job_artifact_registry_on_success", :using=>:btree})1631 -> 0.0049s1632-- create_table("project_registry", {:force=>:cascade})1633 -> 0.0100s1634-- add_index("project_registry", ["last_repository_successful_sync_at"], {:name=>"index_project_registry_on_last_repository_successful_sync_at", :using=>:btree})1635 -> 0.0051s1636-- add_index("project_registry", ["last_repository_synced_at"], {:name=>"index_project_registry_on_last_repository_synced_at", :using=>:btree})1637 -> 0.0049s1638-- 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})1639 -> 0.0048s1640-- add_index("project_registry", ["project_id"], {:name=>"idx_project_registry_on_repository_failure_partial", :where=>"(last_repository_verification_failure IS NOT NULL)", :using=>:btree})1641 -> 0.0052s1642-- 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})1643 -> 0.0050s1644-- add_index("project_registry", ["project_id"], {:name=>"idx_project_registry_on_wiki_failure_partial", :where=>"(last_wiki_verification_failure IS NOT NULL)", :using=>:btree})1645 -> 0.0048s1646-- add_index("project_registry", ["project_id"], {:name=>"idx_repository_checksum_mismatch", :where=>"(repository_checksum_mismatch = true)", :using=>:btree})1647 -> 0.0046s1648-- add_index("project_registry", ["project_id"], {:name=>"idx_wiki_checksum_mismatch", :where=>"(wiki_checksum_mismatch = true)", :using=>:btree})1649 -> 0.0050s1650-- add_index("project_registry", ["project_id"], {:name=>"index_project_registry_on_project_id", :unique=>true, :using=>:btree})1651 -> 0.0081s1652-- add_index("project_registry", ["repository_retry_at"], {:name=>"index_project_registry_on_repository_retry_at", :using=>:btree})1653 -> 0.0058s1654-- 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})1655 -> 0.0061s1656-- add_index("project_registry", ["resync_repository"], {:name=>"index_project_registry_on_resync_repository", :using=>:btree})1657 -> 0.0049s1658-- add_index("project_registry", ["resync_wiki"], {:name=>"index_project_registry_on_resync_wiki", :using=>:btree})1659 -> 0.0048s1660-- add_index("project_registry", ["wiki_retry_at"], {:name=>"index_project_registry_on_wiki_retry_at", :using=>:btree})1661 -> 0.0052s1662-- 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})1663 -> 0.0051s1664-- initialize_schema_migrations_table()1665 -> 0.0096s1666$ date1667Wed May 2 14:41:19 UTC 20181668$ JOB_NAME=( $CI_JOB_NAME )1669$ export CI_NODE_INDEX=${JOB_NAME[-2]}1670$ export CI_NODE_TOTAL=${JOB_NAME[-1]}1671$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1672$ export KNAPSACK_GENERATE_REPORT=true1673$ export CACHE_CLASSES=true1674$ cp ${KNAPSACK_SPINACH_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1675$ scripts/gitaly-test-spawn1676691677$ knapsack spinach "-r rerun" -b || retry '[[ -e tmp/spinach-rerun.txt ]] && bundle exec spinach -b -r rerun $(cat tmp/spinach-rerun.txt)'1678Report features:1679features/project/source/markdown_render.feature1680features/project/commits/diff_comments.feature1681features/project/issues/references.feature1682features/project/merge_requests/references.feature1683features/project/ff_merge_requests.feature1684features/project/builds/artifacts.feature1685features/project/deploy_keys.feature1686features/groups_management.feature1687features/group_hooks.feature1688Leftover features:1689Knapsack report generator started!1690==> Setting up GitLab Shell...1691 GitLab Shell setup in 0.447324896 seconds...1692==> Setting up Gitaly...1693 Gitaly setup in 0.000134153 seconds...1694Starting the Capybara driver server...1695Feature: Project Source Markdown Render1696 Scenario: Tree view should have correct links in README # features/project/source/markdown_render.feature:101697 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71698 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101699 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231700 ✔ Given I go directory which contains README file # features/steps/project/source/markdown_render.rb:2941701 ✔ And I click on a relative link in README # features/steps/project/source/markdown_render.rb:2991702 ✔ Then I should see the correct markdown # features/steps/project/source/markdown_render.rb:3031703 Scenario: I browse files from markdown branch # features/project/source/markdown_render.feature:161704 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71705 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101706 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231707 ✔ Then I should see files from repository in markdown # features/steps/project/source/markdown_render.rb:161708 ✔ And I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221709 ✔ And I click on Gitlab API in README # features/steps/project/source/markdown_render.rb:321710 ✔ Then I should see correct document rendered # features/steps/project/source/markdown_render.rb:361711 Scenario: I view README in markdown branch # features/project/source/markdown_render.feature:231712 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71713 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101714 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231715 ✔ Then I should see files from repository in markdown # features/steps/project/source/markdown_render.rb:161716 ✔ And I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221717 ✔ And I click on Rake tasks in README # features/steps/project/source/markdown_render.rb:421718 ✔ Then I should see correct directory rendered # features/steps/project/source/markdown_render.rb:461719 Scenario: I view README in markdown branch to see reference links to directory # features/project/source/markdown_render.feature:301720 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71721 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101722 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231723 ✔ Then I should see files from repository in markdown # features/steps/project/source/markdown_render.rb:161724 ✔ And I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221725 ✔ And I click on GitLab API doc directory in README # features/steps/project/source/markdown_render.rb:521726 ✔ Then I should see correct doc/api directory rendered # features/steps/project/source/markdown_render.rb:561727 Scenario: I view README in markdown branch to see reference links to file # features/project/source/markdown_render.feature:371728 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71729 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101730 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231731 ✔ Then I should see files from repository in markdown # features/steps/project/source/markdown_render.rb:161732 ✔ And I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221733 ✔ And I click on Maintenance in README # features/steps/project/source/markdown_render.rb:621734 ✔ Then I should see correct maintenance file rendered # features/steps/project/source/markdown_render.rb:661735 Scenario: README headers should have header links # features/project/source/markdown_render.feature:441736 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71737 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101738 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231739 ✔ Then I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221740 ✔ And Header "Application details" should have correct id and link # features/steps/project/source/markdown_render.rb:3091741 Scenario: I navigate to doc directory to view documentation in markdown # features/project/source/markdown_render.feature:511742 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71743 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101744 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231745 ✔ And I navigate to the doc/api/README # features/steps/project/source/markdown_render.rb:841746 ✔ And I see correct file rendered # features/steps/project/source/markdown_render.rb:1001747 ✔ And I click on users in doc/api/README # features/steps/project/source/markdown_render.rb:1081748 ✔ Then I should see the correct document file # features/steps/project/source/markdown_render.rb:1121749 Scenario: I navigate to doc directory to view user doc in markdown # features/project/source/markdown_render.feature:581750 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71751 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101752 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231753 ✔ And I navigate to the doc/api/README # features/steps/project/source/markdown_render.rb:841754 ✔ And I see correct file rendered # features/steps/project/source/markdown_render.rb:1001755 ✔ And I click on raketasks in doc/api/README # features/steps/project/source/markdown_render.rb:1171756 ✔ Then I should see correct directory rendered # features/steps/project/source/markdown_render.rb:461757 Scenario: I navigate to doc directory to view user doc in markdown # features/project/source/markdown_render.feature:651758 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71759 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101760 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231761 ✔ And I navigate to the doc/api/README # features/steps/project/source/markdown_render.rb:841762 ✔ And Header "GitLab API" should have correct id and link # features/steps/project/source/markdown_render.rb:3141763 Scenario: I browse files from markdown branch # features/project/source/markdown_render.feature:721764 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71765 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101766 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231767 ✔ When I visit markdown branch # features/steps/project/source/markdown_render.rb:1231768 ✔ Then I should see files from repository in markdown branch # features/steps/project/source/markdown_render.rb:1401769 ✔ And I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221770 ✔ And I click on Gitlab API in README # features/steps/project/source/markdown_render.rb:321771 ✔ Then I should see correct document rendered for markdown branch # features/steps/project/source/markdown_render.rb:1541772 Scenario: I browse directory from markdown branch # features/project/source/markdown_render.feature:801773 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71774 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101775 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231776 ✔ When I visit markdown branch # features/steps/project/source/markdown_render.rb:1231777 ✔ Then I should see files from repository in markdown branch # features/steps/project/source/markdown_render.rb:1401778 ✔ And I should see rendered README which contains correct links # features/steps/project/source/markdown_render.rb:221779 ✔ And I click on Rake tasks in README # features/steps/project/source/markdown_render.rb:421780 ✔ Then I should see correct directory rendered for markdown branch # features/steps/project/source/markdown_render.rb:1601781 Scenario: I navigate to doc directory to view documentation in markdown branch # features/project/source/markdown_render.feature:881782 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71783 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101784 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231785 ✔ When I visit markdown branch # features/steps/project/source/markdown_render.rb:1231786 ✔ And I navigate to the doc/api/README # features/steps/project/source/markdown_render.rb:841787 ✔ And I see correct file rendered in markdown branch # features/steps/project/source/markdown_render.rb:1461788 ✔ And I click on users in doc/api/README # features/steps/project/source/markdown_render.rb:1081789 ✔ Then I should see the users document file in markdown branch # features/steps/project/source/markdown_render.rb:1661790 Scenario: I navigate to doc directory to view user doc in markdown branch # features/project/source/markdown_render.feature:961791 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71792 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101793 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231794 ✔ When I visit markdown branch # features/steps/project/source/markdown_render.rb:1231795 ✔ And I navigate to the doc/api/README # features/steps/project/source/markdown_render.rb:841796 ✔ And I see correct file rendered in markdown branch # features/steps/project/source/markdown_render.rb:1461797 ✔ And I click on raketasks in doc/api/README # features/steps/project/source/markdown_render.rb:1171798 ✔ Then I should see correct directory rendered for markdown branch # features/steps/project/source/markdown_render.rb:1601799 Scenario: Tree markdown links view empty urls should have correct urls # features/project/source/markdown_render.feature:1041800 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71801 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101802 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231803 ✔ When I visit markdown branch # features/steps/project/source/markdown_render.rb:1231804 ✔ Then The link with text "empty" should have url "tree/markdown" # features/steps/project/source/markdown_render.rb:1731805 ✔ When I visit markdown branch "README.md" blob # features/steps/project/source/markdown_render.rb:1281806 ✔ Then The link with text "empty" should have url "blob/markdown/README.md" # features/steps/project/source/markdown_render.rb:1781807 ✔ When I visit markdown branch "d" tree # features/steps/project/source/markdown_render.rb:1321808 ✔ Then The link with text "empty" should have url "tree/markdown/d" # features/steps/project/source/markdown_render.rb:1821809 ✔ When I visit markdown branch "d/README.md" blob # features/steps/project/source/markdown_render.rb:1361810 ✔ Then The link with text "empty" should have url "blob/markdown/d/README.md" # features/steps/project/source/markdown_render.rb:1861811 Scenario: All markdown links with ids should have correct urls # features/project/source/markdown_render.feature:1171812 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71813 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101814 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231815 ✔ When I visit markdown branch # features/steps/project/source/markdown_render.rb:1231816 ✔ Then The link with text "ID" should have url "tree/markdownID" # features/steps/project/source/markdown_render.rb:1911817 ✔ Then The link with text "/ID" should have url "tree/markdownID" # features/steps/project/source/markdown_render.rb:1951818 ✔ Then The link with text "README.mdID" should have url "blob/markdown/README.mdID" # features/steps/project/source/markdown_render.rb:1991819 ✔ Then The link with text "d/README.mdID" should have url "blob/markdown/d/README.mdID" # features/steps/project/source/markdown_render.rb:2041820 ✔ When I visit markdown branch "README.md" blob # features/steps/project/source/markdown_render.rb:1281821 ✔ Then The link with text "ID" should have url "blob/markdown/README.mdID" # features/steps/project/source/markdown_render.rb:2091822 ✔ Then The link with text "/ID" should have url "blob/markdown/README.mdID" # features/steps/project/source/markdown_render.rb:2141823 ✔ Then The link with text "README.mdID" should have url "blob/markdown/README.mdID" # features/steps/project/source/markdown_render.rb:1991824 ✔ Then The link with text "d/README.mdID" should have url "blob/markdown/d/README.mdID" # features/steps/project/source/markdown_render.rb:2041825 Scenario: I create a wiki page with different links # features/project/source/markdown_render.feature:1311826 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71827 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101828 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231829 ✔ Given I go to wiki page # features/steps/project/source/markdown_render.rb:2201830 ✔ And I add various links to the wiki page # features/steps/project/source/markdown_render.rb:2251831 ✔ Then Wiki page should have added links # features/steps/project/source/markdown_render.rb:2331832 ✔ And I click on test link # features/steps/project/source/markdown_render.rb:2501833 ✔ Then I see new wiki page named test # features/steps/project/source/markdown_render.rb:2541834 ✔ When I go back to wiki page home # features/steps/project/source/markdown_render.rb:2631835 ✔ And I click on GitLab API doc link # features/steps/project/source/markdown_render.rb:2681836 ✔ Then I see Gitlab API document # features/steps/project/source/markdown_render.rb:2721837 ✔ When I go back to wiki page home # features/steps/project/source/markdown_render.rb:2631838 ✔ And I click on Rake tasks link # features/steps/project/source/markdown_render.rb:2811839 ✔ Then I see Rake tasks directory # features/steps/project/source/markdown_render.rb:2851840 Scenario: Wiki headers should have should have ids generated for them. # features/project/source/markdown_render.feature:1441841 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71842 ✔ And I own project "Delta" # features/steps/project/source/markdown_render.rb:101843 ✔ And I visit markdown branch # features/steps/project/source/markdown_render.rb:1231844 ✔ Given I go to wiki page # features/steps/project/source/markdown_render.rb:2201845 ✔ And I add a header to the wiki page # features/steps/project/source/markdown_render.rb:2381846 ✔ Then Wiki header should have correct id and link # features/steps/project/source/markdown_render.rb:2461847Feature: Project Commits Diff Comments1848 Scenario: I can comment on a commit diff # features/project/commits/diff_comments.feature:91849 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71850 ✔ And I own project "Shop" # features/steps/shared/project.rb:171851 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261852 ✔ Given I leave a diff comment like "Typo, please fix" # features/steps/shared/diff_note.rb:271853 ✔ Then I should see a diff comment saying "Typo, please fix" # features/steps/shared/diff_note.rb:1421854 Scenario: I can add a diff comment with a single emoji # features/project/commits/diff_comments.feature:141855 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71856 ✔ And I own project "Shop" # features/steps/shared/project.rb:171857 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261858 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761859 ✔ And I write a diff comment like ":smile:" # features/steps/shared/diff_note.rb:941860 ✔ Then I should see a diff comment with an emoji image # features/steps/shared/diff_note.rb:2111861 Scenario: I get a temporary form for the first comment on a diff line # features/project/commits/diff_comments.feature:201862 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71863 ✔ And I own project "Shop" # features/steps/shared/project.rb:171864 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261865 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761866 ✔ Then I should see a temporary diff comment form # features/steps/shared/diff_note.rb:1661867 Scenario: I have a cancel button on the diff form # features/project/commits/diff_comments.feature:251868 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71869 ✔ And I own project "Shop" # features/steps/shared/project.rb:171870 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261871 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761872 ✔ Then I should see the cancel comment button # features/steps/shared/diff_note.rb:1781873 Scenario: I can cancel a diff form # features/project/commits/diff_comments.feature:301874 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71875 ✔ And I own project "Shop" # features/steps/shared/project.rb:171876 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261877 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761878 ✔ And I cancel the diff comment # features/steps/shared/diff_note.rb:101879 ✔ Then I should not see the diff comment form # features/steps/shared/diff_note.rb:1111880 Scenario: I can't open a second form for a diff line # features/project/commits/diff_comments.feature:361881 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71882 ✔ And I own project "Shop" # features/steps/shared/project.rb:171883 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261884 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761885 ✔ And I open a diff comment form # features/steps/shared/diff_note.rb:761886 ✔ Then I should only see one diff form # features/steps/shared/diff_note.rb:1301887 Scenario: I can have multiple forms # features/project/commits/diff_comments.feature:421888 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71889 ✔ And I own project "Shop" # features/steps/shared/project.rb:171890 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261891 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761892 ✔ And I write a diff comment like ":-1: I don't like this" # features/steps/shared/diff_note.rb:881893 ✔ And I open another diff comment form # features/steps/shared/diff_note.rb:821894 ✔ Then I should see a diff comment form with ":-1: I don't like this" # features/steps/shared/diff_note.rb:1361895 ✔ And I should see an empty diff comment form # features/steps/shared/diff_note.rb:1721896 Scenario: I can preview multiple forms separately # features/project/commits/diff_comments.feature:501897 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71898 ✔ And I own project "Shop" # features/steps/shared/project.rb:171899 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261900 ✔ Given I preview a diff comment text like "Should fix it :smile:" # features/steps/shared/diff_note.rb:541901 ✔ And I preview another diff comment text like "DRY this up" # features/steps/shared/diff_note.rb:651902 ✔ Then I should see two separate previews # features/steps/shared/diff_note.rb:2031903 Scenario: I have a reply button in discussions # features/project/commits/diff_comments.feature:561904 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71905 ✔ And I own project "Shop" # features/steps/shared/project.rb:171906 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261907 ✔ Given I leave a diff comment like "Typo, please fix" # features/steps/shared/diff_note.rb:271908 ✔ Then I should see a discussion reply button # features/steps/shared/diff_note.rb:1601909 Scenario: I can preview with text # features/project/commits/diff_comments.feature:611910 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71911 ✔ And I own project "Shop" # features/steps/shared/project.rb:171912 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261913 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761914 ✔ And I write a diff comment like ":-1: I don't like this" # features/steps/shared/diff_note.rb:881915 ✔ Then The diff comment preview tab should display rendered Markdown # features/steps/shared/diff_note.rb:1961916 Scenario: I preview a diff comment # features/project/commits/diff_comments.feature:671917 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71918 ✔ And I own project "Shop" # features/steps/shared/project.rb:171919 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261920 ✔ Given I preview a diff comment text like "Should fix it :smile:" # features/steps/shared/diff_note.rb:541921 ✔ Then I should see the diff comment preview # features/steps/shared/diff_note.rb:1841922 ✔ And I should not see the diff comment text field # features/steps/shared/diff_note.rb:1241923 Scenario: I can edit after preview # features/project/commits/diff_comments.feature:731924 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71925 ✔ And I own project "Shop" # features/steps/shared/project.rb:171926 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261927 ✔ Given I preview a diff comment text like "Should fix it :smile:" # features/steps/shared/diff_note.rb:541928 ✔ Then I should see the diff comment write tab # features/steps/shared/diff_note.rb:1901929 Scenario: The form gets removed after posting # features/project/commits/diff_comments.feature:781930 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71931 ✔ And I own project "Shop" # features/steps/shared/project.rb:171932 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261933 ✔ Given I preview a diff comment text like "Should fix it :smile:" # features/steps/shared/diff_note.rb:541934 ✔ And I submit the diff comment # features/steps/shared/diff_note.rb:1051935 ✔ Then I should not see the diff comment form # features/steps/shared/diff_note.rb:1111936 ✔ And I should see a discussion reply button # features/steps/shared/diff_note.rb:1601937 Scenario: I can add a comment on a side-by-side commit diff (left side) # features/project/commits/diff_comments.feature:851938 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71939 ✔ And I own project "Shop" # features/steps/shared/project.rb:171940 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261941 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761942 ✔ And I click side-by-side diff button # features/steps/shared/diff_note.rb:2171943 ✔ When I leave a diff comment in a parallel view on the left side like "Old comment" # features/steps/shared/diff_note.rb:381944 ✔ Then I should see a diff comment on the left side saying "Old comment" # features/steps/shared/diff_note.rb:1481945 Scenario: I can add a comment on a side-by-side commit diff (right side) # features/project/commits/diff_comments.feature:921946 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:71947 ✔ And I own project "Shop" # features/steps/shared/project.rb:171948 ✔ And I visit project commit page # features/steps/shared/paths.rb:3261949 ✔ Given I open a diff comment form # features/steps/shared/diff_note.rb:761950 ✔ And I click side-by-side diff button # features/steps/shared/diff_note.rb:2171951 ✔ When I leave a diff comment in a parallel view on the right side like "New comment" # features/steps/shared/diff_note.rb:461952 ✔ Then I should see a diff comment on the right side saying "New comment" # features/steps/shared/diff_note.rb:1541953Feature: Project Issues References1954 Scenario: Viewing the public issue as a "John Doe" # features/project/issues/references.feature:211955 ✔ Given I sign in as "John Doe" # features/steps/shared/authentication.rb:251956 ✔ And public project "Community" # features/steps/shared/project.rb:731957 ✔ And "John Doe" owns public project "Community" # features/steps/shared/project.rb:1071958 ✔ And project "Community" has "Community issue" open issue# features/steps/shared/issuable.rb:91959 ✔ And I logout # features/steps/shared/authentication.rb:411960 ✔ And I sign in as "Mary Jane" # features/steps/shared/authentication.rb:291961 ✔ And private project "Enterprise" # features/steps/shared/project.rb:451962 ✔ And "Mary Jane" owns private project "Enterprise" # features/steps/shared/project.rb:921963 ✔ And project "Enterprise" has "Enterprise issue" open issue# features/steps/shared/issuable.rb:241964 ✔ And project "Enterprise" has "Enterprise fix" open merge request# features/steps/shared/issuable.rb:311965 ✔ And I visit issue page "Enterprise issue" # features/steps/shared/issuable.rb:531966 ✔ And I leave a comment referencing issue "Community issue"# features/steps/shared/issuable.rb:391967 ✔ And I visit merge request page "Enterprise fix" # features/steps/shared/issuable.rb:581968 ✔ And I leave a comment referencing issue "Community issue"# features/steps/shared/issuable.rb:391969 ✔ And I logout # features/steps/shared/authentication.rb:411970 ✔ Given I sign in as "John Doe" # features/steps/shared/authentication.rb:251971 ✔ When I visit issue page "Community issue" # features/steps/shared/issuable.rb:641972 ✔ Then I should not see any related merge requests # features/steps/shared/issuable.rb:741973 ✔ And I should see no notes at all # features/steps/shared/note.rb:221974 Scenario: Viewing the public issue as "Mary Jane" # features/project/issues/references.feature:281975 ✔ Given I sign in as "John Doe" # features/steps/shared/authentication.rb:251976 ✔ And public project "Community" # features/steps/shared/project.rb:731977 ✔ And "John Doe" owns public project "Community" # features/steps/shared/project.rb:1071978 ✔ And project "Community" has "Community issue" open issue # features/steps/shared/issuable.rb:91979 ✔ And I logout # features/steps/shared/authentication.rb:411980 ✔ And I sign in as "Mary Jane" # features/steps/shared/authentication.rb:291981 ✔ And private project "Enterprise" # features/steps/shared/project.rb:451982 ✔ And "Mary Jane" owns private project "Enterprise" # features/steps/shared/project.rb:921983 ✔ And project "Enterprise" has "Enterprise issue" open issue # features/steps/shared/issuable.rb:241984 ✔ And project "Enterprise" has "Enterprise fix" open merge request # features/steps/shared/issuable.rb:311985 ✔ And I visit issue page "Enterprise issue" # features/steps/shared/issuable.rb:531986 ✔ And I leave a comment referencing issue "Community issue" # features/steps/shared/issuable.rb:391987 ✔ And I visit merge request page "Enterprise fix" # features/steps/shared/issuable.rb:581988 ✔ And I leave a comment referencing issue "Community issue" # features/steps/shared/issuable.rb:391989 ✔ And I logout # features/steps/shared/authentication.rb:411990 ✔ Given I sign in as "Mary Jane" # features/steps/shared/authentication.rb:291991 ✔ When I visit issue page "Community issue" # features/steps/shared/issuable.rb:641992 ✔ Then I should see the "Enterprise fix" related merge request # features/steps/shared/issuable.rb:801993 ✔ And I should see a note linking to "Enterprise fix" merge request # features/steps/shared/issuable.rb:901994 ✔ And I should see a note linking to "Enterprise issue" issue # features/steps/shared/issuable.rb:991995Feature: Project Merge Requests References1996 Scenario: Viewing the public issue as a "John Doe" # features/project/merge_requests/references.feature:211997 ✔ Given I sign in as "John Doe" # features/steps/shared/authentication.rb:251998 ✔ And public project "Community" # features/steps/shared/project.rb:731999 ✔ And "John Doe" owns public project "Community"# features/steps/shared/project.rb:1072000 ✔ And project "Community" has "Community fix" open merge request# features/steps/shared/issuable.rb:162001 ✔ And I logout # features/steps/shared/authentication.rb:412002 ✔ And I sign in as "Mary Jane" # features/steps/shared/authentication.rb:292003 ✔ And private project "Enterprise" # features/steps/shared/project.rb:452004 ✔ And "Mary Jane" owns private project "Enterprise"# features/steps/shared/project.rb:922005 ✔ And project "Enterprise" has "Enterprise issue" open issue# features/steps/shared/issuable.rb:242006 ✔ And project "Enterprise" has "Enterprise fix" open merge request# features/steps/shared/issuable.rb:312007 ✔ And I visit issue page "Enterprise issue" # features/steps/shared/issuable.rb:532008 ✔ And I leave a comment referencing issue "Community fix"# features/steps/shared/issuable.rb:462009 ✔ And I visit merge request page "Enterprise fix"# features/steps/shared/issuable.rb:582010 ✔ And I leave a comment referencing issue "Community fix"# features/steps/shared/issuable.rb:462011 ✔ And I logout # features/steps/shared/authentication.rb:412012 ✔ Given I sign in as "John Doe" # features/steps/shared/authentication.rb:252013 ✔ When I visit issue page "Community fix" # features/steps/shared/issuable.rb:692014 ✔ Then I should see no notes at all # features/steps/shared/note.rb:222015 Scenario: Viewing the public issue as "Mary Jane" # features/project/merge_requests/references.feature:272016 ✔ Given I sign in as "John Doe" # features/steps/shared/authentication.rb:252017 ✔ And public project "Community" # features/steps/shared/project.rb:732018 ✔ And "John Doe" owns public project "Community" # features/steps/shared/project.rb:1072019 ✔ And project "Community" has "Community fix" open merge request # features/steps/shared/issuable.rb:162020 ✔ And I logout # features/steps/shared/authentication.rb:412021 ✔ And I sign in as "Mary Jane" # features/steps/shared/authentication.rb:292022 ✔ And private project "Enterprise" # features/steps/shared/project.rb:452023 ✔ And "Mary Jane" owns private project "Enterprise" # features/steps/shared/project.rb:922024 ✔ And project "Enterprise" has "Enterprise issue" open issue # features/steps/shared/issuable.rb:242025 ✔ And project "Enterprise" has "Enterprise fix" open merge request # features/steps/shared/issuable.rb:312026 ✔ And I visit issue page "Enterprise issue" # features/steps/shared/issuable.rb:532027 ✔ And I leave a comment referencing issue "Community fix" # features/steps/shared/issuable.rb:462028 ✔ And I visit merge request page "Enterprise fix" # features/steps/shared/issuable.rb:582029 ✔ And I leave a comment referencing issue "Community fix" # features/steps/shared/issuable.rb:462030 ✔ And I logout # features/steps/shared/authentication.rb:412031 ✔ Given I sign in as "Mary Jane" # features/steps/shared/authentication.rb:292032 ✔ When I visit issue page "Community fix" # features/steps/shared/issuable.rb:692033 ✔ And I should see a note linking to "Enterprise fix" merge request # features/steps/shared/issuable.rb:902034 ✔ And I should see a note linking to "Enterprise issue" issue # features/steps/shared/issuable.rb:992035Feature: Project Ff Merge Requests2036 Scenario: I do ff-only merge for rebased branch # features/project/ff_merge_requests.feature:92037 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72038 ✔ And I own project "Shop" # features/steps/shared/project.rb:172039 ✔ And project "Shop" have "Bug NS-05" open merge request with diffs inside# features/steps/project/ff_merge_requests.rb:122040 ✔ And merge request "Bug NS-05" is mergeable # features/steps/project/ff_merge_requests.rb:292041 ✔ Given ff merge enabled # features/steps/project/ff_merge_requests.rb:462042 ✔ And merge request "Bug NS-05" is rebased # features/steps/project/ff_merge_requests.rb:562043 ✔ When I visit merge request page "Bug NS-05" # features/steps/shared/paths.rb:3552044 ✔ Then I should see ff-only merge button # features/steps/project/ff_merge_requests.rb:242045 ✔ When I accept this merge request # features/steps/project/ff_merge_requests.rb:332046 ✔ Then I should see merged request # features/steps/project/ff_merge_requests.rb:392047 Scenario: I do ff-only merge for merged branch # features/project/ff_merge_requests.feature:182048 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72049 ✔ And I own project "Shop" # features/steps/shared/project.rb:172050 ✔ And project "Shop" have "Bug NS-05" open merge request with diffs inside# features/steps/project/ff_merge_requests.rb:122051 ✔ And merge request "Bug NS-05" is mergeable # features/steps/project/ff_merge_requests.rb:292052 ✔ Given ff merge enabled # features/steps/project/ff_merge_requests.rb:462053 ✔ And merge request "Bug NS-05" merged target # features/steps/project/ff_merge_requests.rb:632054 ✔ When I visit merge request page "Bug NS-05" # features/steps/shared/paths.rb:3552055 ✔ Then I should see ff-only merge button # features/steps/project/ff_merge_requests.rb:242056 ✔ When I accept this merge request # features/steps/project/ff_merge_requests.rb:332057 ✔ Then I should see merged request # features/steps/project/ff_merge_requests.rb:392058 Scenario: I do rebase before ff-only merge # features/project/ff_merge_requests.feature:272059 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72060 ✔ And I own project "Shop" # features/steps/shared/project.rb:172061 ✔ And project "Shop" have "Bug NS-05" open merge request with diffs inside# features/steps/project/ff_merge_requests.rb:122062 ✔ And merge request "Bug NS-05" is mergeable # features/steps/project/ff_merge_requests.rb:292063 ✔ Given ff merge enabled # features/steps/project/ff_merge_requests.rb:462064 ✔ And rebase before merge enabled # features/steps/project/ff_merge_requests.rb:702065 ✔ When I visit merge request page "Bug NS-05" # features/steps/shared/paths.rb:3552066 ✔ Then I should see rebase button # features/steps/project/ff_merge_requests.rb:522067 ✔ When I press rebase button # features/steps/project/ff_merge_requests.rb:762068 ✔ Then I should see rebase in progress message # features/steps/project/ff_merge_requests.rb:802069 Scenario: I do rebase before regular merge # features/project/ff_merge_requests.feature:362070 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72071 ✔ And I own project "Shop" # features/steps/shared/project.rb:172072 ✔ And project "Shop" have "Bug NS-05" open merge request with diffs inside# features/steps/project/ff_merge_requests.rb:122073 ✔ And merge request "Bug NS-05" is mergeable # features/steps/project/ff_merge_requests.rb:292074 ✔ Given rebase before merge enabled # features/steps/project/ff_merge_requests.rb:702075 ✔ When I visit merge request page "Bug NS-05" # features/steps/shared/paths.rb:3552076 ✔ Then I should see rebase button # features/steps/project/ff_merge_requests.rb:522077 ✔ When I press rebase button # features/steps/project/ff_merge_requests.rb:762078 ✔ Then I should see rebase in progress message # features/steps/project/ff_merge_requests.rb:802079Feature: Project Builds Artifacts2080 Scenario: I download build artifacts # features/project/builds/artifacts.feature:82081 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72082 ✔ And I own a project # features/steps/shared/project.rb:52083 ✔ And project has CI enabled # features/steps/shared/builds.rb:42084 ✔ And project has a recent build # features/steps/shared/builds.rb:122085 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332086 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292087 ✔ And I click artifacts download button # features/steps/project/builds/artifacts.rb:82088 ✔ Then download of build artifacts archive starts # features/steps/shared/builds.rb:492089 Scenario: I browse build artifacts # features/project/builds/artifacts.feature:142090 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72091 ✔ And I own a project # features/steps/shared/project.rb:52092 ✔ And project has CI enabled # features/steps/shared/builds.rb:42093 ✔ And project has a recent build # features/steps/shared/builds.rb:122094 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332095 ✔ And recent build has artifacts metadata available # features/steps/shared/builds.rb:392096 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292097 ✔ And I click artifacts browse button # features/steps/project/builds/artifacts.rb:122098 ✔ Then I should see content of artifacts archive # features/steps/project/builds/artifacts.rb:172099 ✔ And I should see the build header # features/steps/project/builds/artifacts.rb:262100 Scenario: I browse subdirectory of build artifacts # features/project/builds/artifacts.feature:222101 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72102 ✔ And I own a project # features/steps/shared/project.rb:52103 ✔ And project has CI enabled # features/steps/shared/builds.rb:42104 ✔ And project has a recent build # features/steps/shared/builds.rb:122105 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332106 ✔ And recent build has artifacts metadata available # features/steps/shared/builds.rb:392107 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292108 ✔ And I click artifacts browse button # features/steps/project/builds/artifacts.rb:122109 ✔ And I click link to subdirectory within build artifacts # features/steps/project/builds/artifacts.rb:322110 ✔ Then I should see content of subdirectory within artifacts archive # features/steps/project/builds/artifacts.rb:362111 ✔ And I should see the directory name in the breadcrumb # features/steps/project/builds/artifacts.rb:442112 Scenario: I browse directory with UTF-8 characters in name # features/project/builds/artifacts.feature:312113 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72114 ✔ And I own a project # features/steps/shared/project.rb:52115 ✔ And project has CI enabled # features/steps/shared/builds.rb:42116 ✔ And project has a recent build # features/steps/shared/builds.rb:122117 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332118 ✔ And recent build has artifacts metadata available # features/steps/shared/builds.rb:392119 ✔ And recent build artifacts contain directory with UTF-8 characters # features/steps/project/builds/artifacts.rb:502120 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292121 ✔ And I click artifacts browse button # features/steps/project/builds/artifacts.rb:122122 ✔ And I navigate to directory with UTF-8 characters in name # features/steps/project/builds/artifacts.rb:542123 ✔ Then I should see content of directory with UTF-8 characters in name # features/steps/project/builds/artifacts.rb:592124 Scenario: I try to browse directory with invalid UTF-8 characters in name # features/project/builds/artifacts.feature:402125 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72126 ✔ And I own a project # features/steps/shared/project.rb:52127 ✔ And project has CI enabled # features/steps/shared/builds.rb:42128 ✔ And project has a recent build # features/steps/shared/builds.rb:122129 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332130 ✔ And recent build has artifacts metadata available # features/steps/shared/builds.rb:392131 ✔ And recent build artifacts contain directory with invalid UTF-8 characters # features/steps/project/builds/artifacts.rb:662132 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292133 ✔ And I click artifacts browse button # features/steps/project/builds/artifacts.rb:122134 ✔ And I navigate to parent directory of directory with invalid name # features/steps/project/builds/artifacts.rb:702135 ✔ Then I should not see directory with invalid name on the list # features/steps/project/builds/artifacts.rb:742136 Scenario: I download a single file from build artifacts # features/project/builds/artifacts.feature:502137 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72138 ✔ And I own a project # features/steps/shared/project.rb:52139 ✔ And project has CI enabled # features/steps/shared/builds.rb:42140 ✔ And project has a recent build # features/steps/shared/builds.rb:122141 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332142 ✔ And recent build has artifacts metadata available # features/steps/shared/builds.rb:392143 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292144 ✔ And I click artifacts browse button # features/steps/project/builds/artifacts.rb:122145 ✔ And I click a link to file within build artifacts # features/steps/project/builds/artifacts.rb:802146 ✔ Then I see a download link # features/steps/project/builds/artifacts.rb:852147 Scenario: I click on a row in an artifacts table # features/project/builds/artifacts.feature:592148 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72149 ✔ And I own a project # features/steps/shared/project.rb:52150 ✔ And project has CI enabled # features/steps/shared/builds.rb:42151 ✔ And project has a recent build # features/steps/shared/builds.rb:122152 ✔ Given recent build has artifacts available # features/steps/shared/builds.rb:332153 ✔ And recent build has artifacts metadata available # features/steps/shared/builds.rb:392154 ✔ When I visit recent build details page # features/steps/shared/builds.rb:292155 ✔ And I click artifacts browse button # features/steps/project/builds/artifacts.rb:122156 ✔ And I click a first row within build artifacts table # features/steps/project/builds/artifacts.rb:892157 ✔ Then page with a coresponding path is loading # features/steps/project/builds/artifacts.rb:952158Feature: Project Deploy Keys2159 Scenario: I should see deploy keys list # features/project/deploy_keys.feature:72160 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72161 ✔ And I own project "Shop" # features/steps/shared/project.rb:172162 ✔ Given project has deploy key # features/steps/project/deploy_keys.rb:62163 ✔ When I visit project deploy keys page # features/steps/shared/paths.rb:2592164 ✔ Then I should see project deploy key # features/steps/project/deploy_keys.rb:102165 Scenario: I should see project deploy keys # features/project/deploy_keys.feature:132166 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72167 ✔ And I own project "Shop" # features/steps/shared/project.rb:172168 ✔ Given other projects have deploy keys # features/steps/project/deploy_keys.rb:492169 ✔ When I visit project deploy keys page # features/steps/shared/paths.rb:2592170 ✔ Then I should see other project deploy key # features/steps/project/deploy_keys.rb:162171 ✔ And I should only see the same deploy key once # features/steps/project/deploy_keys.rb:592172 Scenario: I should see public deploy keys # features/project/deploy_keys.feature:202173 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72174 ✔ And I own project "Shop" # features/steps/shared/project.rb:172175 ✔ Given public deploy key exists # features/steps/project/deploy_keys.rb:652176 ✔ When I visit project deploy keys page # features/steps/shared/paths.rb:2592177 ✔ Then I should see public deploy key # features/steps/project/deploy_keys.rb:222178 Scenario: I add new deploy key # features/project/deploy_keys.feature:262179 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72180 ✔ And I own project "Shop" # features/steps/shared/project.rb:172181 ✔ Given I visit project deploy keys page # features/steps/shared/paths.rb:2592182 ✔ And I submit new deploy key # features/steps/project/deploy_keys.rb:322183 ✔ Then I should be on deploy keys page # features/steps/project/deploy_keys.rb:382184 ✔ And I should see newly created deploy key # features/steps/project/deploy_keys.rb:422185 Scenario: I attach other project deploy key to project # features/project/deploy_keys.feature:332186 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72187 ✔ And I own project "Shop" # features/steps/shared/project.rb:172188 ✔ Given other projects have deploy keys # features/steps/project/deploy_keys.rb:492189 ✔ And I visit project deploy keys page # features/steps/shared/paths.rb:2592190 ✔ When I click attach deploy key # features/steps/project/deploy_keys.rb:692191 ✔ Then I should be on deploy keys page # features/steps/project/deploy_keys.rb:382192 ✔ And I should see newly created deploy key # features/steps/project/deploy_keys.rb:422193 Scenario: I attach public deploy key to project # features/project/deploy_keys.feature:412194 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72195 ✔ And I own project "Shop" # features/steps/shared/project.rb:172196 ✔ Given public deploy key exists # features/steps/project/deploy_keys.rb:652197 ✔ And I visit project deploy keys page # features/steps/shared/paths.rb:2592198 ✔ When I click attach deploy key # features/steps/project/deploy_keys.rb:692199 ✔ Then I should be on deploy keys page # features/steps/project/deploy_keys.rb:382200 ✔ And I should see newly created deploy key # features/steps/project/deploy_keys.rb:422201Feature: Groups Management2202 Scenario: Project master can add members before lock # features/groups_management.feature:72203 ✔ Given "Pete Peters" is owner of group "Sourcing" # features/steps/shared/group.rb:282204 ✔ And "Open" is in group "Sourcing" # features/steps/groups_management.rb:82205 ✔ And "Mary Jane" has master access for project "Open" # features/steps/groups_management.rb:132206 ✔ Given I sign in as "Mary Jane" # features/steps/shared/authentication.rb:292207 ✔ And I go to "Open" project members page # features/steps/groups_management.rb:242208 ✔ Then I can control user membership # features/steps/groups_management.rb:322209 ✔ When Group membership lock is enabled # features/steps/groups_management.rb:192210 ✔ And I reload "Open" project members page # features/steps/groups_management.rb:372211 ✔ Then I cannot control user membership from project page # features/steps/groups_management.rb:722212 ✔ And I logout # features/steps/shared/authentication.rb:412213 Scenario: Group owner lock membership controls # features/groups_management.feature:172214 ✔ Given "Pete Peters" is owner of group "Sourcing" # features/steps/shared/group.rb:282215 ✔ And "Open" is in group "Sourcing" # features/steps/groups_management.rb:82216 ✔ And "Mary Jane" has master access for project "Open" # features/steps/groups_management.rb:132217 ✔ Given I sign in as "Pete Peters" # features/steps/shared/authentication.rb:332218 ✔ And I go to group settings page # features/steps/groups_management.rb:462219 ✔ And I enable membership lock # features/steps/groups_management.rb:572220 ✔ And I go to project settings # features/steps/groups_management.rb:622221 ✔ Then I cannot control user membership from project page # features/steps/groups_management.rb:722222 ✔ And I logout # features/steps/shared/authentication.rb:412223Feature: Group Hooks2224 Scenario: I should see hook list # features/group_hooks.feature:62225 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72226 ✔ And I own group "Sourcing" # features/steps/group_hooks.rb:112227 ✔ Given I own project "Shop" in group "Sourcing" # features/steps/group_hooks.rb:162228 ✔ And group has hook # features/steps/group_hooks.rb:242229 ✔ When I visit group hooks page # features/steps/shared/paths.rb:2552230 ✔ Then I should see group hook # features/steps/group_hooks.rb:282231 Scenario: I add new hook # features/group_hooks.feature:122232 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72233 ✔ And I own group "Sourcing" # features/steps/group_hooks.rb:112234 ✔ Given I own project "Shop" in group "Sourcing" # features/steps/group_hooks.rb:162235 ✔ And I visit group hooks page # features/steps/shared/paths.rb:2552236 ✔ When I submit new hook # features/steps/group_hooks.rb:322237 ✔ Then I should see newly created hook # features/steps/group_hooks.rb:382238 Scenario: I test hook # features/group_hooks.feature:182239 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72240 ✔ And I own group "Sourcing" # features/steps/group_hooks.rb:112241 ✔ Given I own project "Shop" in group "Sourcing" # features/steps/group_hooks.rb:162242 ✔ And group has hook # features/steps/group_hooks.rb:242243 ✔ And I visit group hooks page # features/steps/shared/paths.rb:2552244 ✔ When I click test hook button # features/steps/group_hooks.rb:432245 ✔ Then hook should be triggered # features/steps/group_hooks.rb:552246 Scenario: I test a hook on empty project # features/group_hooks.feature:252247 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72248 ✔ And I own group "Sourcing" # features/steps/group_hooks.rb:112249 ✔ Given I own empty project "Empty Shop" in group "Sourcing" # features/steps/group_hooks.rb:202250 ✔ And group has hook # features/steps/group_hooks.rb:242251 ✔ And I visit group hooks page # features/steps/shared/paths.rb:2552252 ✔ When I click test hook button # features/steps/group_hooks.rb:432253 ✔ Then I should see hook error message # features/steps/group_hooks.rb:612254 Scenario: I test a hook on down URL # features/group_hooks.feature:322255 ✔ Given I sign in as a user # features/steps/shared/authentication.rb:72256 ✔ And I own group "Sourcing" # features/steps/group_hooks.rb:112257 ✔ Given I own project "Shop" in group "Sourcing" # features/steps/group_hooks.rb:162258 ✔ And group has hook # features/steps/group_hooks.rb:242259 ✔ And I visit group hooks page # features/steps/shared/paths.rb:2552260 ✔ When I click test hook button with invalid URL # features/steps/group_hooks.rb:502261 ✔ Then I should see hook service down error message # features/steps/group_hooks.rb:662262Knapsack global time execution for tests: 05m 13s2263Knapsack report was generated. Preview:2264{2265 "features/project/source/markdown_render.feature": 102.31398820877075,2266 "features/project/commits/diff_comments.feature": 62.02982974052429,2267 "features/project/issues/references.feature": 33.19957995414734,2268 "features/project/merge_requests/references.feature": 30.940523147583008,2269 "features/project/ff_merge_requests.feature": 21.58748149871826,2270 "features/project/builds/artifacts.feature": 19.233062267303467,2271 "features/project/deploy_keys.feature": 21.42776918411255,2272 "features/groups_management.feature": 15.14542555809021,2273 "features/group_hooks.feature": 8.1161625385284422274}2275Steps Summary: (498) Successful, (0) Pending, (0) Undefined, (0) Failed, (0) Error2276Finished in 325.626539789 seconds2278$ date2279Wed May 2 14:47:32 UTC 20182282coverage/: found 5 matching files 2283knapsack/: found 6 matching files 2284WARNING: tmp/capybara/: no matching files 2285Uploading artifacts to coordinator... ok id=66066928 responseStatus=201 Created token=nydZHVKt2286Job succeeded