Project 'gitlab-org/gitlab-ee' was moved to 'gitlab-org/gitlab'. Please update any links and bookmarks that may still have the old path.
rspec-pg 5 25
Failed Started
by
@godfat
Lin Jen-Shin
There is an unknown failure, please try again
1Running with gitlab-ci-multi-runner 9.4.2 (6d06f2e)2 on docker-auto-scale-com (9fa978b6)3Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6 ...4Starting service postgres:9.2 ...5Pulling docker image postgres:9.2 ...6Using docker image postgres:9.2 ID=sha256:db720e33840f96601414915e5685d9e886ca931caffa1afe05ad784e9be2921f for postgres service...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image redis:alpine ID=sha256:9d8fa9aa0e5b35f1790162225a6ffe6207a3ca73d967d8f6920ed0f293086ff9 for redis service...10Starting service docker.elastic.co/elasticsearch/elasticsearch:5.3.2 ...11Pulling docker image docker.elastic.co/elasticsearch/elasticsearch:5.3.2 ...12Using docker image docker.elastic.co/elasticsearch/elasticsearch:5.3.2 ID=sha256:4b1cbf4a40912c3c0ad6c667a9998c98fda28d4c753ebcbb21b50c7e9aa244ba for docker.elastic.co/elasticsearch/elasticsearch service...13Waiting for services to be up and running...14Using docker image sha256:c189b0bc4994d5bdd76ed7afeeac380469fb170f012a495379a804977427628c for predefined container...15Pulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6 ...16Using docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6 ID=sha256:bfb7deb8429c4531a0bbbd7accfe3b0ba22388e09e94dee3db3f82f7f5898d98 for build container...17Running on runner-9fa978b6-project-278964-concurrent-0 via runner-9fa978b6-auto-scale-1501865493-f0ff8466...18Fetching changes for ce-to-ee-2017-08-03 with git depth set to 20...19Removing .gitlab_shell_secret20Removing .gitlab_workhorse_secret21Removing .yarn-cache/22Removing config/database.yml23Removing config/database_geo.yml24Removing config/gitlab.yml25Removing config/redis.cache.yml26Removing config/redis.queues.yml27Removing config/redis.shared_state.yml28Removing config/resque.yml29Removing config/secrets.yml30Removing coverage/31Removing knapsack/32Removing log/application.log33Removing log/geo.log34Removing log/gitaly-test.log35Removing log/test_json.log36Removing node_modules/37Removing public/assets/38Removing shared/artifacts/2017_08/39Removing tmp/cache/40Removing tmp/move_uploads_test/41Removing tmp/tests/42Removing vendor/ruby/43HEAD is now at e012d8c Merge branch 'ee-34060-simplified-general-project-settings' into 'master'45 * [new branch] ce-to-ee-2017-08-03 -> origin/ce-to-ee-2017-08-0346Checking out 22476cad as ce-to-ee-2017-08-03...47Skipping Git submodules setup48Checking cache for ruby-233-with-yarn...49Downloading cache.zip from http://runners-cache-5-internal.gitlab.com:444/runner/project/278964/ruby-233-with-yarn 50Successfully extracted cache51Downloading artifacts for knapsack (28149484)...52Downloading artifacts from coordinator... ok id=28149484 responseStatus=200 OK token=CTkmdks253Downloading artifacts for setup-test-env (28149485)...54Downloading artifacts from coordinator... ok id=28149485 responseStatus=200 OK token=r7fdcY_Z55WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 56$ bundle --version57Bundler version 1.14.658$ source scripts/utils.sh59$ source scripts/prepare_build.sh60Warning: the running version of Bundler (1.14.6) is older than the version that created the lockfile (1.15.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.61The Gemfile's dependencies are satisfied62Successfully installed knapsack-1.14.0631 gem installed64WARNING: Unable to check/update clone_url_prefix for Geo: PG::UndefinedTable: ERROR: relation "geo_nodes" does not exist65LINE 5: WHERE a.attrelid = '"geo_nodes"'::regclass66 ^67: SELECT a.attname, format_type(a.atttypid, a.atttypmod),68 pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod69 FROM pg_attribute a LEFT JOIN pg_attrdef d70 ON a.attrelid = d.adrelid AND a.attnum = d.adnum71 WHERE a.attrelid = '"geo_nodes"'::regclass72 AND a.attnum > 0 AND NOT a.attisdropped73 ORDER BY a.attnum74Missing Rails.application.secrets.secret_key_base for test environment. The secret will be generated and stored in config/secrets.yml.75Missing Rails.application.secrets.otp_key_base for test environment. The secret will be generated and stored in config/secrets.yml.76Missing Rails.application.secrets.db_key_base for test environment. The secret will be generated and stored in config/secrets.yml.77Missing Rails.application.secrets.jws_private_key for test environment. The secret will be generated and stored in config/secrets.yml.78-- enable_extension("plpgsql")79 -> 0.0169s80-- enable_extension("pg_trgm")81 -> 0.0200s82-- create_table("abuse_reports", {:force=>:cascade})83 -> 0.0116s84-- create_table("appearances", {:force=>:cascade})85 -> 0.0071s86-- create_table("application_settings", {:force=>:cascade})87 -> 0.0315s88-- create_table("approvals", {:force=>:cascade})89 -> 0.0056s90-- add_index("approvals", ["merge_request_id"], {:name=>"index_approvals_on_merge_request_id", :using=>:btree})91 -> 0.0049s92-- create_table("approver_groups", {:force=>:cascade})93 -> 0.0073s94-- add_index("approver_groups", ["group_id"], {:name=>"index_approver_groups_on_group_id", :using=>:btree})95 -> 0.0046s96-- add_index("approver_groups", ["target_id", "target_type"], {:name=>"index_approver_groups_on_target_id_and_target_type", :using=>:btree})97 -> 0.0045s98-- create_table("approvers", {:force=>:cascade})99 -> 0.0069s100-- add_index("approvers", ["target_id", "target_type"], {:name=>"index_approvers_on_target_id_and_target_type", :using=>:btree})101 -> 0.0045s102-- add_index("approvers", ["user_id"], {:name=>"index_approvers_on_user_id", :using=>:btree})103 -> 0.0042s104-- create_table("audit_events", {:force=>:cascade})105 -> 0.0066s106-- add_index("audit_events", ["entity_id", "entity_type"], {:name=>"index_audit_events_on_entity_id_and_entity_type", :using=>:btree})107 -> 0.0045s108-- create_table("award_emoji", {:force=>:cascade})109 -> 0.0064s110-- add_index("award_emoji", ["awardable_type", "awardable_id"], {:name=>"index_award_emoji_on_awardable_type_and_awardable_id", :using=>:btree})111 -> 0.0049s112-- add_index("award_emoji", ["user_id", "name"], {:name=>"index_award_emoji_on_user_id_and_name", :using=>:btree})113 -> 0.0048s114-- create_table("boards", {:force=>:cascade})115 -> 0.0068s116-- add_index("boards", ["milestone_id"], {:name=>"index_boards_on_milestone_id", :using=>:btree})117 -> 0.0055s118-- add_index("boards", ["project_id"], {:name=>"index_boards_on_project_id", :using=>:btree})119 -> 0.0046s120-- create_table("broadcast_messages", {:force=>:cascade})121 -> 0.0069s122-- create_table("chat_names", {:force=>:cascade})123 -> 0.0068s124-- 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})125 -> 0.0044s126-- add_index("chat_names", ["user_id", "service_id"], {:name=>"index_chat_names_on_user_id_and_service_id", :unique=>true, :using=>:btree})127 -> 0.0043s128-- create_table("chat_teams", {:force=>:cascade})129 -> 0.0062s130-- add_index("chat_teams", ["namespace_id"], {:name=>"index_chat_teams_on_namespace_id", :unique=>true, :using=>:btree})131 -> 0.0041s132-- create_table("ci_builds", {:force=>:cascade})133 -> 0.0080s134-- add_index("ci_builds", ["auto_canceled_by_id"], {:name=>"index_ci_builds_on_auto_canceled_by_id", :using=>:btree})135 -> 0.0038s136-- add_index("ci_builds", ["commit_id", "stage_idx", "created_at"], {:name=>"index_ci_builds_on_commit_id_and_stage_idx_and_created_at", :using=>:btree})137 -> 0.0040s138-- add_index("ci_builds", ["commit_id", "status", "type"], {:name=>"index_ci_builds_on_commit_id_and_status_and_type", :using=>:btree})139 -> 0.0037s140-- add_index("ci_builds", ["commit_id", "type", "name", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_name_and_ref", :using=>:btree})141 -> 0.0036s142-- add_index("ci_builds", ["commit_id", "type", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_ref", :using=>:btree})143 -> 0.0038s144-- add_index("ci_builds", ["project_id"], {:name=>"index_ci_builds_on_project_id", :using=>:btree})145 -> 0.0034s146-- add_index("ci_builds", ["runner_id"], {:name=>"index_ci_builds_on_runner_id", :using=>:btree})147 -> 0.0034s148-- add_index("ci_builds", ["stage_id"], {:name=>"index_ci_builds_on_stage_id", :using=>:btree})149 -> 0.0035s150-- add_index("ci_builds", ["status", "type", "runner_id"], {:name=>"index_ci_builds_on_status_and_type_and_runner_id", :using=>:btree})151 -> 0.0036s152-- add_index("ci_builds", ["status"], {:name=>"index_ci_builds_on_status", :using=>:btree})153 -> 0.0033s154-- add_index("ci_builds", ["token"], {:name=>"index_ci_builds_on_token", :unique=>true, :using=>:btree})155 -> 0.0033s156-- add_index("ci_builds", ["updated_at"], {:name=>"index_ci_builds_on_updated_at", :using=>:btree})157 -> 0.0033s158-- add_index("ci_builds", ["user_id"], {:name=>"index_ci_builds_on_user_id", :using=>:btree})159 -> 0.0035s160-- create_table("ci_group_variables", {:force=>:cascade})161 -> 0.0057s162-- add_index("ci_group_variables", ["group_id", "key"], {:name=>"index_ci_group_variables_on_group_id_and_key", :unique=>true, :using=>:btree})163 -> 0.0035s164-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})165 -> 0.0048s166-- 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})167 -> 0.0032s168-- create_table("ci_pipeline_schedules", {:force=>:cascade})169 -> 0.0054s170-- add_index("ci_pipeline_schedules", ["next_run_at", "active"], {:name=>"index_ci_pipeline_schedules_on_next_run_at_and_active", :using=>:btree})171 -> 0.0031s172-- add_index("ci_pipeline_schedules", ["project_id"], {:name=>"index_ci_pipeline_schedules_on_project_id", :using=>:btree})173 -> 0.0032s174-- create_table("ci_pipeline_variables", {:force=>:cascade})175 -> 0.0047s176-- add_index("ci_pipeline_variables", ["pipeline_id", "key"], {:name=>"index_ci_pipeline_variables_on_pipeline_id_and_key", :unique=>true, :using=>:btree})177 -> 0.0030s178-- create_table("ci_pipelines", {:force=>:cascade})179 -> 0.0053s180-- add_index("ci_pipelines", ["auto_canceled_by_id"], {:name=>"index_ci_pipelines_on_auto_canceled_by_id", :using=>:btree})181 -> 0.0030s182-- add_index("ci_pipelines", ["pipeline_schedule_id"], {:name=>"index_ci_pipelines_on_pipeline_schedule_id", :using=>:btree})183 -> 0.0030s184-- add_index("ci_pipelines", ["project_id", "ref", "status"], {:name=>"index_ci_pipelines_on_project_id_and_ref_and_status", :using=>:btree})185 -> 0.0030s186-- add_index("ci_pipelines", ["project_id", "sha"], {:name=>"index_ci_pipelines_on_project_id_and_sha", :using=>:btree})187 -> 0.0030s188-- add_index("ci_pipelines", ["project_id"], {:name=>"index_ci_pipelines_on_project_id", :using=>:btree})189 -> 0.0030s190-- add_index("ci_pipelines", ["status"], {:name=>"index_ci_pipelines_on_status", :using=>:btree})191 -> 0.0029s192-- add_index("ci_pipelines", ["user_id"], {:name=>"index_ci_pipelines_on_user_id", :using=>:btree})193 -> 0.0030s194-- create_table("ci_runner_projects", {:force=>:cascade})195 -> 0.0034s196-- add_index("ci_runner_projects", ["project_id"], {:name=>"index_ci_runner_projects_on_project_id", :using=>:btree})197 -> 0.0029s198-- add_index("ci_runner_projects", ["runner_id"], {:name=>"index_ci_runner_projects_on_runner_id", :using=>:btree})199 -> 0.0029s200-- create_table("ci_runners", {:force=>:cascade})201 -> 0.0059s202-- add_index("ci_runners", ["contacted_at"], {:name=>"index_ci_runners_on_contacted_at", :using=>:btree})203 -> 0.0029s204-- add_index("ci_runners", ["is_shared"], {:name=>"index_ci_runners_on_is_shared", :using=>:btree})205 -> 0.0028s206-- add_index("ci_runners", ["locked"], {:name=>"index_ci_runners_on_locked", :using=>:btree})207 -> 0.0030s208-- add_index("ci_runners", ["token"], {:name=>"index_ci_runners_on_token", :using=>:btree})209 -> 0.0028s210-- create_table("ci_sources_pipelines", {:force=>:cascade})211 -> 0.0034s212-- add_index("ci_sources_pipelines", ["pipeline_id"], {:name=>"index_ci_pipeline_source_pipelines_on_pipeline_id", :using=>:btree})213 -> 0.0032s214-- add_index("ci_sources_pipelines", ["project_id"], {:name=>"index_ci_pipeline_source_pipelines_on_project_id", :using=>:btree})215 -> 0.0031s216-- add_index("ci_sources_pipelines", ["source_job_id"], {:name=>"index_ci_pipeline_source_pipelines_on_source_job_id", :using=>:btree})217 -> 0.0029s218-- add_index("ci_sources_pipelines", ["source_pipeline_id"], {:name=>"index_ci_pipeline_source_pipelines_on_source_pipeline_id", :using=>:btree})219 -> 0.0030s220-- add_index("ci_sources_pipelines", ["source_project_id"], {:name=>"index_ci_pipeline_source_pipelines_on_source_project_id", :using=>:btree})221 -> 0.0029s222-- create_table("ci_stages", {:force=>:cascade})223 -> 0.0063s224-- add_index("ci_stages", ["pipeline_id", "name"], {:name=>"index_ci_stages_on_pipeline_id_and_name", :using=>:btree})225 -> 0.0029s226-- add_index("ci_stages", ["pipeline_id"], {:name=>"index_ci_stages_on_pipeline_id", :using=>:btree})227 -> 0.0029s228-- add_index("ci_stages", ["project_id"], {:name=>"index_ci_stages_on_project_id", :using=>:btree})229 -> 0.0032s230-- create_table("ci_trigger_requests", {:force=>:cascade})231 -> 0.0045s232-- add_index("ci_trigger_requests", ["commit_id"], {:name=>"index_ci_trigger_requests_on_commit_id", :using=>:btree})233 -> 0.0030s234-- create_table("ci_triggers", {:force=>:cascade})235 -> 0.0049s236-- add_index("ci_triggers", ["project_id"], {:name=>"index_ci_triggers_on_project_id", :using=>:btree})237 -> 0.0031s238-- create_table("ci_variables", {:force=>:cascade})239 -> 0.0053s240-- 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})241 -> 0.0030s242-- create_table("container_repositories", {:force=>:cascade})243 -> 0.0045s244-- add_index("container_repositories", ["project_id", "name"], {:name=>"index_container_repositories_on_project_id_and_name", :unique=>true, :using=>:btree})245 -> 0.0029s246-- add_index("container_repositories", ["project_id"], {:name=>"index_container_repositories_on_project_id", :using=>:btree})247 -> 0.0055s248-- create_table("conversational_development_index_metrics", {:force=>:cascade})249 -> 0.0038s250-- create_table("deploy_keys_projects", {:force=>:cascade})251 -> 0.0030s252-- add_index("deploy_keys_projects", ["project_id"], {:name=>"index_deploy_keys_projects_on_project_id", :using=>:btree})253 -> 0.0028s254-- create_table("deployments", {:force=>:cascade})255 -> 0.0046s256-- add_index("deployments", ["created_at"], {:name=>"index_deployments_on_created_at", :using=>:btree})257 -> 0.0031s258-- add_index("deployments", ["project_id", "environment_id", "iid"], {:name=>"index_deployments_on_project_id_and_environment_id_and_iid", :using=>:btree})259 -> 0.0028s260-- add_index("deployments", ["project_id", "iid"], {:name=>"index_deployments_on_project_id_and_iid", :unique=>true, :using=>:btree})261 -> 0.0030s262-- create_table("emails", {:force=>:cascade})263 -> 0.0045s264-- add_index("emails", ["email"], {:name=>"index_emails_on_email", :unique=>true, :using=>:btree})265 -> 0.0111s266-- add_index("emails", ["user_id"], {:name=>"index_emails_on_user_id", :using=>:btree})267 -> 0.0063s268-- create_table("environments", {:force=>:cascade})269 -> 0.0068s270-- add_index("environments", ["project_id", "name"], {:name=>"index_environments_on_project_id_and_name", :unique=>true, :using=>:btree})271 -> 0.0042s272-- add_index("environments", ["project_id", "slug"], {:name=>"index_environments_on_project_id_and_slug", :unique=>true, :using=>:btree})273 -> 0.0038s274-- create_table("events", {:force=>:cascade})275 -> 0.0059s276-- add_index("events", ["action"], {:name=>"index_events_on_action", :using=>:btree})277 -> 0.0037s278-- add_index("events", ["author_id"], {:name=>"index_events_on_author_id", :using=>:btree})279 -> 0.0035s280-- add_index("events", ["created_at"], {:name=>"index_events_on_created_at", :using=>:btree})281 -> 0.0036s282-- add_index("events", ["project_id"], {:name=>"index_events_on_project_id", :using=>:btree})283 -> 0.0037s284-- add_index("events", ["target_id"], {:name=>"index_events_on_target_id", :using=>:btree})285 -> 0.0049s286-- add_index("events", ["target_type"], {:name=>"index_events_on_target_type", :using=>:btree})287 -> 0.0044s288-- create_table("feature_gates", {:force=>:cascade})289 -> 0.0064s290-- add_index("feature_gates", ["feature_key", "key", "value"], {:name=>"index_feature_gates_on_feature_key_and_key_and_value", :unique=>true, :using=>:btree})291 -> 0.0040s292-- create_table("features", {:force=>:cascade})293 -> 0.0055s294-- add_index("features", ["key"], {:name=>"index_features_on_key", :unique=>true, :using=>:btree})295 -> 0.0038s296-- create_table("forked_project_links", {:force=>:cascade})297 -> 0.0039s298-- add_index("forked_project_links", ["forked_to_project_id"], {:name=>"index_forked_project_links_on_forked_to_project_id", :unique=>true, :using=>:btree})299 -> 0.0034s300-- create_table("geo_event_log", {:id=>:bigserial, :force=>:cascade})301 -> 0.0039s302-- add_index("geo_event_log", ["repository_updated_event_id"], {:name=>"index_geo_event_log_on_repository_updated_event_id", :using=>:btree})303 -> 0.0033s304-- create_table("geo_nodes", {:force=>:cascade})305 -> 0.0052s306-- add_index("geo_nodes", ["access_key"], {:name=>"index_geo_nodes_on_access_key", :using=>:btree})307 -> 0.0031s308-- add_index("geo_nodes", ["host"], {:name=>"index_geo_nodes_on_host", :using=>:btree})309 -> 0.0031s310-- add_index("geo_nodes", ["primary"], {:name=>"index_geo_nodes_on_primary", :using=>:btree})311 -> 0.0029s312-- create_table("geo_repository_deleted_events", {:id=>:bigserial, :force=>:cascade})313 -> 0.0045s314-- add_index("geo_repository_deleted_events", ["project_id"], {:name=>"index_geo_repository_deleted_events_on_project_id", :using=>:btree})315 -> 0.0031s316-- create_table("geo_repository_renamed_events", {:id=>:bigserial, :force=>:cascade})317 -> 0.0048s318-- add_index("geo_repository_renamed_events", ["project_id"], {:name=>"index_geo_repository_renamed_events_on_project_id", :using=>:btree})319 -> 0.0032s320-- create_table("geo_repository_updated_events", {:id=>:bigserial, :force=>:cascade})321 -> 0.0058s322-- add_index("geo_repository_updated_events", ["project_id"], {:name=>"index_geo_repository_updated_events_on_project_id", :using=>:btree})323 -> 0.0028s324-- add_index("geo_repository_updated_events", ["source"], {:name=>"index_geo_repository_updated_events_on_source", :using=>:btree})325 -> 0.0028s326-- create_table("historical_data", {:force=>:cascade})327 -> 0.0031s328-- create_table("gpg_keys", {:force=>:cascade})329 -> 0.0047s330-- add_index("gpg_keys", ["fingerprint"], {:name=>"index_gpg_keys_on_fingerprint", :unique=>true, :using=>:btree})331 -> 0.0030s332-- add_index("gpg_keys", ["primary_keyid"], {:name=>"index_gpg_keys_on_primary_keyid", :unique=>true, :using=>:btree})333 -> 0.0031s334-- add_index("gpg_keys", ["user_id"], {:name=>"index_gpg_keys_on_user_id", :using=>:btree})335 -> 0.0029s336-- create_table("gpg_signatures", {:force=>:cascade})337 -> 0.0049s338-- add_index("gpg_signatures", ["commit_sha"], {:name=>"index_gpg_signatures_on_commit_sha", :unique=>true, :using=>:btree})339 -> 0.0031s340-- add_index("gpg_signatures", ["gpg_key_id"], {:name=>"index_gpg_signatures_on_gpg_key_id", :using=>:btree})341 -> 0.0031s342-- add_index("gpg_signatures", ["gpg_key_primary_keyid"], {:name=>"index_gpg_signatures_on_gpg_key_primary_keyid", :using=>:btree})343 -> 0.0030s344-- add_index("gpg_signatures", ["project_id"], {:name=>"index_gpg_signatures_on_project_id", :using=>:btree})345 -> 0.0027s346-- create_table("identities", {:force=>:cascade})347 -> 0.0044s348-- add_index("identities", ["user_id"], {:name=>"index_identities_on_user_id", :using=>:btree})349 -> 0.0029s350-- create_table("index_statuses", {:force=>:cascade})351 -> 0.0046s352-- add_index("index_statuses", ["project_id"], {:name=>"index_index_statuses_on_project_id", :unique=>true, :using=>:btree})353 -> 0.0030s354-- create_table("issue_assignees", {:id=>false, :force=>:cascade})355 -> 0.0014s356-- add_index("issue_assignees", ["issue_id", "user_id"], {:name=>"index_issue_assignees_on_issue_id_and_user_id", :unique=>true, :using=>:btree})357 -> 0.0029s358-- add_index("issue_assignees", ["user_id"], {:name=>"index_issue_assignees_on_user_id", :using=>:btree})359 -> 0.0028s360-- create_table("issue_links", {:force=>:cascade})361 -> 0.0031s362-- add_index("issue_links", ["source_id", "target_id"], {:name=>"index_issue_links_on_source_id_and_target_id", :unique=>true, :using=>:btree})363 -> 0.0030s364-- add_index("issue_links", ["source_id"], {:name=>"index_issue_links_on_source_id", :using=>:btree})365 -> 0.0027s366-- add_index("issue_links", ["target_id"], {:name=>"index_issue_links_on_target_id", :using=>:btree})367 -> 0.0028s368-- create_table("issue_metrics", {:force=>:cascade})369 -> 0.0033s370-- add_index("issue_metrics", ["issue_id"], {:name=>"index_issue_metrics", :using=>:btree})371 -> 0.0045s372-- create_table("issues", {:force=>:cascade})373 -> 0.0056s374-- add_index("issues", ["assignee_id"], {:name=>"index_issues_on_assignee_id", :using=>:btree})375 -> 0.0028s376-- add_index("issues", ["author_id"], {:name=>"index_issues_on_author_id", :using=>:btree})377 -> 0.0030s378-- add_index("issues", ["confidential"], {:name=>"index_issues_on_confidential", :using=>:btree})379 -> 0.0027s380-- add_index("issues", ["deleted_at"], {:name=>"index_issues_on_deleted_at", :using=>:btree})381 -> 0.0028s382-- add_index("issues", ["description"], {:name=>"index_issues_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})383 -> 0.0025s384-- add_index("issues", ["milestone_id"], {:name=>"index_issues_on_milestone_id", :using=>:btree})385 -> 0.0030s386-- add_index("issues", ["project_id", "created_at", "id", "state"], {:name=>"index_issues_on_project_id_and_created_at_and_id_and_state", :using=>:btree})387 -> 0.0028s388-- add_index("issues", ["project_id", "due_date", "id", "state"], {:name=>"index_issues_on_project_id_and_due_date_and_id_and_state", :using=>:btree})389 -> 0.0032s390-- add_index("issues", ["project_id", "iid"], {:name=>"index_issues_on_project_id_and_iid", :unique=>true, :using=>:btree})391 -> 0.0031s392-- add_index("issues", ["project_id", "updated_at", "id", "state"], {:name=>"index_issues_on_project_id_and_updated_at_and_id_and_state", :using=>:btree})393 -> 0.0030s394-- add_index("issues", ["relative_position"], {:name=>"index_issues_on_relative_position", :using=>:btree})395 -> 0.0029s396-- add_index("issues", ["state"], {:name=>"index_issues_on_state", :using=>:btree})397 -> 0.0029s398-- add_index("issues", ["title"], {:name=>"index_issues_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})399 -> 0.0021s400-- create_table("keys", {:force=>:cascade})401 -> 0.0053s402-- add_index("keys", ["fingerprint"], {:name=>"index_keys_on_fingerprint", :unique=>true, :using=>:btree})403 -> 0.0029s404-- add_index("keys", ["user_id"], {:name=>"index_keys_on_user_id", :using=>:btree})405 -> 0.0029s406-- create_table("label_links", {:force=>:cascade})407 -> 0.0051s408-- add_index("label_links", ["label_id"], {:name=>"index_label_links_on_label_id", :using=>:btree})409 -> 0.0037s410-- add_index("label_links", ["target_id", "target_type"], {:name=>"index_label_links_on_target_id_and_target_type", :using=>:btree})411 -> 0.0038s412-- create_table("label_priorities", {:force=>:cascade})413 -> 0.0038s414-- add_index("label_priorities", ["priority"], {:name=>"index_label_priorities_on_priority", :using=>:btree})415 -> 0.0039s416-- add_index("label_priorities", ["project_id", "label_id"], {:name=>"index_label_priorities_on_project_id_and_label_id", :unique=>true, :using=>:btree})417 -> 0.0036s418-- create_table("labels", {:force=>:cascade})419 -> 0.0056s420-- add_index("labels", ["group_id", "project_id", "title"], {:name=>"index_labels_on_group_id_and_project_id_and_title", :unique=>true, :using=>:btree})421 -> 0.0034s422-- add_index("labels", ["project_id"], {:name=>"index_labels_on_project_id", :using=>:btree})423 -> 0.0032s424-- add_index("labels", ["title"], {:name=>"index_labels_on_title", :using=>:btree})425 -> 0.0033s426-- add_index("labels", ["type", "project_id"], {:name=>"index_labels_on_type_and_project_id", :using=>:btree})427 -> 0.0032s428-- create_table("ldap_group_links", {:force=>:cascade})429 -> 0.0054s430-- create_table("lfs_objects", {:force=>:cascade})431 -> 0.0051s432-- add_index("lfs_objects", ["oid"], {:name=>"index_lfs_objects_on_oid", :unique=>true, :using=>:btree})433 -> 0.0033s434-- create_table("lfs_objects_projects", {:force=>:cascade})435 -> 0.0036s436-- add_index("lfs_objects_projects", ["project_id"], {:name=>"index_lfs_objects_projects_on_project_id", :using=>:btree})437 -> 0.0031s438-- create_table("licenses", {:force=>:cascade})439 -> 0.0058s440-- create_table("lists", {:force=>:cascade})441 -> 0.0488s442-- add_index("lists", ["board_id", "label_id"], {:name=>"index_lists_on_board_id_and_label_id", :unique=>true, :using=>:btree})443 -> 0.0048s444-- add_index("lists", ["label_id"], {:name=>"index_lists_on_label_id", :using=>:btree})445 -> 0.0040s446-- create_table("members", {:force=>:cascade})447 -> 0.0067s448-- add_index("members", ["access_level"], {:name=>"index_members_on_access_level", :using=>:btree})449 -> 0.0044s450-- add_index("members", ["invite_token"], {:name=>"index_members_on_invite_token", :unique=>true, :using=>:btree})451 -> 0.0044s452-- add_index("members", ["requested_at"], {:name=>"index_members_on_requested_at", :using=>:btree})453 -> 0.0039s454-- add_index("members", ["source_id", "source_type"], {:name=>"index_members_on_source_id_and_source_type", :using=>:btree})455 -> 0.0040s456-- add_index("members", ["user_id"], {:name=>"index_members_on_user_id", :using=>:btree})457 -> 0.0042s458-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})459 -> 0.0043s460-- 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})461 -> 0.0043s462-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})463 -> 0.0041s464-- 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})465 -> 0.0039s466-- create_table("merge_request_diffs", {:force=>:cascade})467 -> 0.0069s468-- add_index("merge_request_diffs", ["merge_request_id"], {:name=>"index_merge_request_diffs_on_merge_request_id", :using=>:btree})469 -> 0.0040s470-- create_table("merge_request_metrics", {:force=>:cascade})471 -> 0.0045s472-- add_index("merge_request_metrics", ["first_deployed_to_production_at"], {:name=>"index_merge_request_metrics_on_first_deployed_to_production_at", :using=>:btree})473 -> 0.0043s474-- add_index("merge_request_metrics", ["merge_request_id"], {:name=>"index_merge_request_metrics", :using=>:btree})475 -> 0.0038s476-- add_index("merge_request_metrics", ["pipeline_id"], {:name=>"index_merge_request_metrics_on_pipeline_id", :using=>:btree})477 -> 0.0039s478-- create_table("merge_requests", {:force=>:cascade})479 -> 0.0078s480-- add_index("merge_requests", ["assignee_id"], {:name=>"index_merge_requests_on_assignee_id", :using=>:btree})481 -> 0.0040s482-- add_index("merge_requests", ["author_id"], {:name=>"index_merge_requests_on_author_id", :using=>:btree})483 -> 0.0039s484-- add_index("merge_requests", ["created_at"], {:name=>"index_merge_requests_on_created_at", :using=>:btree})485 -> 0.0040s486-- add_index("merge_requests", ["deleted_at"], {:name=>"index_merge_requests_on_deleted_at", :using=>:btree})487 -> 0.0038s488-- add_index("merge_requests", ["description"], {:name=>"index_merge_requests_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})489 -> 0.0029s490-- add_index("merge_requests", ["head_pipeline_id"], {:name=>"index_merge_requests_on_head_pipeline_id", :using=>:btree})491 -> 0.0037s492-- add_index("merge_requests", ["milestone_id"], {:name=>"index_merge_requests_on_milestone_id", :using=>:btree})493 -> 0.0033s494-- add_index("merge_requests", ["source_branch"], {:name=>"index_merge_requests_on_source_branch", :using=>:btree})495 -> 0.0035s496-- add_index("merge_requests", ["source_project_id"], {:name=>"index_merge_requests_on_source_project_id", :using=>:btree})497 -> 0.0034s498-- add_index("merge_requests", ["target_branch"], {:name=>"index_merge_requests_on_target_branch", :using=>:btree})499 -> 0.0034s500-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid", :unique=>true, :using=>:btree})501 -> 0.0048s502-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title", :using=>:btree})503 -> 0.0043s504-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})505 -> 0.0031s506-- create_table("merge_requests_closing_issues", {:force=>:cascade})507 -> 0.0048s508-- add_index("merge_requests_closing_issues", ["issue_id"], {:name=>"index_merge_requests_closing_issues_on_issue_id", :using=>:btree})509 -> 0.0052s510-- add_index("merge_requests_closing_issues", ["merge_request_id"], {:name=>"index_merge_requests_closing_issues_on_merge_request_id", :using=>:btree})511 -> 0.0053s512-- create_table("milestones", {:force=>:cascade})513 -> 0.0082s514-- add_index("milestones", ["description"], {:name=>"index_milestones_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})515 -> 0.0049s516-- add_index("milestones", ["due_date"], {:name=>"index_milestones_on_due_date", :using=>:btree})517 -> 0.0049s518-- add_index("milestones", ["group_id"], {:name=>"index_milestones_on_group_id", :using=>:btree})519 -> 0.0048s520-- add_index("milestones", ["project_id", "iid"], {:name=>"index_milestones_on_project_id_and_iid", :unique=>true, :using=>:btree})521 -> 0.0045s522-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title", :using=>:btree})523 -> 0.0046s524-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})525 -> 0.0035s526-- create_table("namespace_statistics", {:force=>:cascade})527 -> 0.0057s528-- add_index("namespace_statistics", ["namespace_id"], {:name=>"index_namespace_statistics_on_namespace_id", :unique=>true, :using=>:btree})529 -> 0.0043s530-- create_table("namespaces", {:force=>:cascade})531 -> 0.0106s532-- add_index("namespaces", ["created_at"], {:name=>"index_namespaces_on_created_at", :using=>:btree})533 -> 0.0040s534-- add_index("namespaces", ["deleted_at"], {:name=>"index_namespaces_on_deleted_at", :using=>:btree})535 -> 0.0038s536-- add_index("namespaces", ["ldap_sync_last_successful_update_at"], {:name=>"index_namespaces_on_ldap_sync_last_successful_update_at", :using=>:btree})537 -> 0.0037s538-- add_index("namespaces", ["ldap_sync_last_update_at"], {:name=>"index_namespaces_on_ldap_sync_last_update_at", :using=>:btree})539 -> 0.0037s540-- add_index("namespaces", ["name", "parent_id"], {:name=>"index_namespaces_on_name_and_parent_id", :unique=>true, :using=>:btree})541 -> 0.0038s542-- add_index("namespaces", ["name"], {:name=>"index_namespaces_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})543 -> 0.0038s544-- add_index("namespaces", ["owner_id"], {:name=>"index_namespaces_on_owner_id", :using=>:btree})545 -> 0.0037s546-- add_index("namespaces", ["parent_id", "id"], {:name=>"index_namespaces_on_parent_id_and_id", :unique=>true, :using=>:btree})547 -> 0.0038s548-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path", :using=>:btree})549 -> 0.0035s550-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})551 -> 0.0028s552-- add_index("namespaces", ["require_two_factor_authentication"], {:name=>"index_namespaces_on_require_two_factor_authentication", :using=>:btree})553 -> 0.0031s554-- add_index("namespaces", ["type"], {:name=>"index_namespaces_on_type", :using=>:btree})555 -> 0.0032s556-- create_table("notes", {:force=>:cascade})557 -> 0.0060s558-- add_index("notes", ["author_id"], {:name=>"index_notes_on_author_id", :using=>:btree})559 -> 0.0034s560-- add_index("notes", ["commit_id"], {:name=>"index_notes_on_commit_id", :using=>:btree})561 -> 0.0034s562-- add_index("notes", ["created_at"], {:name=>"index_notes_on_created_at", :using=>:btree})563 -> 0.0033s564-- add_index("notes", ["discussion_id"], {:name=>"index_notes_on_discussion_id", :using=>:btree})565 -> 0.0031s566-- add_index("notes", ["line_code"], {:name=>"index_notes_on_line_code", :using=>:btree})567 -> 0.0040s568-- add_index("notes", ["note"], {:name=>"index_notes_on_note_trigram", :using=>:gin, :opclasses=>{"note"=>"gin_trgm_ops"}})569 -> 0.0024s570-- add_index("notes", ["noteable_id", "noteable_type"], {:name=>"index_notes_on_noteable_id_and_noteable_type", :using=>:btree})571 -> 0.0030s572-- add_index("notes", ["noteable_type"], {:name=>"index_notes_on_noteable_type", :using=>:btree})573 -> 0.0030s574-- add_index("notes", ["project_id", "noteable_type"], {:name=>"index_notes_on_project_id_and_noteable_type", :using=>:btree})575 -> 0.0030s576-- add_index("notes", ["updated_at"], {:name=>"index_notes_on_updated_at", :using=>:btree})577 -> 0.0030s578-- create_table("notification_settings", {:force=>:cascade})579 -> 0.0055s580-- add_index("notification_settings", ["source_id", "source_type"], {:name=>"index_notification_settings_on_source_id_and_source_type", :using=>:btree})581 -> 0.0030s582-- 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})583 -> 0.0029s584-- add_index("notification_settings", ["user_id"], {:name=>"index_notification_settings_on_user_id", :using=>:btree})585 -> 0.0029s586-- create_table("oauth_access_grants", {:force=>:cascade})587 -> 0.0045s588-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})589 -> 0.0029s590-- create_table("oauth_access_tokens", {:force=>:cascade})591 -> 0.0046s592-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})593 -> 0.0029s594-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})595 -> 0.0029s596-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})597 -> 0.0028s598-- create_table("oauth_applications", {:force=>:cascade})599 -> 0.0073s600-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})601 -> 0.0038s602-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})603 -> 0.0034s604-- create_table("oauth_openid_requests", {:force=>:cascade})605 -> 0.0051s606-- create_table("pages_domains", {:force=>:cascade})607 -> 0.0042s608-- add_index("pages_domains", ["domain"], {:name=>"index_pages_domains_on_domain", :unique=>true, :using=>:btree})609 -> 0.0027s610-- add_index("pages_domains", ["project_id"], {:name=>"index_pages_domains_on_project_id", :using=>:btree})611 -> 0.0028s612-- create_table("path_locks", {:force=>:cascade})613 -> 0.0045s614-- add_index("path_locks", ["path"], {:name=>"index_path_locks_on_path", :using=>:btree})615 -> 0.0029s616-- add_index("path_locks", ["project_id"], {:name=>"index_path_locks_on_project_id", :using=>:btree})617 -> 0.0046s618-- add_index("path_locks", ["user_id"], {:name=>"index_path_locks_on_user_id", :using=>:btree})619 -> 0.0063s620-- create_table("personal_access_tokens", {:force=>:cascade})621 -> 0.0087s622-- add_index("personal_access_tokens", ["token"], {:name=>"index_personal_access_tokens_on_token", :unique=>true, :using=>:btree})623 -> 0.0029s624-- add_index("personal_access_tokens", ["user_id"], {:name=>"index_personal_access_tokens_on_user_id", :using=>:btree})625 -> 0.0028s626-- create_table("project_authorizations", {:id=>false, :force=>:cascade})627 -> 0.0015s628-- add_index("project_authorizations", ["project_id"], {:name=>"index_project_authorizations_on_project_id", :using=>:btree})629 -> 0.0027s630-- 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})631 -> 0.0029s632-- create_table("project_features", {:force=>:cascade})633 -> 0.0040s634-- add_index("project_features", ["project_id"], {:name=>"index_project_features_on_project_id", :using=>:btree})635 -> 0.0030s636-- create_table("project_group_links", {:force=>:cascade})637 -> 0.0035s638-- add_index("project_group_links", ["group_id"], {:name=>"index_project_group_links_on_group_id", :using=>:btree})639 -> 0.0028s640-- add_index("project_group_links", ["project_id"], {:name=>"index_project_group_links_on_project_id", :using=>:btree})641 -> 0.0040s642-- create_table("project_import_data", {:force=>:cascade})643 -> 0.0047s644-- add_index("project_import_data", ["project_id"], {:name=>"index_project_import_data_on_project_id", :using=>:btree})645 -> 0.0029s646-- create_table("project_mirror_data", {:force=>:cascade})647 -> 0.0036s648-- add_index("project_mirror_data", ["project_id"], {:name=>"index_project_mirror_data_on_project_id", :unique=>true, :using=>:btree})649 -> 0.0029s650-- create_table("project_statistics", {:force=>:cascade})651 -> 0.0049s652-- add_index("project_statistics", ["namespace_id"], {:name=>"index_project_statistics_on_namespace_id", :using=>:btree})653 -> 0.0030s654-- add_index("project_statistics", ["project_id"], {:name=>"index_project_statistics_on_project_id", :unique=>true, :using=>:btree})655 -> 0.0030s656-- create_table("projects", {:force=>:cascade})657 -> 0.0120s658-- add_index("projects", ["ci_id"], {:name=>"index_projects_on_ci_id", :using=>:btree})659 -> 0.0032s660-- add_index("projects", ["created_at"], {:name=>"index_projects_on_created_at", :using=>:btree})661 -> 0.0030s662-- add_index("projects", ["creator_id"], {:name=>"index_projects_on_creator_id", :using=>:btree})663 -> 0.0030s664-- add_index("projects", ["description"], {:name=>"index_projects_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})665 -> 0.0022s666-- add_index("projects", ["last_activity_at"], {:name=>"index_projects_on_last_activity_at", :using=>:btree})667 -> 0.0031s668-- add_index("projects", ["last_repository_check_failed"], {:name=>"index_projects_on_last_repository_check_failed", :using=>:btree})669 -> 0.0030s670-- add_index("projects", ["last_repository_updated_at"], {:name=>"index_projects_on_last_repository_updated_at", :using=>:btree})671 -> 0.0030s672-- add_index("projects", ["mirror_last_successful_update_at"], {:name=>"index_projects_on_mirror_last_successful_update_at", :using=>:btree})673 -> 0.0029s674-- add_index("projects", ["name"], {:name=>"index_projects_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})675 -> 0.0022s676-- add_index("projects", ["namespace_id"], {:name=>"index_projects_on_namespace_id", :using=>:btree})677 -> 0.0031s678-- add_index("projects", ["path"], {:name=>"index_projects_on_path", :using=>:btree})679 -> 0.0041s680-- add_index("projects", ["path"], {:name=>"index_projects_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})681 -> 0.0022s682-- add_index("projects", ["pending_delete"], {:name=>"index_projects_on_pending_delete", :using=>:btree})683 -> 0.0032s684-- add_index("projects", ["runners_token"], {:name=>"index_projects_on_runners_token", :using=>:btree})685 -> 0.0029s686-- add_index("projects", ["star_count"], {:name=>"index_projects_on_star_count", :using=>:btree})687 -> 0.0029s688-- add_index("projects", ["visibility_level"], {:name=>"index_projects_on_visibility_level", :using=>:btree})689 -> 0.0030s690-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})691 -> 0.0038s692-- add_index("protected_branch_merge_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_merge_access", :using=>:btree})693 -> 0.0029s694-- add_index("protected_branch_merge_access_levels", ["user_id"], {:name=>"index_protected_branch_merge_access_levels_on_user_id", :using=>:btree})695 -> 0.0029s696-- create_table("protected_branch_push_access_levels", {:force=>:cascade})697 -> 0.0036s698-- add_index("protected_branch_push_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_push_access", :using=>:btree})699 -> 0.0029s700-- add_index("protected_branch_push_access_levels", ["user_id"], {:name=>"index_protected_branch_push_access_levels_on_user_id", :using=>:btree})701 -> 0.0027s702-- create_table("protected_branches", {:force=>:cascade})703 -> 0.0042s704-- add_index("protected_branches", ["project_id"], {:name=>"index_protected_branches_on_project_id", :using=>:btree})705 -> 0.0029s706-- create_table("protected_tag_create_access_levels", {:force=>:cascade})707 -> 0.0035s708-- add_index("protected_tag_create_access_levels", ["protected_tag_id"], {:name=>"index_protected_tag_create_access", :using=>:btree})709 -> 0.0028s710-- add_index("protected_tag_create_access_levels", ["user_id"], {:name=>"index_protected_tag_create_access_levels_on_user_id", :using=>:btree})711 -> 0.0028s712-- create_table("protected_tags", {:force=>:cascade})713 -> 0.0045s714-- add_index("protected_tags", ["project_id"], {:name=>"index_protected_tags_on_project_id", :using=>:btree})715 -> 0.0028s716-- create_table("push_rules", {:force=>:cascade})717 -> 0.0060s718-- add_index("push_rules", ["project_id"], {:name=>"index_push_rules_on_project_id", :using=>:btree})719 -> 0.0032s720-- create_table("redirect_routes", {:force=>:cascade})721 -> 0.0046s722-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path", :unique=>true, :using=>:btree})723 -> 0.0028s724-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})725 -> 0.0029s726-- add_index("redirect_routes", ["source_type", "source_id"], {:name=>"index_redirect_routes_on_source_type_and_source_id", :using=>:btree})727 -> 0.0029s728-- create_table("releases", {:force=>:cascade})729 -> 0.0046s730-- add_index("releases", ["project_id", "tag"], {:name=>"index_releases_on_project_id_and_tag", :using=>:btree})731 -> 0.0028s732-- add_index("releases", ["project_id"], {:name=>"index_releases_on_project_id", :using=>:btree})733 -> 0.0029s734-- create_table("remote_mirrors", {:force=>:cascade})735 -> 0.0049s736-- add_index("remote_mirrors", ["last_successful_update_at"], {:name=>"index_remote_mirrors_on_last_successful_update_at", :using=>:btree})737 -> 0.0030s738-- add_index("remote_mirrors", ["project_id"], {:name=>"index_remote_mirrors_on_project_id", :using=>:btree})739 -> 0.0030s740-- create_table("routes", {:force=>:cascade})741 -> 0.0046s742-- add_index("routes", ["path"], {:name=>"index_routes_on_path", :unique=>true, :using=>:btree})743 -> 0.0031s744-- add_index("routes", ["path"], {:name=>"index_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})745 -> 0.0027s746-- add_index("routes", ["source_type", "source_id"], {:name=>"index_routes_on_source_type_and_source_id", :unique=>true, :using=>:btree})747 -> 0.0030s748-- create_table("sent_notifications", {:force=>:cascade})749 -> 0.0050s750-- add_index("sent_notifications", ["reply_key"], {:name=>"index_sent_notifications_on_reply_key", :unique=>true, :using=>:btree})751 -> 0.0035s752-- create_table("services", {:force=>:cascade})753 -> 0.0093s754-- add_index("services", ["project_id"], {:name=>"index_services_on_project_id", :using=>:btree})755 -> 0.0031s756-- add_index("services", ["template"], {:name=>"index_services_on_template", :using=>:btree})757 -> 0.0039s758-- create_table("slack_integrations", {:force=>:cascade})759 -> 0.0064s760-- add_index("slack_integrations", ["team_id", "alias"], {:name=>"index_slack_integrations_on_team_id_and_alias", :unique=>true, :using=>:btree})761 -> 0.0033s762-- add_index("slack_integrations", ["service_id"], {:name=>"index_slack_integrations_on_service_id", :using=>:btree})763 -> 0.0038s764-- create_table("snippets", {:force=>:cascade})765 -> 0.0156s766-- add_index("snippets", ["author_id"], {:name=>"index_snippets_on_author_id", :using=>:btree})767 -> 0.0057s768-- add_index("snippets", ["file_name"], {:name=>"index_snippets_on_file_name_trigram", :using=>:gin, :opclasses=>{"file_name"=>"gin_trgm_ops"}})769 -> 0.0037s770-- add_index("snippets", ["project_id"], {:name=>"index_snippets_on_project_id", :using=>:btree})771 -> 0.0044s772-- add_index("snippets", ["title"], {:name=>"index_snippets_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})773 -> 0.0039s774-- add_index("snippets", ["updated_at"], {:name=>"index_snippets_on_updated_at", :using=>:btree})775 -> 0.0044s776-- add_index("snippets", ["visibility_level"], {:name=>"index_snippets_on_visibility_level", :using=>:btree})777 -> 0.0045s778-- create_table("spam_logs", {:force=>:cascade})779 -> 0.0087s780-- create_table("subscriptions", {:force=>:cascade})781 -> 0.0072s782-- 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})783 -> 0.0071s784-- create_table("system_note_metadata", {:force=>:cascade})785 -> 0.0122s786-- add_index("system_note_metadata", ["note_id"], {:name=>"index_system_note_metadata_on_note_id", :unique=>true, :using=>:btree})787 -> 0.0070s788-- create_table("taggings", {:force=>:cascade})789 -> 0.0096s790-- add_index("taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], {:name=>"taggings_idx", :unique=>true, :using=>:btree})791 -> 0.0059s792-- add_index("taggings", ["taggable_id", "taggable_type", "context"], {:name=>"index_taggings_on_taggable_id_and_taggable_type_and_context", :using=>:btree})793 -> 0.0057s794-- create_table("tags", {:force=>:cascade})795 -> 0.0071s796-- add_index("tags", ["name"], {:name=>"index_tags_on_name", :unique=>true, :using=>:btree})797 -> 0.0041s798-- create_table("timelogs", {:force=>:cascade})799 -> 0.0082s800-- add_index("timelogs", ["issue_id"], {:name=>"index_timelogs_on_issue_id", :using=>:btree})801 -> 0.0061s802-- add_index("timelogs", ["merge_request_id"], {:name=>"index_timelogs_on_merge_request_id", :using=>:btree})803 -> 0.0052s804-- add_index("timelogs", ["user_id"], {:name=>"index_timelogs_on_user_id", :using=>:btree})805 -> 0.0062s806-- create_table("todos", {:force=>:cascade})807 -> 0.0128s808-- add_index("todos", ["author_id"], {:name=>"index_todos_on_author_id", :using=>:btree})809 -> 0.0089s810-- add_index("todos", ["commit_id"], {:name=>"index_todos_on_commit_id", :using=>:btree})811 -> 0.0041s812-- add_index("todos", ["note_id"], {:name=>"index_todos_on_note_id", :using=>:btree})813 -> 0.0039s814-- add_index("todos", ["project_id"], {:name=>"index_todos_on_project_id", :using=>:btree})815 -> 0.0038s816-- add_index("todos", ["target_type", "target_id"], {:name=>"index_todos_on_target_type_and_target_id", :using=>:btree})817 -> 0.0037s818-- add_index("todos", ["user_id"], {:name=>"index_todos_on_user_id", :using=>:btree})819 -> 0.0036s820-- create_table("trending_projects", {:force=>:cascade})821 -> 0.0039s822-- add_index("trending_projects", ["project_id"], {:name=>"index_trending_projects_on_project_id", :using=>:btree})823 -> 0.0038s824-- create_table("u2f_registrations", {:force=>:cascade})825 -> 0.0066s826-- add_index("u2f_registrations", ["key_handle"], {:name=>"index_u2f_registrations_on_key_handle", :using=>:btree})827 -> 0.0033s828-- add_index("u2f_registrations", ["user_id"], {:name=>"index_u2f_registrations_on_user_id", :using=>:btree})829 -> 0.0033s830-- create_table("uploads", {:force=>:cascade})831 -> 0.0051s832-- add_index("uploads", ["checksum"], {:name=>"index_uploads_on_checksum", :using=>:btree})833 -> 0.0029s834-- add_index("uploads", ["model_id", "model_type"], {:name=>"index_uploads_on_model_id_and_model_type", :using=>:btree})835 -> 0.0029s836-- add_index("uploads", ["path"], {:name=>"index_uploads_on_path", :using=>:btree})837 -> 0.0030s838-- create_table("user_agent_details", {:force=>:cascade})839 -> 0.0047s840-- add_index("user_agent_details", ["subject_id", "subject_type"], {:name=>"index_user_agent_details_on_subject_id_and_subject_type", :using=>:btree})841 -> 0.0029s842-- create_table("users", {:force=>:cascade})843 -> 0.0138s844-- add_index("users", ["admin"], {:name=>"index_users_on_admin", :using=>:btree})845 -> 0.0029s846-- add_index("users", ["authentication_token"], {:name=>"index_users_on_authentication_token", :unique=>true, :using=>:btree})847 -> 0.0027s848-- add_index("users", ["confirmation_token"], {:name=>"index_users_on_confirmation_token", :unique=>true, :using=>:btree})849 -> 0.0028s850-- add_index("users", ["created_at"], {:name=>"index_users_on_created_at", :using=>:btree})851 -> 0.0028s852-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true, :using=>:btree})853 -> 0.0028s854-- add_index("users", ["email"], {:name=>"index_users_on_email_trigram", :using=>:gin, :opclasses=>{"email"=>"gin_trgm_ops"}})855 -> 0.0021s856-- add_index("users", ["ghost"], {:name=>"index_users_on_ghost", :using=>:btree})857 -> 0.0029s858-- add_index("users", ["incoming_email_token"], {:name=>"index_users_on_incoming_email_token", :using=>:btree})859 -> 0.0029s860-- add_index("users", ["name"], {:name=>"index_users_on_name", :using=>:btree})861 -> 0.0028s862-- add_index("users", ["name"], {:name=>"index_users_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})863 -> 0.0021s864-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true, :using=>:btree})865 -> 0.0028s866-- add_index("users", ["rss_token"], {:name=>"index_users_on_rss_token", :using=>:btree})867 -> 0.0027s868-- add_index("users", ["state"], {:name=>"index_users_on_state", :using=>:btree})869 -> 0.0028s870-- add_index("users", ["support_bot"], {:name=>"index_users_on_support_bot", :using=>:btree})871 -> 0.0028s872-- add_index("users", ["username"], {:name=>"index_users_on_username", :using=>:btree})873 -> 0.0027s874-- add_index("users", ["username"], {:name=>"index_users_on_username_trigram", :using=>:gin, :opclasses=>{"username"=>"gin_trgm_ops"}})875 -> 0.0023s876-- create_table("users_star_projects", {:force=>:cascade})877 -> 0.0033s878-- add_index("users_star_projects", ["project_id"], {:name=>"index_users_star_projects_on_project_id", :using=>:btree})879 -> 0.0028s880-- add_index("users_star_projects", ["user_id", "project_id"], {:name=>"index_users_star_projects_on_user_id_and_project_id", :unique=>true, :using=>:btree})881 -> 0.0028s882-- create_table("web_hook_logs", {:force=>:cascade})883 -> 0.0048s884-- add_index("web_hook_logs", ["web_hook_id"], {:name=>"index_web_hook_logs_on_web_hook_id", :using=>:btree})885 -> 0.0029s886-- create_table("web_hooks", {:force=>:cascade})887 -> 0.0087s888-- add_index("web_hooks", ["project_id"], {:name=>"index_web_hooks_on_project_id", :using=>:btree})889 -> 0.0028s890-- add_index("web_hooks", ["type"], {:name=>"index_web_hooks_on_type", :using=>:btree})891 -> 0.0027s892-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})893 -> 0.0029s894-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})895 -> 0.0017s896-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})897 -> 0.0019s898-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})899 -> 0.0014s900-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})901 -> 0.0020s902-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})903 -> 0.0014s904-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})905 -> 0.0017s906-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})907 -> 0.0014s908-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})909 -> 0.0013s910-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})911 -> 0.0015s912-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})913 -> 0.0019s914-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})915 -> 0.0013s916-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})917 -> 0.0013s918-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})919 -> 0.0014s920-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})921 -> 0.0016s922-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})923 -> 0.0015s924-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_3f0c88d7dc", :on_delete=>:cascade})925 -> 0.0014s926-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_b8c0fac459", :on_delete=>:cascade})927 -> 0.0013s928-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_3a3e3cb83a", :on_delete=>:cascade})929 -> 0.0013s930-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_8868d0f3e4", :on_delete=>:cascade})931 -> 0.0029s932-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_83b4346e48", :on_delete=>:cascade})933 -> 0.0018s934-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})935 -> 0.0014s936-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})937 -> 0.0016s938-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})939 -> 0.0013s940-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})941 -> 0.0015s942-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})943 -> 0.0016s944-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})945 -> 0.0016s946-- add_foreign_key("container_repositories", "projects")947 -> 0.0016s948-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})949 -> 0.0017s950-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})951 -> 0.0017s952-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})953 -> 0.0016s954-- add_foreign_key("events", "projects", {:name=>"fk_0434b48643", :on_delete=>:cascade})955 -> 0.0017s956-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})957 -> 0.0016s958-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})959 -> 0.0014s960-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})961 -> 0.0013s962-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :on_delete=>:cascade})963 -> 0.0014s964-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})965 -> 0.0017s966-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})967 -> 0.0018s968-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})969 -> 0.0016s970-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})971 -> 0.0019s972-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})973 -> 0.0014s974-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})975 -> 0.0025s976-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})977 -> 0.0017s978-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})979 -> 0.0016s980-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})981 -> 0.0014s982-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})983 -> 0.0013s984-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})985 -> 0.0015s986-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})987 -> 0.0026s988-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})989 -> 0.0025s990-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})991 -> 0.0026s992-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})993 -> 0.0023s994-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})995 -> 0.0026s996-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})997 -> 0.0023s998-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})999 -> 0.0020s1000-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1001 -> 0.0022s1002-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1003 -> 0.0020s1004-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1005 -> 0.0022s1006-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1007 -> 0.0021s1008-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1009 -> 0.0021s1010-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1011 -> 0.0022s1012-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1013 -> 0.0025s1014-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1015 -> 0.0021s1016-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1017 -> 0.0021s1018-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1019 -> 0.0025s1020-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1021 -> 0.0021s1022-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1023 -> 0.0022s1024-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1025 -> 0.0026s1026-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1027 -> 0.0019s1028-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1029 -> 0.0023s1030-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1031 -> 0.0023s1032-- add_foreign_key("path_locks", "users")1033 -> 0.0022s1034-- add_foreign_key("personal_access_tokens", "users")1035 -> 0.0021s1036-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1037 -> 0.0020s1038-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1039 -> 0.0020s1040-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1041 -> 0.0021s1042-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1043 -> 0.0023s1044-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1045 -> 0.0022s1046-- add_foreign_key("project_mirror_data", "projects", {:name=>"fk_d1aad367d7", :on_delete=>:cascade})1047 -> 0.0024s1048-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1049 -> 0.0025s1050-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id"})1051 -> 0.0020s1052-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1053 -> 0.0020s1054-- add_foreign_key("protected_branch_merge_access_levels", "users")1055 -> 0.0023s1056-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id"})1057 -> 0.0020s1058-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1059 -> 0.0019s1060-- add_foreign_key("protected_branch_push_access_levels", "users")1061 -> 0.0018s1062-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1063 -> 0.0026s1064-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id"})1065 -> 0.0017s1066-- add_foreign_key("protected_tag_create_access_levels", "protected_tags")1067 -> 0.0025s1068-- add_foreign_key("protected_tag_create_access_levels", "users")1069 -> 0.0034s1070-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1071 -> 0.0020s1072-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1073 -> 0.0022s1074-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1075 -> 0.0020s1076-- add_foreign_key("remote_mirrors", "projects", {:name=>"fk_43a9aa4ca8", :on_delete=>:cascade})1077 -> 0.0028s1078-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1079 -> 0.0032s1080-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1081 -> 0.0047s1082-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1083 -> 0.0024s1084-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1085 -> 0.0028s1086-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1087 -> 0.0026s1088-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1089 -> 0.0030s1090-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1091 -> 0.0025s1092-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1093 -> 0.0031s1094-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1095 -> 0.0033s1096-- add_foreign_key("u2f_registrations", "users")1097 -> 0.0030s1098-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1099 -> 0.0028s1100-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1101 -> 0.0028s1102-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1103 -> 0.0030s1104-- initialize_schema_migrations_table()1105 -> 0.0132s1106WARNING: Unable to check/update clone_url_prefix for Geo: PG::UndefinedTable: ERROR: relation "geo_nodes" does not exist1107LINE 5: WHERE a.attrelid = '"geo_nodes"'::regclass1108 ^1109: SELECT a.attname, format_type(a.atttypid, a.atttypmod),1110 pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod1111 FROM pg_attribute a LEFT JOIN pg_attrdef d1112 ON a.attrelid = d.adrelid AND a.attnum = d.adnum1113 WHERE a.attrelid = '"geo_nodes"'::regclass1114 AND a.attnum > 0 AND NOT a.attisdropped1115 ORDER BY a.attnum1116-- enable_extension("plpgsql")1117 -> 0.0158s1118-- create_table("event_log_states", {:primary_key=>"event_id", :force=>:cascade})1119 -> 0.0081s1120-- create_table("file_registry", {:force=>:cascade})1121 -> 0.0079s1122-- add_index("file_registry", ["file_type", "file_id"], {:name=>"index_file_registry_on_file_type_and_file_id", :unique=>true, :using=>:btree})1123 -> 0.0058s1124-- add_index("file_registry", ["file_type"], {:name=>"index_file_registry_on_file_type", :using=>:btree})1125 -> 0.0047s1126-- create_table("project_registry", {:force=>:cascade})1127 -> 0.0055s1128-- add_index("project_registry", ["last_repository_successful_sync_at"], {:name=>"index_project_registry_on_last_repository_successful_sync_at", :using=>:btree})1129 -> 0.0043s1130-- add_index("project_registry", ["last_repository_synced_at"], {:name=>"index_project_registry_on_last_repository_synced_at", :using=>:btree})1131 -> 0.0040s1132-- add_index("project_registry", ["project_id"], {:name=>"index_project_registry_on_project_id", :using=>:btree})1133 -> 0.0043s1134-- add_index("project_registry", ["resync_repository"], {:name=>"index_project_registry_on_resync_repository", :using=>:btree})1135 -> 0.0041s1136-- add_index("project_registry", ["resync_wiki"], {:name=>"index_project_registry_on_resync_wiki", :using=>:btree})1137 -> 0.0040s1138-- initialize_schema_migrations_table()1139 -> 0.0163s1140$ JOB_NAME=( $CI_JOB_NAME )1141$ export CI_NODE_INDEX=${JOB_NAME[-2]}1142$ export CI_NODE_TOTAL=${JOB_NAME[-1]}1143$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1144$ export KNAPSACK_GENERATE_REPORT=true1145$ export CACHE_CLASSES=true1146$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1147$ scripts/gitaly-test-spawn1148531149$ knapsack rspec "--color --format documentation"1150Report specs:1151spec/models/merge_request_spec.rb1152spec/features/boards/boards_spec.rb1153spec/features/issues/user_uses_slash_commands_spec.rb1154spec/features/merge_requests/discussion_spec.rb1155spec/features/dashboard/todos/todos_filtering_spec.rb1156spec/lib/gitlab/project_search_results_spec.rb1157spec/features/merge_requests/user_posts_notes_spec.rb1158spec/controllers/projects/branches_controller_spec.rb1159spec/services/ci/create_trigger_request_service_spec.rb1160spec/lib/banzai/filter/snippet_reference_filter_spec.rb1161spec/policies/issue_policy_spec.rb1162spec/models/group_spec.rb1163spec/models/project_services/slack_service_spec.rb1164spec/features/security/group/internal_access_spec.rb1165spec/features/projects/settings/ee/repository_mirrors_settings_spec.rb1166spec/requests/api/v3/pipelines_spec.rb1167spec/services/event_create_service_spec.rb1168spec/lib/gitlab/github_import/importer_spec.rb1169spec/serializers/merge_request_entity_spec.rb1170spec/services/projects/autocomplete_service_spec.rb1171spec/workers/update_all_mirrors_worker_spec.rb1172spec/features/merge_requests/wip_message_spec.rb1173spec/helpers/auth_helper_spec.rb1174spec/lib/gitlab/import_export/attribute_cleaner_spec.rb1175Leftover specs:1176spec/requests/api/group_variables_spec.rb1177Knapsack report generator started!1178 Warning 1179 You are running as user root, we hope you know what you are doing.1180 Things may work/fail for the wrong reasons.1181 For correct results you should run this as user git.1182mkdir -p /builds/gitlab-org/gitlab-ee/tmp/tests/.ssh: OK1183chmod 700 /builds/gitlab-org/gitlab-ee/tmp/tests/.ssh: OK1184mkdir -p /builds/gitlab-org/gitlab-ee/tmp/tests/repositories: OK1185chmod ug+rwX,o-rwx /builds/gitlab-org/gitlab-ee/tmp/tests/repositories: OK1186Creating/Repairing hooks symlinks for all repositories1187done1188MergeRequest1189 associations1190 should belong to target_project class_name => Project1191 should belong to source_project class_name => Project1192 should belong to merge_user class_name => User1193 should belong to assignee1194 should have many merge_request_diffs1195 modules1196 should includes the InternalId module1197 should includes the Issuable module1198 should includes the Referable module1199 should includes the Sortable module1200 should includes the Taskable module1201 act_as_paranoid1202 should have db column named deleted_at1203 should have an index on columns deleted_at1204 validation1205 should validate that :target_branch cannot be empty/falsy1206 should validate that :source_branch cannot be empty/falsy1207 Validation of merge user with Merge When Pipeline Succeeds1208 allows user to be nil when the feature is disabled1209 is invalid without merge user1210 is valid with merge user1211 respond to1212 should respond to #unchecked?1213 should respond to #can_be_merged?1214 should respond to #cannot_be_merged?1215 should respond to #merge_params1216 should respond to #merge_when_pipeline_succeeds1217 .in_projects1218 returns the merge requests for a set of projects1219 #target_branch_sha1220 returns memoized value1221 when the target branch does not exist1222 returns nil1223 #card_attributes1224 includes the author name1225 includes the assignee name1226 #assignee_ids1227 returns an array of the assigned user id1228 #assignee_ids=1229 sets assignee_id to the last id in the array1230 #assignee_or_author?1231 returns true for a user that is assigned to a merge request1232 returns true for a user that is the author of a merge request1233 returns false for a user that is not the assignee or author1234 #cache_merge_request_closes_issues!1235 caches closed issues1236 when both internal and external issue trackers are enabled1237 does not cache issues from external trackers1238 caches an internal issue1239 when only external issue tracker enabled1240 does not cache issues from external trackers1241 does not cache an internal issue1242 #source_branch_sha1243 returns memoized value1244 with diffs1245 returns the sha of the source branch last commit1246 without diffs1247 returns the sha of the source branch last commit1248 when the merge request is being created1249 returns nil1250 #to_reference1251 returns a String reference to the object1252 supports a cross-project reference1253 returns a String reference with the full path1254 #raw_diffs1255 when there are MR diffs1256 delegates to the MR diffs1257 when there are no MR diffs1258 delegates to the compare object1259 #diffs1260 when there are MR diffs1261 delegates to the MR diffs1262 when there are no MR diffs1263 delegates to the compare object, setting expanded: true1264 #diff_size1265 when there are MR diffs1266 returns the correct count1267 returns the correct overflow count1268 does not perform highlighting1269 when there are no MR diffs1270 returns the correct count1271 returns the correct overflow count1272 does not perform highlighting1273 #related_notes1274 includes notes for commits1275 includes notes for commits from target project as well1276 #for_fork?1277 returns true if the merge request is for a fork1278 returns false if is not for a fork1279 #closes_issues1280 accesses the set of issues that will be closed on acceptance1281 only lists issues as to be closed if it targets the default branch1282 #issues_mentioned_but_not_closing1283 detects issues mentioned in description but not closed1284 when the project has an external issue tracker1285 detects issues mentioned in description but not closed1286 #work_in_progress?1287 detects the 'WIP ' prefix1288 detects the 'WIP:' prefix1289 detects the 'WIP: ' prefix1290 detects the '[WIP]' prefix1291 detects the '[WIP] ' prefix1292 detects the ' [WIP] WIP [WIP] WIP: WIP ' prefix1293 doesn't detect WIP for words starting with WIP1294 doesn't detect WIP for words containing with WIP1295 doesn't detect WIP by default1296 #wipless_title1297 removes the 'WIP ' prefix1298 is satisfies the #work_in_progress? method1299 removes the 'WIP:' prefix1300 is satisfies the #work_in_progress? method1301 removes the 'WIP: ' prefix1302 is satisfies the #work_in_progress? method1303 removes the '[WIP]' prefix1304 is satisfies the #work_in_progress? method1305 removes the '[WIP] ' prefix1306 is satisfies the #work_in_progress? method1307 removes the ' [WIP] WIP [WIP] WIP: WIP ' prefix1308 is satisfies the #work_in_progress? method1309 #wip_title1310 adds the WIP: prefix to the title1311 does not add the WIP: prefix multiple times1312 is satisfies the #work_in_progress? method1313 #approvers_left1314 returns correct value1315 returns correct value when there is a group approver1316 returns correct value when there is only a group approver1317 #number_of_potential_approvers1318 includes approvers set on the MR1319 includes approvers from group1320 includes project members with developer access and up1321 excludes users who have already approved the MR1322 excludes the MR author1323 excludes blocked users1324 when the project is part of a group1325 includes group members with developer access and up1326 #overall_approver_groups1327 returns a merge request group approver1328 returns a project group approver1329 returns a merge request approver if there is no project group approver1330 #all_approvers_including_groups1331 returns correct set of users1332 #approver_group_ids=1333 create approver_groups1334 #approvals_required1335 when the MR has approvals_before_merge set1336 uses the approvals_before_merge from the MR1337 when the MR doesn't have approvals_before_merge set1338 takes approvals_before_merge from the target project1339 #can_remove_source_branch?1340 can't be removed when its a protected branch1341 can't remove a root ref1342 is unable to remove the source branch for a project the user cannot push to1343 can be removed if the last commit is the head of the source branch1344 cannot be removed if the last commit is not also the head of the source branch1345 #merge_commit_message1346 includes merge information as the title1347 includes its title in the body1348 includes its closed issues in the body1349 includes its reference in the body1350 excludes multiple linebreak runs when description is blank1351 includes its description in the body1352 does not includes its description in the body1353 #reset_merge_when_pipeline_succeeds1354 sets the item to false1355 #hook_attrs1356 has all the required keys1357 source key1358 contains project data1359 target key1360 contains project data1361 #diverged_commits_count1362 when the target branch does not exist anymore1363 does not crash1364 returns 01365 diverged on same repository1366 counts commits that are on target branch but not on source branch1367 diverged on fork1368 counts commits that are on target branch but not on source branch1369 rebased on fork1370 counts commits that are on target branch but not on source branch1371 caching1372 caches the output1373 invalidates the cache when the source sha changes1374 invalidates the cache when the target sha changes1375 behaves like an editable mentionable1376 creates new cross-reference notes when the mentionable text is edited1377 behaves like a mentionable1378 generates a descriptive back-reference1379 extracts references from its reference property1380 creates cross-reference notes1381 behaves like a Taskable1382 with multiple tasks1383 returns the correct task status1384 #tasks?1385 returns true when object has tasks1386 returns false when object has no tasks1387 with nested tasks1388 returns the correct task status1389 with an incomplete task1390 returns the correct task status1391 with tasks that are not formatted correctly1392 returns the correct task status1393 with a complete task1394 returns the correct task status1395 #commit_shas1396 delegates to merge request diff1397 #head_pipeline1398 when the source project exists1399 returns the latest pipeline1400 when the source project does not exist1401 returns nil1402 #all_pipelines1403 with single merge_request_diffs1404 behaves like returning pipelines with proper ordering1405 returns all pipelines1406 with multiple irrelevant merge_request_diffs1407 behaves like returning pipelines with proper ordering1408 returns all pipelines1409 with unsaved merge request1410 returns pipelines from diff_head_sha1411 #all_commit_shas1412 when merge request is persisted1413 with a completely different branch1414 behaves like returning all SHA1415 returns all SHA from all merge_request_diffs1416 with a branch having no difference1417 behaves like returning all SHA1418 returns all SHA from all merge_request_diffs1419 when merge request is not persisted1420 when compare commits are set in the service1421 returns commits from compare commits temporary data1422 when compare commits are not set in the service1423 returns array with diff head sha element only1424 #participants1425 includes the merge request author1426 includes the authors of the notes1427 cached counts1428 updates when assignees change1429 #check_if_can_be_merged1430 when it is not broken and has no conflicts1431 is marked as mergeable1432 when broken1433 becomes unmergeable1434 when it has conflicts1435 becomes unmergeable1436 #mergeable?1437 returns false if #mergeable_state? is false1438 return true if #mergeable_state? is true and the MR #can_be_merged? is true1439 when using approvals1440 return false if not approved1441 return true if approved1442 #mergeable_state?1443 checks if merge request can be merged1444 when not open1445 returns false1446 when working in progress1447 returns false1448 when broken1449 returns false1450 when failed1451 when #mergeable_ci_state? is false1452 returns false1453 when #mergeable_discussions_state? is false1454 returns false1455 #mergeable_ci_state?1456 when it is only allowed to merge when build is green1457 and a failed pipeline is associated1458 should be falsey1459 and a successful pipeline is associated1460 should be truthy1461 and a skipped pipeline is associated1462 should be truthy1463 when no pipeline is associated1464 should be truthy1465 when merges are not restricted to green builds1466 and a failed pipeline is associated1467 should be truthy1468 when no pipeline is associated1469 should be truthy1470 #mergeable_discussions_state?1471 when project.only_allow_merge_if_all_discussions_are_resolved == true1472 with all discussions resolved1473 returns true1474 with unresolved discussions1475 returns false1476 with no discussions1477 returns true1478 when project.only_allow_merge_if_all_discussions_are_resolved == false1479 with unresolved discussions1480 returns true1481 #environments_for1482 with multiple environments1483 selects deployed environments1484 with environments on source project1485 selects deployed environments1486 with environments on target project1487 selects deployed environments1488 without a diff_head_commit1489 returns an empty array1490 #reload_diff1491 does not change existing merge request diff1492 creates new merge request diff1493 executs diff cache service1494 updates diff discussion positions1495 approvals1496 on a project with only one member1497 when there is one approver1498 when that approver is the MR author1499 does not require approval for the merge request1500 does not allow the approver to approve the MR1501 does not allow a logged-out user to approve the MR1502 on a project with several members1503 when there is one approver required1504 when that approver is the MR author1505 requires one approval1506 does not allow the author to approve the MR1507 allows any other project member with write access to approve the MR1508 does not allow a logged-out user to approve the MR1509 when that approver is not the MR author1510 requires one approval1511 only allows the approver to approve the MR1512 when there are multiple approvers required1513 when one of those approvers is the MR author1514 requires the original number of approvals1515 does not allow the author to approve the MR1516 allows any other other approver to approve the MR1517 does not allow a logged-out user to approve the MR1518 when all of the valid approvers have approved the MR1519 requires the original number of approvals1520 does not allow the author to approve the MR1521 does not allow the approvers to approve the MR again1522 allows any other project member with write access to approve the MR1523 when more than the number of approvers have approved the MR1524 marks the MR as approved1525 clamps the approvals left at zero1526 when the approvers do not contain the MR author1527 requires the original number of approvals1528 only allows the approvers to approve the MR1529 #branch_merge_base_commit1530 source and target branch exist1531 should eq "ae73cb07c9eeaf35924a10f713b364d32b2dd34f"1532 should be a kind of Commit1533 when the target branch does not exist1534 returns nil1535 #diff_refs1536 with diffs1537 does not touch the repository1538 returns expected diff_refs1539 #source_project_missing?1540 when the fork exists1541 should be falsey1542 when the source project is the same as the target project1543 should be falsey1544 when the fork does not exist1545 returns true1546 #closed_without_fork?1547 when the merge request is closed1548 returns false if the fork exist1549 returns true if the fork does not exist1550 when the merge request is open1551 returns false1552 #reopenable?1553 when the merge request is closed1554 returns true1555 forked project1556 returns false if unforked1557 returns false if the source project is deleted1558 returns false if the merge request is merged1559 when the merge request is opened1560 returns false1561 #mergeable_with_quick_action?1562 when autocomplete_precheck is set to true1563 is mergeable by developer1564 is not mergeable by normal user1565 when autocomplete_precheck is set to false1566 is mergeable by developer1567 is not mergeable by normal user1568 closed MR1569 is not mergeable1570 MR with WIP1571 is not mergeable1572 sha differs from the MR diff_head_sha1573 is not mergeable1574 sha is not provided1575 is not mergeable1576 with pipeline ok1577 is mergeable1578 with failing pipeline1579 is not mergeable1580 with running pipeline1581 is mergeable1582 with approvals1583 is not mergeable when not approved1584 is mergeable when approved1585 #has_commits?1586 returns true when merge request diff has commits1587 #has_no_commits?1588 returns true when merge request diff has 0 commits1589 #merge_request_diff_for1590 with diff refs1591 returns the diffs1592 with a commit SHA1593 returns the diffs1594 #version_params_for1595 when the diff refs are for an older merge request version1596 returns the diff ID for the version to show1597 when the diff refs are for a comparison between merge request versions1598 returns the diff ID and start sha of the versions to compare1599 when the diff refs are not for a merge request version1600 returns nil1601 #base_pipeline1602 should eq #<Ci::Pipeline id: 74, ref: "master", sha: "ae73cb07c9eeaf35924a10f713b364d32b2dd34f", before_sha: ni...il, user_id: nil, lock_version: nil, auto_canceled_by_id: nil, pipeline_schedule_id: nil, source: 1>1603 #base_codeclimate_artifact1604WARNING: An expectation of `:codeclimate_artifact` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab-ee/spec/models/merge_request_spec.rb:2085:in `block (3 levels) in <top (required)>'.1605 delegates to merge request diff1606 #head_codeclimate_artifact1607WARNING: An expectation of `:codeclimate_artifact` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab-ee/spec/models/merge_request_spec.rb:2096:in `block (3 levels) in <top (required)>'.1608 delegates to merge request diff1609 #has_codeclimate_data?1610 with codeclimate artifact1611WARNING: An expectation of `:codeclimate_artifact` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab-ee/spec/models/merge_request_spec.rb:2109:in `block (4 levels) in <top (required)>'.1612WARNING: An expectation of `:codeclimate_artifact` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab-ee/spec/models/merge_request_spec.rb:2110:in `block (4 levels) in <top (required)>'.1613 should be truthy1614 without codeclimate artifact1615 should be falsey1616 #fetch_ref1617 sets "ref_fetched" flag to true1618 #ref_fetched?1619 does not perform git operation when value is cached1620 caches the value when ref exists but value is not cached1621 returns false when ref does not exist1622Issue Boards1623Starting the Capybara driver server...1624 no lists1625 shows blank state1626 shows tooltip on add issues button1627 hides the blank state when clicking nevermind button1628 creates default lists1629 with lists1630 shows description tooltip on list title1631 shows issues in lists1632 shows confidential issues with icon1633 search closed list1634 search list1635 allows user to delete board1636 removes checkmark in new list dropdown after deleting1637 infinite scrolls list1638 closed1639 shows list of closed issues1640 moves issue to closed1641 removes all of the same issue to closed1642 lists1643 changes position of list1644 issue moves between lists1645 issue moves between lists1646 issue moves from closed1647 issue card1648 shows assignee1649 new list1650 shows all labels in new list dropdown1651 creates new list for label1652 creates new list for Backlog label1653 creates new list for Closed label1654 keeps dropdown open after adding new list1655 creates new list from a new label1656 filtering1657 filters by author1658 filters by assignee1659 filters by milestone1660 filters by label1661 filters by label with space after reload1662 removes filtered labels1663 infinite scrolls list with label filter1664 filters by multiple labels1665 filters by clicking label button on issue1666 removes label filter by clicking label button on issue1667 locked milestone1668 should not have remove button1669 should not be able to be backspaced1670 keyboard shortcuts1671 allows user to use keyboard shortcuts1672 signed out user1673 displays lists1674 does not show create new list1675 does not allow dragging1676 as guest user1677 does not show create new list1678Issues > User uses quick actions1679 behaves like issuable record that supports quick actions in its description and notes1680 new issue1681 with commands in the description1682 creates the issue and interpret commands accordingly1683 note on issue1684 with a note containing commands1685 creates a note without the commands and interpret the commands accordingly1686 with a note containing only commands1687 does not create a note but interpret the commands accordingly1688 with a note closing the issue1689 when current user can close issue1690 closes the issue1691 when current user cannot close issue1692 does not close the issue1693 with a note reopening the issue1694 when current user can reopen issue1695 reopens the issue1696 when current user cannot reopen issue1697 does not reopen the issue1698 with a note changing the issue's title1699 when current user can change title of issue1700 reopens the issue1701 when current user cannot change title of issue1702 does not reopen the issue1703 with a note marking the issue as todo1704 creates a new todo for the issue1705 with a note marking the issue as done1706 creates a new todo for the issue1707 with a note subscribing to the issue1708 creates a new todo for the issue1709 with a note unsubscribing to the issue as done1710 creates a new todo for the issue1711 preview of note on issue1712 removes quick actions from note and explains them1713 issue-only commands1714 time tracking1715 behaves like issuable time tracker1716 renders the sidebar component empty state1717 updates the sidebar component when estimate is added1718 updates the sidebar component when spent is added1719 shows the comparison when estimate and spent are added1720 updates the sidebar component when estimate is removed1721 updates the sidebar component when spent is removed1722 shows the help state when icon is clicked1723 hides the help state when close icon is clicked1724 displays the correct help url1725 adding a due date from note1726 when the current user can update the due date1727 does not create a note, and sets the due date accordingly1728 when the current user cannot update the due date1729 does not create a note, and sets the due date accordingly1730 removing a due date from note1731 when the current user can update the due date1732 does not create a note, and removes the due date accordingly1733 when the current user cannot update the due date1734 does not create a note, and sets the due date accordingly1735 toggling the WIP prefix from the title from note1736 does not recognize the command nor create a note1737 adding a weight from a note1738 when the user can update the weight1739 does not create a note, and sets the weight accordingly1740 when the current user cannot update the weight1741 creates a note, and does not set the weight1742 removing weight from a note1743 when the user can update the weight1744 does not create a note, and removes the weight accordingly1745 when the current user cannot update the weight1746 creates a note, and does not set the weight1747 mark issue as duplicate1748 when the current user can update issues1749 does not create a note, and marks the issue as a duplicate1750 when the current user cannot update the issue1751 does not create a note, and does not mark the issue as a duplicate1752Merge Request Discussions1753 Diff discussions1754 active discussions1755 shows a link to the diff1756 outdated discussions1757 shows a link to the outdated diff1758 Commit comments displayed in MR context1759 a regular commit comment1760 behaves like a functional discussion1761 is displayed1762 can be replied to1763 a commit diff comment1764 behaves like a functional discussion1765 is displayed1766 can be replied to1767Dashboard > User filters todos1768 filters by project1769 filters by type1770 Author filter1771 filters by author1772 shows only authors of existing todos1773 shows only authors of existing done todos1774 filter by action1775 filters by Assigned1776 filters by Mentioned1777 filters by Added1778 filters by Pipelines1779Gitlab::ProjectSearchResults1780 does not list issues on private projects1781 initialize with empty ref1782 should eq #<Project id:2 namespace340/project367>1783 should eq "hello world"1784 initialize with ref1785 should eq #<Project id:4 namespace342/project369>1786 should eq "refs/heads/test"1787 should eq "hello world"1788 blob search1789 finds by name1790 finds by content1791 when repository is disabled1792 hides blobs from members1793 hides blobs from non-members1794 when repository is internal1795 finds blobs for members1796 hides blobs from non-members1797 parsing results1798 returns a valid FoundBlob1799 when filename has extension1800 should eq "CONTRIBUTE.md"1801 should eq "CONTRIBUTE.md"1802 should eq "CONTRIBUTE"1803 when file under directory1804 should eq "a/b/c.md"1805 should eq "a/b/c.md"1806 should eq "a/b/c"1807 wiki search1808 finds by content1809 when wiki is disabled1810 hides wiki blobs from members1811 hides wiki blobs from non-members1812 when wiki is internal1813 finds wiki blobs for guest1814 hides wiki blobs from non-members1815 confidential issues1816 does not list project confidential issues for non project members1817 does not list project confidential issues for project members with guest role1818 lists project confidential issues for author1819 lists project confidential issues for assignee1820 lists project confidential issues for project members1821 lists all project issues for admin1822 notes search1823 lists notes1824 doesn't list issue notes when access is restricted1825 doesn't list merge_request notes when access is restricted1826 commit search1827 by commit message1828 finds commit by message1829 handles when no commit match1830 behaves like access restricted commits1831 when project is internal1832 does not search if user is not authenticated1833 searches if user is authenticated1834 when project is private1835 does not show commit to stranger1836 team access1837 shows commit to creator1838 shows commit to master1839 shows commit to reporter1840 by commit hash1841 shows commit by short hash id1842 shows commit by full hash id1843 handles not existing commit hash correctly1844 behaves like access restricted commits1845 when project is internal1846 does not search if user is not authenticated1847 searches if user is authenticated1848 when project is private1849 does not show commit to stranger1850 team access1851 shows commit to creator1852 shows commit to master1853 shows commit to reporter1854Merge requests > User posts notes1855 the note form1856 is valid1857 with text1858 has enable submit button and preview button1859 when posting a note1860 is added and form reset1861 when editing a note1862 there should be a hidden edit form1863 editing the note1864 shows the note edit form and hide the note body1865 resets the edit note form textarea with the original content of the note if cancelled1866 allows using markdown buttons after saving a note and then trying to edit it again1867 appends the edited at time to the note1868 deleting an attachment1869 shows the delete link1870 removes the attachment div and resets the edit form1871Projects::BranchesController1872 POST create with HTML format1873 on creation of a new branch1874 valid branch name, valid source1875 redirects1876 invalid branch name, valid ref1877 redirects1878 valid branch name, invalid ref1879 should render template new1880 invalid branch name, invalid ref1881 should render template new1882 valid branch name with encoded slashes1883 should render template new1884 example at ./spec/controllers/projects/branches_controller_spec.rb:651885 created from the new branch button on issues1886 redirects1887 posts a system note1888 repository-less project1889 redirects to newly created branch1890 redirects to autodeploy setup page1891 without issue feature access1892 doesn't post a system note1893 POST create with JSON format1894 with valid params1895 returns a successful 200 response1896 returns the created branch1897 with invalid params1898 returns an unprocessable entity 422 response1899 POST destroy with HTML format1900 returns 3031901 POST destroy1902 as JS1903 valid branch name, valid source1904 should respond with numeric status code 2001905 should be blank1906 valid branch name with unencoded slashes1907 should respond with numeric status code 2001908 should be blank1909 valid branch name with encoded slashes1910 should respond with numeric status code 2001911 should be blank1912 invalid branch name, valid ref1913 should respond with numeric status code 4041914 should be blank1915 as JSON1916 valid branch name, valid source1917 returns JSON response with message1918 should respond with numeric status code 2001919 valid branch name with unencoded slashes1920 returns JSON response with message1921 should respond with numeric status code 2001922 valid branch name with encoded slashes1923 returns JSON response with message1924 should respond with numeric status code 2001925 invalid branch name, valid ref1926 returns JSON response with message1927 should respond with numeric status code 4041928 as HTML1929 redirects to branches path1930 DELETE destroy_all_merged1931 when user is allowed to push1932 redirects to branches1933 starts worker to delete merged branches1934 when user is not allowed to push1935 responds with status 4041936 GET index1937 when rendering a JSON format1938 filters branches by name1939Ci::CreateTriggerRequestService1940 #execute1941 valid params1942 without owner1943 should be a kind of Ci::TriggerRequest(id: integer, trigger_id: integer, variables: text, created_at: datetime, updated_at: datetime, commit_id: integer)1944 should be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...tried: boolean, stage_id: integer, artifacts_file_store: integer, artifacts_metadata_store: integer)1945 should be a kind of Ci::Pipeline(id: integer, ref: string, sha: string, before_sha: string, created_at: datetime, updated...lock_version: integer, auto_canceled_by_id: integer, pipeline_schedule_id: integer, source: integer)1946 should be trigger1947 with owner1948 should be a kind of Ci::TriggerRequest(id: integer, trigger_id: integer, variables: text, created_at: datetime, updated_at: datetime, commit_id: integer)1949 should be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...tried: boolean, stage_id: integer, artifacts_file_store: integer, artifacts_metadata_store: integer)1950 should eq #<User id:21 @user2051>1951 should be a kind of Ci::Pipeline(id: integer, ref: string, sha: string, before_sha: string, created_at: datetime, updated...lock_version: integer, auto_canceled_by_id: integer, pipeline_schedule_id: integer, source: integer)1952 should be trigger1953 should eq #<User id:30 @user2060>1954 no commit for ref1955 should not be persisted1956 no builds created1957 should not be persisted1958Banzai::Filter::SnippetReferenceFilter1959 requires project context1960 ignores valid references contained inside 'pre' element1961 ignores valid references contained inside 'code' element1962 ignores valid references contained inside 'a' element1963 ignores valid references contained inside 'style' element1964 internal reference1965 links to a valid reference1966 links with adjacent text1967 ignores invalid snippet IDs1968 includes a title attribute1969 escapes the title attribute1970 includes default classes1971 includes a data-project attribute1972 includes a data-snippet attribute1973 supports an :only_path context1974 cross-project / cross-namespace complete reference1975 links to a valid reference1976 link has valid text1977 has valid text1978 ignores invalid snippet IDs on the referenced project1979 cross-project / same-namespace complete reference1980 links to a valid reference1981 link has valid text1982 has valid text1983 ignores invalid snippet IDs on the referenced project1984 cross-project shorthand reference1985 links to a valid reference1986 link has valid text1987 has valid text1988 ignores invalid snippet IDs on the referenced project1989 cross-project URL reference1990 links to a valid reference1991 links with adjacent text1992 ignores invalid snippet IDs on the referenced project1993IssuePolicy1994 a private project1995 does not allow non-members to read issues1996 allows guests to read issues1997 allows reporters to read, update, and admin issues1998 allows reporters from group links to read, update, and admin issues1999 allows issue authors to read and update their issues2000 allows issue assignees to read and update their issues2001 with confidential issues2002 does not allow non-members to read confidential issues2003 does not allow guests to read confidential issues2004 allows reporters to read, update, and admin confidential issues2005 allows reporters from group links to read, update, and admin confidential issues2006 allows issue authors to read and update their confidential issues2007 allows issue assignees to read and update their confidential issues2008 a public project2009 allows guests to read issues2010 allows reporters to read, update, and admin issues2011 allows reporters from group links to read, update, and admin issues2012 allows issue authors to read and update their issues2013 allows issue assignees to read and update their issues2014 with confidential issues2015 does not allow guests to read confidential issues2016 allows reporters to read, update, and admin confidential issues2017 allows reporter from group links to read, update, and admin confidential issues2018 allows issue authors to read and update their confidential issues2019 allows issue assignees to read and update their confidential issues2020Group2021 associations2022 should have many projects2023 should have many group_members dependent => destroy2024 should have many users through group_members2025 should have many owners through group_members2026 should have many requesters dependent => destroy2027 should have many project_group_links dependent => destroy2028 should have many shared_projects through project_group_links2029 should have many notification_settings dependent => destroy2030 should have many labels class_name => GroupLabel2031 should have many variables class_name => Ci::GroupVariable2032 should have many uploads dependent => destroy2033 should have one chat_team2034 #members & #requesters2035 #members2036 includes members and exclude requesters2037 #requesters2038 does not include requesters2039 modules2040 should includes the Referable module2041 validations2042 should validate that :name cannot be empty/falsy2043 should validate that :name is case-sensitively unique within the scope of :parent_id2044 should validate that :path cannot be empty/falsy2045 should not validate that :owner cannot be empty/falsy2046 should validate that :two_factor_grace_period cannot be empty/falsy2047 should validate that :two_factor_grace_period looks like a number greater than or equal to 02048 path validation2049 rejects paths reserved on the root namespace when the group has no parent2050 allows root paths when the group has a parent2051 rejects any wildcard paths when not a top level group2052 rejects reserved group paths2053 .visible_to_user2054 when the user has access to a group2055 should eq [#<Group id:33 @group155>]2056 when the user does not have access to any groups2057 should eq []2058 scopes2059 public_only2060 should eq [#<Group id:37 @group157>]2061 public_and_internal_only2062 should contain exactly #<Group id:40 @group160> and #<Group id:42 @group162>2063 non_public_only2064 should contain exactly #<Group id:44 @group164> and #<Group id:45 @group165>2065 #to_reference2066 returns a String reference to the object2067 #users2068 should eq #<ActiveRecord::Associations::CollectionProxy []>2069 #human_name2070 should eq "group168"2071 #add_user2072 should include #<User id:7 @user2357>2073 #add_users2074 updates the group permission2075 #avatar_type2076 is true if avatar is image2077 is false if avatar is html page2078 #avatar_url2079 when avatar file is uploaded2080 shows correct avatar url2081 when in a geo secondary node2082 shows correct avatar url2083 .search2084 returns groups with a matching name2085 returns groups with a partially matching name2086 returns groups with a matching name regardless of the casing2087 returns groups with a matching path2088 returns groups with a partially matching path2089 returns groups with a matching path regardless of the casing2090 #has_owner?2091 should be truthy2092 should be falsey2093 should be falsey2094 should be falsey2095 should be falsey2096 should be falsey2097 should be falsey2098 #has_master?2099 should be falsey2100 should be truthy2101 should be falsey2102 should be falsey2103 should be falsey2104 should be falsey2105 should be falsey2106 #lfs_enabled?2107 LFS enabled globally2108 returns true when nothing is set2109 returns false when set to false2110 returns true when set to true2111 LFS disabled globally2112 returns false when nothing is set2113 returns false when set to false2114 returns false when set to true2115 #owners2116 returns the owners of a Group2117 #web_url2118 returns the canonical URL2119 nested group2120 should include "groups/group205/group204"2121 nested group2122 should be valid2123 should be a kind of Group(id: integer, name: string, path: string, owner_id: integer, created_at: datetime, updated_at: d...tication: boolean, two_factor_grace_period: integer, cached_markdown_version: integer, plan: string)2124 #members_with_parents2125 returns parents members2126 #users_with_descendants2127 returns member users on every nest level without duplication2128 #user_ids_for_project_authorizations2129 returns the user IDs for which to refresh authorizations2130 #update_two_factor_requirement2131 is called when require_two_factor_authentication is changed2132 is called when two_factor_grace_period is changed2133 is not called when other attributes are changed2134 calls #update_two_factor_requirement on each group member2135 #secret_variables_for2136 when the ref is not protected2137 contains only the secret variables2138 when the ref is a protected branch2139 behaves like ref is protected2140 contains all the variables2141 when the ref is a protected tag2142 behaves like ref is protected2143 contains all the variables2144 when group has children2145 returns all variables belong to the group and parent groups2146SlackService2147 behaves like slack or mattermost notifications2148 Associations2149 should belong to project2150 should have one service_hook2151 Validations2152 when service is active2153 should validate that :webhook cannot be empty/falsy2154 behaves like issue tracker service URL attribute2155 should allow :webhook to be ‹"https://example.com"›2156 should not allow :webhook to be ‹"example.com"›2157 should not allow :webhook to be ‹"ftp://example.com"›2158 should not allow :webhook to be ‹"herp-and-derp"›2159 when service is inactive2160 should not validate that :webhook cannot be empty/falsy2161 #execute2162 calls Slack/Mattermost API for push events2163 calls Slack/Mattermost API for issue events2164 calls Slack/Mattermost API for merge requests events2165 calls Slack/Mattermost API for wiki page events2166 uses the username as an option for slack when configured2167 uses the channel as an option when it is configured2168 event channels2169 uses the right channel for push event2170 uses the right channel for merge request event2171 uses the right channel for issue event2172 uses the right channel for wiki event2173 note event2174 uses the right channel2175 Note events2176 when commit comment event executed2177 calls Slack/Mattermost API for commit comment events2178 when merge request comment event executed2179 calls Slack API for merge request comment events2180 when issue comment event executed2181 calls Slack API for issue comment events2182 when snippet comment event executed2183 calls Slack API for snippet comment events2184 Pipeline events2185 with failed pipeline2186 behaves like call Slack/Mattermost API2187 calls Slack/Mattermost API for pipeline events2188 with succeeded pipeline2189 with default to notify_only_broken_pipelines2190 does not call Slack/Mattermost API for pipeline events2191 with setting notify_only_broken_pipelines to false2192 behaves like call Slack/Mattermost API2193 calls Slack/Mattermost API for pipeline events2194 only notify for the default branch2195 when enabled2196 does not call the Slack/Mattermost API for pipeline events2197 when disabled2198 behaves like call Slack/Mattermost API2199 calls Slack/Mattermost API for pipeline events2200Internal Group access2201 Group should be internal2202 #internal?2203 should be truthy2204 GET /groups/:path2205 should be allowed for admin2206 should be allowed for auditor2207 should be allowed for owner2208 should be allowed for master2209 should be allowed for developer2210 should be allowed for reporter2211 should be allowed for guest2212 should be allowed for the specified user2213 should be allowed for user2214 should be denied for external2215 should be denied for visitor2216 GET /groups/:path/issues2217 should be allowed for admin2218 should be allowed for auditor2219 should be allowed for owner2220 should be allowed for master2221 should be allowed for developer2222 should be allowed for reporter2223 should be allowed for guest2224 should be allowed for the specified user2225 should be allowed for user2226 should be denied for external2227 should be denied for visitor2228 GET /groups/:path/merge_requests2229 should be allowed for admin2230 should be allowed for auditor2231 should be allowed for owner2232 should be allowed for master2233 should be allowed for developer2234 should be allowed for reporter2235 should be allowed for guest2236 should be allowed for the specified user2237 should be allowed for user2238 should be denied for external2239 should be denied for visitor2240 GET /groups/:path/group_members2241 should be allowed for admin2242 should be allowed for auditor2243 should be allowed for owner2244 should be allowed for master2245 should be allowed for developer2246 should be allowed for reporter2247 should be allowed for guest2248 should be allowed for the specified user2249 should be allowed for user2250 should be denied for external2251 should be denied for visitor2252 GET /groups/:path/edit2253 should be allowed for admin2254 should be denied for auditor2255 should be allowed for owner2256 should be denied for master2257 should be denied for developer2258 should be denied for reporter2259 should be denied for guest2260 should be denied for the specified user2261 should be denied for user2262 should be denied for visitor2263 should be denied for external2264Project settings > [EE] repository2265 unlicensed2266 does not show pull mirror settings2267 does not show push mirror settings2268 mirror settings2269 shows pull mirror settings2270 shows push mirror settings2271 sets mirror user2272API::V3::Pipelines2273 GET /projects/:id/pipelines2274 behaves like a paginated resources2275 has pagination headers2276 authorized user2277 returns project pipelines2278 unauthorized user2279 does not return project pipelines2280 POST /projects/:id/pipeline2281 authorized user2282 with gitlab-ci.yml2283 creates and returns a new pipeline2284 fails when using an invalid ref2285 without gitlab-ci.yml2286 fails to create pipeline2287 unauthorized user2288 does not create pipeline2289 GET /projects/:id/pipelines/:pipeline_id2290 authorized user2291 returns project pipelines2292 returns 404 when it does not exist2293 with coverage2294 exposes the coverage2295 unauthorized user2296 should not return a project pipeline2297 POST /projects/:id/pipelines/:pipeline_id/retry2298 authorized user2299 retries failed builds2300 unauthorized user2301 should not return a project pipeline2302 POST /projects/:id/pipelines/:pipeline_id/cancel2303 authorized user2304 retries failed builds2305 user without proper access rights2306 rejects the action2307EventCreateService2308 Issues2309 #open_issue2310 should be truthy2311 creates new event2312 #close_issue2313 should be truthy2314 creates new event2315 #reopen_issue2316 should be truthy2317 creates new event2318 Merge Requests2319 #open_mr2320 should be truthy2321 creates new event2322 #close_mr2323 should be truthy2324 creates new event2325 #merge_mr2326 should be truthy2327 creates new event2328 #reopen_mr2329 should be truthy2330 creates new event2331 Milestone2332 #open_milestone2333 should be truthy2334 creates new event2335 #close_mr2336 should be truthy2337 creates new event2338 #destroy_mr2339 should be truthy2340 creates new event2341 #push2342 creates a new event2343 updates user last activity2344 Project2345 #join_project2346 should be truthy2347 should change `Event.count` from 0 to 12348 #expired_leave_project2349 should be truthy2350 should change `Event.count` from 0 to 12351Gitlab::GithubImport::Importer2352 when importing a GitHub project2353 behaves like Gitlab::GithubImport::Importer#execute2354 calls import methods2355 behaves like Gitlab::GithubImport::Importer#execute an error occurs2356 returns true2357 does not raise an error2358 stores error messages2359 behaves like Gitlab::GithubImport unit-testing2360 #clean_up_restored_branches2361 when pull request stills open2362 does not remove branches2363 when pull request is closed2364 does remove branches2365 #client2366 instantiates a Client2367 when importing a Gitea project2368 behaves like Gitlab::GithubImport::Importer#execute2369 calls import methods2370 behaves like Gitlab::GithubImport::Importer#execute an error occurs2371 returns true2372 does not raise an error2373 stores error messages2374 behaves like Gitlab::GithubImport unit-testing2375 #clean_up_restored_branches2376 when pull request stills open2377 does not remove branches2378 when pull request is closed2379 does remove branches2380 #client2381 instantiates a Client2382MergeRequestEntity2383 includes author2384 includes pipeline2385 includes issues_links2386 has important MergeRequest attributes2387 has email_patches_path2388 has plain_diff_path2389 has merge_commit_message_with_description2390 includes merge_event2391 includes closed_event2392 new_blob_path2393 when user can push to project2394 returns path2395 when user cannot push to project2396 returns nil2397 diff_head_sha2398 when no diff head commit2399 returns nil2400 when diff head commit present2401 returns diff head commit short id2402 diverged_commits_count2403 when MR open and its diverging2404 returns diverged commits count2405 when MR is not open2406 returns 02407 when MR is not diverging2408 returns 02409 when source project is deleted2410 returns a blank rebase_path2411Projects::AutocompleteService2412 #issues2413 confidential issues2414 does not list project confidential issues for guests2415 does not list project confidential issues for non project members2416 does not list project confidential issues for project members with guest role2417 lists project confidential issues for author2418 lists project confidential issues for assignee2419 lists project confidential issues for project members2420 lists all project issues for admin2421UpdateAllMirrorsWorker2422 #perform2423 fails stuck mirrors2424 does not execute if cannot get the lease2425 schedules mirrors2426 #fail_stuck_mirrors!2427 ignores records that are not mirrors2428 ignores records without in-progress import2429 ignores records with recently updated mirrors2430 transitions stuck mirrors to a failed state and updates import_error message2431 #schedule_mirrors!2432 unlicensed2433 does not schedule when project does not have repository mirrors available2434 licensed2435 schedules all available mirrors when capacity is in excess2436 schedules all available mirrors when capacity is sufficient2437 schedules mirrors by next_execution_timestamp when capacity is insufficient2438Work In Progress help message2439 with WIP commits2440 shows a specific WIP hint2441 without WIP commits2442 shows the regular WIP message2443AuthHelper2444 button_based_providers2445 returns all enabled providers from devise2446 does not return ldap provider2447 returns empty array2448 enabled_button_based_providers2449 all providers are enabled to sign in2450 returns all the enabled providers from settings2451 GitHub OAuth sign in is disabled from application setting2452 doesn't return github as provider2453 button_based_providers_enabled?2454 button based providers enabled2455 returns true2456 all the button based providers are disabled via application_setting2457 returns false2458 unlink_allowed?2459 returns true if the provider is saml2460 returns true if the provider is cas32461 returns false if the provider is twitter2462 returns false if the provider is facebook2463 returns false if the provider is google_oauth22464 returns false if the provider is gitlab2465 returns false if the provider is github2466 returns false if the provider is bitbucket2467 returns false if the provider is crowd2468 returns false if the provider is auth02469 returns false if the provider is authentiq2470Gitlab::ImportExport::AttributeCleaner2471 removes unwanted attributes from the hash2472API::GroupVariables2473 GET /groups/:id/variables2474 authorized user with proper permissions2475caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x000000223e6918>2476Did you mean? protected2477RSpec::Retry: 2nd try ./spec/requests/api/group_variables_spec.rb:152478caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x000000221a3110>2479Did you mean? protected2480 returns group variables (FAILED - 1)2481 authorized user with invalid permissions2482 does not return group variables2483 unauthorized user2484 does not return group variables2485 GET /groups/:id/variables/:key2486 authorized user with proper permissions2487caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x0000002b51df08>2488Did you mean? protected2489RSpec::Retry: 2nd try ./spec/requests/api/group_variables_spec.rb:482490caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x000000294d30b8>2491Did you mean? protected2492 returns group variable details (FAILED - 2)2493 responds with 404 Not Found if requesting non-existing variable2494 authorized user with invalid permissions2495 does not return group variable details2496 unauthorized user2497 does not return group variable details2498 POST /groups/:id/variables2499 authorized user with proper permissions2500caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x0000002a8b28b8>2501Did you mean? protected2502RSpec::Retry: 2nd try ./spec/requests/api/group_variables_spec.rb:882503caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x0000002a56ba88>2504Did you mean? protected2505 creates variable (FAILED - 3)2506caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x00000020a62fc8>2507Did you mean? protected2508RSpec::Retry: 2nd try ./spec/requests/api/group_variables_spec.rb:992509caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x0000002c9eed10>2510Did you mean? protected2511 creates variable with optional attributes (FAILED - 4)2512 does not allow to duplicate variable key2513 authorized user with invalid permissions2514 does not create variable2515 unauthorized user2516 does not create variable2517 PUT /groups/:id/variables/:key2518 authorized user with proper permissions2519caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x00000024037928>2520Did you mean? protected2521RSpec::Retry: 2nd try ./spec/requests/api/group_variables_spec.rb:1442522caught error of type NoMethodError in after callback inside Grape::Middleware::Formatter : undefined method `project' for #<Ci::GroupVariable:0x0000002417b0c8>2523Did you mean? protected2524 updates variable data (FAILED - 5)2525 responds with 404 Not Found if requesting non-existing variable2526 authorized user with invalid permissions2527 does not update variable2528 unauthorized user2529 does not update variable2530 DELETE /groups/:id/variables/:key2531 authorized user with proper permissions2532 deletes variable2533 responds with 404 Not Found if requesting non-existing variable2534 authorized user with invalid permissions2535 does not delete variable2536 unauthorized user2537 does not delete variable2538Knapsack report was generated. Preview:2539{2540 "spec/models/merge_request_spec.rb": 162.68822383880615,2541 "spec/features/boards/boards_spec.rb": 150.18247032165527,2542 "spec/features/issues/user_uses_slash_commands_spec.rb": 94.65596675872803,2543 "spec/features/merge_requests/discussion_spec.rb": 72.1995747089386,2544 "spec/features/dashboard/todos/todos_filtering_spec.rb": 23.219029426574707,2545 "spec/lib/gitlab/project_search_results_spec.rb": 24.58630394935608,2546 "spec/features/merge_requests/user_posts_notes_spec.rb": 22.333409309387207,2547 "spec/controllers/projects/branches_controller_spec.rb": 25.952136278152466,2548 "spec/services/ci/create_trigger_request_service_spec.rb": 12.384009838104248,2549 "spec/lib/banzai/filter/snippet_reference_filter_spec.rb": 13.274262428283691,2550 "spec/policies/issue_policy_spec.rb": 23.804139614105225,2551 "spec/models/group_spec.rb": 19.775809288024902,2552 "spec/models/project_services/slack_service_spec.rb": 20.183610677719116,2553 "spec/features/security/group/internal_access_spec.rb": 18.49017024040222,2554 "spec/features/projects/settings/ee/repository_mirrors_settings_spec.rb": 11.248660564422607,2555 "spec/requests/api/v3/pipelines_spec.rb": 8.979729175567627,2556 "spec/services/event_create_service_spec.rb": 11.279950857162476,2557 "spec/lib/gitlab/github_import/importer_spec.rb": 12.258617162704468,2558 "spec/serializers/merge_request_entity_spec.rb": 12.933927774429321,2559 "spec/services/projects/autocomplete_service_spec.rb": 5.823228359222412,2560 "spec/workers/update_all_mirrors_worker_spec.rb": 5.690371036529541,2561 "spec/features/merge_requests/wip_message_spec.rb": 2.2706313133239746,2562 "spec/helpers/auth_helper_spec.rb": 0.12167215347290039,2563 "spec/lib/gitlab/import_export/attribute_cleaner_spec.rb": 0.003472566604614258,2564 "spec/requests/api/group_variables_spec.rb": 4.2792000770568852565}2566Knapsack global time execution for tests: 12m 38s2567Failures:2568 1) API::GroupVariables GET /groups/:id/variables authorized user with proper permissions returns group variables2569 Failure/Error: expect(response).to have_http_status(200)2570 expected the response to have status code 200 but it was 5002571 # ./spec/requests/api/group_variables_spec.rb:18:in `block (4 levels) in <top (required)>'2572 # ./spec/spec_helper.rb:111:in `block (2 levels) in <top (required)>'2573 2) API::GroupVariables GET /groups/:id/variables/:key authorized user with proper permissions returns group variable details2574 Failure/Error: expect(response).to have_http_status(200)2575 expected the response to have status code 200 but it was 5002576 # ./spec/requests/api/group_variables_spec.rb:51:in `block (4 levels) in <top (required)>'2577 # ./spec/spec_helper.rb:111:in `block (2 levels) in <top (required)>'2578 3) API::GroupVariables POST /groups/:id/variables authorized user with proper permissions creates variable2579 Failure/Error: expect(response).to have_http_status(201)2580 expected the response to have status code 201 but it was 5002581 # ./spec/requests/api/group_variables_spec.rb:93:in `block (4 levels) in <top (required)>'2582 # ./spec/spec_helper.rb:111:in `block (2 levels) in <top (required)>'2583 4) API::GroupVariables POST /groups/:id/variables authorized user with proper permissions creates variable with optional attributes2584 Failure/Error: expect(response).to have_http_status(201)2585 expected the response to have status code 201 but it was 5002586 # ./spec/requests/api/group_variables_spec.rb:104:in `block (4 levels) in <top (required)>'2587 # ./spec/spec_helper.rb:111:in `block (2 levels) in <top (required)>'2588 5) API::GroupVariables PUT /groups/:id/variables/:key authorized user with proper permissions updates variable data2589 Failure/Error: expect(response).to have_http_status(200)2590 expected the response to have status code 200 but it was 5002591 # ./spec/requests/api/group_variables_spec.rb:152:in `block (4 levels) in <top (required)>'2592 # ./spec/spec_helper.rb:111:in `block (2 levels) in <top (required)>'2593Finished in 15 minutes 45 seconds (files took 19.03 seconds to load)2594800 examples, 5 failures2595Failed examples:2596rspec ./spec/requests/api/group_variables_spec.rb:15 # API::GroupVariables GET /groups/:id/variables authorized user with proper permissions returns group variables2597rspec ./spec/requests/api/group_variables_spec.rb:48 # API::GroupVariables GET /groups/:id/variables/:key authorized user with proper permissions returns group variable details2598rspec ./spec/requests/api/group_variables_spec.rb:88 # API::GroupVariables POST /groups/:id/variables authorized user with proper permissions creates variable2599rspec ./spec/requests/api/group_variables_spec.rb:99 # API::GroupVariables POST /groups/:id/variables authorized user with proper permissions creates variable with optional attributes2600rspec ./spec/requests/api/group_variables_spec.rb:144 # API::GroupVariables PUT /groups/:id/variables/:key authorized user with proper permissions updates variable data2601Uploading artifacts...2602coverage/: found 5 matching files 2603knapsack/: found 7 matching files 2604WARNING: tmp/capybara/: no matching files 2605Uploading artifacts to coordinator... ok id=28149498 responseStatus=201 Created token=_oZFNEH42606ERROR: Job failed: exit code 1