There was an error fetching the job.
rspec integration pg10 1/6
Passed Started
by
@nick.thomas

Nick Thomas
1Running with gitlab-runner 12.3.0 (a8a019e0)2 on docker-auto-scale-com 1d6b581d 3 Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-10-graphicsmagick-1.3.33 ...
00:34
4Starting service postgres:10.9 ...5Pulling docker image postgres:10.9 ...6Using docker image sha256:897b33033d6498ba789d2ad5b305209106c8b45622b37ad135440a584ec885d3 for postgres:10.9 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:f9d774eafe0d9aa813860e94490efffec6041d63a786133749974c15c055663e for redis:alpine ...10Waiting for services to be up and running...11Authenticating with credentials from job payload (GitLab Registry)12Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-10-graphicsmagick-1.3.33 ...13Using docker image sha256:038fefa9154cd283ecf3ccfb1a094fd079ebca541a935959471f14b54fce582f for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-10-graphicsmagick-1.3.33 ... 14 Running on runner-1d6b581d-project-278964-concurrent-0 via runner-1d6b581d-gsrm-1571229944-644b90a3...
00:12
16Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/18 * [new ref] refs/pipelines/89282327 -> refs/pipelines/8928232719 82135aa53..4ec3d7972 master -> origin/master20Checking out 6f5714dc as master...21Removing .gitlab_shell_secret22Removing .gitlab_workhorse_secret23Removing .go/24Removing config/database.yml25Removing config/database_geo.yml26Removing config/gitlab.yml27Removing config/redis.cache.yml28Removing config/redis.queues.yml29Removing config/redis.shared_state.yml30Removing config/resque.yml31Removing config/secrets.yml32Removing log/api_json.log33Removing log/grpc.log34Removing log/test_json.log35Removing tmp/cache/36Removing tmp/tests/37Removing vendor/gitaly-ruby/38Removing vendor/ruby/39Skipping Git submodules setup41Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/debian-stretch-ruby-2.6.3-node-12.x-2 42Successfully extracted cache44Downloading artifacts from coordinator... ok id=322922801 responseStatus=200 OK token=xdLK22P545Downloading artifacts for retrieve-tests-metadata (322922809)...46Downloading artifacts from coordinator... ok id=322922809 responseStatus=200 OK token=vWkPg6d_47Downloading artifacts for setup-test-env (322922804)...48Downloading artifacts from coordinator... ok id=322922804 responseStatus=200 OK token=2YUWrMkH49WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 51$ date52Wed Oct 16 17:05:24 UTC 201953$ export GOPATH=$CI_PROJECT_DIR/.go54$ mkdir -p $GOPATH55$ source scripts/utils.sh56$ source scripts/prepare_build.sh57Bundler version 1.17.258Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.59The Gemfile's dependencies are satisfied60Successfully installed knapsack-1.18.0611 gem installed62CREATE ROLE63GRANT64Dropped database 'gitlabhq_test'65Created database 'gitlabhq_test'66-- enable_extension("pg_trgm")67 -> 0.0383s68-- enable_extension("plpgsql")69 -> 0.0034s70-- create_table("abuse_reports", {:id=>:serial, :force=>:cascade})71 -> 0.0050s72-- create_table("alerts_service_data", {:force=>:cascade})73 -> 0.0076s74-- create_table("allowed_email_domains", {:force=>:cascade})75 -> 0.0053s76-- create_table("analytics_cycle_analytics_group_stages", {:force=>:cascade})77 -> 0.0176s78-- create_table("analytics_cycle_analytics_project_stages", {:force=>:cascade})79 -> 0.0194s80-- create_table("analytics_language_trend_repository_languages", {:id=>false, :force=>:cascade})81 -> 0.0092s82-- create_table("analytics_repository_file_commits", {:force=>:cascade})83 -> 0.0081s84-- create_table("analytics_repository_file_edits", {:force=>:cascade})85 -> 0.0085s86-- create_table("analytics_repository_files", {:force=>:cascade})87 -> 0.0062s88-- create_table("appearances", {:id=>:serial, :force=>:cascade})89 -> 0.0045s90-- create_table("application_setting_terms", {:id=>:serial, :force=>:cascade})91 -> 0.0034s92-- create_table("application_settings", {:id=>:serial, :force=>:cascade})93 -> 0.1112s94-- create_table("approval_merge_request_rule_sources", {:force=>:cascade})95 -> 0.0081s96-- create_table("approval_merge_request_rules", {:force=>:cascade})97 -> 0.0197s98-- create_table("approval_merge_request_rules_approved_approvers", {:force=>:cascade})99 -> 0.0084s100-- create_table("approval_merge_request_rules_groups", {:force=>:cascade})101 -> 0.0081s102-- create_table("approval_merge_request_rules_users", {:force=>:cascade})103 -> 0.0084s104-- create_table("approval_project_rules", {:force=>:cascade})105 -> 0.0129s106-- create_table("approval_project_rules_groups", {:force=>:cascade})107 -> 0.0082s108-- create_table("approval_project_rules_users", {:force=>:cascade})109 -> 0.0081s110-- create_table("approvals", {:id=>:serial, :force=>:cascade})111 -> 0.0085s112-- create_table("approver_groups", {:id=>:serial, :force=>:cascade})113 -> 0.0095s114-- create_table("approvers", {:id=>:serial, :force=>:cascade})115 -> 0.0092s116-- create_table("audit_events", {:id=>:serial, :force=>:cascade})117 -> 0.0092s118-- create_table("award_emoji", {:id=>:serial, :force=>:cascade})119 -> 0.0092s120-- create_table("badges", {:id=>:serial, :force=>:cascade})121 -> 0.0091s122-- create_table("board_assignees", {:id=>:serial, :force=>:cascade})123 -> 0.0086s124-- create_table("board_group_recent_visits", {:force=>:cascade})125 -> 0.0147s126-- create_table("board_labels", {:id=>:serial, :force=>:cascade})127 -> 0.0081s128-- create_table("board_project_recent_visits", {:force=>:cascade})129 -> 0.0140s130-- create_table("boards", {:id=>:serial, :force=>:cascade})131 -> 0.0124s132-- create_table("broadcast_messages", {:id=>:serial, :force=>:cascade})133 -> 0.0065s134-- create_table("chat_names", {:id=>:serial, :force=>:cascade})135 -> 0.0094s136-- create_table("chat_teams", {:id=>:serial, :force=>:cascade})137 -> 0.0063s138-- create_table("ci_build_needs", {:id=>:serial, :force=>:cascade})139 -> 0.0065s140-- create_table("ci_build_trace_chunks", {:force=>:cascade})141 -> 0.0065s142-- create_table("ci_build_trace_section_names", {:id=>:serial, :force=>:cascade})143 -> 0.0061s144-- create_table("ci_build_trace_sections", {:id=>:serial, :force=>:cascade})145 -> 0.0114s146-- create_table("ci_builds", {:id=>:serial, :force=>:cascade})147 -> 0.0726s148-- create_table("ci_builds_metadata", {:id=>:serial, :force=>:cascade})149 -> 0.0128s150-- create_table("ci_builds_runner_session", {:force=>:cascade})151 -> 0.0062s152-- create_table("ci_group_variables", {:id=>:serial, :force=>:cascade})153 -> 0.0082s154-- create_table("ci_job_artifacts", {:id=>:serial, :force=>:cascade})155 -> 0.0183s156-- create_table("ci_job_variables", {:force=>:cascade})157 -> 0.0094s158-- create_table("ci_pipeline_chat_data", {:force=>:cascade})159 -> 0.0091s160-- create_table("ci_pipeline_schedule_variables", {:id=>:serial, :force=>:cascade})161 -> 0.0072s162-- create_table("ci_pipeline_schedules", {:id=>:serial, :force=>:cascade})163 -> 0.0131s164-- create_table("ci_pipeline_variables", {:id=>:serial, :force=>:cascade})165 -> 0.0069s166-- create_table("ci_pipelines", {:id=>:serial, :force=>:cascade})167 -> 0.0411s168-- create_table("ci_runner_namespaces", {:id=>:serial, :force=>:cascade})169 -> 0.0086s170-- create_table("ci_runner_projects", {:id=>:serial, :force=>:cascade})171 -> 0.0083s172-- create_table("ci_runners", {:id=>:serial, :force=>:cascade})173 -> 0.0235s174-- create_table("ci_sources_pipelines", {:id=>:serial, :force=>:cascade})175 -> 0.0159s176-- create_table("ci_stages", {:id=>:serial, :force=>:cascade})177 -> 0.0144s178-- create_table("ci_trigger_requests", {:id=>:serial, :force=>:cascade})179 -> 0.0087s180-- create_table("ci_triggers", {:id=>:serial, :force=>:cascade})181 -> 0.0090s182-- create_table("ci_variables", {:id=>:serial, :force=>:cascade})183 -> 0.0085s184-- create_table("cluster_groups", {:id=>:serial, :force=>:cascade})185 -> 0.0083s186-- create_table("cluster_platforms_kubernetes", {:id=>:serial, :force=>:cascade})187 -> 0.0064s188-- create_table("cluster_projects", {:id=>:serial, :force=>:cascade})189 -> 0.0081s190-- create_table("cluster_providers_gcp", {:id=>:serial, :force=>:cascade})191 -> 0.0104s192-- create_table("clusters", {:id=>:serial, :force=>:cascade})193 -> 0.0144s194-- create_table("clusters_applications_cert_managers", {:id=>:serial, :force=>:cascade})195 -> 0.0064s196-- create_table("clusters_applications_helm", {:id=>:serial, :force=>:cascade})197 -> 0.0067s198-- create_table("clusters_applications_ingress", {:id=>:serial, :force=>:cascade})199 -> 0.0069s200-- create_table("clusters_applications_jupyter", {:id=>:serial, :force=>:cascade})201 -> 0.0089s202-- create_table("clusters_applications_knative", {:id=>:serial, :force=>:cascade})203 -> 0.0067s204-- create_table("clusters_applications_prometheus", {:id=>:serial, :force=>:cascade})205 -> 0.0065s206-- create_table("clusters_applications_runners", {:id=>:serial, :force=>:cascade})207 -> 0.0098s208-- create_table("clusters_kubernetes_namespaces", {:force=>:cascade})209 -> 0.0206s210-- create_table("container_repositories", {:id=>:serial, :force=>:cascade})211 -> 0.0091s212-- create_table("conversational_development_index_metrics", {:id=>:serial, :force=>:cascade})213 -> 0.0082s214-- create_table("dependency_proxy_blobs", {:id=>:serial, :force=>:cascade})215 -> 0.0070s216-- create_table("dependency_proxy_group_settings", {:id=>:serial, :force=>:cascade})217 -> 0.0060s218-- create_table("deploy_keys_projects", {:id=>:serial, :force=>:cascade})219 -> 0.0061s220-- create_table("deploy_tokens", {:id=>:serial, :force=>:cascade})221 -> 0.0134s222-- create_table("deployments", {:id=>:serial, :force=>:cascade})223 -> 0.0335s224-- create_table("design_management_designs", {:force=>:cascade})225 -> 0.0093s226-- create_table("design_management_designs_versions", {:id=>false, :force=>:cascade})227 -> 0.0130s228-- create_table("design_management_versions", {:force=>:cascade})229 -> 0.0125s230-- create_table("draft_notes", {:force=>:cascade})231 -> 0.0132s232-- create_table("elasticsearch_indexed_namespaces", {:id=>false, :force=>:cascade})233 -> 0.0043s234-- create_table("elasticsearch_indexed_projects", {:id=>false, :force=>:cascade})235 -> 0.0045s236-- create_table("emails", {:id=>:serial, :force=>:cascade})237 -> 0.0131s238-- create_table("environments", {:id=>:serial, :force=>:cascade})239 -> 0.0173s240-- create_table("epic_issues", {:id=>:serial, :force=>:cascade})241 -> 0.0086s242-- create_table("epic_metrics", {:id=>:serial, :force=>:cascade})243 -> 0.0056s244-- create_table("epics", {:id=>:serial, :force=>:cascade})245 -> 0.0302s246-- create_table("events", {:id=>:serial, :force=>:cascade})247 -> 0.0234s248-- create_table("external_pull_requests", {:force=>:cascade})249 -> 0.0072s250-- create_table("feature_gates", {:id=>:serial, :force=>:cascade})251 -> 0.0068s252-- create_table("features", {:id=>:serial, :force=>:cascade})253 -> 0.0074s254-- create_table("fork_network_members", {:id=>:serial, :force=>:cascade})255 -> 0.0113s256-- create_table("fork_networks", {:id=>:serial, :force=>:cascade})257 -> 0.0064s258-- create_table("forked_project_links", {:id=>:serial, :force=>:cascade})259 -> 0.0074s260-- create_table("geo_cache_invalidation_events", {:force=>:cascade})261 -> 0.0040s262-- create_table("geo_container_repository_updated_events", {:force=>:cascade})263 -> 0.0064s264-- create_table("geo_event_log", {:force=>:cascade})265 -> 0.0397s266-- create_table("geo_hashed_storage_attachments_events", {:force=>:cascade})267 -> 0.0074s268-- create_table("geo_hashed_storage_migrated_events", {:force=>:cascade})269 -> 0.0071s270-- create_table("geo_job_artifact_deleted_events", {:force=>:cascade})271 -> 0.0067s272-- create_table("geo_lfs_object_deleted_events", {:force=>:cascade})273 -> 0.0070s274-- create_table("geo_node_namespace_links", {:id=>:serial, :force=>:cascade})275 -> 0.0117s276-- create_table("geo_node_statuses", {:id=>:serial, :force=>:cascade})277 -> 0.0081s278-- create_table("geo_nodes", {:id=>:serial, :force=>:cascade})279 -> 0.0158s280-- create_table("geo_repositories_changed_events", {:force=>:cascade})281 -> 0.0053s282-- create_table("geo_repository_created_events", {:force=>:cascade})283 -> 0.0066s284-- create_table("geo_repository_deleted_events", {:force=>:cascade})285 -> 0.0063s286-- create_table("geo_repository_renamed_events", {:force=>:cascade})287 -> 0.0066s288-- create_table("geo_repository_updated_events", {:force=>:cascade})289 -> 0.0106s290-- create_table("geo_reset_checksum_events", {:force=>:cascade})291 -> 0.0076s292-- create_table("geo_upload_deleted_events", {:force=>:cascade})293 -> 0.0071s294-- create_table("gitlab_subscriptions", {:force=>:cascade})295 -> 0.0107s296-- create_table("gpg_key_subkeys", {:id=>:serial, :force=>:cascade})297 -> 0.0114s298-- create_table("gpg_keys", {:id=>:serial, :force=>:cascade})299 -> 0.0127s300-- create_table("gpg_signatures", {:id=>:serial, :force=>:cascade})301 -> 0.0179s302-- create_table("grafana_integrations", {:force=>:cascade})303 -> 0.0066s304-- create_table("group_custom_attributes", {:id=>:serial, :force=>:cascade})305 -> 0.0100s306-- create_table("historical_data", {:id=>:serial, :force=>:cascade})307 -> 0.0027s308-- create_table("identities", {:id=>:serial, :force=>:cascade})309 -> 0.0126s310-- create_table("import_export_uploads", {:id=>:serial, :force=>:cascade})311 -> 0.0101s312-- create_table("index_statuses", {:id=>:serial, :force=>:cascade})313 -> 0.0071s314-- create_table("insights", {:id=>:serial, :force=>:cascade})315 -> 0.0084s316-- create_table("internal_ids", {:force=>:cascade})317 -> 0.0139s318-- create_table("ip_restrictions", {:force=>:cascade})319 -> 0.0064s320-- create_table("issue_assignees", {:id=>false, :force=>:cascade})321 -> 0.0073s322-- create_table("issue_links", {:id=>:serial, :force=>:cascade})323 -> 0.0108s324-- create_table("issue_metrics", {:id=>:serial, :force=>:cascade})325 -> 0.0090s326-- create_table("issue_tracker_data", {:force=>:cascade})327 -> 0.0065s328-- create_table("issues", {:id=>:serial, :force=>:cascade})329 -> 0.0542s330-- create_table("issues_prometheus_alert_events", {:id=>false, :force=>:cascade})331 -> 0.0072s332-- create_table("jira_connect_installations", {:force=>:cascade})333 -> 0.0065s334-- create_table("jira_connect_subscriptions", {:force=>:cascade})335 -> 0.0109s336-- create_table("jira_tracker_data", {:force=>:cascade})337 -> 0.0065s338-- create_table("keys", {:id=>:serial, :force=>:cascade})339 -> 0.0130s340-- create_table("label_links", {:id=>:serial, :force=>:cascade})341 -> 0.0093s342-- create_table("label_priorities", {:id=>:serial, :force=>:cascade})343 -> 0.0108s344-- create_table("labels", {:id=>:serial, :force=>:cascade})345 -> 0.0179s346-- create_table("ldap_group_links", {:id=>:serial, :force=>:cascade})347 -> 0.0032s348-- create_table("lfs_file_locks", {:id=>:serial, :force=>:cascade})349 -> 0.0094s350-- create_table("lfs_objects", {:id=>:serial, :force=>:cascade})351 -> 0.0091s352-- create_table("lfs_objects_projects", {:id=>:serial, :force=>:cascade})353 -> 0.0085s354-- create_table("licenses", {:id=>:serial, :force=>:cascade})355 -> 0.0031s356-- create_table("list_user_preferences", {:force=>:cascade})357 -> 0.0112s358-- create_table("lists", {:id=>:serial, :force=>:cascade})359 -> 0.0174s360-- create_table("members", {:id=>:serial, :force=>:cascade})361 -> 0.0240s362-- create_table("merge_request_assignees", {:force=>:cascade})363 -> 0.0109s364-- create_table("merge_request_blocks", {:force=>:cascade})365 -> 0.0083s366-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})367 -> 0.0078s368-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})369 -> 0.0053s370-- create_table("merge_request_diffs", {:id=>:serial, :force=>:cascade})371 -> 0.0097s372-- create_table("merge_request_metrics", {:id=>:serial, :force=>:cascade})373 -> 0.0249s374-- create_table("merge_requests", {:id=>:serial, :force=>:cascade})375 -> 0.0648s376-- create_table("merge_requests_closing_issues", {:id=>:serial, :force=>:cascade})377 -> 0.0088s378-- create_table("merge_trains", {:force=>:cascade})379 -> 0.0154s380-- create_table("milestone_releases", {:id=>false, :force=>:cascade})381 -> 0.0068s382-- create_table("milestones", {:id=>:serial, :force=>:cascade})383 -> 0.0199s384-- create_table("namespace_aggregation_schedules", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})385 -> 0.0044s386-- create_table("namespace_root_storage_statistics", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})387 -> 0.0078s388-- create_table("namespace_statistics", {:id=>:serial, :force=>:cascade})389 -> 0.0063s390-- create_table("namespaces", {:id=>:serial, :force=>:cascade})391 -> 0.0578s392-- create_table("note_diff_files", {:id=>:serial, :force=>:cascade})393 -> 0.0072s394-- create_table("notes", {:id=>:serial, :force=>:cascade})395 -> 0.0317s396-- create_table("notification_settings", {:id=>:serial, :force=>:cascade})397 -> 0.0135s398-- create_table("oauth_access_grants", {:id=>:serial, :force=>:cascade})399 -> 0.0075s400-- create_table("oauth_access_tokens", {:id=>:serial, :force=>:cascade})401 -> 0.0156s402-- create_table("oauth_applications", {:id=>:serial, :force=>:cascade})403 -> 0.0102s404-- create_table("oauth_openid_requests", {:id=>:serial, :force=>:cascade})405 -> 0.0064s406-- create_table("operations_feature_flag_scopes", {:force=>:cascade})407 -> 0.0099s408-- create_table("operations_feature_flags", {:force=>:cascade})409 -> 0.0066s410-- create_table("operations_feature_flags_clients", {:force=>:cascade})411 -> 0.0095s412-- create_table("packages_maven_metadata", {:force=>:cascade})413 -> 0.0068s414-- create_table("packages_package_files", {:force=>:cascade})415 -> 0.0070s416-- create_table("packages_package_metadata", {:force=>:cascade})417 -> 0.0065s418-- create_table("packages_package_tags", {:force=>:cascade})419 -> 0.0061s420-- create_table("packages_packages", {:force=>:cascade})421 -> 0.0095s422-- create_table("pages_domain_acme_orders", {:force=>:cascade})423 -> 0.0095s424-- create_table("pages_domains", {:id=>:serial, :force=>:cascade})425 -> 0.0247s426-- create_table("path_locks", {:id=>:serial, :force=>:cascade})427 -> 0.0116s428-- create_table("personal_access_tokens", {:id=>:serial, :force=>:cascade})429 -> 0.0111s430-- create_table("plans", {:id=>:serial, :force=>:cascade})431 -> 0.0072s432-- create_table("pool_repositories", {:force=>:cascade})433 -> 0.0123s434-- create_table("programming_languages", {:id=>:serial, :force=>:cascade})435 -> 0.0064s436-- create_table("project_alerting_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})437 -> 0.0026s438-- create_table("project_aliases", {:force=>:cascade})439 -> 0.0094s440-- create_table("project_authorizations", {:id=>false, :force=>:cascade})441 -> 0.0071s442-- create_table("project_auto_devops", {:id=>:serial, :force=>:cascade})443 -> 0.0060s444-- create_table("project_ci_cd_settings", {:id=>:serial, :force=>:cascade})445 -> 0.0069s446-- create_table("project_custom_attributes", {:id=>:serial, :force=>:cascade})447 -> 0.0097s448-- create_table("project_daily_statistics", {:force=>:cascade})449 -> 0.0063s450-- create_table("project_deploy_tokens", {:id=>:serial, :force=>:cascade})451 -> 0.0083s452-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})453 -> 0.0032s454-- create_table("project_feature_usages", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})455 -> 0.0117s456-- create_table("project_features", {:id=>:serial, :force=>:cascade})457 -> 0.0068s458-- create_table("project_group_links", {:id=>:serial, :force=>:cascade})459 -> 0.0091s460-- create_table("project_import_data", {:id=>:serial, :force=>:cascade})461 -> 0.0063s462-- create_table("project_incident_management_settings", {:primary_key=>"project_id", :id=>:serial, :force=>:cascade})463 -> 0.0051s464-- create_table("project_metrics_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})465 -> 0.0030s466-- create_table("project_mirror_data", {:id=>:serial, :force=>:cascade})467 -> 0.0225s468-- create_table("project_pages_metadata", {:id=>false, :force=>:cascade})469 -> 0.0077s470-- create_table("project_repositories", {:force=>:cascade})471 -> 0.0138s472-- create_table("project_repository_states", {:id=>:serial, :force=>:cascade})473 -> 0.0231s474-- create_table("project_statistics", {:id=>:serial, :force=>:cascade})475 -> 0.0126s476-- create_table("project_tracing_settings", {:force=>:cascade})477 -> 0.0065s478-- create_table("projects", {:id=>:serial, :force=>:cascade})479 -> 0.0898s480-- create_table("prometheus_alert_events", {:force=>:cascade})481 -> 0.0094s482-- create_table("prometheus_alerts", {:id=>:serial, :force=>:cascade})483 -> 0.0111s484-- create_table("prometheus_metrics", {:id=>:serial, :force=>:cascade})485 -> 0.0152s486-- create_table("protected_branch_merge_access_levels", {:id=>:serial, :force=>:cascade})487 -> 0.0113s488-- create_table("protected_branch_push_access_levels", {:id=>:serial, :force=>:cascade})489 -> 0.0114s490-- create_table("protected_branch_unprotect_access_levels", {:id=>:serial, :force=>:cascade})491 -> 0.0115s492-- create_table("protected_branches", {:id=>:serial, :force=>:cascade})493 -> 0.0095s494-- create_table("protected_environment_deploy_access_levels", {:id=>:serial, :force=>:cascade})495 -> 0.0114s496-- create_table("protected_environments", {:id=>:serial, :force=>:cascade})497 -> 0.0096s498-- create_table("protected_tag_create_access_levels", {:id=>:serial, :force=>:cascade})499 -> 0.0120s500-- create_table("protected_tags", {:id=>:serial, :force=>:cascade})501 -> 0.0089s502-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})503 -> 0.0051s504-- create_table("push_rules", {:id=>:serial, :force=>:cascade})505 -> 0.0123s506-- create_table("redirect_routes", {:id=>:serial, :force=>:cascade})507 -> 0.0122s508-- create_table("release_links", {:force=>:cascade})509 -> 0.0098s510-- create_table("releases", {:id=>:serial, :force=>:cascade})511 -> 0.0094s512-- create_table("remote_mirrors", {:id=>:serial, :force=>:cascade})513 -> 0.0105s514-- create_table("repository_languages", {:id=>false, :force=>:cascade})515 -> 0.0042s516-- create_table("resource_label_events", {:force=>:cascade})517 -> 0.0185s518-- create_table("reviews", {:force=>:cascade})519 -> 0.0107s520-- create_table("routes", {:id=>:serial, :force=>:cascade})521 -> 0.0130s522-- create_table("saml_providers", {:id=>:serial, :force=>:cascade})523 -> 0.0075s524-- create_table("scim_oauth_access_tokens", {:id=>:serial, :force=>:cascade})525 -> 0.0066s526-- create_table("sent_notifications", {:id=>:serial, :force=>:cascade})527 -> 0.0070s528-- create_table("services", {:id=>:serial, :force=>:cascade})529 -> 0.0203s530-- create_table("shards", {:id=>:serial, :force=>:cascade})531 -> 0.0059s532-- create_table("slack_integrations", {:id=>:serial, :force=>:cascade})533 -> 0.0091s534-- create_table("smartcard_identities", {:force=>:cascade})535 -> 0.0093s536-- create_table("snippets", {:id=>:serial, :force=>:cascade})537 -> 0.0233s538-- create_table("software_license_policies", {:id=>:serial, :force=>:cascade})539 -> 0.0091s540-- create_table("software_licenses", {:id=>:serial, :force=>:cascade})541 -> 0.0088s542-- create_table("spam_logs", {:id=>:serial, :force=>:cascade})543 -> 0.0044s544-- create_table("subscriptions", {:id=>:serial, :force=>:cascade})545 -> 0.0095s546-- create_table("suggestions", {:force=>:cascade})547 -> 0.0084s548-- create_table("system_note_metadata", {:id=>:serial, :force=>:cascade})549 -> 0.0067s550-- create_table("taggings", {:id=>:serial, :force=>:cascade})551 -> 0.0155s552-- create_table("tags", {:id=>:serial, :force=>:cascade})553 -> 0.0095s554-- create_table("term_agreements", {:id=>:serial, :force=>:cascade})555 -> 0.0115s556-- create_table("timelogs", {:id=>:serial, :force=>:cascade})557 -> 0.0107s558-- create_table("todos", {:id=>:serial, :force=>:cascade})559 -> 0.0278s560-- create_table("trending_projects", {:id=>:serial, :force=>:cascade})561 -> 0.0060s562-- create_table("u2f_registrations", {:id=>:serial, :force=>:cascade})563 -> 0.0101s564-- create_table("uploads", {:id=>:serial, :force=>:cascade})565 -> 0.0155s566-- create_table("user_agent_details", {:id=>:serial, :force=>:cascade})567 -> 0.0073s568-- create_table("user_callouts", {:id=>:serial, :force=>:cascade})569 -> 0.0083s570-- create_table("user_custom_attributes", {:id=>:serial, :force=>:cascade})571 -> 0.0092s572-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})573 -> 0.0068s574-- create_table("user_preferences", {:id=>:serial, :force=>:cascade})575 -> 0.0089s576-- create_table("user_statuses", {:primary_key=>"user_id", :id=>:serial, :force=>:cascade})577 -> 0.0070s578-- create_table("user_synced_attributes_metadata", {:id=>:serial, :force=>:cascade})579 -> 0.0080s580-- create_table("users", {:id=>:serial, :force=>:cascade})581 -> 0.0916s582-- create_table("users_ops_dashboard_projects", {:force=>:cascade})583 -> 0.0089s584-- create_table("users_star_projects", {:id=>:serial, :force=>:cascade})585 -> 0.0087s586-- create_table("vulnerabilities", {:force=>:cascade})587 -> 0.0311s588-- create_table("vulnerability_feedback", {:id=>:serial, :force=>:cascade})589 -> 0.0210s590-- create_table("vulnerability_identifiers", {:force=>:cascade})591 -> 0.0066s592-- create_table("vulnerability_occurrence_identifiers", {:force=>:cascade})593 -> 0.0089s594-- create_table("vulnerability_occurrence_pipelines", {:force=>:cascade})595 -> 0.0086s596-- create_table("vulnerability_occurrences", {:force=>:cascade})597 -> 0.0182s598-- create_table("vulnerability_scanners", {:force=>:cascade})599 -> 0.0065s600-- create_table("web_hook_logs", {:id=>:serial, :force=>:cascade})601 -> 0.0095s602-- create_table("web_hooks", {:id=>:serial, :force=>:cascade})603 -> 0.0156s604-- add_foreign_key("alerts_service_data", "services", {:on_delete=>:cascade})605 -> 0.0031s606-- add_foreign_key("allowed_email_domains", "namespaces", {:column=>"group_id", :on_delete=>:cascade})607 -> 0.0030s608-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})609 -> 0.0026s610-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})611 -> 0.0020s612-- add_foreign_key("analytics_cycle_analytics_group_stages", "namespaces", {:column=>"group_id", :on_delete=>:cascade})613 -> 0.0022s614-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})615 -> 0.0022s616-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})617 -> 0.0019s618-- add_foreign_key("analytics_cycle_analytics_project_stages", "projects", {:on_delete=>:cascade})619 -> 0.0035s620-- add_foreign_key("analytics_language_trend_repository_languages", "programming_languages", {:on_delete=>:cascade})621 -> 0.0023s622-- add_foreign_key("analytics_language_trend_repository_languages", "projects", {:on_delete=>:cascade})623 -> 0.0024s624-- add_foreign_key("analytics_repository_file_commits", "analytics_repository_files", {:on_delete=>:cascade})625 -> 0.0023s626-- add_foreign_key("analytics_repository_file_commits", "projects", {:on_delete=>:cascade})627 -> 0.0023s628-- add_foreign_key("analytics_repository_file_edits", "analytics_repository_files", {:on_delete=>:cascade})629 -> 0.0020s630-- add_foreign_key("analytics_repository_file_edits", "projects", {:on_delete=>:cascade})631 -> 0.0026s632-- add_foreign_key("analytics_repository_files", "projects", {:on_delete=>:cascade})633 -> 0.0023s634-- add_foreign_key("application_settings", "namespaces", {:column=>"custom_project_templates_group_id", :on_delete=>:nullify})635 -> 0.0045s636-- add_foreign_key("application_settings", "projects", {:column=>"file_template_project_id", :name=>"fk_ec757bd087", :on_delete=>:nullify})637 -> 0.0033s638-- add_foreign_key("application_settings", "projects", {:column=>"instance_administration_project_id", :on_delete=>:nullify})639 -> 0.0033s640-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})641 -> 0.0043s642-- add_foreign_key("approval_merge_request_rule_sources", "approval_merge_request_rules", {:on_delete=>:cascade})643 -> 0.0025s644-- add_foreign_key("approval_merge_request_rule_sources", "approval_project_rules", {:on_delete=>:cascade})645 -> 0.0024s646-- add_foreign_key("approval_merge_request_rules", "merge_requests", {:on_delete=>:cascade})647 -> 0.0032s648-- add_foreign_key("approval_merge_request_rules_approved_approvers", "approval_merge_request_rules", {:on_delete=>:cascade})649 -> 0.0023s650-- add_foreign_key("approval_merge_request_rules_approved_approvers", "users", {:on_delete=>:cascade})651 -> 0.0024s652-- add_foreign_key("approval_merge_request_rules_groups", "approval_merge_request_rules", {:on_delete=>:cascade})653 -> 0.0020s654-- add_foreign_key("approval_merge_request_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})655 -> 0.0021s656-- add_foreign_key("approval_merge_request_rules_users", "approval_merge_request_rules", {:on_delete=>:cascade})657 -> 0.0021s658-- add_foreign_key("approval_merge_request_rules_users", "users", {:on_delete=>:cascade})659 -> 0.0023s660-- add_foreign_key("approval_project_rules", "projects", {:on_delete=>:cascade})661 -> 0.0025s662-- add_foreign_key("approval_project_rules_groups", "approval_project_rules", {:on_delete=>:cascade})663 -> 0.0021s664-- add_foreign_key("approval_project_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})665 -> 0.0020s666-- add_foreign_key("approval_project_rules_users", "approval_project_rules", {:on_delete=>:cascade})667 -> 0.0020s668-- add_foreign_key("approval_project_rules_users", "users", {:on_delete=>:cascade})669 -> 0.0023s670-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})671 -> 0.0024s672-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})673 -> 0.0024s674-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})675 -> 0.0024s676-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})677 -> 0.0025s678-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})679 -> 0.0023s680-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})681 -> 0.0022s682-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})683 -> 0.0030s684-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})685 -> 0.0021s686-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})687 -> 0.0024s688-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})689 -> 0.0020s690-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})691 -> 0.0019s692-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})693 -> 0.0020s694-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})695 -> 0.0023s696-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})697 -> 0.0024s698-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :name=>"fk_1e9a074a35", :on_delete=>:cascade})699 -> 0.0021s700-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})701 -> 0.0027s702-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})703 -> 0.0023s704-- add_foreign_key("ci_build_needs", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})705 -> 0.0034s706-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})707 -> 0.0023s708-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})709 -> 0.0026s710-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})711 -> 0.0019s712-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})713 -> 0.0022s714-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})715 -> 0.0024s716-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})717 -> 0.0030s718-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})719 -> 0.0022s720-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"upstream_pipeline_id", :name=>"fk_87f4cefcda", :on_delete=>:cascade})721 -> 0.0022s722-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})723 -> 0.0023s724-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})725 -> 0.0029s726-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})727 -> 0.0029s728-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})729 -> 0.0027s730-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})731 -> 0.0023s732-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})733 -> 0.0023s734-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})735 -> 0.0026s736-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})737 -> 0.0025s738-- add_foreign_key("ci_job_variables", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})739 -> 0.0024s740-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})741 -> 0.0023s742-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})743 -> 0.0019s744-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})745 -> 0.0020s746-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})747 -> 0.0024s748-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})749 -> 0.0024s750-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})751 -> 0.0020s752-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})753 -> 0.0019s754-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})755 -> 0.0020s756-- add_foreign_key("ci_pipelines", "external_pull_requests", {:name=>"fk_190998ef09", :on_delete=>:nullify})757 -> 0.0022s758-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})759 -> 0.0025s760-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})761 -> 0.0027s762-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})763 -> 0.0023s764-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})765 -> 0.0023s766-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})767 -> 0.0030s768-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})769 -> 0.0026s770-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})771 -> 0.0021s772-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})773 -> 0.0019s774-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})775 -> 0.0033s776-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})777 -> 0.0024s778-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})779 -> 0.0020s780-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})781 -> 0.0032s782-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})783 -> 0.0028s784-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})785 -> 0.0033s786-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})787 -> 0.0031s788-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})789 -> 0.0036s790-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})791 -> 0.0028s792-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})793 -> 0.0022s794-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})795 -> 0.0022s796-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})797 -> 0.0020s798-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})799 -> 0.0024s800-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})801 -> 0.0024s802-- add_foreign_key("clusters", "projects", {:column=>"management_project_id", :name=>"fk_f05c5e5a42", :on_delete=>:nullify})803 -> 0.0025s804-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})805 -> 0.0027s806-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})807 -> 0.0027s808-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})809 -> 0.0022s810-- add_foreign_key("clusters_applications_ingress", "clusters", {:on_delete=>:cascade})811 -> 0.0025s812-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})813 -> 0.0023s814-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})815 -> 0.0022s816-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})817 -> 0.0021s818-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})819 -> 0.0021s820-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})821 -> 0.0026s822-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})823 -> 0.0021s824-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})825 -> 0.0024s826-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})827 -> 0.0021s828-- add_foreign_key("clusters_kubernetes_namespaces", "environments", {:on_delete=>:nullify})829 -> 0.0023s830-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})831 -> 0.0026s832-- add_foreign_key("container_repositories", "projects")833 -> 0.0027s834-- add_foreign_key("dependency_proxy_blobs", "namespaces", {:column=>"group_id", :on_delete=>:cascade})835 -> 0.0024s836-- add_foreign_key("dependency_proxy_group_settings", "namespaces", {:column=>"group_id", :on_delete=>:cascade})837 -> 0.0024s838-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})839 -> 0.0030s840-- add_foreign_key("deployments", "clusters", {:name=>"fk_289bba3222", :on_delete=>:nullify})841 -> 0.0027s842-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})843 -> 0.0026s844-- add_foreign_key("design_management_designs", "issues", {:on_delete=>:cascade})845 -> 0.0032s846-- add_foreign_key("design_management_designs", "projects", {:on_delete=>:cascade})847 -> 0.0026s848-- add_foreign_key("design_management_designs_versions", "design_management_designs", {:column=>"design_id", :name=>"fk_03c671965c", :on_delete=>:cascade})849 -> 0.0021s850-- add_foreign_key("design_management_designs_versions", "design_management_versions", {:column=>"version_id", :name=>"fk_f4d25ba00c", :on_delete=>:cascade})851 -> 0.0020s852-- add_foreign_key("design_management_versions", "issues", {:on_delete=>:cascade})853 -> 0.0023s854-- add_foreign_key("design_management_versions", "users", {:name=>"fk_ee16b939e5", :on_delete=>:nullify})855 -> 0.0024s856-- add_foreign_key("draft_notes", "merge_requests", {:on_delete=>:cascade})857 -> 0.0026s858-- add_foreign_key("draft_notes", "users", {:column=>"author_id", :on_delete=>:cascade})859 -> 0.0025s860-- add_foreign_key("elasticsearch_indexed_namespaces", "namespaces", {:on_delete=>:cascade})861 -> 0.0024s862-- add_foreign_key("elasticsearch_indexed_projects", "projects", {:on_delete=>:cascade})863 -> 0.0026s864-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})865 -> 0.0025s866-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})867 -> 0.0028s868-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})869 -> 0.0022s870-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})871 -> 0.0022s872-- add_foreign_key("epics", "epics", {:column=>"parent_id", :name=>"fk_25b99c1be3", :on_delete=>:cascade})873 -> 0.0020s874-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})875 -> 0.0026s876-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})877 -> 0.0023s878-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})879 -> 0.0026s880-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})881 -> 0.0024s882-- add_foreign_key("epics", "users", {:column=>"closed_by_id", :name=>"fk_aa5798e761", :on_delete=>:nullify})883 -> 0.0024s884-- add_foreign_key("events", "namespaces", {:column=>"group_id", :name=>"fk_61fbf6ca48", :on_delete=>:cascade})885 -> 0.0026s886-- add_foreign_key("events", "projects", {:on_delete=>:cascade})887 -> 0.0026s888-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})889 -> 0.0024s890-- add_foreign_key("external_pull_requests", "projects", {:on_delete=>:cascade})891 -> 0.0027s892-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})893 -> 0.0022s894-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})895 -> 0.0024s896-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})897 -> 0.0025s898-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})899 -> 0.0025s900-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})901 -> 0.0026s902-- add_foreign_key("geo_container_repository_updated_events", "container_repositories", {:name=>"fk_212c89c706", :on_delete=>:cascade})903 -> 0.0022s904-- add_foreign_key("geo_event_log", "geo_cache_invalidation_events", {:column=>"cache_invalidation_event_id", :name=>"fk_42c3b54bed", :on_delete=>:cascade})905 -> 0.0026s906-- add_foreign_key("geo_event_log", "geo_container_repository_updated_events", {:column=>"container_repository_updated_event_id", :name=>"fk_6ada82d42a", :on_delete=>:cascade})907 -> 0.0021s908-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})909 -> 0.0026s910-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})911 -> 0.0024s912-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})913 -> 0.0022s914-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})915 -> 0.0022s916-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})917 -> 0.0031s918-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})919 -> 0.0022s920-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})921 -> 0.0022s922-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :name=>"fk_78a6492f68", :on_delete=>:cascade})923 -> 0.0023s924-- add_foreign_key("geo_event_log", "geo_reset_checksum_events", {:column=>"reset_checksum_event_id", :name=>"fk_cff7185ad2", :on_delete=>:cascade})925 -> 0.0021s926-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})927 -> 0.0021s928-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})929 -> 0.0026s930-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})931 -> 0.0026s932-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})933 -> 0.0025s934-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})935 -> 0.0024s936-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})937 -> 0.0025s938-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})939 -> 0.0021s940-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})941 -> 0.0026s942-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})943 -> 0.0027s944-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})945 -> 0.0025s946-- add_foreign_key("geo_reset_checksum_events", "projects", {:on_delete=>:cascade})947 -> 0.0027s948-- add_foreign_key("gitlab_subscriptions", "namespaces", {:name=>"fk_e2595d00a1", :on_delete=>:cascade})949 -> 0.0026s950-- add_foreign_key("gitlab_subscriptions", "plans", {:column=>"hosted_plan_id", :name=>"fk_bd0c4019c3", :on_delete=>:cascade})951 -> 0.0020s952-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})953 -> 0.0023s954-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})955 -> 0.0026s956-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})957 -> 0.0024s958-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})959 -> 0.0020s960-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})961 -> 0.0027s962-- add_foreign_key("grafana_integrations", "projects", {:on_delete=>:cascade})963 -> 0.0026s964-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})965 -> 0.0025s966-- add_foreign_key("identities", "saml_providers", {:name=>"fk_aade90f0fc", :on_delete=>:cascade})967 -> 0.0023s968-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})969 -> 0.0029s970-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})971 -> 0.0027s972-- add_foreign_key("insights", "namespaces", {:on_delete=>:cascade})973 -> 0.0025s974-- add_foreign_key("insights", "projects", {:on_delete=>:cascade})975 -> 0.0026s976-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})977 -> 0.0026s978-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})979 -> 0.0026s980-- add_foreign_key("ip_restrictions", "namespaces", {:column=>"group_id", :on_delete=>:cascade})981 -> 0.0024s982-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})983 -> 0.0022s984-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})985 -> 0.0024s986-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})987 -> 0.0023s988-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})989 -> 0.0020s990-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})991 -> 0.0026s992-- add_foreign_key("issue_tracker_data", "services", {:on_delete=>:cascade})993 -> 0.0022s994-- add_foreign_key("issues", "issues", {:column=>"duplicated_to_id", :name=>"fk_9c4516d665", :on_delete=>:nullify})995 -> 0.0021s996-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})997 -> 0.0021s998-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})999 -> 0.0021s1000-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1001 -> 0.0029s1002-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1003 -> 0.0026s1004-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1005 -> 0.0026s1006-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1007 -> 0.0026s1008-- add_foreign_key("issues_prometheus_alert_events", "issues", {:on_delete=>:cascade})1009 -> 0.0023s1010-- add_foreign_key("issues_prometheus_alert_events", "prometheus_alert_events", {:on_delete=>:cascade})1011 -> 0.0022s1012-- add_foreign_key("jira_connect_subscriptions", "jira_connect_installations", {:on_delete=>:cascade})1013 -> 0.0023s1014-- add_foreign_key("jira_connect_subscriptions", "namespaces", {:on_delete=>:cascade})1015 -> 0.0026s1016-- add_foreign_key("jira_tracker_data", "services", {:on_delete=>:cascade})1017 -> 0.0022s1018-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})1019 -> 0.0026s1020-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1021 -> 0.0025s1022-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1023 -> 0.0028s1024-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1025 -> 0.0024s1026-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1027 -> 0.0027s1028-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1029 -> 0.0029s1030-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1031 -> 0.0026s1032-- add_foreign_key("list_user_preferences", "lists", {:on_delete=>:cascade})1033 -> 0.0026s1034-- add_foreign_key("list_user_preferences", "users", {:on_delete=>:cascade})1035 -> 0.0027s1036-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1037 -> 0.0022s1038-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1039 -> 0.0021s1040-- add_foreign_key("lists", "milestones", {:on_delete=>:cascade})1041 -> 0.0020s1042-- add_foreign_key("lists", "users", {:name=>"fk_d6cf4279f7", :on_delete=>:cascade})1043 -> 0.0027s1044-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1045 -> 0.0032s1046-- add_foreign_key("merge_request_assignees", "merge_requests", {:on_delete=>:cascade})1047 -> 0.0027s1048-- add_foreign_key("merge_request_assignees", "users", {:on_delete=>:cascade})1049 -> 0.0027s1050-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocked_merge_request_id", :on_delete=>:cascade})1051 -> 0.0023s1052-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocking_merge_request_id", :on_delete=>:cascade})1053 -> 0.0021s1054-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1055 -> 0.0023s1056-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1057 -> 0.0022s1058-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1059 -> 0.0022s1060-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1061 -> 0.0027s1062-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1063 -> 0.0023s1064-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1065 -> 0.0035s1066-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1067 -> 0.0026s1068-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1069 -> 0.0025s1070-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1071 -> 0.0023s1072-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1073 -> 0.0025s1074-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1075 -> 0.0029s1076-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1077 -> 0.0028s1078-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1079 -> 0.0030s1080-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1081 -> 0.0027s1082-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1083 -> 0.0029s1084-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1085 -> 0.0029s1086-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1087 -> 0.0025s1088-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1089 -> 0.0023s1090-- add_foreign_key("merge_trains", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1091 -> 0.0025s1092-- add_foreign_key("merge_trains", "merge_requests", {:on_delete=>:cascade})1093 -> 0.0024s1094-- add_foreign_key("merge_trains", "projects", {:column=>"target_project_id", :on_delete=>:cascade})1095 -> 0.0026s1096-- add_foreign_key("merge_trains", "users", {:on_delete=>:cascade})1097 -> 0.0028s1098-- add_foreign_key("milestone_releases", "milestones", {:on_delete=>:cascade})1099 -> 0.0023s1100-- add_foreign_key("milestone_releases", "releases", {:on_delete=>:cascade})1101 -> 0.0021s1102-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1103 -> 0.0023s1104-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1105 -> 0.0026s1106-- add_foreign_key("namespace_aggregation_schedules", "namespaces", {:on_delete=>:cascade})1107 -> 0.0025s1108-- add_foreign_key("namespace_root_storage_statistics", "namespaces", {:on_delete=>:cascade})1109 -> 0.0026s1110-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1111 -> 0.0024s1112-- add_foreign_key("namespaces", "namespaces", {:column=>"custom_project_templates_group_id", :name=>"fk_e7a0b20a6b", :on_delete=>:nullify})1113 -> 0.0024s1114-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1115 -> 0.0024s1116-- add_foreign_key("namespaces", "projects", {:column=>"file_template_project_id", :name=>"fk_319256d87a", :on_delete=>:nullify})1117 -> 0.0030s1118-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1119 -> 0.0027s1120-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1121 -> 0.0029s1122-- add_foreign_key("notes", "reviews", {:name=>"fk_2e82291620", :on_delete=>:nullify})1123 -> 0.0024s1124-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1125 -> 0.0030s1126-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1127 -> 0.0021s1128-- add_foreign_key("operations_feature_flag_scopes", "operations_feature_flags", {:column=>"feature_flag_id", :on_delete=>:cascade})1129 -> 0.0021s1130-- add_foreign_key("operations_feature_flags", "projects", {:on_delete=>:cascade})1131 -> 0.0026s1132-- add_foreign_key("operations_feature_flags_clients", "projects", {:on_delete=>:cascade})1133 -> 0.0028s1134-- add_foreign_key("packages_maven_metadata", "packages_packages", {:column=>"package_id", :name=>"fk_be88aed360", :on_delete=>:cascade})1135 -> 0.0021s1136-- add_foreign_key("packages_package_files", "packages_packages", {:column=>"package_id", :name=>"fk_86f0f182f8", :on_delete=>:cascade})1137 -> 0.0019s1138-- add_foreign_key("packages_package_metadata", "packages_packages", {:column=>"package_id", :on_delete=>:cascade})1139 -> 0.0019s1140-- add_foreign_key("packages_package_tags", "packages_packages", {:column=>"package_id", :on_delete=>:cascade})1141 -> 0.0020s1142-- add_foreign_key("packages_packages", "projects", {:on_delete=>:cascade})1143 -> 0.0027s1144-- add_foreign_key("pages_domain_acme_orders", "pages_domains", {:on_delete=>:cascade})1145 -> 0.0026s1146-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1147 -> 0.0028s1148-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1149 -> 0.0029s1150-- add_foreign_key("path_locks", "users")1151 -> 0.0029s1152-- add_foreign_key("personal_access_tokens", "users")1153 -> 0.0028s1154-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})1155 -> 0.0028s1156-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})1157 -> 0.0033s1158-- add_foreign_key("project_alerting_settings", "projects", {:on_delete=>:cascade})1159 -> 0.0030s1160-- add_foreign_key("project_aliases", "projects", {:on_delete=>:cascade})1161 -> 0.0029s1162-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1163 -> 0.0029s1164-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1165 -> 0.0027s1166-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1167 -> 0.0039s1168-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1169 -> 0.0033s1170-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1171 -> 0.0032s1172-- add_foreign_key("project_daily_statistics", "projects", {:on_delete=>:cascade})1173 -> 0.0032s1174-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1175 -> 0.0028s1176-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1177 -> 0.0028s1178-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})1179 -> 0.0030s1180-- add_foreign_key("project_feature_usages", "projects", {:on_delete=>:cascade})1181 -> 0.0030s1182-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1183 -> 0.0028s1184-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1185 -> 0.0028s1186-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1187 -> 0.0029s1188-- add_foreign_key("project_incident_management_settings", "projects", {:on_delete=>:cascade})1189 -> 0.0028s1190-- add_foreign_key("project_metrics_settings", "projects", {:on_delete=>:cascade})1191 -> 0.0027s1192-- add_foreign_key("project_mirror_data", "projects", {:name=>"fk_d1aad367d7", :on_delete=>:cascade})1193 -> 0.0031s1194-- add_foreign_key("project_pages_metadata", "projects", {:on_delete=>:cascade})1195 -> 0.0029s1196-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})1197 -> 0.0032s1198-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})1199 -> 0.0020s1200-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1201 -> 0.0032s1202-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1203 -> 0.0057s1204-- add_foreign_key("project_tracing_settings", "projects", {:on_delete=>:cascade})1205 -> 0.0059s1206-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})1207 -> 0.0039s1208-- add_foreign_key("prometheus_alert_events", "projects", {:on_delete=>:cascade})1209 -> 0.0034s1210-- add_foreign_key("prometheus_alert_events", "prometheus_alerts", {:on_delete=>:cascade})1211 -> 0.0075s1212-- add_foreign_key("prometheus_alerts", "environments", {:on_delete=>:cascade})1213 -> 0.0039s1214-- add_foreign_key("prometheus_alerts", "projects", {:on_delete=>:cascade})1215 -> 0.0034s1216-- add_foreign_key("prometheus_alerts", "prometheus_metrics", {:on_delete=>:cascade})1217 -> 0.0044s1218-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1219 -> 0.0046s1220-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1221 -> 0.0034s1222-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1223 -> 0.0027s1224-- add_foreign_key("protected_branch_merge_access_levels", "users")1225 -> 0.0035s1226-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1227 -> 0.0038s1228-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1229 -> 0.0035s1230-- add_foreign_key("protected_branch_push_access_levels", "users")1231 -> 0.0044s1232-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1233 -> 0.0036s1234-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1235 -> 0.0024s1236-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1237 -> 0.0027s1238-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1239 -> 0.0029s1240-- add_foreign_key("protected_environment_deploy_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1241 -> 0.0067s1242-- add_foreign_key("protected_environment_deploy_access_levels", "protected_environments", {:on_delete=>:cascade})1243 -> 0.0023s1244-- add_foreign_key("protected_environment_deploy_access_levels", "users", {:on_delete=>:cascade})1245 -> 0.0029s1246-- add_foreign_key("protected_environments", "projects", {:on_delete=>:cascade})1247 -> 0.0046s1248-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1249 -> 0.0057s1250-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1251 -> 0.0031s1252-- add_foreign_key("protected_tag_create_access_levels", "users")1253 -> 0.0038s1254-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1255 -> 0.0078s1256-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1257 -> 0.0033s1258-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1259 -> 0.0044s1260-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})1261 -> 0.0032s1262-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1263 -> 0.0042s1264-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})1265 -> 0.0035s1266-- add_foreign_key("remote_mirrors", "projects", {:name=>"fk_43a9aa4ca8", :on_delete=>:cascade})1267 -> 0.0043s1268-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1269 -> 0.0040s1270-- add_foreign_key("resource_label_events", "epics", {:on_delete=>:cascade})1271 -> 0.0036s1272-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1273 -> 0.0036s1274-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1275 -> 0.0033s1276-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1277 -> 0.0035s1278-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1279 -> 0.0038s1280-- add_foreign_key("reviews", "merge_requests", {:on_delete=>:cascade})1281 -> 0.0034s1282-- add_foreign_key("reviews", "projects", {:on_delete=>:cascade})1283 -> 0.0045s1284-- add_foreign_key("reviews", "users", {:column=>"author_id", :on_delete=>:nullify})1285 -> 0.0036s1286-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1287 -> 0.0032s1288-- add_foreign_key("scim_oauth_access_tokens", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1289 -> 0.0034s1290-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1291 -> 0.0042s1292-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1293 -> 0.0032s1294-- add_foreign_key("smartcard_identities", "users", {:on_delete=>:cascade})1295 -> 0.0039s1296-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1297 -> 0.0045s1298-- add_foreign_key("software_license_policies", "projects", {:on_delete=>:cascade})1299 -> 0.0048s1300-- add_foreign_key("software_license_policies", "software_licenses", {:on_delete=>:cascade})1301 -> 0.0031s1302-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1303 -> 0.0042s1304-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})1305 -> 0.0036s1306-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1307 -> 0.0034s1308-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1309 -> 0.0029s1310-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1311 -> 0.0040s1312-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1313 -> 0.0038s1314-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1315 -> 0.0033s1316-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1317 -> 0.0041s1318-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1319 -> 0.0030s1320-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1321 -> 0.0040s1322-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1323 -> 0.0038s1324-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1325 -> 0.0038s1326-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1327 -> 0.0042s1328-- add_foreign_key("u2f_registrations", "users")1329 -> 0.0993s1330-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1331 -> 0.0073s1332-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1333 -> 0.0083s1334-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1335 -> 0.0064s1336-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1337 -> 0.0067s1338-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})1339 -> 0.0058s1340-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1341 -> 0.0038s1342-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1343 -> 0.0031s1344-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1345 -> 0.0031s1346-- add_foreign_key("users", "namespaces", {:column=>"managing_group_id", :name=>"fk_a4b8fefe3e", :on_delete=>:nullify})1347 -> 0.0034s1348-- add_foreign_key("users_ops_dashboard_projects", "projects", {:on_delete=>:cascade})1349 -> 0.0046s1350-- add_foreign_key("users_ops_dashboard_projects", "users", {:on_delete=>:cascade})1351 -> 0.0032s1352-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1353 -> 0.0041s1354-- add_foreign_key("vulnerabilities", "epics", {:name=>"fk_1d37cddf91", :on_delete=>:nullify})1355 -> 0.0032s1356-- add_foreign_key("vulnerabilities", "milestones", {:column=>"due_date_sourcing_milestone_id", :name=>"fk_7c5bb22a22", :on_delete=>:nullify})1357 -> 0.0029s1358-- add_foreign_key("vulnerabilities", "milestones", {:column=>"start_date_sourcing_milestone_id", :name=>"fk_88b4d546ef", :on_delete=>:nullify})1359 -> 0.0023s1360-- add_foreign_key("vulnerabilities", "milestones", {:name=>"fk_131d289c65", :on_delete=>:nullify})1361 -> 0.0024s1362-- add_foreign_key("vulnerabilities", "projects", {:name=>"fk_efb96ab1e2", :on_delete=>:cascade})1363 -> 0.0029s1364-- add_foreign_key("vulnerabilities", "users", {:column=>"author_id", :name=>"fk_b1de915a15", :on_delete=>:nullify})1365 -> 0.0033s1366-- add_foreign_key("vulnerabilities", "users", {:column=>"closed_by_id", :name=>"fk_cf5c60acbf", :on_delete=>:nullify})1367 -> 0.0029s1368-- add_foreign_key("vulnerabilities", "users", {:column=>"last_edited_by_id", :name=>"fk_1302949740", :on_delete=>:nullify})1369 -> 0.0026s1370-- add_foreign_key("vulnerabilities", "users", {:column=>"updated_by_id", :name=>"fk_7ac31eacb9", :on_delete=>:nullify})1371 -> 0.0025s1372-- add_foreign_key("vulnerability_feedback", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1373 -> 0.0027s1374-- add_foreign_key("vulnerability_feedback", "issues", {:on_delete=>:nullify})1375 -> 0.0023s1376-- add_foreign_key("vulnerability_feedback", "merge_requests", {:name=>"fk_563ff1912e", :on_delete=>:nullify})1377 -> 0.0023s1378-- add_foreign_key("vulnerability_feedback", "projects", {:on_delete=>:cascade})1379 -> 0.0029s1380-- add_foreign_key("vulnerability_feedback", "users", {:column=>"author_id", :on_delete=>:cascade})1381 -> 0.0025s1382-- add_foreign_key("vulnerability_feedback", "users", {:column=>"comment_author_id", :name=>"fk_94f7c8a81e", :on_delete=>:nullify})1383 -> 0.0024s1384-- add_foreign_key("vulnerability_identifiers", "projects", {:on_delete=>:cascade})1385 -> 0.0029s1386-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_identifiers", {:column=>"identifier_id", :on_delete=>:cascade})1387 -> 0.0021s1388-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1389 -> 0.0023s1390-- add_foreign_key("vulnerability_occurrence_pipelines", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1391 -> 0.0022s1392-- add_foreign_key("vulnerability_occurrence_pipelines", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1393 -> 0.0019s1394-- add_foreign_key("vulnerability_occurrences", "projects", {:on_delete=>:cascade})1395 -> 0.0028s1396-- add_foreign_key("vulnerability_occurrences", "vulnerabilities", {:name=>"fk_97ffe77653", :on_delete=>:nullify})1397 -> 0.0022s1398-- add_foreign_key("vulnerability_occurrences", "vulnerability_identifiers", {:column=>"primary_identifier_id", :on_delete=>:cascade})1399 -> 0.0022s1400-- add_foreign_key("vulnerability_occurrences", "vulnerability_scanners", {:column=>"scanner_id", :on_delete=>:cascade})1401 -> 0.0022s1402-- add_foreign_key("vulnerability_scanners", "projects", {:on_delete=>:cascade})1403 -> 0.0028s1404-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1405 -> 0.0026s1406-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1407 -> 0.0031s1408Dropped database 'gitlabhq_geo_test'1409Created database 'gitlabhq_geo_test'1410-- enable_extension("plpgsql")1411 -> 0.0257s1412-- create_table("container_repository_registry", {:id=>:serial, :force=>:cascade})1413 -> 0.0196s1414-- create_table("design_registry", {:id=>:serial, :force=>:cascade})1415 -> 0.0150s1416-- create_table("event_log_states", {:primary_key=>"event_id", :force=>:cascade})1417 -> 0.0024s1418-- create_table("file_registry", {:id=>:serial, :force=>:cascade})1419 -> 0.0154s1420-- create_table("job_artifact_registry", {:id=>:serial, :force=>:cascade})1421 -> 0.0124s1422-- create_table("project_registry", {:id=>:serial, :force=>:cascade})1423 -> 0.0564s1424$ date1425Wed Oct 16 17:06:20 UTC 20191426$ source scripts/rspec_helpers.sh1427$ rspec_paralellized_job "--tag ~quarantine --tag ~geo"1428KNAPSACK_TEST_FILE_PATTERN: spec/{controllers,mailers,requests}{,/**/}*_spec.rb1429Checking gitaly-ruby bundle...1430Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.1431The Gemfile's dependencies are satisfied1432Trying to connect to gitaly: ...... OK1433Knapsack report generator started!1434Run options:1435 include {:focus=>true}1436 exclude {:quarantine=>true, :geo=>true}1437All examples were filtered out; ignoring {:focus=>true}1438==> Setting up GitLab Shell...1439 GitLab Shell set up in 0.909276171 seconds...1440==> Setting up Gitaly...1441 Gitaly set up in 0.00028997 seconds...1442==> Setting up GitLab Elasticsearch Indexer...1443 GitLab Elasticsearch Indexer set up in 0.000475795 seconds...1444API::MergeRequests1445 route shadowing1446 does not occur1447 GET /merge_requests1448 when unauthenticated1449 returns an array of all merge requests1450 returns authentication error without any scope1451 returns authentication error when scope is assigned-to-me1452 returns authentication error when scope is assigned_to_me1453 returns authentication error when scope is created-by-me1454 when authenticated1455 returns an array of all merge requests except unauthorized ones1456 returns an array of no merge_requests when wip=yes1457 returns an array of no merge_requests when wip=no1458 does not return unauthorized merge requests1459 returns an array of merge requests created by current user if no scope is given1460 returns an array of merge requests authored by the given user1461 returns an array of merge requests assigned to the given user1462 returns an array of merge requests with no assignee1463 returns an array of merge requests with any assignee1464 returns an array of merge requests assigned to me1465 returns an array of merge requests assigned to me (kebab-case)1466 returns an array of merge requests created by me1467 returns an array of merge requests created by me (kebab-case)1468 returns merge requests reacted by the authenticated user by the given emoji1469 returns merge requests created before a specific date1470 returns merge requests created after a specific date1471 returns merge requests updated before a specific date1472 returns merge requests updated after a specific date1473 source_branch param1474 returns merge requests with the given source branch1475 target_branch param1476 returns merge requests with the given target branch1477 search params1478 returns merge requests matching given search string for title1479 returns merge requests matching given search string for title and scoped in title1480 returns an empty array if no merge reques matches given search string for description and scoped in title1481 returns merge requests for project matching given search string for description1482 state param1483 returns merge requests with the given state1484 GET /projects/:id/merge_requests1485 returns 404 for non public projects1486 returns an array of no merge_requests when wip=yes1487 returns merge_request by "iids" array1488 avoids N+1 queries1489 behaves like merge requests list1490 when unauthenticated1491 returns merge requests for public projects1492 when authenticated1493 avoids N+1 queries1494 returns an array of all merge_requests using simple mode1495 returns an array of all merge_requests1496 returns an array of open merge_requests1497 returns an array of closed merge_requests1498 returns an array of merged merge_requests1499 matches V4 response schema1500 returns an empty array if no issue matches milestone1501 returns an empty array if milestone does not exist1502 returns an array of merge requests in given milestone1503 returns an array of merge requests matching state in milestone1504 returns an array of labeled merge requests that are merged for a milestone1505 with labels1506 returns an array of all merge_requests1507 with labels1508 returns an array of labeled merge requests1509 returns an array of labeled merge requests where all labels match1510 returns an empty array if no merge request matches labels1511 returns an array of labeled merge requests where all labels match1512 returns an array of merge requests with any label when filtering by any label1513 returns an array of merge requests with any label when filtering by any label1514 returns an array of merge requests with any label when filtering by any label1515 returns an array of merge requests without a label when filtering by no label1516 with ordering1517 returns an array of merge_requests in ascending order1518 returns an array of merge_requests in descending order1519 returns an array of merge_requests ordered by updated_at1520 returns an array of merge_requests ordered by created_at1521 2 merge requests with equal created_at1522 page breaks first page correctly1523 page breaks second page correctly1524 source_branch param1525 returns merge requests with the given source branch1526 target_branch param1527 returns merge requests with the given target branch1528 GET /groups/:id/merge_requests1529 behaves like merge requests list1530 when unauthenticated1531 returns merge requests for public projects1532 when authenticated1533 avoids N+1 queries1534 returns an array of all merge_requests using simple mode1535 returns an array of all merge_requests1536 returns an array of open merge_requests1537 returns an array of closed merge_requests1538 returns an array of merged merge_requests1539 matches V4 response schema1540 returns an empty array if no issue matches milestone1541 returns an empty array if milestone does not exist1542 returns an array of merge requests in given milestone1543 returns an array of merge requests matching state in milestone1544 returns an array of labeled merge requests that are merged for a milestone1545 with labels1546 returns an array of all merge_requests1547 with labels1548 returns an array of labeled merge requests1549 returns an array of labeled merge requests where all labels match1550 returns an empty array if no merge request matches labels1551 returns an array of labeled merge requests where all labels match1552 returns an array of merge requests with any label when filtering by any label1553 returns an array of merge requests with any label when filtering by any label1554 returns an array of merge requests with any label when filtering by any label1555 returns an array of merge requests without a label when filtering by no label1556 with ordering1557 returns an array of merge_requests in ascending order1558 returns an array of merge_requests in descending order1559 returns an array of merge_requests ordered by updated_at1560 returns an array of merge_requests ordered by created_at1561 2 merge requests with equal created_at1562 page breaks first page correctly1563 page breaks second page correctly1564 source_branch param1565 returns merge requests with the given source branch1566 target_branch param1567 returns merge requests with the given target branch1568 when have subgroups1569 behaves like merge requests list1570 when unauthenticated1571 returns merge requests for public projects1572 when authenticated1573 avoids N+1 queries1574 returns an array of all merge_requests using simple mode1575 returns an array of all merge_requests1576 returns an array of open merge_requests1577 returns an array of closed merge_requests1578 returns an array of merged merge_requests1579 matches V4 response schema1580 returns an empty array if no issue matches milestone1581 returns an empty array if milestone does not exist1582 returns an array of merge requests in given milestone1583 returns an array of merge requests matching state in milestone1584 returns an array of labeled merge requests that are merged for a milestone1585 with labels1586 returns an array of all merge_requests1587 with labels1588 returns an array of labeled merge requests1589 returns an array of labeled merge requests where all labels match1590 returns an empty array if no merge request matches labels1591 returns an array of labeled merge requests where all labels match1592 returns an array of merge requests with any label when filtering by any label1593 returns an array of merge requests with any label when filtering by any label1594 returns an array of merge requests with any label when filtering by any label1595 returns an array of merge requests without a label when filtering by no label1596 with ordering1597 returns an array of merge_requests in ascending order1598 returns an array of merge_requests in descending order1599 returns an array of merge_requests ordered by updated_at1600 returns an array of merge_requests ordered by created_at1601 2 merge requests with equal created_at1602 page breaks first page correctly1603 page breaks second page correctly1604 source_branch param1605 returns merge requests with the given source branch1606 target_branch param1607 returns merge requests with the given target branch1608 GET /projects/:id/merge_requests/:merge_request_iid1609 matches json schema1610 exposes known attributes1611 exposes description and title html when render_html is true1612 exposes rebase_in_progress when include_rebase_in_progress is true1613 returns the commits behind the target branch when include_diverged_commits_count is present1614 returns a 404 error if merge_request_iid not found1615 returns a 404 error if merge_request `id` is used instead of iid1616 indicates if a user cannot merge the MR1617 merge_request_metrics1618 has fields from merge request metrics1619 returns correct values1620 head_pipeline1621 when user can read the pipeline1622 exposes pipeline information1623 when user can not read the pipeline1624 does not expose pipeline information1625 Work in Progress1626 returns merge request1627 when a merge request has more than the changes limit1628 returns a string indicating that more changes were made1629 for forked projects1630 includes the `allow_collaboration` field1631 GET /projects/:id/merge_requests/:merge_request_iid/participants1632 behaves like issuable participants endpoint1633 returns participants1634 returns a 404 when iid does not exist1635 returns a 404 when id is used instead of iid1636 GET /projects/:id/merge_requests/:merge_request_iid/commits1637 returns a 200 when merge request is valid1638 returns a 404 when merge_request_iid not found1639 returns a 404 when merge_request id is used instead of iid1640 GET /projects/:id/merge_requests/:merge_request_iid/changes1641 returns the change information of the merge_request1642 returns a 404 when merge_request_iid not found1643 returns a 404 when merge_request id is used instead of iid1644 GET /projects/:id/merge_requests/:merge_request_iid/pipelines1645 when authorized1646 returns a paginated array of corresponding pipelines1647 exposes basic attributes1648 returns 404 if MR does not exist1649 when unauthorized1650 returns 4031651 POST /projects/:id/merge_requests/:merge_request_iid/pipelines1652 when authorized1653 creates and returns the new Pipeline1654 when unauthorized1655 responds with a blank 4041656 when the merge request does not exist1657 responds with a blank 4041658 POST /projects/:id/merge_requests1659 support for deprecated assignee_id1660 creates a new merge request1661 creates a new merge request when assignee_id is empty1662 filters assignee_id of unauthorized user1663 single assignee restrictions1664 creates a new project merge request with no more than one assignee1665 between branches projects1666 returns 422 when source_branch equals target_branch1667 returns 400 when source_branch is missing1668 returns 400 when target_branch is missing1669 returns 400 when title is missing1670 different labels1671 creates merge request with special label names1672 creates merge request with special label names as array1673 empty label param does not add any labels1674 empty label param as array does not add any labels, but only explicitly as json1675 empty label param as array, does not add any labels (PENDING: Temporarily skipped with xit)1676 array with one empty string element does not add labels1677 array with multiple empty string elements, does not add labels1678 behaves like creates merge request with labels1679 returns merge_request1680 behaves like creates merge request with labels1681 returns merge_request1682 behaves like creates merge request with labels1683 returns merge_request1684 with existing MR1685 returns 409 when MR already exists for source/target1686 accepts remove_source_branch parameter1687 sets force_remove_source_branch to false1688 sets force_remove_source_branch to true1689 forked projects1690 returns merge_request1691 does not return 422 when source_branch equals target_branch1692 returns 403 when target project has disabled merge requests1693 returns 400 when source_branch is missing1694 returns 400 when target_branch is missing1695 returns 400 when title is missing1696 allows setting `allow_collaboration`1697 returns 201 when target_branch is specified and for the same project1698 when target_branch and target_project_id is specified1699 returns 422 if targeting a different fork1700 returns 403 if targeting a different fork which user can not access1701 DELETE /projects/:id/merge_requests/:merge_request_iid1702 when the user is developer1703 denies the deletion of the merge request1704 when the user is project owner1705 destroys the merge request owners can destroy1706 returns 404 for an invalid merge request IID1707 returns 404 if the merge request id is used instead of iid1708 behaves like 412 response1709 for a modified ressource1710 returns 4121711 for an unmodified ressource1712 returns accepted1713 PUT /projects/:id/merge_requests/:merge_request_iid/merge1714 returns merge_request in case of success1715 returns 406 if branch can't be merged1716 returns 405 if merge_request is not open1717 returns 405 if merge_request is a work in progress1718 returns 405 if the build failed for a merge request that requires success1719 returns 401 if user has no permissions to merge1720 returns 409 if the SHA parameter doesn't match1721 succeeds if the SHA parameter matches1722 updates the MR's squash attribute1723 enables merge when pipeline succeeds if the pipeline is active1724 enables merge when pipeline succeeds if the pipeline is active and only_allow_merge_if_pipeline_succeeds is true1725 returns 404 for an invalid merge request IID1726 returns 404 if the merge request id is used instead of iid1727 the squash_commit_message param1728 results in a specific squash commit message when set1729 results in a default squash commit message when not set1730 the should_remove_source_branch param1731 removes the source branch when set1732 GET /projects/:id/merge_requests/:merge_request_iid/merge_ref1733 returns the generated ID from the merge service in case of success1734 when merge-ref is not synced with merge status1735 returns 200 if MR can be merged1736 returns 400 if MR cannot be merged1737 when user has no access to the MR1738 returns 4041739 when invalid merge request IID1740 returns 4041741 when merge request ID is used instead IID1742 returns 4041743 PUT /projects/:id/merge_requests/:merge_request_iid1744 updates title and returns merge_request1745 updates description and returns merge_request1746 updates milestone_id and returns merge_request1747 updates squash and returns merge_request1748 returns merge_request with renamed target_branch1749 returns merge_request that removes the source branch1750 filters assignee_id of unauthorized user1751 does not update state when title is empty1752 does not update state when target_branch is empty1753 returns 404 for an invalid merge request IID1754 returns 404 if the merge request id is used instead of iid1755 updates force_remove_source_branch properly1756 sets to false1757 sets to true1758 to close a MR1759 returns merge_request1760 when updating labels1761 allows special label names1762 also accepts labels as an array1763 empty label param removes labels1764 label param as empty array, but only explicitly as json, removes labels1765 empty label as array, removes labels (PENDING: Temporarily skipped with xit)1766 array with one empty string element removes labels1767 array with multiple empty string elements, removes labels1768 GET :id/merge_requests/:merge_request_iid/closes_issues1769 returns the issue that will be closed on merge1770 returns an empty array when there are no issues to be closed1771 handles external issues1772 returns 403 if the user has no access to the merge request1773 returns 404 for an invalid merge request IID1774 returns 404 if the merge request id is used instead of iid1775 POST :id/merge_requests/:merge_request_iid/subscribe1776 subscribes to a merge request1777 returns 304 if already subscribed1778 returns 404 if the merge request is not found1779 returns 404 if the merge request id is used instead of iid1780 returns 403 if user has no access to read code1781 POST :id/merge_requests/:merge_request_iid/unsubscribe1782 unsubscribes from a merge request1783 returns 304 if not subscribed1784 returns 404 if the merge request is not found1785 returns 404 if the merge request id is used instead of iid1786 returns 403 if user has no access to read code1787 POST :id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds1788 removes the merge_when_pipeline_succeeds status1789 returns 404 if the merge request is not found1790 returns 404 if the merge request id is used instead of iid1791 PUT :id/merge_requests/:merge_request_iid/rebase1792 enqueues a rebase of the merge request against the target branch1793 returns 403 if the user cannot push to the branch1794 returns 409 if a rebase is already in progress1795 Time tracking1796 POST /projects/:id/merge_requests/:merge_request_id/time_estimate1797 sets the time estimate for merge_request1798 with an unauthorized user1799 behaves like an unauthorized API user1800 should eq 4031801 updating the current estimate1802 when duration has a bad format1803 does not modify the original estimate1804 with a valid duration1805 updates the estimate1806 POST /projects/:id/merge_requests/:merge_request_id/reset_time_estimate1807 resets the time estimate for merge_request1808 with an unauthorized user1809 behaves like an unauthorized API user1810 should eq 4031811 POST /projects/:id/merge_requests/:merge_request_id/add_spent_time1812 add spent time for merge_request1813 with an unauthorized user1814 behaves like an unauthorized API user1815 should eq 4031816 when subtracting time1817 subtracts time of the total spent time1818 when time to subtract is greater than the total spent time1819 does not modify the total time spent1820 POST /projects/:id/merge_requests/:merge_request_id/reset_spent_time1821 resets spent time for merge_request1822 with an unauthorized user1823 behaves like an unauthorized API user1824 should eq 4031825 GET /projects/:id/merge_requests/:merge_request_id/time_stats1826 returns the time stats for merge_request1827API::Commits1828 GET /projects/:id/repository/commits1829 when unauthenticated and project is public1830 behaves like project commits1831 returns project commits1832 include correct pagination headers1833 when unauthenticated and project is private1834 behaves like 404 response1835 returns 4041836 when authenticated as a maintainer1837 behaves like project commits1838 returns project commits1839 include correct pagination headers1840 since optional parameter1841 returns project commits since provided parameter1842 include correct pagination headers1843 until optional parameter1844 returns project commits until provided parameter1845 include correct pagination headers1846 invalid xmlschema date parameters1847 returns an invalid parameter error message1848 with empty ref_name parameter1849 behaves like project commits1850 returns project commits1851 include correct pagination headers1852 path optional parameter1853 returns project commits matching provided path parameter1854 include correct pagination headers1855 all optional parameter1856 returns all project commits1857 first_parent optional parameter1858 returns all first_parent commits1859 with_stats optional parameter1860 behaves like project commits1861 returns project commits1862 include correct pagination headers1863 include commits details1864 with pagination params1865 returns correct headers1866 viewing the first page1867 returns the first 5 commits1868 viewing the third page1869 returns the third 5 commits1870 POST /projects/:id/repository/commits1871 returns a 403 unauthorized for user without permissions1872 returns a 400 bad request if no params are given1873 create1874 does not increment the usage counters using access token authentication1875 a new file in project repo1876 a new file with utf8 chars in project repo1877 returns a 400 bad request if file exists1878 with project path containing a dot in URL1879 a new file in project repo1880 when committing to a new branch1881 when the API user is a guest1882 returns a 4031883 when start_project is provided1884 when posting to a forked project the user owns1885 identified by Integer (id)1886 adds a new commit to forked_project and returns a 2011887 identified by String (full_path)1888 adds a new commit to forked_project and returns a 2011889 when branch already exists1890 returns a 4001891 when force is set to true1892 adds a new commit to forked_project and returns a 2011893 when start_sha is also provided1894 fetches the start_sha from the original project to use as parent commit and returns a 2011895 when the target project is not part of the fork network of start_project1896 returns a 4031897 when posting to a forked project the user does not have write access1898 returns a 4031899 when start_sha is provided1900 returns a 400 if start_branch is also provided1901 returns a 400 if branch already exists1902 returns a 400 if start_sha does not exist1903 returns a 400 if start_sha is not a full SHA1904 uses the start_sha as parent commit and returns a 2011905 when force is set to true and branch already exists1906 uses the start_sha as parent commit and returns a 2011907 delete1908 an existing file in project repo1909 returns a 400 bad request if file does not exist1910 move1911 an existing file in project repo1912 returns a 400 bad request if file does not exist1913 update1914 an existing file in project repo1915 returns a 400 bad request if file does not exist1916 chmod1917 responds with success1918 when execute_filemode is false1919 responds with success1920 when the file doesn't exists1921 responds with 4001922 multiple operations1923 are committed as one in project repo1924 includes the commit stats1925 doesn't include the commit stats when stats is false1926 return a 400 bad request if there are any issues1927 when committing into a fork as a maintainer1928 allows pushing to the source branch of the merge request1929 denies pushing to another branch1930 GET /projects/:id/repository/commits/:sha/refs1931 when ref does not exist1932 behaves like 404 response1933 returns 4041934 when repository is disabled1935 behaves like 404 response1936 returns 4041937 for a valid commit1938 returns all refs with no scope1939 returns all refs1940 returns the branch refs1941 returns the tag refs1942 GET /projects/:id/repository/commits/:sha1943 when stat param1944 is not present return stats by default1945 is false it does not include stats1946 is true it includes stats1947 when unauthenticated and project is public1948 behaves like ref commit1949 returns the ref last commit1950 when ref does not exist1951 behaves like 404 response1952 returns 4041953 when repository is disabled1954 behaves like 404 response1955 returns 4041956 when unauthenticated and project is private1957 behaves like 404 response1958 returns 4041959 when authenticated as a maintainer1960 behaves like ref commit1961 returns the ref last commit1962 when ref does not exist1963 behaves like 404 response1964 returns 4041965 when repository is disabled1966 behaves like 404 response1967 returns 4041968 when branch contains a dot1969 behaves like ref commit1970 returns the ref last commit1971 when ref does not exist1972 behaves like 404 response1973 returns 4041974 when repository is disabled1975 behaves like 404 response1976 returns 4041977 when branch contains a slash1978 behaves like 404 response1979 returns 4041980 when branch contains an escaped slash1981 behaves like ref commit1982 returns the ref last commit1983 when ref does not exist1984 behaves like 404 response1985 returns 4041986 when repository is disabled1987 behaves like 404 response1988 returns 4041989 requesting with the escaped project full path1990 behaves like ref commit1991 returns the ref last commit1992 when ref does not exist1993 behaves like 404 response1994 returns 4041995 when repository is disabled1996 behaves like 404 response1997 returns 4041998 when branch contains a dot1999 behaves like ref commit2000 returns the ref last commit2001 when ref does not exist2002 behaves like 404 response2003 returns 4042004 when repository is disabled2005 behaves like 404 response2006 returns 4042007 when the ref has a pipeline2008 includes a "created" status2009 when pipeline succeeds2010 includes a "success" status2011 GET /projects/:id/repository/commits/:sha/diff2012 when unauthenticated and project is public2013 behaves like ref diff2014 returns the diff of the selected commit2015 when ref does not exist2016 behaves like 404 response2017 returns 4042018 when repository is disabled2019 behaves like 404 response2020 returns 4042021 when unauthenticated and project is private2022 behaves like 404 response2023 returns 4042024 when authenticated as a maintainer2025 behaves like ref diff2026 returns the diff of the selected commit2027 when ref does not exist2028 behaves like 404 response2029 returns 4042030 when repository is disabled2031 behaves like 404 response2032 returns 4042033 when branch contains a dot2034 behaves like ref diff2035 returns the diff of the selected commit2036 when ref does not exist2037 behaves like 404 response2038 returns 4042039 when repository is disabled2040 behaves like 404 response2041 returns 4042042 when branch contains a slash2043 behaves like 404 response2044 returns 4042045 when branch contains an escaped slash2046 behaves like ref diff2047 returns the diff of the selected commit2048 when ref does not exist2049 behaves like 404 response2050 returns 4042051 when repository is disabled2052 behaves like 404 response2053 returns 4042054 requesting with the escaped project full path2055 behaves like ref diff2056 returns the diff of the selected commit2057 when ref does not exist2058 behaves like 404 response2059 returns 4042060 when repository is disabled2061 behaves like 404 response2062 returns 4042063 when branch contains a dot2064 behaves like ref diff2065 returns the diff of the selected commit2066 when ref does not exist2067 behaves like 404 response2068 returns 4042069 when repository is disabled2070 behaves like 404 response2071 returns 4042072 when binary diff are treated as text2073 behaves like ref diff2074 returns the diff of the selected commit2075 when ref does not exist2076 behaves like 404 response2077 returns 4042078 when repository is disabled2079 behaves like 404 response2080 returns 4042081 GET /projects/:id/repository/commits/:sha/comments2082 when unauthenticated and project is public2083 behaves like ref comments2084 when ref exists2085 returns the diff of the selected commit2086 when ref does not exist2087 behaves like 404 response2088 returns 4042089 when repository is disabled2090 behaves like 404 response2091 returns 4042092 when unauthenticated and project is private2093 behaves like 404 response2094 returns 4042095 when authenticated as a maintainer2096 behaves like ref comments2097 when ref exists2098 returns the diff of the selected commit2099 when ref does not exist2100 behaves like 404 response2101 returns 4042102 when repository is disabled2103 behaves like 404 response2104 returns 4042105 when branch contains a dot2106 behaves like ref comments2107 when ref exists2108 returns the diff of the selected commit2109 when ref does not exist2110 behaves like 404 response2111 returns 4042112 when repository is disabled2113 behaves like 404 response2114 returns 4042115 when branch contains a slash2116 behaves like 404 response2117 returns 4042118 when branch contains an escaped slash2119 behaves like ref comments2120 when ref exists2121 returns the diff of the selected commit2122 when ref does not exist2123 behaves like 404 response2124 returns 4042125 when repository is disabled2126 behaves like 404 response2127 returns 4042128 requesting with the escaped project full path2129 behaves like ref comments2130 when ref exists2131 returns the diff of the selected commit2132 when ref does not exist2133 behaves like 404 response2134 returns 4042135 when repository is disabled2136 behaves like 404 response2137 returns 4042138 when branch contains a dot2139 behaves like ref comments2140 when ref exists2141 returns the diff of the selected commit2142 when ref does not exist2143 behaves like 404 response2144 returns 4042145 when repository is disabled2146 behaves like 404 response2147 returns 4042148 when the commit is present on two projects2149 returns the comments for the target project2150 POST :id/repository/commits/:sha/cherry_pick2151 when unauthenticated and project is public2152 behaves like 403 response2153 returns 4032154 when unauthenticated and project is private2155 behaves like 404 response2156 returns 4042157 when authenticated as an owner2158 behaves like ref cherry-pick2159 when ref exists2160 cherry-picks the ref commit2161 when repository is disabled2162 behaves like 404 response2163 returns 4042164 when ref does not exist2165 behaves like 404 response2166 returns 4042167 when branch is missing2168 behaves like 400 response2169 returns 4002170 when branch is empty2171 behaves like 400 response2172 returns 4002173 behaves like 400 response2174 returns 4002175 when branch does not exist2176 behaves like 404 response2177 returns 4042178 when commit is already included in the target branch2179 behaves like 400 response2180 returns 4002181 when ref contains a dot2182 behaves like ref cherry-pick2183 when ref exists2184 cherry-picks the ref commit2185 when repository is disabled2186 behaves like 404 response2187 returns 4042188 when ref contains a slash2189 behaves like 404 response2190 returns 4042191 requesting with the escaped project full path2192 behaves like ref cherry-pick2193 when ref exists2194 cherry-picks the ref commit2195 when repository is disabled2196 behaves like 404 response2197 returns 4042198 when ref contains a dot2199 behaves like ref cherry-pick2200 when ref exists2201 cherry-picks the ref commit2202 when repository is disabled2203 behaves like 404 response2204 returns 4042205 when authenticated as a developer2206 when branch is protected2207 returns 400 if you are not allowed to push to the target branch2208 when cherry picking to a fork as a maintainer2209 allows access from a maintainer that to the source branch2210 denies cherry picking to another branch2211 POST :id/repository/commits/:sha/revert2212 when unauthenticated and project is public2213 behaves like 403 response2214 returns 4032215 when unauthenticated and project is private2216 behaves like 404 response2217 returns 4042218 when authenticated as an owner2219 behaves like ref revert2220 when ref exists2221 reverts the ref commit2222 when repository is disabled2223 behaves like 404 response2224 returns 4042225 when ref does not exist2226 behaves like 404 response2227 returns 4042228 when branch is missing2229 behaves like 400 response2230 returns 4002231 when branch is empty2232 behaves like 400 response2233 returns 4002234 behaves like 400 response2235 returns 4002236 when branch does not exist2237 behaves like 404 response2238 returns 4042239 when ref contains a dot2240 behaves like 400 response2241 returns 4002242 when authenticated as a developer2243 when branch is protected2244 returns 400 if you are not allowed to push to the target branch2245 POST /projects/:id/repository/commits/:sha/comments2246 when unauthenticated and project is public2247 behaves like 400 response2248 returns 4002249 when unauthenticated and project is private2250 behaves like 404 response2251 returns 4042252 when authenticated as an owner2253 returns the inline comment2254 returns 400 if note is missing2255 behaves like ref new comment2256 when ref exists2257 creates the comment2258 when repository is disabled2259 behaves like 404 response2260 returns 4042261 when ref does not exist2262 behaves like 404 response2263 returns 4042264 when ref contains a dot2265 behaves like ref new comment2266 when ref exists2267 creates the comment2268 when repository is disabled2269 behaves like 404 response2270 returns 4042271 when ref contains a slash2272 behaves like 404 response2273 returns 4042274 when ref contains an escaped slash2275 behaves like ref new comment2276 when ref exists2277 creates the comment2278 when repository is disabled2279 behaves like 404 response2280 returns 4042281 requesting with the escaped project full path2282 behaves like ref new comment2283 when ref exists2284 creates the comment2285 when repository is disabled2286 behaves like 404 response2287 returns 4042288 when ref contains a dot2289 behaves like ref new comment2290 when ref exists2291 creates the comment2292 when repository is disabled2293 behaves like 404 response2294 returns 4042295 GET /projects/:id/repository/commits/:sha/merge_requests2296 returns the correct merge request2297 returns 403 for an unauthorized user2298 responds 404 when the commit does not exist2299 public project2300 responds 403 when only members are allowed to read merge requests2301 GET /projects/:id/repository/commits/:sha/signature2302 when commit does not exist2303 behaves like 404 response2304 returns 4042305 unsigned commit2306 behaves like 404 response2307 returns 4042308 signed commit2309 returns correct JSON2310API::Members2311 GET /:source_type/:id/members/all2312DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2313 finds all project members including inherited members2314DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2315 returns only one member for each user without returning duplicated members2316 finds all group members including inherited members2317 behaves like GET /:source_type/:id/members/(all)2318 with :source_type == projects2319 avoids N+1 queries2320 does not return invitees2321 finds members with query string2322 finds all members with no query specified2323 behaves like a 404 response when source is private2324 returns 4042325 when authenticated as a maintainer2326 returns 2002327 when authenticated as a developer2328 returns 2002329 when authenticated as a access_requester2330 returns 2002331 when authenticated as a stranger2332 returns 2002333 behaves like GET /:source_type/:id/members/(all)2334 with :source_type == groups2335 avoids N+1 queries2336 does not return invitees2337 finds members with query string2338 finds all members with no query specified2339 behaves like a 404 response when source is private2340 returns 4042341 when authenticated as a maintainer2342 returns 2002343 when authenticated as a developer2344 returns 2002345 when authenticated as a access_requester2346 returns 2002347 when authenticated as a stranger2348 returns 2002349 behaves like GET /:source_type/:id/members/(all)2350 with :source_type == projects2351DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2352DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2353DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2354 avoids N+1 queries2355DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2356 does not return invitees2357DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2358 finds members with query string2359DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2360 finds all members with no query specified2361 behaves like a 404 response when source is private2362 returns 4042363 when authenticated as a maintainer2364DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2365 returns 2002366 when authenticated as a developer2367DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2368 returns 2002369 when authenticated as a access_requester2370DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2371 returns 2002372 when authenticated as a stranger2373DEPRECATION WARNING: Delegating as to arel is deprecated and will be removed in Rails 6.0. (called from visible_to_user_arel at /builds/gitlab-org/gitlab/app/models/group.rb:123)2374 returns 2002375 behaves like GET /:source_type/:id/members/(all)2376 with :source_type == groups2377 avoids N+1 queries2378 does not return invitees2379 finds members with query string2380 finds all members with no query specified2381 behaves like a 404 response when source is private2382 returns 4042383 when authenticated as a maintainer2384 returns 2002385 when authenticated as a developer2386 returns 2002387 when authenticated as a access_requester2388 returns 2002389 when authenticated as a stranger2390 returns 2002391 behaves like GET /:source_type/:id/members/:user_id2392 with :source_type == projects2393 behaves like a 404 response when source is private2394 returns 4042395 when authenticated as a non-member2396 as a access_requester2397 returns 2002398 as a stranger2399 returns 2002400 behaves like GET /:source_type/:id/members/:user_id2401 with :source_type == groups2402 behaves like a 404 response when source is private2403 returns 4042404 when authenticated as a non-member2405 as a access_requester2406 returns 2002407 as a stranger2408 returns 2002409 behaves like POST /:source_type/:id/members2410 with :source_type == projects2411 returns 409 if member already exists2412 returns 404 when the user_id is not valid2413 returns 400 when user_id is not given2414 returns 400 when access_level is not given2415 returns 400 when access_level is not valid2416 behaves like a 404 response when source is private2417 returns 4042418 when authenticated as a non-member or member with insufficient rights2419 as a access_requester2420 returns 4032421 as a stranger2422 returns 4032423 as a developer2424 returns 4032425 when authenticated as a maintainer/owner2426 creates a new member2427 and new member is already a requester2428 transforms the requester into a proper member2429 access levels2430 does not create the member if group level is higher2431 creates the member if group level is lower2432 behaves like POST /:source_type/:id/members2433 with :source_type == groups2434 returns 409 if member already exists2435 returns 404 when the user_id is not valid2436 returns 400 when user_id is not given2437 returns 400 when access_level is not given2438 returns 400 when access_level is not valid2439 behaves like a 404 response when source is private2440 returns 4042441 when authenticated as a non-member or member with insufficient rights2442 as a access_requester2443 returns 4032444 as a stranger2445 returns 4032446 as a developer2447 returns 4032448 when authenticated as a maintainer/owner2449 creates a new member2450 and new member is already a requester2451 transforms the requester into a proper member2452 access levels2453 does not create the member if group level is higher2454 creates the member if group level is lower2455 behaves like PUT /:source_type/:id/members/:user_id2456 with :source_type == projects2457 returns 409 if member does not exist2458 returns 400 when access_level is not given2459 returns 400 when access level is not valid2460 behaves like a 404 response when source is private2461 returns 4042462 when authenticated as a non-member or member with insufficient rights2463 as a access_requester2464 returns 4032465 as a stranger2466 returns 4032467 as a developer2468 returns 4032469 when authenticated as a maintainer/owner2470 updates the member2471 behaves like PUT /:source_type/:id/members/:user_id2472 with :source_type == groups2473 returns 409 if member does not exist2474 returns 400 when access_level is not given2475 returns 400 when access level is not valid2476 behaves like a 404 response when source is private2477 returns 4042478 when authenticated as a non-member or member with insufficient rights2479 as a access_requester2480 returns 4032481 as a stranger2482 returns 4032483 as a developer2484 returns 4032485 when authenticated as a maintainer/owner2486 updates the member2487 behaves like DELETE /:source_type/:id/members/:user_id2488 with :source_type == projects2489 returns 404 if member does not exist2490 behaves like a 404 response when source is private2491 returns 4042492 when authenticated as a non-member or member with insufficient rights2493 as a access_requester2494 returns 4032495 as a stranger2496 returns 4032497 when authenticated as a member and deleting themself2498 deletes the member2499 when authenticated as a maintainer/owner2500 deletes the member2501 and member is a requester2502 returns 4042503 behaves like 412 response2504 for a modified ressource2505 returns 4122506 for an unmodified ressource2507 returns accepted2508 behaves like DELETE /:source_type/:id/members/:user_id2509 with :source_type == groups2510 returns 404 if member does not exist2511 behaves like a 404 response when source is private2512 returns 4042513 when authenticated as a non-member or member with insufficient rights2514 as a access_requester2515 returns 4032516 as a stranger2517 returns 4032518 when authenticated as a member and deleting themself2519 deletes the member2520 when authenticated as a maintainer/owner2521 deletes the member2522 and member is a requester2523 returns 4042524 behaves like 412 response2525 for a modified ressource2526 returns 4122527 for an unmodified ressource2528 returns accepted2529 Adding owner to project2530 returns 4032531Git HTTP requests2532 User with no identities2533 when the project doesn't exist2534 when namespace doesn't exist2535 behaves like pulls require Basic HTTP Authentication2536 when no credentials are provided2537 responds to downloads with status 401 Unauthorized (no project existence information leak)2538 when only username is provided2539 responds to downloads with status 401 Unauthorized2540 when username and password are provided2541 when authentication fails2542 responds to downloads with status 401 Unauthorized2543 when authentication succeeds2544 does not respond to downloads with status 401 Unauthorized2545 behaves like pushes require Basic HTTP Authentication2546 when no credentials are provided2547 responds to uploads with status 401 Unauthorized (no project existence information leak)2548 when only username is provided2549 responds to uploads with status 401 Unauthorized2550 when username and password are provided2551 when authentication fails2552 responds to uploads with status 401 Unauthorized2553 when authentication succeeds2554 does not respond to uploads with status 401 Unauthorized2555 when authenticated2556 rejects downloads and uploads with 404 Not Found2557 when namespace exists2558 when authenticated2559 creates a new project under the existing namespace2560 rejects push with 422 Unprocessable Entity when project is invalid2561 behaves like project path without .git suffix2562 GET info/refs2563 when no params are added2564 redirects to the .git suffix version2565 when the upload-pack service is requested2566 redirects to the .git suffix version2567 when the receive-pack service is requested2568 redirects to the .git suffix version2569 when the params are anything else2570 redirects to the sign-in page2571 POST git-upload-pack2572 fails to find a route2573 POST git-receive-pack2574 fails to find a route2575 when requesting the Wiki2576 when the project is public2577 behaves like pushes require Basic HTTP Authentication2578 when no credentials are provided2579 responds to uploads with status 401 Unauthorized (no project existence information leak)2580 when only username is provided2581 responds to uploads with status 401 Unauthorized2582 when username and password are provided2583 when authentication fails2584 responds to uploads with status 401 Unauthorized2585 when authentication succeeds2586 does not respond to uploads with status 401 Unauthorized2587 when unauthenticated2588 responds to pulls with the wiki's repo2589 behaves like pulls are allowed2590 should eq "application/vnd.gitlab-workhorse+json"2591 when authenticated2592 and as a developer on the team2593 but the repo is disabled2594 behaves like pulls are allowed2595 should eq "application/vnd.gitlab-workhorse+json"2596 behaves like pushes are allowed2597 should eq "application/vnd.gitlab-workhorse+json"2598 and not on the team2599 rejects pushes with 403 Forbidden2600 behaves like pulls are allowed2601 should eq "application/vnd.gitlab-workhorse+json"2602 when the project is private2603 behaves like pulls require Basic HTTP Authentication2604 when no credentials are provided2605 responds to downloads with status 401 Unauthorized (no project existence information leak)2606 when only username is provided2607 responds to downloads with status 401 Unauthorized2608 when username and password are provided2609 when authentication fails2610 responds to downloads with status 401 Unauthorized2611 when authentication succeeds2612 does not respond to downloads with status 401 Unauthorized2613 behaves like pushes require Basic HTTP Authentication2614 when no credentials are provided2615 responds to uploads with status 401 Unauthorized (no project existence information leak)2616 when only username is provided2617 responds to uploads with status 401 Unauthorized2618 when username and password are provided2619 when authentication fails2620 responds to uploads with status 401 Unauthorized2621 when authentication succeeds2622 does not respond to uploads with status 401 Unauthorized2623 when authenticated2624 and as a developer on the team2625 but the repo is disabled2626 allows clones2627 pushes are allowed2628 and not on the team2629 rejects clones with 404 Not Found2630 rejects pushes with 404 Not Found2631 when the project exists2632 when the project is public2633 behaves like pushes require Basic HTTP Authentication2634 when no credentials are provided2635 responds to uploads with status 401 Unauthorized (no project existence information leak)2636 when only username is provided2637 responds to uploads with status 401 Unauthorized2638 when username and password are provided2639 when authentication fails2640 responds to uploads with status 401 Unauthorized2641 when authentication succeeds2642 does not respond to uploads with status 401 Unauthorized2643 when not authenticated2644 behaves like pulls are allowed2645 should eq "application/vnd.gitlab-workhorse+json"2646 when authenticated2647 as a developer on the team2648 behaves like pulls are allowed2649 should eq "application/vnd.gitlab-workhorse+json"2650 behaves like pushes are allowed2651 should eq "application/vnd.gitlab-workhorse+json"2652 but git-receive-pack over HTTP is disabled in config2653 rejects pushes with 403 Forbidden2654 but git-upload-pack over HTTP is disabled in config2655 rejects pushes with 403 Forbidden2656 and not a member of the team2657 rejects pushes with 403 Forbidden2658 behaves like pulls are allowed2659 should eq "application/vnd.gitlab-workhorse+json"2660 when merge requests are open that allow maintainer access2661 behaves like pushes are allowed2662 should eq "application/vnd.gitlab-workhorse+json"2663 when the request is not from gitlab-workhorse2664 raises an exception2665 when the repo is public2666 but the repo is disabled2667 behaves like pulls require Basic HTTP Authentication2668 when no credentials are provided2669 responds to downloads with status 401 Unauthorized (no project existence information leak)2670 when only username is provided2671 responds to downloads with status 401 Unauthorized2672 when username and password are provided2673 when authentication fails2674 responds to downloads with status 401 Unauthorized2675 when authentication succeeds2676 does not respond to downloads with status 401 Unauthorized2677 behaves like pushes require Basic HTTP Authentication2678 when no credentials are provided2679 responds to uploads with status 401 Unauthorized (no project existence information leak)2680 when only username is provided2681 responds to uploads with status 401 Unauthorized2682 when username and password are provided2683 when authentication fails2684 responds to uploads with status 401 Unauthorized2685 when authentication succeeds2686 does not respond to uploads with status 401 Unauthorized2687 but the repo is enabled2688 behaves like pulls are allowed2689 should eq "application/vnd.gitlab-workhorse+json"2690 but only project members are allowed2691 behaves like pulls require Basic HTTP Authentication2692 when no credentials are provided2693 responds to downloads with status 401 Unauthorized (no project existence information leak)2694 when only username is provided2695 responds to downloads with status 401 Unauthorized2696 when username and password are provided2697 when authentication fails2698 responds to downloads with status 401 Unauthorized2699 when authentication succeeds2700 does not respond to downloads with status 401 Unauthorized2701 behaves like pushes require Basic HTTP Authentication2702 when no credentials are provided2703 responds to uploads with status 401 Unauthorized (no project existence information leak)2704 when only username is provided2705 responds to uploads with status 401 Unauthorized2706 when username and password are provided2707 when authentication fails2708 responds to uploads with status 401 Unauthorized2709 when authentication succeeds2710 does not respond to uploads with status 401 Unauthorized2711 and the user requests a redirected path2712 downloads get status 200 for redirects2713 when the project is private2714 behaves like pulls require Basic HTTP Authentication2715 when no credentials are provided2716 responds to downloads with status 401 Unauthorized (no project existence information leak)2717 when only username is provided2718 responds to downloads with status 401 Unauthorized2719 when username and password are provided2720 when authentication fails2721 responds to downloads with status 401 Unauthorized2722 when authentication succeeds2723 does not respond to downloads with status 401 Unauthorized2724 behaves like pushes require Basic HTTP Authentication2725 when no credentials are provided2726 responds to uploads with status 401 Unauthorized (no project existence information leak)2727 when only username is provided2728 responds to uploads with status 401 Unauthorized2729 when username and password are provided2730 when authentication fails2731 responds to uploads with status 401 Unauthorized2732 when authentication succeeds2733 does not respond to uploads with status 401 Unauthorized2734 when username and password are provided2735 when authentication fails2736 when the user is IP banned2737 responds with status 4012738 when authentication succeeds2739 when the user has access to the project2740 when the user is blocked2741 rejects pulls with 401 Unauthorized2742 rejects pulls with 401 Unauthorized for unknown projects (no project existence information leak)2743 when the user isn't blocked2744 resets the IP in Rack Attack on download2745 resets the IP in Rack Attack on upload2746 updates the user last activity2747 when an oauth token is provided2748 behaves like pulls are allowed2749 should eq "application/vnd.gitlab-workhorse+json"2750 behaves like pushes are allowed2751 should eq "application/vnd.gitlab-workhorse+json"2752 when user has 2FA enabled2753 when username and password are provided2754 rejects pulls with personal access token error message2755 rejects the push attempt with personal access token error message2756 when username and personal access token are provided2757 rejects the push attempt for read_repository scope2758 accepts the push attempt for write_repository scope2759 accepts the pull attempt for read_repository scope2760 accepts the pull attempt for api scope2761 accepts the push attempt for api scope2762 behaves like pulls are allowed2763 should eq "application/vnd.gitlab-workhorse+json"2764 behaves like pushes are allowed2765 should eq "application/vnd.gitlab-workhorse+json"2766 when internal auth is disabled2767 rejects pulls with personal access token error message2768 rejects pushes with personal access token error message2769 when LDAP is configured2770 does not display the personal access token error message2771 when blank password attempts follow a valid login2772 repeated attempts followed by successful attempt2773 and the user requests a redirected path2774 downloads get status 2002775 uploads get status 404 with "project was moved" message2776 when the user doesn't have access to the project2777 pulls get status 4042778 uploads get status 4042779 when a gitlab ci token is provided2780 when build created by system is authenticated2781 rejects pushes with 403 Forbidden2782 rejects pulls for other project with 404 Not Found2783 behaves like pulls are allowed2784 should eq "application/vnd.gitlab-workhorse+json"2785 and build created by2786 administrator2787 downloads from other project get status 4032788 behaves like can download code only2789 rejects pushes with 403 Forbidden2790 behaves like pulls are allowed2791 should eq "application/vnd.gitlab-workhorse+json"2792 when the repo does not exist2793 rejects pulls with 404 Not Found2794 regular user2795 downloads from other project get status 4042796 behaves like can download code only2797 rejects pushes with 403 Forbidden2798 behaves like pulls are allowed2799 should eq "application/vnd.gitlab-workhorse+json"2800 when the repo does not exist2801 rejects pulls with 404 Not Found2802 behaves like project path without .git suffix2803 GET info/refs2804 when no params are added2805 redirects to the .git suffix version2806 when the upload-pack service is requested2807 redirects to the .git suffix version2808 when the receive-pack service is requested2809 redirects to the .git suffix version2810 when the params are anything else2811 redirects to the sign-in page2812 POST git-upload-pack2813 fails to find a route2814 POST git-receive-pack2815 fails to find a route2816 retrieving an info/refs file2817 when the file exists2818 returns the file2819 when the file does not exist2820 returns not found2821 User with LDAP identity2822 behaves like pulls require Basic HTTP Authentication2823 when no credentials are provided2824 responds to downloads with status 401 Unauthorized (no project existence information leak)2825 when only username is provided2826 responds to downloads with status 401 Unauthorized2827 when username and password are provided2828 when authentication fails2829 responds to downloads with status 401 Unauthorized2830 when authentication succeeds2831 does not respond to downloads with status 401 Unauthorized2832 behaves like pushes require Basic HTTP Authentication2833 when no credentials are provided2834 responds to uploads with status 401 Unauthorized (no project existence information leak)2835 when only username is provided2836 responds to uploads with status 401 Unauthorized2837 when username and password are provided2838 when authentication fails2839 responds to uploads with status 401 Unauthorized2840 when authentication succeeds2841 does not respond to uploads with status 401 Unauthorized2842 when authentication succeeds2843 when the project doesn't exist2844 responds with status 404 Not Found2845 when the project exists2846 and the user is on the team2847 responds with status 2002848 behaves like pulls are allowed2849 should eq "application/vnd.gitlab-workhorse+json"2850 behaves like pushes are allowed2851 should eq "application/vnd.gitlab-workhorse+json"2852 when terms are enforced2853 blocks git access when the user did not accept terms2854 when the user accepted the terms2855 allows clones2856 behaves like pulls are allowed2857 should eq "application/vnd.gitlab-workhorse+json"2858 behaves like pushes are allowed2859 should eq "application/vnd.gitlab-workhorse+json"2860 from CI2861 behaves like pulls are allowed2862 should eq "application/vnd.gitlab-workhorse+json"2863API::Badges2864 when deleting a badge2865 and the source is a project2866 cannot delete badges owned by the project group2867 Endpoints2868 behaves like GET /:sources/:id/badges2869 with :sources == projects2870 avoids N+1 queries2871 behaves like a 404 response when source is private2872 returns 4042873 when authenticated as a maintainer2874 returns 2002875 when authenticated as a developer2876 returns 2002877 when authenticated as a access_requester2878 returns 2002879 when authenticated as a stranger2880 returns 2002881 behaves like GET /:sources/:id/badges/:badge_id2882 with :sources == projects2883 behaves like a 404 response when source is private2884 returns 4042885 behaves like GET /:sources/:id/badges/render2886 with :sources == projects2887 returns 400 when link_url is not given2888 returns 400 when image_url is not given2889 returns 400 when link_url or image_url is not valid2890 behaves like a 404 response when source is private2891 returns 4042892 when authenticated as a non-member or member with insufficient rights2893 as a access_requester2894 returns 4032895 as a stranger2896 returns 4032897 as a developer2898 returns 4032899 when authenticated as a maintainer/owner2900 gets the rendered badge values2901 behaves like POST /:sources/:id/badges2902 with :sources == projects2903 returns 400 when link_url is not given2904 returns 400 when image_url is not given2905 returns 400 when link_url or image_url is not valid2906 behaves like a 404 response when source is private2907 returns 4042908 when authenticated as a non-member or member with insufficient rights2909 as a access_requester2910 returns 4032911 as a stranger2912 returns 4032913 as a developer2914 returns 4032915 when authenticated as a maintainer/owner2916 creates a new badge2917 behaves like PUT /:sources/:id/badges/:badge_id2918 with :sources == projects2919 returns 400 when link_url or image_url is not valid2920 behaves like a 404 response when source is private2921 returns 4042922 when authenticated as a non-member or member with insufficient rights2923 as a access_requester2924 returns 4032925 as a stranger2926 returns 4032927 as a developer2928 returns 4032929 behaves like DELETE /:sources/:id/badges/:badge_id2930 with :sources == projects2931 returns 404 if badge does not exist2932 behaves like a 404 response when source is private2933 returns 4042934 when authenticated as a non-member or member with insufficient rights2935 as a access_requester2936 returns 4032937 as a developer2938 returns 4032939 as a stranger2940 returns 4032941 behaves like GET /:sources/:id/badges2942 with :sources == groups2943 avoids N+1 queries2944 behaves like a 404 response when source is private2945 returns 4042946 when authenticated as a maintainer2947 returns 2002948 when authenticated as a developer2949 returns 2002950 when authenticated as a access_requester2951 returns 2002952 when authenticated as a stranger2953 returns 2002954 behaves like GET /:sources/:id/badges/:badge_id2955 with :sources == groups2956 behaves like a 404 response when source is private2957 returns 4042958 behaves like GET /:sources/:id/badges/render2959 with :sources == groups2960 returns 400 when link_url is not given2961 returns 400 when image_url is not given2962 returns 400 when link_url or image_url is not valid2963 behaves like a 404 response when source is private2964 returns 4042965 when authenticated as a non-member or member with insufficient rights2966 as a access_requester2967 returns 4032968 as a stranger2969 returns 4032970 as a developer2971 returns 4032972 when authenticated as a maintainer/owner2973 gets the rendered badge values2974 behaves like POST /:sources/:id/badges2975 with :sources == groups2976 returns 400 when link_url is not given2977 returns 400 when image_url is not given2978 returns 400 when link_url or image_url is not valid2979 behaves like a 404 response when source is private2980 returns 4042981 when authenticated as a non-member or member with insufficient rights2982 as a access_requester2983 returns 4032984 as a stranger2985 returns 4032986 as a developer2987 returns 4032988 when authenticated as a maintainer/owner2989 creates a new badge2990 behaves like PUT /:sources/:id/badges/:badge_id2991 with :sources == groups2992 returns 400 when link_url or image_url is not valid2993 behaves like a 404 response when source is private2994 returns 4042995 when authenticated as a non-member or member with insufficient rights2996 as a access_requester2997 returns 4032998 as a stranger2999 returns 4033000 as a developer3001 returns 4033002 behaves like DELETE /:sources/:id/badges/:badge_id3003 with :sources == groups3004 returns 404 if badge does not exist3005 behaves like a 404 response when source is private3006 returns 4043007 when authenticated as a non-member or member with insufficient rights3008 as a access_requester3009 returns 4033010 as a developer3011 returns 4033012 as a stranger3013 returns 4033014API::Wikis3015 GET /projects/:id/wikis3016 when wiki is disabled3017 when user is guest3018 returns 404 Project Not Found3019 when user is developer3020 returns 403 Forbidden3021 when user is maintainer3022 returns 403 Forbidden3023 when wiki is available only for team members3024 when user is guest3025 returns 404 Project Not Found3026 when user is developer3027 return the empty list of wiki pages3028 when wiki has pages3029 returns the list of wiki pages without content3030 returns the list of wiki pages with content3031 when user is maintainer3032 return the empty list of wiki pages3033 when wiki has pages3034 returns the list of wiki pages without content3035 returns the list of wiki pages with content3036 when wiki is available for everyone with access3037 when user is guest3038 returns 404 Project Not Found3039 when user is developer3040 return the empty list of wiki pages3041 when wiki has pages3042 returns the list of wiki pages without content3043 returns the list of wiki pages with content3044 when user is maintainer3045 return the empty list of wiki pages3046 when wiki has pages3047 returns the list of wiki pages without content3048 returns the list of wiki pages with content3049 GET /projects/:id/wikis/:slug3050 when wiki is disabled3051 when user is guest3052 returns 404 Project Not Found3053 when user is developer3054 returns 403 Forbidden3055 when user is maintainer3056 returns 403 Forbidden3057 when wiki is available only for team members3058 when user is guest3059 returns 404 Project Not Found3060 when user is developer3061 returns the wiki page3062 when page is not existing3063 returns 404 Wiki Page Not Found3064 when user is maintainer3065 returns the wiki page3066 when page is not existing3067 returns 404 Wiki Page Not Found3068 when wiki is available for everyone with access3069 when user is guest3070 returns 404 Project Not Found3071 when user is developer3072 returns the wiki page3073 when page is not existing3074 returns 404 Wiki Page Not Found3075 when user is maintainer3076 returns the wiki page3077 when page is not existing3078 returns 404 Wiki Page Not Found3079 POST /projects/:id/wikis3080 when wiki is disabled3081 when user is guest3082 returns 404 Project Not Found3083 when user is developer3084 returns 403 Forbidden3085 when user is maintainer3086 returns 403 Forbidden3087 when wiki is available only for team members3088 when user is guest3089 returns 404 Project Not Found3090 when user is developer3091 creates the wiki page3092 responds with validation error on empty title3093 responds with validation error on empty content3094 when user is maintainer3095 creates the wiki page3096 responds with validation error on empty title3097 responds with validation error on empty content3098 when wiki is available for everyone with access3099 when user is guest3100 returns 404 Project Not Found3101 when user is developer3102 creates the wiki page3103 responds with validation error on empty title3104 responds with validation error on empty content3105 when user is maintainer3106 creates the wiki page3107 responds with validation error on empty title3108 responds with validation error on empty content3109 PUT /projects/:id/wikis/:slug3110 when wiki is disabled3111 when user is guest3112 returns 404 Project Not Found3113 when user is developer3114 returns 403 Forbidden3115 when user is maintainer3116 returns 403 Forbidden3117 when wiki is available only for team members3118 when user is guest3119 returns 404 Project Not Found3120 when user is developer3121 updates the wiki page3122 it updates with wiki with missing title3123 it updates with wiki with missing content3124 it updates with wiki with missing format3125 when page is not existing3126 returns 404 Wiki Page Not Found3127 when user is maintainer3128 updates the wiki page3129 it updates with wiki with missing title3130 it updates with wiki with missing content3131 it updates with wiki with missing format3132 when page is not existing3133 returns 404 Wiki Page Not Found3134 when wiki is available for everyone with access3135 when user is guest3136 returns 404 Project Not Found3137 when user is developer3138 updates the wiki page3139 it updates with wiki with missing title3140 it updates with wiki with missing content3141 it updates with wiki with missing format3142 when page is not existing3143 returns 404 Wiki Page Not Found3144 when user is maintainer3145 updates the wiki page3146 it updates with wiki with missing title3147 it updates with wiki with missing content3148 it updates with wiki with missing format3149 when page is not existing3150 returns 404 Wiki Page Not Found3151 when wiki belongs to a group project3152 updates the wiki page3153 it updates with wiki with missing title3154 it updates with wiki with missing content3155 it updates with wiki with missing format3156 DELETE /projects/:id/wikis/:slug3157 when wiki is disabled3158 when user is guest3159 returns 404 Project Not Found3160 when user is developer3161 returns 403 Forbidden3162 when user is maintainer3163 returns 403 Forbidden3164 when wiki is available only for team members3165 when user is guest3166 returns 404 Project Not Found3167 when user is developer3168 returns 403 Forbidden3169 when user is maintainer3170 returns 204 No Content3171 when wiki is available for everyone with access3172 when user is guest3173 returns 404 Project Not Found3174 when user is developer3175 returns 403 Forbidden3176 when user is maintainer3177 returns 204 No Content3178 when page is not existing3179 returns 404 Wiki Page Not Found3180 when wiki belongs to a group project3181 returns 204 No Content3182 POST /projects/:id/wikis/attachments3183 when wiki is disabled3184 when user is guest3185 returns 404 Project Not Found3186 when user is developer3187 returns 403 Forbidden3188 when user is maintainer3189 returns 403 Forbidden3190 when wiki is available only for team members3191 when user is guest3192 returns 404 Project Not Found3193 when user is developer3194 pushes attachment to the wiki repository3195 responds with validation error on empty file3196 responds with validation error on invalid temp file3197 is backward compatible with regular multipart uploads3198 when user is maintainer3199 pushes attachment to the wiki repository3200 responds with validation error on empty file3201 responds with validation error on invalid temp file3202 is backward compatible with regular multipart uploads3203 when wiki is available for everyone with access3204 when user is guest3205 returns 404 Project Not Found3206 when user is developer3207 pushes attachment to the wiki repository3208 responds with validation error on empty file3209 responds with validation error on invalid temp file3210 is backward compatible with regular multipart uploads3211 when user is maintainer3212 pushes attachment to the wiki repository3213 responds with validation error on empty file3214 responds with validation error on invalid temp file3215 is backward compatible with regular multipart uploads3216API::Labels3217 GET /projects/:id/labels3218 returns all available labels to the project3219 when the with_counts parameter is set3220 includes counts in the response3221 when the include_ancestor_groups parameter is not set3222 returns all available labels for the project, parent group and ancestor groups3223 when the include_ancestor_groups parameter is set to false3224 returns all available labels for the project and the parent group only3225 POST /projects/:id/labels3226 returns created label when all params3227 returns created label when only required params3228 creates a prioritized label3229 returns a 400 bad request if name not given3230 returns a 400 bad request if color not given3231 returns 400 for invalid color3232 returns 400 for too long color code3233 returns 400 for invalid name3234 returns 409 if label already exists in group3235 returns 400 for invalid priority3236 returns 409 if label already exists in project3237 DELETE /projects/:id/labels3238 returns 404 for non existing label3239 returns 400 for wrong parameters3240 fails if label_id and name are given in params3241 behaves like label delete API3242 returns 204 for existing label (deprecated route)3243 returns 204 for existing label (rest route)3244 behaves like label delete API3245 returns 204 for existing label (deprecated route)3246 returns 204 for existing label (rest route)3247 behaves like 412 response3248 for a modified ressource3249 returns 4123250 for an unmodified ressource3251 returns accepted3252 PUT /projects/:id/labels3253 returns 404 if label does not exist3254 returns 404 if label by id does not exist3255 returns 400 if no label name and id is given3256 fails if label_id and name are given in params3257 when using name3258 behaves like label update API3259 returns 200 if name is changed (deprecated route)3260 returns 200 if colors is changed (deprecated route)3261 returns 200 if a priority is added (deprecated route)3262 returns 400 if no new parameters given (deprecated route)3263 returns 400 when color code is too short (deprecated route)3264 returns 400 for too long color code (deprecated route)3265 returns 400 for invalid priority (deprecated route)3266 returns 200 if name and colors and description are changed (deprecated route)3267 returns 400 for invalid name (deprecated route)3268 returns 200 if description is changed (deprecated route)3269 returns 200 if priority is changed (deprecated route)3270 returns 200 if name is changed (rest route)3271 returns 200 if colors is changed (rest route)3272 returns 200 if a priority is added (rest route)3273 returns 400 if no new parameters given (rest route)3274 returns 400 when color code is too short (rest route)3275 returns 400 for too long color code (rest route)3276 returns 400 for invalid priority (rest route)3277 returns 200 if name and colors and description are changed (rest route)3278 returns 400 for invalid name (rest route)3279 returns 200 if description is changed (rest route)3280 returns 200 if priority is changed (rest route)3281 returns 200 if a priority is removed (deprecated route)3282 returns 200 if a priority is removed (rest route)3283 when using label_id3284 behaves like label update API3285 returns 200 if name is changed (deprecated route)3286 returns 200 if colors is changed (deprecated route)3287 returns 200 if a priority is added (deprecated route)3288 returns 400 if no new parameters given (deprecated route)3289 returns 400 when color code is too short (deprecated route)3290 returns 400 for too long color code (deprecated route)3291 returns 400 for invalid priority (deprecated route)3292 returns 200 if name and colors and description are changed (deprecated route)3293 returns 400 for invalid name (deprecated route)3294 returns 200 if description is changed (deprecated route)3295 returns 200 if priority is changed (deprecated route)3296 returns 200 if name is changed (rest route)3297 returns 200 if colors is changed (rest route)3298 returns 200 if a priority is added (rest route)3299 returns 400 if no new parameters given (rest route)3300 returns 400 when color code is too short (rest route)3301 returns 400 for too long color code (rest route)3302 returns 400 for invalid priority (rest route)3303 returns 200 if name and colors and description are changed (rest route)3304 returns 400 for invalid name (rest route)3305 returns 200 if description is changed (rest route)3306 returns 200 if priority is changed (rest route)3307 returns 200 if a priority is removed (deprecated route)3308 returns 200 if a priority is removed (rest route)3309 PUT /projects/:id/labels/promote3310DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "MAX(id)". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql(). (called from subscribe_users at /builds/gitlab-org/gitlab/app/services/labels/promote_service.rb:41)3311 returns 200 if label is promoted3312DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "MAX(id)". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql(). (called from subscribe_users at /builds/gitlab-org/gitlab/app/services/labels/promote_service.rb:41)3313 returns 200 if group label already exists3314 returns 403 if guest promotes label3315 returns 404 if label does not exist3316 returns 400 if no label name given3317 POST /projects/:id/labels/:label_id/subscribe3318 when label_id is a label title3319 subscribes to the label3320 when label_id is a label ID3321 subscribes to the label3322 when user is already subscribed to label3323 returns 3043324 when label ID is not found3325 returns 404 error3326 POST /projects/:id/labels/:label_id/unsubscribe3327 when label_id is a label title3328 unsubscribes from the label3329 when label_id is a label ID3330 unsubscribes from the label3331 when user is already unsubscribed from label3332 returns 3043333 when label ID is not found3334 returns 404 error3335API::ProjectTemplates3336 GET /projects/:id/templates/:type3337 returns dockerfiles3338 returns gitignores3339 returns gitlab_ci_ymls3340 returns licenses3341 returns 400 for an unknown template type3342 denies access to an anonymous user on a private project3343 permits access to a developer on a private project3344 GET /projects/:id/templates/licenses3345 returns key and name for the listed licenses3346 GET /projects/:id/templates/:type/:key3347 returns a specific dockerfile3348 returns a specific gitignore3349 returns C++ gitignore3350 returns C++ gitignore for URL-encoded names3351 returns a specific gitlab_ci_yml3352 returns a specific license3353 returns 404 for an unknown specific template3354 denies access to an anonymous user on a private project3355 permits access to a developer on a private project3356 behaves like path traversal attempt3357 rejects invalid filenames3358 behaves like path traversal attempt3359 rejects invalid filenames3360 behaves like path traversal attempt3361 rejects invalid filenames3362 GET /projects/:id/templates/licenses/:key3363 fills placeholders in the license3364rendering project statistics3365 includes the packages size if the user can read the statistics3366 behaves like a working graphql query3367 returns a successful response3368 when the project is public3369 hides statistics for unauthenticated requests3370ChaosController3371 #leakmem3372 calls synchronously3373 call synchronously with params3374 calls asynchronously3375 #cpu_spin3376 calls synchronously3377 calls synchronously with params3378 calls asynchronously3379 #db_spin3380 calls synchronously3381 calls synchronously with params3382 calls asynchronously3383 #sleep3384 calls synchronously3385 calls synchronously with params3386 calls asynchronously3387 #kill3388 calls synchronously3389 calls asynchronously3390Knapsack report was generated. Preview:3391{3392 "spec/requests/api/merge_requests_spec.rb": 500.31348752975464,3393 "spec/requests/api/commits_spec.rb": 117.79279828071594,3394 "spec/requests/api/members_spec.rb": 82.8565616607666,3395 "spec/requests/git_http_spec.rb": 66.2625617980957,3396 "spec/requests/api/badges_spec.rb": 62.8299286365509,3397 "spec/requests/api/wikis_spec.rb": 50.624147176742554,3398 "spec/requests/api/labels_spec.rb": 34.612393856048584,3399 "spec/requests/api/project_templates_spec.rb": 12.488983631134033,3400 "spec/requests/api/graphql/project/project_statistics_spec.rb": 1.4403111934661865,3401 "spec/controllers/chaos_controller_spec.rb": 0.104849100112915043402}3403Knapsack global time execution for tests: 15m 29s3404Pending: (Failures listed here are expected and do not affect your suite's status)3405 1) API::MergeRequests POST /projects/:id/merge_requests between branches projects different labels empty label param as array, does not add any labels3406 # Temporarily skipped with xit3407 # ./spec/requests/api/merge_requests_spec.rb:12513408 2) API::MergeRequests PUT /projects/:id/merge_requests/:merge_request_iid when updating labels empty label as array, removes labels3409 # Temporarily skipped with xit3410 # ./spec/requests/api/merge_requests_spec.rb:18603411Finished in 15 minutes 43 seconds (files took 59.8 seconds to load)34121005 examples, 0 failures, 2 pending3413Wed Oct 16 17:23:14 UTC 20193415$ date3416Wed Oct 16 17:23:15 UTC 20193419coverage/: found 5 matching files 3420knapsack/: found 6 matching files 3421rspec_flaky/: found 4 matching files 3422rspec_profiling/: found 1 matching files 3423WARNING: tmp/capybara/: no matching files 3424tmp/memory_test/: found 2 matching files 3425Uploading artifacts to coordinator... ok id=322923007 responseStatus=201 Created token=Kh4QB31s3426Uploading artifacts...3427junit_rspec.xml: found 1 matching files 3428Uploading artifacts to coordinator... ok id=322923007 responseStatus=201 Created token=Kh4QB31s3429Job succeeded