rspec unit pg-10 7/20
Passed Started
by
@mayra-cabrera

Mayra Cabrera
1Running with gitlab-runner 12.1.0 (de7731dd)2 on docker-auto-scale-com d5ae8d25 3 Using Docker executor with image dev.gitlab.org:5005/gitlab/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:42
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:ed7d2ff5a6232b43bdc89a2220ed989f532c3794422aa2a86823b8bc62e71447 for redis:alpine ...10Waiting for services to be up and running...11Pulling docker image dev.gitlab.org:5005/gitlab/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 ...12Using docker image sha256:2099f8c29ab752bff207779d49551a3ae3c875e51b4cbb6969bcecff3e622446 for dev.gitlab.org:5005/gitlab/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 ... 13 Running on runner-d5ae8d25-project-13083-concurrent-0 via runner-d5ae8d25-gsrm-1567098341-624ef9d3...
00:06
15Reinitialized existing Git repository in /builds/gitlab-org/gitlab-ce/.git/17 * [new branch] master -> origin/master18Checking out 6712b133 as master...19Removing .gitlab_shell_secret20Removing .gitlab_workhorse_secret21Removing config/database.yml22Removing config/database_geo.yml23Removing config/gitlab.yml24Removing config/redis.cache.yml25Removing config/redis.queues.yml26Removing config/redis.shared_state.yml27Removing config/resque.yml28Removing config/secrets.yml29Removing coverage/30Removing junit_rspec.xml31Removing knapsack/32Removing log/api_json.log33Removing log/application.log34Removing log/audit_json.log35Removing log/external-policy-access-control.log36Removing log/gitaly-test.log37Removing log/graphql_json.log38Removing log/grpc.log39Removing log/integrations_json.log40Removing log/test_json.log41Removing node_modules/42Removing public/assets/43Removing rspec_flaky/44Removing rspec_profiling/45Removing tmp/cache/46Removing tmp/memory_test/47Removing tmp/prometheus_multiproc_dir/counter_process_238-0.db48Removing tmp/prometheus_multiproc_dir/histogram_process_238-0.db49Removing tmp/tests/50Removing vendor/gitaly-ruby/51Removing vendor/ruby/52Skipping Git submodules setup54cache.zip is up to date 55Successfully extracted cache57Downloading artifacts from coordinator... ok id=283641330 responseStatus=200 OK token=f2MDoCA358Downloading artifacts for setup-test-env (283641331)...59Downloading artifacts from coordinator... ok id=283641331 responseStatus=200 OK token=5orpZ_PE60WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 61Downloading artifacts for retrieve-tests-metadata (283641332)...62Downloading artifacts from coordinator... ok id=283641332 responseStatus=200 OK token=9n8_JXaB64Thu Aug 29 20:33:25 UTC 201965$ source scripts/utils.sh66$ source scripts/prepare_build.sh67Bundler version 1.17.268Warning: 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`.69The Gemfile's dependencies are satisfied70Successfully installed knapsack-1.18.0711 gem installed72CREATE ROLE73GRANT74Dropped database 'gitlabhq_test'75Created database 'gitlabhq_test'76-- enable_extension("pg_trgm")77 -> 0.0262s78-- enable_extension("plpgsql")79 -> 0.0026s80-- create_table("abuse_reports", {:id=>:serial, :force=>:cascade})81 -> 0.0036s82-- create_table("allowed_email_domains", {:force=>:cascade})83 -> 0.0050s84-- create_table("analytics_cycle_analytics_group_stages", {:force=>:cascade})85 -> 0.0127s86-- create_table("analytics_cycle_analytics_project_stages", {:force=>:cascade})87 -> 0.0126s88-- create_table("appearances", {:id=>:serial, :force=>:cascade})89 -> 0.0050s90-- create_table("application_setting_terms", {:id=>:serial, :force=>:cascade})91 -> 0.0022s92-- create_table("application_settings", {:id=>:serial, :force=>:cascade})93 -> 0.0808s94-- create_table("approval_merge_request_rule_sources", {:force=>:cascade})95 -> 0.0061s96-- create_table("approval_merge_request_rules", {:force=>:cascade})97 -> 0.0118s98-- create_table("approval_merge_request_rules_approved_approvers", {:force=>:cascade})99 -> 0.0059s100-- create_table("approval_merge_request_rules_groups", {:force=>:cascade})101 -> 0.0058s102-- create_table("approval_merge_request_rules_users", {:force=>:cascade})103 -> 0.0057s104-- create_table("approval_project_rules", {:force=>:cascade})105 -> 0.0071s106-- create_table("approval_project_rules_groups", {:force=>:cascade})107 -> 0.0058s108-- create_table("approval_project_rules_users", {:force=>:cascade})109 -> 0.0068s110-- create_table("approvals", {:id=>:serial, :force=>:cascade})111 -> 0.0057s112-- create_table("approver_groups", {:id=>:serial, :force=>:cascade})113 -> 0.0073s114-- create_table("approvers", {:id=>:serial, :force=>:cascade})115 -> 0.0061s116-- create_table("audit_events", {:id=>:serial, :force=>:cascade})117 -> 0.0064s118-- create_table("award_emoji", {:id=>:serial, :force=>:cascade})119 -> 0.0069s120-- create_table("badges", {:id=>:serial, :force=>:cascade})121 -> 0.0068s122-- create_table("board_assignees", {:id=>:serial, :force=>:cascade})123 -> 0.0058s124-- create_table("board_group_recent_visits", {:force=>:cascade})125 -> 0.0104s126-- create_table("board_labels", {:id=>:serial, :force=>:cascade})127 -> 0.0065s128-- create_table("board_project_recent_visits", {:force=>:cascade})129 -> 0.0105s130-- create_table("boards", {:id=>:serial, :force=>:cascade})131 -> 0.0091s132-- create_table("broadcast_messages", {:id=>:serial, :force=>:cascade})133 -> 0.0044s134-- create_table("chat_names", {:id=>:serial, :force=>:cascade})135 -> 0.0068s136-- create_table("chat_teams", {:id=>:serial, :force=>:cascade})137 -> 0.0041s138-- create_table("ci_build_needs", {:id=>:serial, :force=>:cascade})139 -> 0.0043s140-- create_table("ci_build_trace_chunks", {:force=>:cascade})141 -> 0.0044s142-- create_table("ci_build_trace_section_names", {:id=>:serial, :force=>:cascade})143 -> 0.0041s144-- create_table("ci_build_trace_sections", {:id=>:serial, :force=>:cascade})145 -> 0.0077s146-- create_table("ci_builds", {:id=>:serial, :force=>:cascade})147 -> 0.0496s148-- create_table("ci_builds_metadata", {:id=>:serial, :force=>:cascade})149 -> 0.0069s150-- create_table("ci_builds_runner_session", {:force=>:cascade})151 -> 0.0045s152-- create_table("ci_group_variables", {:id=>:serial, :force=>:cascade})153 -> 0.0058s154-- create_table("ci_job_artifacts", {:id=>:serial, :force=>:cascade})155 -> 0.0127s156-- create_table("ci_job_variables", {:force=>:cascade})157 -> 0.0075s158-- create_table("ci_pipeline_chat_data", {:force=>:cascade})159 -> 0.0064s160-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})161 -> 0.0051s162-- create_table("ci_pipeline_schedules", {:id=>:serial, :force=>:cascade})163 -> 0.0093s164-- create_table("ci_pipeline_variables", {:id=>:serial, :force=>:cascade})165 -> 0.0053s166-- create_table("ci_pipelines", {:id=>:serial, :force=>:cascade})167 -> 0.0277s168-- create_table("ci_runner_namespaces", {:id=>:serial, :force=>:cascade})169 -> 0.0059s170-- create_table("ci_runner_projects", {:id=>:serial, :force=>:cascade})171 -> 0.0058s172-- create_table("ci_runners", {:id=>:serial, :force=>:cascade})173 -> 0.0164s174-- create_table("ci_sources_pipelines", {:id=>:serial, :force=>:cascade})175 -> 0.0119s176-- create_table("ci_stages", {:id=>:serial, :force=>:cascade})177 -> 0.0105s178-- create_table("ci_trigger_requests", {:id=>:serial, :force=>:cascade})179 -> 0.0063s180-- create_table("ci_triggers", {:id=>:serial, :force=>:cascade})181 -> 0.0062s182-- create_table("ci_variables", {:id=>:serial, :force=>:cascade})183 -> 0.0060s184-- create_table("cluster_groups", {:id=>:serial, :force=>:cascade})185 -> 0.0058s186-- create_table("cluster_platforms_kubernetes", {:id=>:serial, :force=>:cascade})187 -> 0.0044s188-- create_table("cluster_projects", {:id=>:serial, :force=>:cascade})189 -> 0.0056s190-- create_table("cluster_providers_gcp", {:id=>:serial, :force=>:cascade})191 -> 0.0050s192-- create_table("clusters", {:id=>:serial, :force=>:cascade})193 -> 0.0086s194-- create_table("clusters_applications_cert_managers", {:id=>:serial, :force=>:cascade})195 -> 0.0043s196-- create_table("clusters_applications_helm", {:id=>:serial, :force=>:cascade})197 -> 0.0045s198-- create_table("clusters_applications_ingress", {:id=>:serial, :force=>:cascade})199 -> 0.0045s200-- create_table("clusters_applications_jupyter", {:id=>:serial, :force=>:cascade})201 -> 0.0066s202-- create_table("clusters_applications_knative", {:id=>:serial, :force=>:cascade})203 -> 0.0046s204-- create_table("clusters_applications_prometheus", {:id=>:serial, :force=>:cascade})205 -> 0.0047s206-- create_table("clusters_applications_runners", {:id=>:serial, :force=>:cascade})207 -> 0.0067s208-- create_table("clusters_kubernetes_namespaces", {:force=>:cascade})209 -> 0.0145s210-- create_table("container_repositories", {:id=>:serial, :force=>:cascade})211 -> 0.0065s212-- create_table("conversational_development_index_metrics", {:id=>:serial, :force=>:cascade})213 -> 0.0065s214-- create_table("dependency_proxy_blobs", {:id=>:serial, :force=>:cascade})215 -> 0.0043s216-- create_table("dependency_proxy_group_settings", {:id=>:serial, :force=>:cascade})217 -> 0.0043s218-- create_table("deploy_keys_projects", {:id=>:serial, :force=>:cascade})219 -> 0.0041s220-- create_table("deploy_tokens", {:id=>:serial, :force=>:cascade})221 -> 0.0091s222-- create_table("deployments", {:id=>:serial, :force=>:cascade})223 -> 0.0226s224-- create_table("design_management_designs", {:force=>:cascade})225 -> 0.0063s226-- create_table("design_management_designs_versions", {:id=>false, :force=>:cascade})227 -> 0.0094s228-- create_table("design_management_versions", {:force=>:cascade})229 -> 0.0061s230-- create_table("draft_notes", {:force=>:cascade})231 -> 0.0087s232-- create_table("elasticsearch_indexed_namespaces", {:id=>false, :force=>:cascade})233 -> 0.0031s234-- create_table("elasticsearch_indexed_projects", {:id=>false, :force=>:cascade})235 -> 0.0030s236-- create_table("emails", {:id=>:serial, :force=>:cascade})237 -> 0.0084s238-- create_table("environments", {:id=>:serial, :force=>:cascade})239 -> 0.0106s240-- create_table("epic_issues", {:id=>:serial, :force=>:cascade})241 -> 0.0055s242-- create_table("epic_metrics", {:id=>:serial, :force=>:cascade})243 -> 0.0037s244-- create_table("epics", {:id=>:serial, :force=>:cascade})245 -> 0.0206s246-- create_table("events", {:id=>:serial, :force=>:cascade})247 -> 0.0149s248-- create_table("feature_gates", {:id=>:serial, :force=>:cascade})249 -> 0.0045s250-- create_table("features", {:id=>:serial, :force=>:cascade})251 -> 0.0042s252-- create_table("fork_network_members", {:id=>:serial, :force=>:cascade})253 -> 0.0077s254-- create_table("fork_networks", {:id=>:serial, :force=>:cascade})255 -> 0.0043s256-- create_table("forked_project_links", {:id=>:serial, :force=>:cascade})257 -> 0.0039s258-- create_table("geo_cache_invalidation_events", {:force=>:cascade})259 -> 0.0020s260-- create_table("geo_container_repository_updated_events", {:force=>:cascade})261 -> 0.0037s262-- create_table("geo_event_log", {:force=>:cascade})263 -> 0.0280s264-- create_table("geo_hashed_storage_attachments_events", {:force=>:cascade})265 -> 0.0043s266-- create_table("geo_hashed_storage_migrated_events", {:force=>:cascade})267 -> 0.0043s268-- create_table("geo_job_artifact_deleted_events", {:force=>:cascade})269 -> 0.0043s270-- create_table("geo_lfs_object_deleted_events", {:force=>:cascade})271 -> 0.0048s272-- create_table("geo_node_namespace_links", {:id=>:serial, :force=>:cascade})273 -> 0.0078s274-- create_table("geo_node_statuses", {:id=>:serial, :force=>:cascade})275 -> 0.0053s276-- create_table("geo_nodes", {:id=>:serial, :force=>:cascade})277 -> 0.0116s278-- create_table("geo_repositories_changed_events", {:force=>:cascade})279 -> 0.0040s280-- create_table("geo_repository_created_events", {:force=>:cascade})281 -> 0.0045s282-- create_table("geo_repository_deleted_events", {:force=>:cascade})283 -> 0.0044s284-- create_table("geo_repository_renamed_events", {:force=>:cascade})285 -> 0.0046s286-- create_table("geo_repository_updated_events", {:force=>:cascade})287 -> 0.0072s288-- create_table("geo_reset_checksum_events", {:force=>:cascade})289 -> 0.0038s290-- create_table("geo_upload_deleted_events", {:force=>:cascade})291 -> 0.0044s292-- create_table("gitlab_subscriptions", {:force=>:cascade})293 -> 0.0072s294-- create_table("gpg_key_subkeys", {:id=>:serial, :force=>:cascade})295 -> 0.0083s296-- create_table("gpg_keys", {:id=>:serial, :force=>:cascade})297 -> 0.0081s298-- create_table("gpg_signatures", {:id=>:serial, :force=>:cascade})299 -> 0.0123s300-- create_table("group_custom_attributes", {:id=>:serial, :force=>:cascade})301 -> 0.0060s302-- create_table("historical_data", {:id=>:serial, :force=>:cascade})303 -> 0.0017s304-- create_table("identities", {:id=>:serial, :force=>:cascade})305 -> 0.0086s306-- create_table("import_export_uploads", {:id=>:serial, :force=>:cascade})307 -> 0.0064s308-- create_table("index_statuses", {:id=>:serial, :force=>:cascade})309 -> 0.0045s310-- create_table("insights", {:id=>:serial, :force=>:cascade})311 -> 0.0059s312-- create_table("internal_ids", {:force=>:cascade})313 -> 0.0099s314-- create_table("ip_restrictions", {:force=>:cascade})315 -> 0.0044s316-- create_table("issue_assignees", {:id=>false, :force=>:cascade})317 -> 0.0050s318-- create_table("issue_links", {:id=>:serial, :force=>:cascade})319 -> 0.0081s320-- create_table("issue_metrics", {:id=>:serial, :force=>:cascade})321 -> 0.0041s322-- create_table("issue_tracker_data", {:force=>:cascade})323 -> 0.0042s324-- create_table("issues", {:id=>:serial, :force=>:cascade})325 -> 0.0350s326-- create_table("jira_connect_installations", {:force=>:cascade})327 -> 0.0041s328-- create_table("jira_connect_subscriptions", {:force=>:cascade})329 -> 0.0080s330-- create_table("jira_tracker_data", {:force=>:cascade})331 -> 0.0068s332-- create_table("keys", {:id=>:serial, :force=>:cascade})333 -> 0.0089s334-- create_table("label_links", {:id=>:serial, :force=>:cascade})335 -> 0.0062s336-- create_table("label_priorities", {:id=>:serial, :force=>:cascade})337 -> 0.0078s338-- create_table("labels", {:id=>:serial, :force=>:cascade})339 -> 0.0128s340-- create_table("ldap_group_links", {:id=>:serial, :force=>:cascade})341 -> 0.0025s342-- create_table("lfs_file_locks", {:id=>:serial, :force=>:cascade})343 -> 0.0061s344-- create_table("lfs_objects", {:id=>:serial, :force=>:cascade})345 -> 0.0063s346-- create_table("lfs_objects_projects", {:id=>:serial, :force=>:cascade})347 -> 0.0057s348-- create_table("licenses", {:id=>:serial, :force=>:cascade})349 -> 0.0029s350-- create_table("list_user_preferences", {:force=>:cascade})351 -> 0.0073s352-- create_table("lists", {:id=>:serial, :force=>:cascade})353 -> 0.0119s354-- create_table("members", {:id=>:serial, :force=>:cascade})355 -> 0.0147s356-- create_table("merge_request_assignees", {:force=>:cascade})357 -> 0.0073s358-- create_table("merge_request_blocks", {:force=>:cascade})359 -> 0.0060s360-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})361 -> 0.0059s362-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})363 -> 0.0040s364-- create_table("merge_request_diffs", {:id=>:serial, :force=>:cascade})365 -> 0.0066s366-- create_table("merge_request_metrics", {:id=>:serial, :force=>:cascade})367 -> 0.0159s368-- create_table("merge_requests", {:id=>:serial, :force=>:cascade})369 -> 0.0444s370-- create_table("merge_requests_closing_issues", {:id=>:serial, :force=>:cascade})371 -> 0.0063s372-- create_table("merge_trains", {:force=>:cascade})373 -> 0.0102s374-- create_table("milestones", {:id=>:serial, :force=>:cascade})375 -> 0.0149s376-- create_table("namespace_aggregation_schedules", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})377 -> 0.0033s378-- create_table("namespace_root_storage_statistics", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})379 -> 0.0056s380-- create_table("namespace_statistics", {:id=>:serial, :force=>:cascade})381 -> 0.0043s382-- create_table("namespaces", {:id=>:serial, :force=>:cascade})383 -> 0.0419s384-- create_table("note_diff_files", {:id=>:serial, :force=>:cascade})385 -> 0.0044s386-- create_table("notes", {:id=>:serial, :force=>:cascade})387 -> 0.0235s388-- create_table("notification_settings", {:id=>:serial, :force=>:cascade})389 -> 0.0092s390-- create_table("oauth_access_grants", {:id=>:serial, :force=>:cascade})391 -> 0.0047s392-- create_table("oauth_access_tokens", {:id=>:serial, :force=>:cascade})393 -> 0.0083s394-- create_table("oauth_applications", {:id=>:serial, :force=>:cascade})395 -> 0.0074s396-- create_table("oauth_openid_requests", {:id=>:serial, :force=>:cascade})397 -> 0.0045s398-- create_table("operations_feature_flag_scopes", {:force=>:cascade})399 -> 0.0055s400-- create_table("operations_feature_flags", {:force=>:cascade})401 -> 0.0045s402-- create_table("operations_feature_flags_clients", {:force=>:cascade})403 -> 0.0067s404-- create_table("packages_maven_metadata", {:force=>:cascade})405 -> 0.0045s406-- create_table("packages_package_files", {:force=>:cascade})407 -> 0.0046s408-- create_table("packages_packages", {:force=>:cascade})409 -> 0.0043s410-- create_table("pages_domain_acme_orders", {:force=>:cascade})411 -> 0.0067s412-- create_table("pages_domains", {:id=>:serial, :force=>:cascade})413 -> 0.0172s414-- create_table("path_locks", {:id=>:serial, :force=>:cascade})415 -> 0.0083s416-- create_table("personal_access_tokens", {:id=>:serial, :force=>:cascade})417 -> 0.0073s418-- create_table("plans", {:id=>:serial, :force=>:cascade})419 -> 0.0044s420-- create_table("pool_repositories", {:force=>:cascade})421 -> 0.0081s422-- create_table("programming_languages", {:id=>:serial, :force=>:cascade})423 -> 0.0043s424-- create_table("project_alerting_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})425 -> 0.0017s426-- create_table("project_aliases", {:force=>:cascade})427 -> 0.0063s428-- create_table("project_authorizations", {:id=>false, :force=>:cascade})429 -> 0.0050s430-- create_table("project_auto_devops", {:id=>:serial, :force=>:cascade})431 -> 0.0042s432-- create_table("project_ci_cd_settings", {:id=>:serial, :force=>:cascade})433 -> 0.0051s434-- create_table("project_custom_attributes", {:id=>:serial, :force=>:cascade})435 -> 0.0062s436-- create_table("project_daily_statistics", {:force=>:cascade})437 -> 0.0038s438-- create_table("project_deploy_tokens", {:id=>:serial, :force=>:cascade})439 -> 0.0057s440-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})441 -> 0.0026s442-- create_table("project_feature_usages", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})443 -> 0.0072s444-- create_table("project_features", {:id=>:serial, :force=>:cascade})445 -> 0.0050s446-- create_table("project_group_links", {:id=>:serial, :force=>:cascade})447 -> 0.0062s448-- create_table("project_import_data", {:id=>:serial, :force=>:cascade})449 -> 0.0044s450-- create_table("project_incident_management_settings", {:primary_key=>"project_id", :id=>:serial, :force=>:cascade})451 -> 0.0029s452-- create_table("project_metrics_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})453 -> 0.0017s454-- create_table("project_mirror_data", {:id=>:serial, :force=>:cascade})455 -> 0.0151s456-- create_table("project_repositories", {:force=>:cascade})457 -> 0.0084s458-- create_table("project_repository_states", {:id=>:serial, :force=>:cascade})459 -> 0.0149s460-- create_table("project_statistics", {:id=>:serial, :force=>:cascade})461 -> 0.0090s462-- create_table("project_tracing_settings", {:force=>:cascade})463 -> 0.0043s464-- create_table("projects", {:id=>:serial, :force=>:cascade})465 -> 0.1045s466-- create_table("prometheus_alert_events", {:force=>:cascade})467 -> 0.0109s468-- create_table("prometheus_alerts", {:id=>:serial, :force=>:cascade})469 -> 0.0130s470-- create_table("prometheus_metrics", {:id=>:serial, :force=>:cascade})471 -> 0.0158s472-- create_table("protected_branch_merge_access_levels", {:id=>:serial, :force=>:cascade})473 -> 0.0135s474-- create_table("protected_branch_push_access_levels", {:id=>:serial, :force=>:cascade})475 -> 0.0136s476-- create_table("protected_branch_unprotect_access_levels", {:id=>:serial, :force=>:cascade})477 -> 0.0128s478-- create_table("protected_branches", {:id=>:serial, :force=>:cascade})479 -> 0.0064s480-- create_table("protected_environment_deploy_access_levels", {:id=>:serial, :force=>:cascade})481 -> 0.0130s482-- create_table("protected_environments", {:id=>:serial, :force=>:cascade})483 -> 0.0105s484-- create_table("protected_tag_create_access_levels", {:id=>:serial, :force=>:cascade})485 -> 0.0135s486-- create_table("protected_tags", {:id=>:serial, :force=>:cascade})487 -> 0.0109s488-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})489 -> 0.0064s490-- create_table("push_rules", {:id=>:serial, :force=>:cascade})491 -> 0.0103s492-- create_table("redirect_routes", {:id=>:serial, :force=>:cascade})493 -> 0.0066s494-- create_table("release_links", {:force=>:cascade})495 -> 0.0072s496-- create_table("releases", {:id=>:serial, :force=>:cascade})497 -> 0.0072s498-- create_table("remote_mirrors", {:id=>:serial, :force=>:cascade})499 -> 0.0075s500-- create_table("repository_languages", {:id=>false, :force=>:cascade})501 -> 0.0031s502-- create_table("resource_label_events", {:force=>:cascade})503 -> 0.0121s504-- create_table("reviews", {:force=>:cascade})505 -> 0.0079s506-- create_table("routes", {:id=>:serial, :force=>:cascade})507 -> 0.0082s508-- create_table("saml_providers", {:id=>:serial, :force=>:cascade})509 -> 0.0051s510-- create_table("scim_oauth_access_tokens", {:id=>:serial, :force=>:cascade})511 -> 0.0043s512-- create_table("sent_notifications", {:id=>:serial, :force=>:cascade})513 -> 0.0045s514-- create_table("services", {:id=>:serial, :force=>:cascade})515 -> 0.0137s516-- create_table("shards", {:id=>:serial, :force=>:cascade})517 -> 0.0044s518-- create_table("slack_integrations", {:id=>:serial, :force=>:cascade})519 -> 0.0064s520-- create_table("smartcard_identities", {:force=>:cascade})521 -> 0.0058s522-- create_table("snippets", {:id=>:serial, :force=>:cascade})523 -> 0.0150s524-- create_table("software_license_policies", {:id=>:serial, :force=>:cascade})525 -> 0.0063s526-- create_table("software_licenses", {:id=>:serial, :force=>:cascade})527 -> 0.0042s528-- create_table("spam_logs", {:id=>:serial, :force=>:cascade})529 -> 0.0033s530-- create_table("subscriptions", {:id=>:serial, :force=>:cascade})531 -> 0.0064s532-- create_table("suggestions", {:force=>:cascade})533 -> 0.0061s534-- create_table("system_note_metadata", {:id=>:serial, :force=>:cascade})535 -> 0.0043s536-- create_table("taggings", {:id=>:serial, :force=>:cascade})537 -> 0.0103s538-- create_table("tags", {:id=>:serial, :force=>:cascade})539 -> 0.0066s540-- create_table("term_agreements", {:id=>:serial, :force=>:cascade})541 -> 0.0082s542-- create_table("timelogs", {:id=>:serial, :force=>:cascade})543 -> 0.0078s544-- create_table("todos", {:id=>:serial, :force=>:cascade})545 -> 0.0240s546-- create_table("trending_projects", {:id=>:serial, :force=>:cascade})547 -> 0.0046s548-- create_table("u2f_registrations", {:id=>:serial, :force=>:cascade})549 -> 0.0064s550-- create_table("uploads", {:id=>:serial, :force=>:cascade})551 -> 0.0110s552-- create_table("user_agent_details", {:id=>:serial, :force=>:cascade})553 -> 0.0051s554-- create_table("user_callouts", {:id=>:serial, :force=>:cascade})555 -> 0.0056s556-- create_table("user_custom_attributes", {:id=>:serial, :force=>:cascade})557 -> 0.0064s558-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})559 -> 0.0051s560-- create_table("user_preferences", {:id=>:serial, :force=>:cascade})561 -> 0.0058s562-- create_table("user_statuses", {:primary_key=>"user_id", :id=>:serial, :force=>:cascade})563 -> 0.0047s564-- create_table("user_synced_attributes_metadata", {:id=>:serial, :force=>:cascade})565 -> 0.0060s566-- create_table("users", {:id=>:serial, :force=>:cascade})567 -> 0.0568s568-- create_table("users_ops_dashboard_projects", {:force=>:cascade})569 -> 0.0061s570-- create_table("users_star_projects", {:id=>:serial, :force=>:cascade})571 -> 0.0061s572-- create_table("vulnerability_feedback", {:id=>:serial, :force=>:cascade})573 -> 0.0148s574-- create_table("vulnerability_identifiers", {:force=>:cascade})575 -> 0.0043s576-- create_table("vulnerability_occurrence_identifiers", {:force=>:cascade})577 -> 0.0057s578-- create_table("vulnerability_occurrence_pipelines", {:force=>:cascade})579 -> 0.0057s580-- create_table("vulnerability_occurrences", {:force=>:cascade})581 -> 0.0107s582-- create_table("vulnerability_scanners", {:force=>:cascade})583 -> 0.0044s584-- create_table("web_hook_logs", {:id=>:serial, :force=>:cascade})585 -> 0.0061s586-- create_table("web_hooks", {:id=>:serial, :force=>:cascade})587 -> 0.0113s588-- add_foreign_key("allowed_email_domains", "namespaces", {:column=>"group_id", :on_delete=>:cascade})589 -> 0.0032s590-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})591 -> 0.0016s592-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})593 -> 0.0011s594-- add_foreign_key("analytics_cycle_analytics_group_stages", "namespaces", {:column=>"group_id", :on_delete=>:cascade})595 -> 0.0013s596-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})597 -> 0.0013s598-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})599 -> 0.0013s600-- add_foreign_key("analytics_cycle_analytics_project_stages", "projects", {:on_delete=>:cascade})601 -> 0.0027s602-- add_foreign_key("application_settings", "namespaces", {:column=>"custom_project_templates_group_id", :on_delete=>:nullify})603 -> 0.0027s604-- add_foreign_key("application_settings", "projects", {:column=>"file_template_project_id", :name=>"fk_ec757bd087", :on_delete=>:nullify})605 -> 0.0022s606-- add_foreign_key("application_settings", "projects", {:column=>"instance_administration_project_id", :on_delete=>:nullify})607 -> 0.0021s608-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})609 -> 0.0029s610-- add_foreign_key("approval_merge_request_rule_sources", "approval_merge_request_rules", {:on_delete=>:cascade})611 -> 0.0015s612-- add_foreign_key("approval_merge_request_rule_sources", "approval_project_rules", {:on_delete=>:cascade})613 -> 0.0013s614-- add_foreign_key("approval_merge_request_rules", "merge_requests", {:on_delete=>:cascade})615 -> 0.0023s616-- add_foreign_key("approval_merge_request_rules_approved_approvers", "approval_merge_request_rules", {:on_delete=>:cascade})617 -> 0.0014s618-- add_foreign_key("approval_merge_request_rules_approved_approvers", "users", {:on_delete=>:cascade})619 -> 0.0015s620-- add_foreign_key("approval_merge_request_rules_groups", "approval_merge_request_rules", {:on_delete=>:cascade})621 -> 0.0013s622-- add_foreign_key("approval_merge_request_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})623 -> 0.0013s624-- add_foreign_key("approval_merge_request_rules_users", "approval_merge_request_rules", {:on_delete=>:cascade})625 -> 0.0013s626-- add_foreign_key("approval_merge_request_rules_users", "users", {:on_delete=>:cascade})627 -> 0.0014s628-- add_foreign_key("approval_project_rules", "projects", {:on_delete=>:cascade})629 -> 0.0013s630-- add_foreign_key("approval_project_rules_groups", "approval_project_rules", {:on_delete=>:cascade})631 -> 0.0013s632-- add_foreign_key("approval_project_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})633 -> 0.0023s634-- add_foreign_key("approval_project_rules_users", "approval_project_rules", {:on_delete=>:cascade})635 -> 0.0012s636-- add_foreign_key("approval_project_rules_users", "users", {:on_delete=>:cascade})637 -> 0.0013s638-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})639 -> 0.0013s640-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})641 -> 0.0013s642-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})643 -> 0.0014s644-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})645 -> 0.0014s646-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})647 -> 0.0014s648-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})649 -> 0.0013s650-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})651 -> 0.0012s652-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})653 -> 0.0011s654-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})655 -> 0.0014s656-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})657 -> 0.0012s658-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})659 -> 0.0011s660-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})661 -> 0.0014s662-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})663 -> 0.0015s664-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})665 -> 0.0014s666-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})667 -> 0.0014s668-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})669 -> 0.0014s670-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})671 -> 0.0014s672-- add_foreign_key("ci_build_needs", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})673 -> 0.0023s674-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})675 -> 0.0016s676-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})677 -> 0.0015s678-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})679 -> 0.0012s680-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})681 -> 0.0013s682-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})683 -> 0.0014s684-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})685 -> 0.0019s686-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})687 -> 0.0013s688-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"upstream_pipeline_id", :name=>"fk_87f4cefcda", :on_delete=>:cascade})689 -> 0.0015s690-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})691 -> 0.0014s692-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})693 -> 0.0019s694-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})695 -> 0.0013s696-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})697 -> 0.0013s698-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})699 -> 0.0014s700-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})701 -> 0.0014s702-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})703 -> 0.0017s704-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})705 -> 0.0016s706-- add_foreign_key("ci_job_variables", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})707 -> 0.0014s708-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})709 -> 0.0013s710-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})711 -> 0.0012s712-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})713 -> 0.0012s714-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})715 -> 0.0017s716-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})717 -> 0.0014s718-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})719 -> 0.0014s720-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})721 -> 0.0012s722-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})723 -> 0.0013s724-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})725 -> 0.0015s726-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})727 -> 0.0017s728-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})729 -> 0.0016s730-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})731 -> 0.0015s732-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})733 -> 0.0015s734-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})735 -> 0.0015s736-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})737 -> 0.0013s738-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})739 -> 0.0012s740-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})741 -> 0.0014s742-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})743 -> 0.0016s744-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})745 -> 0.0013s746-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})747 -> 0.0015s748-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})749 -> 0.0013s750-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})751 -> 0.0015s752-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})753 -> 0.0014s754-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})755 -> 0.0017s756-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})757 -> 0.0014s758-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})759 -> 0.0014s760-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})761 -> 0.0013s762-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})763 -> 0.0014s764-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})765 -> 0.0016s766-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})767 -> 0.0014s768-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})769 -> 0.0017s770-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})771 -> 0.0014s772-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})773 -> 0.0012s774-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})775 -> 0.0013s776-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})777 -> 0.0013s778-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})779 -> 0.0020s780-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})781 -> 0.0014s782-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})783 -> 0.0015s784-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})785 -> 0.0014s786-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})787 -> 0.0013s788-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})789 -> 0.0015s790-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})791 -> 0.0015s792-- add_foreign_key("clusters_kubernetes_namespaces", "environments", {:on_delete=>:nullify})793 -> 0.0014s794-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})795 -> 0.0017s796-- add_foreign_key("container_repositories", "projects")797 -> 0.0018s798-- add_foreign_key("dependency_proxy_blobs", "namespaces", {:column=>"group_id", :name=>"fk_db58bbc5d7", :on_delete=>:cascade})799 -> 0.0015s800-- add_foreign_key("dependency_proxy_group_settings", "namespaces", {:column=>"group_id", :name=>"fk_616ddd680a", :on_delete=>:cascade})801 -> 0.0013s802-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})803 -> 0.0015s804-- add_foreign_key("deployments", "clusters", {:name=>"fk_289bba3222", :on_delete=>:nullify})805 -> 0.0019s806-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})807 -> 0.0018s808-- add_foreign_key("design_management_designs", "issues", {:on_delete=>:cascade})809 -> 0.0023s810-- add_foreign_key("design_management_designs", "projects", {:on_delete=>:cascade})811 -> 0.0015s812-- add_foreign_key("design_management_designs_versions", "design_management_designs", {:column=>"design_id", :name=>"fk_03c671965c", :on_delete=>:cascade})813 -> 0.0014s814-- add_foreign_key("design_management_designs_versions", "design_management_versions", {:column=>"version_id", :name=>"fk_f4d25ba00c", :on_delete=>:cascade})815 -> 0.0013s816-- add_foreign_key("design_management_versions", "issues", {:on_delete=>:cascade})817 -> 0.0013s818-- add_foreign_key("draft_notes", "merge_requests", {:on_delete=>:cascade})819 -> 0.0015s820-- add_foreign_key("draft_notes", "users", {:column=>"author_id", :on_delete=>:cascade})821 -> 0.0016s822-- add_foreign_key("elasticsearch_indexed_namespaces", "namespaces", {:on_delete=>:cascade})823 -> 0.0015s824-- add_foreign_key("elasticsearch_indexed_projects", "projects", {:on_delete=>:cascade})825 -> 0.0016s826-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})827 -> 0.0016s828-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})829 -> 0.0018s830-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})831 -> 0.0015s832-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})833 -> 0.0015s834-- add_foreign_key("epics", "epics", {:column=>"parent_id", :name=>"fk_25b99c1be3", :on_delete=>:cascade})835 -> 0.0013s836-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})837 -> 0.0015s838-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})839 -> 0.0014s840-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})841 -> 0.0015s842-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})843 -> 0.0015s844-- add_foreign_key("epics", "users", {:column=>"closed_by_id", :name=>"fk_aa5798e761", :on_delete=>:nullify})845 -> 0.0016s846-- add_foreign_key("events", "projects", {:on_delete=>:cascade})847 -> 0.0018s848-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})849 -> 0.0015s850-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})851 -> 0.0013s852-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})853 -> 0.0014s854-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})855 -> 0.0015s856-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})857 -> 0.0014s858-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})859 -> 0.0016s860-- add_foreign_key("geo_container_repository_updated_events", "container_repositories", {:name=>"fk_212c89c706", :on_delete=>:cascade})861 -> 0.0012s862-- add_foreign_key("geo_event_log", "geo_cache_invalidation_events", {:column=>"cache_invalidation_event_id", :name=>"fk_42c3b54bed", :on_delete=>:cascade})863 -> 0.0017s864-- add_foreign_key("geo_event_log", "geo_container_repository_updated_events", {:column=>"container_repository_updated_event_id", :name=>"fk_6ada82d42a", :on_delete=>:cascade})865 -> 0.0012s866-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})867 -> 0.0012s868-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})869 -> 0.0012s870-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})871 -> 0.0012s872-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})873 -> 0.0013s874-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})875 -> 0.0013s876-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})877 -> 0.0013s878-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})879 -> 0.0013s880-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :name=>"fk_78a6492f68", :on_delete=>:cascade})881 -> 0.0013s882-- add_foreign_key("geo_event_log", "geo_reset_checksum_events", {:column=>"reset_checksum_event_id", :name=>"fk_cff7185ad2", :on_delete=>:cascade})883 -> 0.0012s884-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})885 -> 0.0012s886-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})887 -> 0.0017s888-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})889 -> 0.0015s890-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})891 -> 0.0016s892-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})893 -> 0.0014s894-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})895 -> 0.0015s896-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})897 -> 0.0012s898-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})899 -> 0.0017s900-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})901 -> 0.0019s902-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})903 -> 0.0016s904-- add_foreign_key("geo_reset_checksum_events", "projects", {:on_delete=>:cascade})905 -> 0.0021s906-- add_foreign_key("gitlab_subscriptions", "namespaces", {:name=>"fk_e2595d00a1", :on_delete=>:cascade})907 -> 0.0015s908-- add_foreign_key("gitlab_subscriptions", "plans", {:column=>"hosted_plan_id", :name=>"fk_bd0c4019c3", :on_delete=>:cascade})909 -> 0.0013s910-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})911 -> 0.0031s912-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})913 -> 0.0016s914-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})915 -> 0.0015s916-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})917 -> 0.0012s918-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})919 -> 0.0017s920-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})921 -> 0.0014s922-- add_foreign_key("identities", "saml_providers", {:name=>"fk_aade90f0fc", :on_delete=>:cascade})923 -> 0.0016s924-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})925 -> 0.0020s926-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})927 -> 0.0018s928-- add_foreign_key("insights", "namespaces", {:on_delete=>:cascade})929 -> 0.0017s930-- add_foreign_key("insights", "projects", {:on_delete=>:cascade})931 -> 0.0015s932-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})933 -> 0.0017s934-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})935 -> 0.0017s936-- add_foreign_key("ip_restrictions", "namespaces", {:column=>"group_id", :on_delete=>:cascade})937 -> 0.0015s938-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})939 -> 0.0014s940-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})941 -> 0.0015s942-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})943 -> 0.0015s944-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})945 -> 0.0013s946-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})947 -> 0.0014s948-- add_foreign_key("issue_tracker_data", "services", {:on_delete=>:cascade})949 -> 0.0016s950-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})951 -> 0.0014s952-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})953 -> 0.0015s954-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})955 -> 0.0017s956-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})957 -> 0.0016s958-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})959 -> 0.0018s960-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})961 -> 0.0017s962-- add_foreign_key("jira_connect_subscriptions", "jira_connect_installations", {:name=>"fk_f1d617343f", :on_delete=>:cascade})963 -> 0.0016s964-- add_foreign_key("jira_connect_subscriptions", "namespaces", {:name=>"fk_a3c10bcf7d", :on_delete=>:cascade})965 -> 0.0016s966-- add_foreign_key("jira_tracker_data", "services", {:on_delete=>:cascade})967 -> 0.0015s968-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})969 -> 0.0015s970-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})971 -> 0.0015s972-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})973 -> 0.0016s974-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})975 -> 0.0016s976-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})977 -> 0.0018s978-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})979 -> 0.0018s980-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})981 -> 0.0017s982-- add_foreign_key("list_user_preferences", "lists", {:on_delete=>:cascade})983 -> 0.0018s984-- add_foreign_key("list_user_preferences", "users", {:on_delete=>:cascade})985 -> 0.0017s986-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})987 -> 0.0013s988-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})989 -> 0.0012s990-- add_foreign_key("lists", "milestones", {:on_delete=>:cascade})991 -> 0.0014s992-- add_foreign_key("lists", "users", {:name=>"fk_d6cf4279f7", :on_delete=>:cascade})993 -> 0.0017s994-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})995 -> 0.0020s996-- add_foreign_key("merge_request_assignees", "merge_requests", {:on_delete=>:cascade})997 -> 0.0016s998-- add_foreign_key("merge_request_assignees", "users", {:on_delete=>:cascade})999 -> 0.0016s1000-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocked_merge_request_id", :on_delete=>:cascade})1001 -> 0.0016s1002-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocking_merge_request_id", :on_delete=>:cascade})1003 -> 0.0014s1004-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1005 -> 0.0016s1006-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1007 -> 0.0013s1008-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1009 -> 0.0015s1010-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1011 -> 0.0019s1012-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1013 -> 0.0015s1014-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1015 -> 0.0017s1016-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1017 -> 0.0015s1018-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1019 -> 0.0015s1020-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1021 -> 0.0013s1022-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1023 -> 0.0015s1024-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1025 -> 0.0020s1026-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1027 -> 0.0018s1028-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1029 -> 0.0019s1030-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1031 -> 0.0018s1032-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1033 -> 0.0019s1034-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1035 -> 0.0017s1036-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1037 -> 0.0014s1038-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1039 -> 0.0013s1040-- add_foreign_key("merge_trains", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1041 -> 0.0015s1042-- add_foreign_key("merge_trains", "merge_requests", {:on_delete=>:cascade})1043 -> 0.0014s1044-- add_foreign_key("merge_trains", "projects", {:column=>"target_project_id", :on_delete=>:cascade})1045 -> 0.0016s1046-- add_foreign_key("merge_trains", "users", {:on_delete=>:cascade})1047 -> 0.0017s1048-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1049 -> 0.0015s1050-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1051 -> 0.0016s1052-- add_foreign_key("namespace_aggregation_schedules", "namespaces", {:on_delete=>:cascade})1053 -> 0.0015s1054-- add_foreign_key("namespace_root_storage_statistics", "namespaces", {:on_delete=>:cascade})1055 -> 0.0015s1056-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1057 -> 0.0015s1058-- add_foreign_key("namespaces", "namespaces", {:column=>"custom_project_templates_group_id", :name=>"fk_e7a0b20a6b", :on_delete=>:nullify})1059 -> 0.0015s1060-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1061 -> 0.0021s1062-- add_foreign_key("namespaces", "projects", {:column=>"file_template_project_id", :name=>"fk_319256d87a", :on_delete=>:nullify})1063 -> 0.0017s1064-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1065 -> 0.0017s1066-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1067 -> 0.0017s1068-- add_foreign_key("notes", "reviews", {:name=>"fk_2e82291620", :on_delete=>:nullify})1069 -> 0.0013s1070-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1071 -> 0.0019s1072-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1073 -> 0.0015s1074-- add_foreign_key("operations_feature_flag_scopes", "operations_feature_flags", {:column=>"feature_flag_id", :on_delete=>:cascade})1075 -> 0.0014s1076-- add_foreign_key("operations_feature_flags", "projects", {:on_delete=>:cascade})1077 -> 0.0015s1078-- add_foreign_key("operations_feature_flags_clients", "projects", {:on_delete=>:cascade})1079 -> 0.0017s1080-- add_foreign_key("packages_maven_metadata", "packages_packages", {:column=>"package_id", :name=>"fk_be88aed360", :on_delete=>:cascade})1081 -> 0.0014s1082-- add_foreign_key("packages_package_files", "packages_packages", {:column=>"package_id", :name=>"fk_86f0f182f8", :on_delete=>:cascade})1083 -> 0.0013s1084-- add_foreign_key("packages_packages", "projects", {:on_delete=>:cascade})1085 -> 0.0018s1086-- add_foreign_key("pages_domain_acme_orders", "pages_domains", {:on_delete=>:cascade})1087 -> 0.0017s1088-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1089 -> 0.0017s1090-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1091 -> 0.0018s1092-- add_foreign_key("path_locks", "users")1093 -> 0.0016s1094-- add_foreign_key("personal_access_tokens", "users")1095 -> 0.0017s1096-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})1097 -> 0.0018s1098-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})1099 -> 0.0013s1100-- add_foreign_key("project_alerting_settings", "projects", {:on_delete=>:cascade})1101 -> 0.0018s1102-- add_foreign_key("project_aliases", "projects", {:on_delete=>:cascade})1103 -> 0.0018s1104-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1105 -> 0.0019s1106-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1107 -> 0.0016s1108-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1109 -> 0.0018s1110-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1111 -> 0.0017s1112-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1113 -> 0.0018s1114-- add_foreign_key("project_daily_statistics", "projects", {:on_delete=>:cascade})1115 -> 0.0018s1116-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1117 -> 0.0017s1118-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1119 -> 0.0017s1120-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})1121 -> 0.0018s1122-- add_foreign_key("project_feature_usages", "projects", {:on_delete=>:cascade})1123 -> 0.0018s1124-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1125 -> 0.0017s1126-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1127 -> 0.0018s1128-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1129 -> 0.0017s1130-- add_foreign_key("project_incident_management_settings", "projects", {:on_delete=>:cascade})1131 -> 0.0018s1132-- add_foreign_key("project_metrics_settings", "projects", {:on_delete=>:cascade})1133 -> 0.0017s1134-- add_foreign_key("project_mirror_data", "projects", {:on_delete=>:cascade})1135 -> 0.0020s1136-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})1137 -> 0.0017s1138-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})1139 -> 0.0012s1140-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1141 -> 0.0021s1142-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1143 -> 0.0019s1144-- add_foreign_key("project_tracing_settings", "projects", {:on_delete=>:cascade})1145 -> 0.0016s1146-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})1147 -> 0.0018s1148-- add_foreign_key("prometheus_alert_events", "projects", {:on_delete=>:cascade})1149 -> 0.0018s1150-- add_foreign_key("prometheus_alert_events", "prometheus_alerts", {:on_delete=>:cascade})1151 -> 0.0015s1152-- add_foreign_key("prometheus_alerts", "environments", {:on_delete=>:cascade})1153 -> 0.0013s1154-- add_foreign_key("prometheus_alerts", "projects", {:on_delete=>:cascade})1155 -> 0.0016s1156-- add_foreign_key("prometheus_alerts", "prometheus_metrics", {:on_delete=>:cascade})1157 -> 0.0016s1158-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1159 -> 0.0016s1160-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1161 -> 0.0016s1162-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1163 -> 0.0015s1164-- add_foreign_key("protected_branch_merge_access_levels", "users")1165 -> 0.0016s1166-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1167 -> 0.0016s1168-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1169 -> 0.0012s1170-- add_foreign_key("protected_branch_push_access_levels", "users")1171 -> 0.0015s1172-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1173 -> 0.0017s1174-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1175 -> 0.0013s1176-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1177 -> 0.0016s1178-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1179 -> 0.0017s1180-- add_foreign_key("protected_environment_deploy_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1181 -> 0.0015s1182-- add_foreign_key("protected_environment_deploy_access_levels", "protected_environments", {:on_delete=>:cascade})1183 -> 0.0014s1184-- add_foreign_key("protected_environment_deploy_access_levels", "users", {:on_delete=>:cascade})1185 -> 0.0014s1186-- add_foreign_key("protected_environments", "projects", {:on_delete=>:cascade})1187 -> 0.0017s1188-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1189 -> 0.0015s1190-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1191 -> 0.0014s1192-- add_foreign_key("protected_tag_create_access_levels", "users")1193 -> 0.0016s1194-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1195 -> 0.0017s1196-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1197 -> 0.0013s1198-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1199 -> 0.0022s1200-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})1201 -> 0.0015s1202-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1203 -> 0.0017s1204-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})1205 -> 0.0016s1206-- add_foreign_key("remote_mirrors", "projects", {:on_delete=>:cascade})1207 -> 0.0018s1208-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1209 -> 0.0018s1210-- add_foreign_key("resource_label_events", "epics", {:on_delete=>:cascade})1211 -> 0.0018s1212-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1213 -> 0.0032s1214-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1215 -> 0.0015s1216-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1217 -> 0.0015s1218-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1219 -> 0.0016s1220-- add_foreign_key("reviews", "merge_requests", {:on_delete=>:cascade})1221 -> 0.0015s1222-- add_foreign_key("reviews", "projects", {:on_delete=>:cascade})1223 -> 0.0018s1224-- add_foreign_key("reviews", "users", {:column=>"author_id", :on_delete=>:nullify})1225 -> 0.0016s1226-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1227 -> 0.0015s1228-- add_foreign_key("scim_oauth_access_tokens", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1229 -> 0.0015s1230-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1231 -> 0.0019s1232-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1233 -> 0.0015s1234-- add_foreign_key("smartcard_identities", "users", {:on_delete=>:cascade})1235 -> 0.0017s1236-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1237 -> 0.0022s1238-- add_foreign_key("software_license_policies", "projects", {:on_delete=>:cascade})1239 -> 0.0020s1240-- add_foreign_key("software_license_policies", "software_licenses", {:on_delete=>:cascade})1241 -> 0.0014s1242-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1243 -> 0.0019s1244-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})1245 -> 0.0015s1246-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1247 -> 0.0015s1248-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1249 -> 0.0015s1250-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1251 -> 0.0016s1252-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1253 -> 0.0016s1254-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1255 -> 0.0014s1256-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1257 -> 0.0019s1258-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1259 -> 0.0014s1260-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1261 -> 0.0017s1262-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1263 -> 0.0017s1264-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1265 -> 0.0016s1266-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1267 -> 0.0018s1268-- add_foreign_key("u2f_registrations", "users")1269 -> 0.0017s1270-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1271 -> 0.0017s1272-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1273 -> 0.0015s1274-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1275 -> 0.0016s1276-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1277 -> 0.0017s1278-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})1279 -> 0.0016s1280-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1281 -> 0.0016s1282-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1283 -> 0.0017s1284-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1285 -> 0.0017s1286-- add_foreign_key("users", "namespaces", {:column=>"managing_group_id", :name=>"fk_a4b8fefe3e", :on_delete=>:nullify})1287 -> 0.0020s1288-- add_foreign_key("users_ops_dashboard_projects", "projects", {:on_delete=>:cascade})1289 -> 0.0018s1290-- add_foreign_key("users_ops_dashboard_projects", "users", {:on_delete=>:cascade})1291 -> 0.0017s1292-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1293 -> 0.0018s1294-- add_foreign_key("vulnerability_feedback", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1295 -> 0.0018s1296-- add_foreign_key("vulnerability_feedback", "issues", {:on_delete=>:nullify})1297 -> 0.0014s1298-- add_foreign_key("vulnerability_feedback", "merge_requests", {:name=>"fk_563ff1912e", :on_delete=>:nullify})1299 -> 0.0015s1300-- add_foreign_key("vulnerability_feedback", "projects", {:on_delete=>:cascade})1301 -> 0.0018s1302-- add_foreign_key("vulnerability_feedback", "users", {:column=>"author_id", :on_delete=>:cascade})1303 -> 0.0016s1304-- add_foreign_key("vulnerability_feedback", "users", {:column=>"comment_author_id", :name=>"fk_94f7c8a81e", :on_delete=>:nullify})1305 -> 0.0016s1306-- add_foreign_key("vulnerability_identifiers", "projects", {:on_delete=>:cascade})1307 -> 0.0019s1308-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_identifiers", {:column=>"identifier_id", :on_delete=>:cascade})1309 -> 0.0013s1310-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1311 -> 0.0015s1312-- add_foreign_key("vulnerability_occurrence_pipelines", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1313 -> 0.0014s1314-- add_foreign_key("vulnerability_occurrence_pipelines", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1315 -> 0.0013s1316-- add_foreign_key("vulnerability_occurrences", "projects", {:on_delete=>:cascade})1317 -> 0.0019s1318-- add_foreign_key("vulnerability_occurrences", "vulnerability_identifiers", {:column=>"primary_identifier_id", :on_delete=>:cascade})1319 -> 0.0013s1320-- add_foreign_key("vulnerability_occurrences", "vulnerability_scanners", {:column=>"scanner_id", :on_delete=>:cascade})1321 -> 0.0014s1322-- add_foreign_key("vulnerability_scanners", "projects", {:on_delete=>:cascade})1323 -> 0.0018s1324-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1325 -> 0.0016s1326-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1327 -> 0.0019s1328$ date1329Thu Aug 29 20:34:04 UTC 20191330$ JOB_NAME=( $CI_JOB_NAME )1331$ TEST_TOOL=${JOB_NAME[0]}1332$ TEST_LEVEL=${JOB_NAME[1]}1333$ DATABASE=${JOB_NAME[2]}1334$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${TEST_TOOL}_${TEST_LEVEL}_${DATABASE}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1335$ export KNAPSACK_GENERATE_REPORT=true KNAPSACK_LOG_LEVEL=debug KNAPSACK_TEST_DIR=spec1336$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}1337$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1338$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1339$ export FLAKY_RSPEC_GENERATE_REPORT=true1340$ export CACHE_CLASSES=true1341$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1342$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}1343$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}1344$ scripts/gitaly-test-spawn1345Checking gitaly-ruby bundle...1346Warning: 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`.1347The Gemfile's dependencies are satisfied1348Trying to connect to gitaly: ..... OK1349$ date1350Thu Aug 29 20:34:05 UTC 20191351$ export KNAPSACK_TEST_FILE_PATTERN=$(ruby -r./lib/quality/test_level.rb -e "puts Quality::TestLevel.new.pattern(:${TEST_LEVEL})")1352$ mkdir -p tmp/memory_test1353$ export MEMORY_TEST_PATH="tmp/memory_test/${TEST_TOOL}_${TEST_LEVEL}_${DATABASE}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_memory.csv"1354$ knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml --tag level:${TEST_LEVEL} --tag ~geo"1355/builds/gitlab-org/gitlab-ce/spec/support/shared_examples/quick_actions/issuable/issuable_quick_actions_shared_examples.rb:4: warning: already initialized constant QuickAction1356/builds/gitlab-org/gitlab-ce/spec/support/shared_examples/quick_actions/issuable/issuable_quick_actions_shared_examples.rb:4: warning: previous definition of QuickAction was here1357Knapsack report generator started!1358Run options:1359 include {:focus=>true, :level=>"unit"}1360 exclude {:geo=>true}1361==> Setting up GitLab Shell...1362 GitLab Shell set up in 0.070008805 seconds...1363==> Setting up Gitaly...1364 Gitaly set up in 0.000206204 seconds...1365MergeRequests::CreateFromIssueService1366 #execute1367 no target_project_id specified1368 inherits labels1369 inherits milestones1370 sets the merge request title to: "WIP: Resolves "$issue-title"1371 behaves like a service that creates a merge request from an issue1372 returns an error when user can not create merge request on target project1373 returns an error with invalid issue iid1374 creates a branch based on issue title1375 creates a branch using passed name1376 creates the new_merge_request system note1377 creates the new_issue_branch system note when the branch could be created but the merge_request cannot be created1378 creates a merge request1379 sets the merge request author to current user1380 sets the merge request source branch to the new issue branch1381 sets the merge request source branch to the passed branch name1382 sets the merge request target branch to the project default branch1383 executes quick actions if the build service sets them in the description1384 when ref branch is set1385 sets the merge request source branch to the new issue branch1386 sets the merge request target branch to the ref branch1387 when ref branch does not exist1388 creates a merge request1389 sets the merge request target branch to the project default branch1390 target_project_id is specified1391 target project is not a fork of the project1392 returns an error about not finding the project1393 does not create merge request1394 target project is a fork of project project1395 sets the merge request title to: "WIP: $issue-branch-name1396 behaves like a service that creates a merge request from an issue1397 returns an error when user can not create merge request on target project1398 returns an error with invalid issue iid1399 creates a branch based on issue title1400 creates a branch using passed name1401 creates the new_merge_request system note1402 creates the new_issue_branch system note when the branch could be created but the merge_request cannot be created1403 creates a merge request1404 sets the merge request author to current user1405 sets the merge request source branch to the new issue branch1406 sets the merge request source branch to the passed branch name1407 sets the merge request target branch to the project default branch1408 executes quick actions if the build service sets them in the description1409 when ref branch is set1410 sets the merge request source branch to the new issue branch1411 sets the merge request target branch to the ref branch1412 when ref branch does not exist1413 creates a merge request1414 sets the merge request target branch to the project default branch1415GpgKey1416 associations1417 should belong to user required:1418 should have many subkeys1419 validation1420 should validate that :user cannot be empty/falsy1421 should validate that :key cannot be empty/falsy1422 should validate that :key is case-sensitively unique1423 should allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey\n-----END PGP PUBLIC KEY BLOCK-----"›1424 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey"›1425 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey\n-----BEGIN PGP PUBLIC KEY BLOCK-----"›1426 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK----------END PGP PUBLIC KEY BLOCK-----"›1427 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----"›1428 should not allow :key to be ‹"-----END PGP PUBLIC KEY BLOCK-----"›1429 should not allow :key to be ‹"key\n-----END PGP PUBLIC KEY BLOCK-----"›1430 should not allow :key to be ‹"BEGIN PGP"›1431 callbacks1432 extract_fingerprint1433 extracts the fingerprint from the gpg key1434 extract_primary_keyid1435 extracts the primary keyid from the gpg key1436 generate_subkeys1437 extracts the subkeys from the gpg key1438 #key=1439 strips white spaces1440 does not strip when the key is nil1441 #user_infos1442 returns the user infos from the gpg key1443 #verified_user_infos1444 returns the user infos if it is verified1445 returns an empty array if the user info is not verified1446 #emails_with_verified_status1447 email is verified if the user has the matching email1448 #verified?1449 returns true if one of the email addresses in the key belongs to the user1450 returns false if none of the email addresses in the key does not belong to the user1451 verified_and_belongs_to_email?1452 returns false if none of the email addresses in the key does not belong to the user1453 returns false if one of the email addresses in the key belongs to the user and does not match the provided email1454 returns true if one of the email addresses in the key belongs to the user and matches the provided email1455 returns true if one of the email addresses in the key belongs to the user and case-insensitively matches the provided email1456 #revoke1457 invalidates all associated gpg signatures and destroys the key1458 deletes all the associated subkeys1459 invalidates all signatures associated to the subkeys1460Notes::CreateService1461 #execute1462 valid params1463 returns a valid note1464 returns a persisted note1465 note has valid content1466 note belongs to the correct project1467 TodoService#new_note is called1468 enqueues NewNoteWorker1469 noteable highlight cache clearing1470 clears noteable diff cache when it was unfolded for the note position1471 does not clear cache when note is not the first of the discussion1472 note diff file1473 when eligible to have a note diff file1474 note is associated with a note diff file1475 when DiffNote is a reply1476 note is not associated with a note diff file1477 when DiffNote from an image1478 note is not associated with a note diff file1479 note with commands1480 all quick actions1481 for issues1482 behaves like issuable quick actions1483 when user can update issuable1484 saves the note and updates the issue1485 when user cannot update issuable1486 applies commands that user can execute1487 for merge requests1488 behaves like issuable quick actions1489 when user can update issuable1490 saves the note and updates the issue1491 when user cannot update issuable1492 applies commands that user can execute1493 when note only have commands1494 adds commands applied message to note errors1495 personal snippet note1496 returns a valid note1497 returns a persisted note1498 note has valid content1499 note with emoji only1500 creates regular note1501 reply to individual note1502 creates a DiscussionNote in reply to existing note1503 converts existing note to DiscussionNote1504 usage counter1505 snippet note1506 increments usage counter1507 does not increment usage counter when creation fails1508 issue note1509 does not increment usage counter1510Discussion ResolvableDiscussion1511 #resolvable?1512 when potentially resolvable1513 when all notes are unresolvable1514 returns false1515 when some notes are unresolvable and some notes are resolvable1516 returns true1517 when all notes are resolvable1518 returns true1519 when not potentially resolvable1520 returns false1521 #resolved?1522 when not resolvable1523 returns false1524 when resolvable1525 when all resolvable notes are resolved1526 returns true1527 when some resolvable notes are not resolved1528 returns false1529 #to_be_resolved?1530 when not resolvable1531 returns false1532 when resolvable1533 when all resolvable notes are resolved1534 returns false1535 when some resolvable notes are not resolved1536 returns true1537 #can_resolve?1538 when not resolvable1539 returns false1540 when resolvable1541 when not signed in1542 returns false1543 when signed in1544 when the signed in user is the noteable author1545 returns true1546 when the signed in user can push to the project1547 returns true1548 when the signed in user is a random user1549 returns false1550 #resolve!1551 when not resolvable1552 returns nil1553 doesn't set resolved_at1554 doesn't set resolved_by1555 doesn't mark as resolved1556 when resolvable1557 when all resolvable notes are resolved1558 doesn't change resolved_at on the resolved notes1559 doesn't change resolved_by on the resolved notes1560 doesn't change the resolved state on the resolved notes1561 doesn't change resolved_at1562 doesn't change resolved_by1563 doesn't change resolved state1564 when some resolvable notes are resolved1565 doesn't change resolved_at on the resolved note1566 doesn't change resolved_by on the resolved note1567 doesn't change the resolved state on the resolved note1568 sets resolved_at on the unresolved note1569 sets resolved_by on the unresolved note1570 marks the unresolved note as resolved1571 sets resolved_at1572 sets resolved_by1573 marks as resolved1574 when no resolvable notes are resolved1575 sets resolved_at on the unresolved notes1576 sets resolved_by on the unresolved notes1577 marks the unresolved notes as resolved1578 sets resolved_at1579 sets resolved_by1580 marks as resolved1581 #unresolve!1582 when not resolvable1583 returns nil1584 when resolvable1585 when all resolvable notes are resolved1586 unsets resolved_at on the resolved notes1587 unsets resolved_by on the resolved notes1588 unmarks the resolved notes as resolved1589 unsets resolved_at1590 unsets resolved_by1591 unmarks as resolved1592 when some resolvable notes are resolved1593 unsets resolved_at on the resolved note1594 unsets resolved_by on the resolved note1595 unmarks the resolved note as resolved1596 #first_note_to_resolve1597 returns the first note that still needs to be resolved1598 #last_resolved_note1599 returns the last note that was resolved1600MarkupHelper1601 #markdown1602 referencing multiple objects1603 links to the merge request1604 links to the commit1605 links to the issue1606 override default project1607 links to the issue1608 uploads1609 inside a project1610 renders uploads relative to project1611 inside a group1612 renders uploads relative to the group1613 with a group in the context1614 renders uploads relative to project1615 #markdown_field1616 with already redacted attribute1617 returns the redacted attribute1618 without redacted attribute1619 renders the markdown value1620 #link_to_markdown_field1621 handles references nested in links with all the text1622 #link_to_markdown1623 handles references nested in links with all the text1624 forwards HTML options1625 escapes HTML passed in as the body1626 ignores reference links when they are the entire body1627 replaces commit message with emoji to link1628 #link_to_html1629 wraps the rendered content in a link1630 #render_wiki_content1631 uses Wiki pipeline for markdown files1632 uses Asciidoctor for asciidoc files1633 uses the Gollum renderer for all other file types1634 #markup1635 preserves encoding1636 delegates to #markdown_unsafe when file name corresponds to Markdown1637 delegates to #asciidoc_unsafe when file name corresponds to AsciiDoc1638 uses passed in rendered content1639 defaults to CommonMark1640 #markup_unsafe1641 when text is missing1642 returns an empty string1643 when file is a markdown file1644 returns html (rendered by Banzai)1645 when renderer returns an error1646 returns html (rendered by ActionView:TextHelper)1647 when file is asciidoc file1648 returns html (rendered by Gitlab::Asciidoc)1649 when file is a regular text file1650 returns html (rendered by ActionView::TagHelper)1651 when file has an unknown type1652 returns html (rendered by Gitlab::OtherMarkup)1653 #first_line_in_markdown1654 when the asked attribute can be redacted1655 displays inline code1656 truncates the text with multiple paragraphs1657 displays the first line of a code block1658 truncates a single long line of text1659 preserves a link href when link text is truncated1660 preserves code color scheme1661 truncates Markdown properly1662 truncates Markdown with emoji properly1663 when images are allowed1664 preserves data-src for lazy images1665 when images are not allowed1666 removes any images1667 labels formatting1668 preserves style attribute for a label that can be accessed by current_user1669 does not style a label that can not be accessed by current_user1670 when the asked attribute can not be redacted1671 displays inline code1672 truncates the text with multiple paragraphs1673 displays the first line of a code block1674 truncates a single long line of text1675 preserves a link href when link text is truncated1676 preserves code color scheme1677 truncates Markdown properly1678 truncates Markdown with emoji properly1679 when images are allowed1680 preserves data-src for lazy images1681 when images are not allowed1682 removes any images1683 labels formatting1684 preserves style attribute for a label that can be accessed by current_user1685 does not style a label that can not be accessed by current_user1686 #cross_project_reference1687 shows the full MR reference1688 shows the full issue reference1689Gitlab::Diff::File1690 #diff_lines1691 should eq 301692 should be a kind of Gitlab::Diff::Line1693 #highlighted_diff_lines1694 highlights the diff and memoises the result1695 #diff_lines_for_serializer1696 includes bottom match line if not in the end1697 when called multiple times1698 only adds bottom match line once1699 when deleted1700 does not include bottom match line1701 #unfold_diff_lines1702 when unfold required1703 changes @unfolded to true1704 updates @diff_lines1705 when unfold not required1706 keeps @unfolded false1707 does not update @diff_lines1708 #mode_changed?1709 should be falsey1710 #too_large?1711 returns true for a file that is too large1712 returns false for a file that is small enough1713 #collapsed?1714 returns true for a file that is quite big1715 returns false for a file that is small enough1716 #old_blob1717 returns blob of commit of base commit1718 #new_blob1719 returns blob of new commit1720 #diffable?1721 returns true for files that do not have attributes1722 returns false for files that have been marked as not being diffable in attributes1723 #content_changed?1724 when created1725 returns false1726 when deleted1727 returns false1728 when renamed1729 returns false1730 when content changed1731 when binary1732 when the blobs are different1733 returns true1734 when there are no diff refs1735 returns false1736 when not binary1737 when the blobs are different1738 returns true1739 when there are no diff refs1740 returns true1741 diff file stats1742 #added_lines1743 when stats argument given1744 returns added lines from stats1745 when stats argument not given1746 returns added lines by parsing raw diff1747 #removed_lines1748 when stats argument given1749 returns removed lines from stats1750 when stats argument not given1751 returns removed lines by parsing raw diff1752 #simple_viewer1753 when the file is not diffable1754 returns a Not Diffable viewer1755 when the content changed1756 when the file represented by the diff file is binary1757 returns a No Preview viewer1758 when the diff file old and new blob types are different1759 returns a No Preview viewer1760 when the file represented by the diff file is text-based1761 returns a text viewer1762 when created1763 when the file represented by the diff file is binary1764 returns an Added viewer1765 when the diff file old and new blob types are different1766 returns an Added viewer1767 when the file represented by the diff file is text-based1768 returns a text viewer1769 when deleted1770 when the file represented by the diff file is binary1771 returns a Deleted viewer1772 when the diff file old and new blob types are different1773 returns a Deleted viewer1774 when the file represented by the diff file is text-based1775 returns a text viewer1776 when renamed1777 returns a Renamed viewer1778 when mode changed1779 returns a Mode Changed viewer1780 when no other conditions apply1781 returns a No Preview viewer1782 #rich_viewer1783 when the diff file has a matching viewer1784 when the diff file content did not change1785 returns nil1786 when the diff file is not diffable1787 returns nil1788 when the diff file old and new blob types are different1789 returns nil1790 when the diff file has an external storage error1791 returns nil1792 when everything is right1793 returns the viewer1794 when the diff file does not have a matching viewer1795 returns nil1796 #rendered_as_text?1797 when the simple viewer is text-based1798 when ignoring errors1799 when the viewer has render errors1800 returns true1801 when the viewer doesn't have render errors1802 returns true1803 when not ignoring errors1804 when the viewer has render errors1805 returns false1806 when the viewer doesn't have render errors1807 returns true1808 when the simple viewer is binary1809 returns false1810 when neither blob exists1811 #blob1812 returns a concrete nil so it can be used in boolean expressions1813 #binary?1814 returns false1815 #size1816 returns zero1817 #empty?1818 returns true1819 #different_type?1820 returns false1821 #content_changed?1822 returns false1823 #diff_hunk1824 when first line is a match1825 returns raw diff up to given line index1826 when first line is not a match1827 returns raw diff up to given line index1828 #empty?1829 when empty file is created1830 returns true1831 when empty file is deleted1832 returns true1833 when file with content is truncated1834 returns false1835 when empty file has content added1836 returns false1837 #fully_expanded?1838 when empty file is created1839 returns true1840 when empty file is deleted1841 returns true1842 when short file with last line removed1843 returns true1844 when a single line is added to empty file1845 returns true1846 when single line file is changed1847 returns true1848 when long file is changed1849 when first line is removed1850 returns true1851 when last line is removed1852 returns true1853 when first and last lines are removed1854 returns false1855 when first and last lines are changed1856 returns false1857 when every line are changed1858 returns true1859 when all contents are cleared1860 returns true1861 when file is binary1862 returns true1863Gitlab::SearchResults1864 does not list issues on private projects1865 does not list merge requests on projects with limited access1866 as a user with access1867 includes merge requests from source and target projects1868 #objects1869 returns without_counts collection by default1870 returns with counts collection when requested1871 #formatted_count1872 scope: "projects", count_method: :limited_projects_count, expected: "1000+"1873 returns the expected formatted count1874 scope: "issues", count_method: :limited_issues_count, expected: "1000+"1875 returns the expected formatted count1876 scope: "merge_requests", count_method: :limited_merge_requests_count, expected: "1000+"1877 returns the expected formatted count1878 scope: "milestones", count_method: :limited_milestones_count, expected: "1000+"1879 returns the expected formatted count1880 scope: "users", count_method: :limited_users_count, expected: "1000+"1881 returns the expected formatted count1882 scope: "unknown", count_method: nil, expected: nil1883 returns the expected formatted count1884 #formatted_limited_count1885 count: 23, expected: "23"1886 returns the expected formatted limited count1887 count: 1000, expected: "1000"1888 returns the expected formatted limited count1889 count: 1001, expected: "1000+"1890 returns the expected formatted limited count1891 count: 1234, expected: "1000+"1892 returns the expected formatted limited count1893 when count_limit is lower than total amount1894 #limited_projects_count1895 returns the limited amount of projects1896 #limited_merge_requests_count1897 returns the limited amount of merge requests1898 #limited_milestones_count1899 returns the limited amount of milestones1900 #limited_issues_count1901 runs single SQL query to get the limited amount of issues1902 when count_limit is higher than total amount1903 #limited_issues_count1904 runs multiple queries to get the limited amount of issues1905 #merge_requests1906 includes project filter by default1907 skips project filter if default project context is used1908 #issues1909 includes project filter by default1910 skips project filter if default project context is used1911 #users1912 does not call the UsersFinder when the current_user is not allowed to read users list1913 calls the UsersFinder1914 confidential issues1915 does not list confidential issues for non project members1916 does not list confidential issues for project members with guest role1917 lists confidential issues for author1918 lists confidential issues for assignee1919 lists confidential issues for project members1920 lists all issues for admin1921 milestones1922 returns correct set of milestones1923MergeRequests::Conflicts::ResolveService1924 #execute1925 with section params1926 when the source and target project are the same1927 creates a commit with the message1928 creates a commit with the correct parents1929 when some files have trailing newlines1930 preserves trailing newlines from our side of the conflicts1931 when the source project is a fork and does not contain the HEAD of the target branch1932 creates a commit with the message1933 creates a commit with the correct parents1934 with content and sections params1935 creates a commit with the message1936 creates a commit with the correct parents1937 sets the content to the content given1938 when a resolution section is missing1939 raises a ResolutionError error1940 when the content of a file is unchanged1941 raises a ResolutionError error1942 when a file is missing1943 raises a ResolutionError error1944SearchService1945 #project1946 when the project is accessible1947 returns the project1948 returns the project for guests1949 when the project is not accessible1950 returns nil1951 when there is no project_id1952 returns nil1953 #group1954 when the group is accessible1955 returns the group1956 when the group is not accessible1957 returns nil1958 when there is no group_id1959 returns nil1960 #show_snippets?1961 when :snippets is 'true'1962 returns true1963 when :snippets is not 'true'1964 returns false1965 when :snippets is missing1966 returns false1967 #scope1968 with accessible project_id1969 and allowed scope1970 returns the specified scope1971 and disallowed scope1972 returns the default scope1973 and no scope1974 returns the default scope1975 with 'true' snippets1976 and allowed scope1977 returns the specified scope1978 and disallowed scope1979 returns the default scope1980 and no scope1981 returns the default scope1982 with no project_id, no snippets1983 and allowed scope1984 returns the specified scope1985 and disallowed scope1986 returns the default scope1987 and no scope1988 returns the default scope1989 #search_results1990 with accessible project_id1991 returns an instance of Gitlab::ProjectSearchResults1992 with accessible project_id and 'true' snippets1993 returns an instance of Gitlab::ProjectSearchResults1994 with 'true' snippets1995 returns an instance of Gitlab::SnippetSearchResults1996 with no project_id and no snippets1997 returns an instance of Gitlab::SearchResults1998 #search_objects1999 with accessible project_id2000 returns objects in the project2001 with accessible project_id and 'true' snippets2002 returns objects in the project2003 with 'true' snippets2004 returns objects in snippets2005 with accessible group_id2006 returns objects in the group2007 with no project_id, group_id or snippets2008 returns objects in global2009BuildDetailsEntity2010 inherits from JobEntity2011 #as_json2012DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2013DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 1 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2014 contains the needed key value pairs2015 when the user has access to issues and merge requests2016 when merge request orginates from the same project2017DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2018DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 2 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2019 contains the needed key value pairs2020DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2021DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 3 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2022 exposes correct details of the merge request2023DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2024DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 4 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2025 has a correct merge request path2026 when merge request is from a fork2027DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2028DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 5 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2029 contains the needed key value pairs2030DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2031DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 6 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2032 exposes details of the merge request2033DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2034DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 7 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2035 has a merge request path to a target project2036 when the build has not been erased2037DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2038DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 8 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2039 exposes a build erase path2040 when the build has been erased2041DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2042DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 9 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2043 exposes the user who erased the build2044 when the user can only read the build2045DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2046DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 10 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2047 won't display the paths to issues and merge requests2048 when the build has failed20492019-08-29T20:41:51.787Z 241 TID-gpfx96aw5 WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>11}2050DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2051DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 11 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2052 should include {:failure_reason => "unmet_prerequisites"}2053 when a build has environment with latest deployment2054DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2055DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 13 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2056 does not serialize latest deployment commit and associated builds2057 when the build has reports2058DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "max(stage_idx)". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:377)2059DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "(SELECT COUNT(*) FROM \"ci_builds\" WHERE \"ci_builds\".\"commit_id\" = 14 AND (\"ci_builds\".\"retried\" = FALSE OR \"ci_builds\".\"retried\" IS NULL) AND (stage=sg.stage) AND \"ci_builds\".\"allow_failure\" = TRUE AND \"ci_builds\".\"status\" IN ('failed', 'canceled'))". 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 legacy_stages at /builds/gitlab-org/gitlab-ce/app/models/ci/pipeline.rb:385)2060 exposes the report artifacts2061MigrateAutoDevOpsDomainToClusterDomain2062NOTICE: trigger "trigger_50ffff51bd91" for relation "application_settings" does not exist, skipping2063NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping2064 with ProjectAutoDevOps with no domain2065== 20190204115450 MigrateAutoDevOpsDomainToClusterDomain: migrating ===========2066-- execute("UPDATE clusters\nSET domain = project_auto_devops.domain\nFROM cluster_projects, project_auto_devops\nWHERE\n cluster_projects.cluster_id = clusters.id\n AND project_auto_devops.project_id = cluster_projects.project_id\n AND project_auto_devops.domain != ''\n")2067 -> 0.0010s2068== 20190204115450 MigrateAutoDevOpsDomainToClusterDomain: migrated (0.0011s) ==2069 does not update cluster project2070 with ProjectAutoDevOps with domain2071== 20190204115450 MigrateAutoDevOpsDomainToClusterDomain: migrating ===========2072-- execute("UPDATE clusters\nSET domain = project_auto_devops.domain\nFROM cluster_projects, project_auto_devops\nWHERE\n cluster_projects.cluster_id = clusters.id\n AND project_auto_devops.project_id = cluster_projects.project_id\n AND project_auto_devops.domain != ''\n")2073 -> 0.0011s2074== 20190204115450 MigrateAutoDevOpsDomainToClusterDomain: migrated (0.0012s) ==2075 updates all cluster projects2076 when only some ProjectAutoDevOps have domain set2077== 20190204115450 MigrateAutoDevOpsDomainToClusterDomain: migrating ===========2078-- execute("UPDATE clusters\nSET domain = project_auto_devops.domain\nFROM cluster_projects, project_auto_devops\nWHERE\n cluster_projects.cluster_id = clusters.id\n AND project_auto_devops.project_id = cluster_projects.project_id\n AND project_auto_devops.domain != ''\n")2079 -> 0.0011s2080== 20190204115450 MigrateAutoDevOpsDomainToClusterDomain: migrated (0.0012s) ==2081 only updates specific cluster projects2082NOTICE: table "design_management_designs" does not exist, skipping2083NOTICE: table "design_management_designs_versions" does not exist, skipping2084NOTICE: table "design_management_versions" does not exist, skipping2085NOTICE: table "geo_container_repository_updated_events" does not exist, skipping2086NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping2087NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping2088Projects::UpdateRemoteMirrorService2089 #execute20902019-08-29T20:42:10.891Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_1 from project 54420912019-08-29T20:42:10.900Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_1 from project 5442092 ensures the remote exists20932019-08-29T20:42:12.085Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_2 from project 54620942019-08-29T20:42:12.094Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_2 from project 5462095 fetches the remote repository20962019-08-29T20:42:12.522Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_3 from project 54820972019-08-29T20:42:12.531Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_3 from project 5482098 marks the mirror as started when beginning20992019-08-29T20:42:13.049Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_4 from project 55021002019-08-29T20:42:13.059Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_4 from project 5502101 marks the mirror as successfully finished21022019-08-29T20:42:14.509Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_5 from project 55221032019-08-29T20:42:14.519Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_5 from project 5522104 marks the mirror as failed and raises the error when an unexpected error occurs2105 when the update fails because of a `Gitlab::Git::CommandError`21062019-08-29T20:42:15.016Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_6 from project 55421072019-08-29T20:42:15.025Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_6 from project 5542108 wraps `Gitlab::Git::CommandError`s in a service error21092019-08-29T20:42:15.433Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_7 from project 55621102019-08-29T20:42:15.441Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_7 from project 5562111 marks the mirror as to be retried21122019-08-29T20:42:15.853Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_8 from project 55821132019-08-29T20:42:15.863Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_8 from project 5582114 marks the mirror as failed after 3 tries2115 when syncing all branches21162019-08-29T20:42:16.310Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_9 from project 56021172019-08-29T20:42:16.319Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_9 from project 5602118 push all the branches the first time2119 when only syncing protected branches21202019-08-29T20:42:17.485Z 241 TID-gpfx96aw5 INFO: Removing remote remote_mirror_10 from project 56221212019-08-29T20:42:17.494Z 241 TID-gpfx96aw5 ERROR: Could not remove remote remote_mirror_10 from project 5622122 sync updated protected branches2123Gitlab::Kubernetes::Helm::Pod2124 #generate2125 with a command2126 generates a Kubeclient::Resource2127 generates the appropriate metadata2128 generates a container spec2129 generates the appropriate specifications for the container2130 includes a never restart policy2131 includes volumes for the container2132 includes a volume inside the specification2133 mounts configMap specification in the volume2134 has no serviceAccountName2135 with a service_account_name2136 uses the serviceAccountName provided2137Clusters::Applications::CheckUninstallProgressService2138 when application is uninstalling2139 behaves like a not yet terminated installation2140 when phase is Pending2141 when not timed_out2142 reschedule a new check2143 behaves like a not yet terminated installation2144 when phase is Running2145 when not timed_out2146 reschedule a new check2147 behaves like a not yet terminated installation2148 when phase is Unknown2149 when not timed_out2150 reschedule a new check2151 when installation POD succeeded2152 removes the installation POD2153 runs application post_uninstall2154 destroys the application2155 an error occurs while destroying2156 still removes the installation POD2157 makes the application uninstall_errored2158 when installation POD failed2159 make the application errored2160 when timed out2161 make the application errored2162 when installation raises a Kubeclient::HttpError2163 logs into kubernetes.log and Sentry2164 shows the response code from the error2165Lfs::FileTransformer2166 #new_file2167 with lfs disabled2168 skips gitattributes check2169 returns untransformed content2170 returns untransformed encoding2171 with lfs enabled2172 reuses cached gitattributes2173 creates an LfsObject with the file's content2174 returns an LFS pointer2175 returns LFS pointer encoding as text2176 links LfsObjects to project2177 saves the repository_type to LfsObjectsProject2178 when an actual file is passed2179 creates an LfsObject with the file's content2180 when doesn't use LFS2181 doesn't create LFS pointers2182 when LfsObject already exists2183 links LfsObjects to project2184 when the LfsObject is already linked to project2185 and the service is called again with the same repository type2186 should not change `project.lfs_objects.count`2187 does not create a new LfsObjectsProject record2188 and the service is called again with a different repository type2189 should not change `project.lfs_objects.count`2190 creates a new LfsObjectsProject record2191 sets the correct repository_type on the new LfsObjectsProject record2192Git::TagHooksService2193 update remote mirrors2194 System hooks2195 Executes system hooks2196 Webhooks2197 executes hooks on the project2198 Pipelines2199 creates a new pipeline2200 Push data2201 annotated tag2202 has expected push data attributes2203 with repository data2204 has expected repository attributes2205 with commits2206 should be a kind of Array2207 has 1 element2208 the commit2209 should include {:timestamp => "2014-02-27T09:01:38Z"}2210 has expected commit attributes2211 with an author2212 has expected author attributes2213 lightweight tag2214 has expected push data attributes2215 with repository data2216 has expected repository attributes2217 with commits2218 should be a kind of Array2219 has 1 element2220 the commit2221 should include {:timestamp => "2014-02-27T09:01:38Z"}2222 has expected commit attributes2223 with an author2224 has expected author attributes2225Discussion2226 .lazy_find2227 batches requests2228 .build2229 returns a discussion of the right type2230 .build_collection2231 returns an array of discussions of the right type2232 authorization2233 delegates to the first note2234DiffFileEntity2235 when there is no merge request2236 behaves like diff file entity2237 exposes correct attributes2238 includes viewer2239 behaves like diff file base entity2240 exposes essential attributes2241 when diff file does not have a blob and content sha2242 exposes some attributes as nil2243 when there is a merge request2244 exposes additional attributes2245 points all urls to merge request target project2246 exposes load_collapsed_diff_url if the file viewer is collapsed2247 behaves like diff file entity2248 exposes correct attributes2249 includes viewer2250 behaves like diff file base entity2251 exposes essential attributes2252 when diff file does not have a blob and content sha2253 exposes some attributes as nil2254 #parallel_diff_lines2255 exposes parallel diff lines correctly2256Ci::BuildTraceChunk2257 behaves like having unique enum values2258 has unique values in "data_store"2259 FastDestroyAll2260 behaves like fast destroyable2261 Forbid #destroy and #destroy_all2262 does not delete database rows and associted external data2263 .fast_destroy_all2264 deletes database rows and associted external data2265 .use_fast_destroy2266 performs cascading delete with fast_destroy_all2267 CHUNK_SIZE2268 Chunk size can not be changed without special care2269 .all_stores2270 returns a correctly ordered array2271 returns redis store as the lowest precedence2272 returns fog store as the highest precedence2273 #data2274 when data_store is redis2275 should eq "Sample data in redis"2276 when data_store is database2277 should eq "Sample data in database"2278 when data_store is fog2279 should eq "Sample data in fog"2280 #append2281 when data_store is redis2282 when there are no data2283 has no data2284 behaves like Appending correctly2285 when offset is negative2286 should raise Exception with "Offset is out of range"2287 when offset is bigger than data size2288 should raise Exception with "Offset is out of range"2289 when new data overflows chunk size2290 should raise Exception with "Chunk size overflow"2291 when offset is EOF2292 appends2293 when the other process is appending2294 raise an error2295 when new_data is nil2296 raises an error2297 when new_data is empty2298 does not append2299 does not execute UPDATE2300 when offset is middle of datasize2301 appends2302 behaves like Scheduling sidekiq worker to flush data to persist store2303 when new data fulfilled chunk size2304 schedules trace chunk flush worker2305 migrates data to object storage2306 when there are some data2307 has data2308 behaves like Appending correctly2309 when offset is negative2310 should raise Exception with "Offset is out of range"2311 when offset is bigger than data size2312 should raise Exception with "Offset is out of range"2313 when new data overflows chunk size2314 should raise Exception with "Chunk size overflow"2315 when offset is EOF2316 appends2317 when the other process is appending2318 raise an error2319 when new_data is nil2320 raises an error2321 when new_data is empty2322 does not append2323 does not execute UPDATE2324 when offset is middle of datasize2325 appends2326 behaves like Scheduling sidekiq worker to flush data to persist store2327 when new data fulfilled chunk size2328 schedules trace chunk flush worker2329 migrates data to object storage2330 when data_store is database2331 when there are no data2332 has no data2333 behaves like Appending correctly2334 when offset is negative2335 should raise Exception with "Offset is out of range"2336 when offset is bigger than data size2337 should raise Exception with "Offset is out of range"2338 when new data overflows chunk size2339 should raise Exception with "Chunk size overflow"2340 when offset is EOF2341 appends2342 when the other process is appending2343 raise an error2344 when new_data is nil2345 raises an error2346 when new_data is empty2347 does not append2348 does not execute UPDATE2349 when offset is middle of datasize2350 appends2351 behaves like Scheduling no sidekiq worker2352 when new data fulfilled chunk size2353 does not schedule trace chunk flush worker2354 does not migrate data to object storage2355 when there are some data2356 has data2357 behaves like Appending correctly2358 when offset is negative2359 should raise Exception with "Offset is out of range"2360 when offset is bigger than data size2361 should raise Exception with "Offset is out of range"2362 when new data overflows chunk size2363 should raise Exception with "Chunk size overflow"2364 when offset is EOF2365 appends2366 when the other process is appending2367 raise an error2368 when new_data is nil2369 raises an error2370 when new_data is empty2371 does not append2372 does not execute UPDATE2373 when offset is middle of datasize2374 appends2375 behaves like Scheduling no sidekiq worker2376 when new data fulfilled chunk size2377 does not schedule trace chunk flush worker2378 does not migrate data to object storage2379 when data_store is fog2380 when there are no data2381 has no data2382 behaves like Appending correctly2383 when offset is negative2384 should raise Exception with "Offset is out of range"2385 when offset is bigger than data size2386 should raise Exception with "Offset is out of range"2387 when new data overflows chunk size2388 should raise Exception with "Chunk size overflow"2389 when offset is EOF2390 appends2391 when the other process is appending2392 raise an error2393 when new_data is nil2394 raises an error2395 when new_data is empty2396 does not append2397 does not execute UPDATE2398 when offset is middle of datasize2399 appends2400 behaves like Scheduling no sidekiq worker2401 when new data fulfilled chunk size2402 does not schedule trace chunk flush worker2403 does not migrate data to object storage2404 when there are some data2405 has data2406 behaves like Appending correctly2407 when offset is negative2408 should raise Exception with "Offset is out of range"2409 when offset is bigger than data size2410 should raise Exception with "Offset is out of range"2411 when new data overflows chunk size2412 should raise Exception with "Chunk size overflow"2413 when offset is EOF2414 appends2415 when the other process is appending2416 raise an error2417 when new_data is nil2418 raises an error2419 when new_data is empty2420 does not append2421 does not execute UPDATE2422 when offset is middle of datasize2423 appends2424 behaves like Scheduling no sidekiq worker2425 when new data fulfilled chunk size2426 does not schedule trace chunk flush worker2427 does not migrate data to object storage2428 #truncate2429 when data_store is redis2430 behaves like truncates2431 when offset is negative2432 should raise Exception with "Offset is out of range"2433 when offset is bigger than data size2434 should raise Exception with "Offset is out of range"2435 when offset is 102436 truncates2437 when data_store is database2438 behaves like truncates2439 when offset is negative2440 should raise Exception with "Offset is out of range"2441 when offset is bigger than data size2442 should raise Exception with "Offset is out of range"2443 when offset is 102444 truncates2445 when data_store is fog2446 behaves like truncates2447 when offset is negative2448 should raise Exception with "Offset is out of range"2449 when offset is bigger than data size2450 should raise Exception with "Offset is out of range"2451 when offset is 102452 truncates2453 #size2454 when data_store is redis2455 when data exists2456 should eq 202457 when data exists2458 should eq 02459 when data_store is database2460 when data exists2461 should eq 232462 when data does not exist2463 should eq 02464 when data_store is fog2465 when data exists2466 should eq 182467 when data does not exist2468 should eq 02469 #persist_data!2470 when data_store is redis2471 when data exists2472 when data size reached CHUNK_SIZE2473 persists the data2474 behaves like Atomic operation2475 when the other process is persisting2476 raise an error2477 when data size has not reached CHUNK_SIZE2478 does not persist the data and the orignal data is intact2479 when data does not exist2480 does not persist2481 when data_store is database2482 when data exists2483 when data size reached CHUNK_SIZE2484 persists the data2485 behaves like Atomic operation2486 when the other process is persisting2487 raise an error2488 when data size has not reached CHUNK_SIZE2489 does not persist the data and the orignal data is intact2490 when data does not exist2491 does not persist2492 when data_store is fog2493 when data exists2494 when data size reached CHUNK_SIZE2495 does not change data store2496 behaves like Atomic operation2497 when the other process is persisting2498 raise an error2499 when data size has not reached CHUNK_SIZE2500 does not raise error2501 deletes data in redis after a parent record destroyed2502 when traces are archived2503 behaves like deletes all build_trace_chunk and data in redis2504 should eq 02505 when project is destroyed2506 behaves like deletes all build_trace_chunk and data in redis2507 should eq 02508AwardEmojis::DestroyService2509 #execute2510 when user is not authorized2511 behaves like a service that does not authorize the user2512 does not remove the emoji2513 returns an error state2514 returns a nil award2515 returns the error2516 when the user is authorized2517 when user has not awarded an emoji to the awardable2518 behaves like a service that does not authorize the user2519 does not remove the emoji2520 returns an error state2521 returns a nil award2522 returns the error2523 when user has awarded an emoji to the awardable2524 removes the emoji2525 returns a success status2526 returns no errors2527 returns the destroyed award2528Gitlab::Search::FoundBlob2529 parsing content results2530 returns a valid FoundBlob2531 does not parse content if not needed2532 parses content only once when needed2533 when the matching filename contains a colon2534 returns a valid FoundBlob2535 when the matching content contains a number surrounded by colons2536 returns a valid FoundBlob2537 when the matching content contains multiple null bytes2538 returns a valid FoundBlob2539 when the search result ends with an empty line2540 returns a valid FoundBlob that ends with an empty line2541 when the search returns non-ASCII data2542 with UTF-82543 returns results as UTF-82544 with UTF-8 in the filename2545 returns results as UTF-82546 with ISO-8859-12547 returns results as UTF-82548 when filename has extension2549 should eq "CONTRIBUTE.md"2550 should eq "CONTRIBUTE.md"2551 should eq "CONTRIBUTE"2552 when file is under directory2553 should eq "a/b/c.md"2554 should eq "a/b/c.md"2555 should eq "a/b/c"2556 parsing title results2557 when file is under directory2558 should eq "a/b/c.md"2559 should eq "a/b/c.md"2560 should eq "a/b/c"2561 when filename has multiple extensions2562 should eq "a/b/c.whatever"2563Gitlab::Ci::Pipeline::Seed::Stage2564 #size2565 returns a number of jobs in the stage2566 #attributes2567 returns hash attributes of a stage2568 #included?2569 when it contains builds seeds2570 should be included2571 when it does not contain build seeds2572 should not be included2573 #seeds2574 returns build seeds2575 returns build seeds including valid attributes2576 filters seeds using only/except policies2577 when a legacy trigger exists2578 returns build seeds including legacy trigger2579 when a ref is protected2580 returns protected builds2581 when a ref is not protected2582 returns unprotected builds2583 #seeds_names2584 returns all job names2585 returns a set2586 #seeds_errors2587 returns all errors from seeds2588 #to_resource2589 builds a valid stage object with all builds2590 can not be persisted without explicit pipeline assignment2591SubmoduleHelper2592 as view helpers in view context2593 behaves like submodule_links2594 submodule on self2595 detects ssh on standard port2596 detects ssh on non-standard port2597 detects http on standard port2598 detects http on non-standard port2599 works with relative_url_root2600 works with subgroups2601 submodule on github.com2602 detects ssh2603 detects http2604 detects https2605 handles urls with no .git on the end2606 returns original with non-standard url2607 in-repository submodule2608 in-repository2609 submodule on gitlab.com2610 detects ssh2611 detects http2612 detects https2613 handles urls with no .git on the end2614 handles urls with trailing whitespace2615 returns original with non-standard url2616 submodule on unsupported2617 sanitizes unsupported protocols2618 sanitizes unsupported protocols disguised as a repository URL2619 sanitizes invalid URL with extended ASCII2620 returns original2621 submodules with relative links2622 handles project under same group2623 handles trailing whitespace2624 handles project under another top group2625 repo path resolves to be located at root (namespace absent)2626 returns nil2627 repo path resolves to be located underneath current project path2628 returns nil because it is not possible to have repo nested under another repo2629 subgroup2630 handles referencing descendent group's project2631 handles referencing another top group's project2632 project in sub group2633 handles referencing ancestor group's project2634 personal project2635 handles referencing another personal project2636 unknown submodule2637 returns no links2638 as stand-alone module2639 behaves like submodule_links2640 submodule on self2641 detects ssh on standard port2642 detects ssh on non-standard port2643 detects http on standard port2644 detects http on non-standard port2645 works with relative_url_root2646 works with subgroups2647 submodule on github.com2648 detects ssh2649 detects http2650 detects https2651 handles urls with no .git on the end2652 returns original with non-standard url2653 in-repository submodule2654 in-repository2655 submodule on gitlab.com2656 detects ssh2657 detects http2658 detects https2659 handles urls with no .git on the end2660 handles urls with trailing whitespace2661 returns original with non-standard url2662 submodule on unsupported2663 sanitizes unsupported protocols2664 sanitizes unsupported protocols disguised as a repository URL2665 sanitizes invalid URL with extended ASCII2666 returns original2667 submodules with relative links2668 handles project under same group2669 handles trailing whitespace2670 handles project under another top group2671 repo path resolves to be located at root (namespace absent)2672 returns nil2673 repo path resolves to be located underneath current project path2674 returns nil because it is not possible to have repo nested under another repo2675 subgroup2676 handles referencing descendent group's project2677 handles referencing another top group's project2678 project in sub group2679 handles referencing ancestor group's project2680 personal project2681 handles referencing another personal project2682 unknown submodule2683 returns no links2684DeploymentPlatform2685 #deployment_platform2686 with no Kubernetes configuration on CI/CD, no Kubernetes Service2687 should be nil2688 when project has configured kubernetes from CI/CD > Clusters2689 returns the Kubernetes platform2690 with a group level kubernetes cluster2691 returns the Kubernetes platform from the project cluster2692 when group has configured kubernetes cluster2693 returns the Kubernetes platform2694 when child group has configured kubernetes cluster2695 returns the Kubernetes platform for the child group2696 deeply nested group2697 returns most nested group cluster Kubernetes platform2698 cluster in the middle of hierarchy is disabled2699 returns closest enabled Kubenetes platform2700Search::SnippetService2701 #execute2702 unauthenticated2703 returns public snippets only2704 authenticated2705 returns only public & internal snippets for regular users2706 returns public, internal snippets and project private snippets for project members2707 returns public, internal and private snippets where user is the author2708 returns all snippets when user is admin2709Gitlab::Metrics::Dashboard::Finder2710 .find2711 behaves like misconfigured dashboard service response2712 returns an appropriate message and status code2713 when the dashboard exists2714 behaves like valid dashboard service response2715 behaves like valid dashboard service response for schema2716 returns a json representation of the dashboard2717 when the dashboard is configured incorrectly2718 behaves like misconfigured dashboard service response2719 returns an appropriate message and status code2720 when the dashboard contains a metric without a query2721 behaves like misconfigured dashboard service response2722 returns an appropriate message and status code2723 when the system dashboard is specified2724 behaves like valid dashboard service response2725 behaves like valid dashboard service response for schema2726 returns a json representation of the dashboard2727 when no dashboard is specified2728 behaves like valid dashboard service response2729 behaves like valid dashboard service response for schema2730 returns a json representation of the dashboard2731 when the dashboard is expected to be embedded2732 behaves like valid embedded dashboard service response2733 behaves like valid dashboard service response for schema2734 returns a json representation of the dashboard2735 when params are incomplete2736 behaves like valid embedded dashboard service response2737 behaves like valid dashboard service response for schema2738 returns a json representation of the dashboard2739 when the panel is specified2740 as a custom metric2741 behaves like misconfigured dashboard service response2742 returns an appropriate message and status code2743 when the metric exists2744 behaves like valid embedded dashboard service response2745 behaves like valid dashboard service response for schema2746 returns a json representation of the dashboard2747 as a project-defined panel2748 behaves like misconfigured dashboard service response2749 returns an appropriate message and status code2750 when the metric exists2751 behaves like valid embedded dashboard service response2752 behaves like valid dashboard service response for schema2753 returns a json representation of the dashboard2754 .find_raw2755 should eq {"dashboard"=>"Environment metrics", "panel_groups"=>[{"group"=>"Response metrics (NGINX Ingress VTS)...ons", "type"=>"area-chart", "weight"=>1, "y_label"=>"Invocations"}], "priority"=>5}], "priority"=>1}2756 when the system dashboard is specified2757 should eq {"dashboard"=>"Environment metrics", "panel_groups"=>[{"group"=>"Response metrics (NGINX Ingress VTS)...ons", "type"=>"area-chart", "weight"=>1, "y_label"=>"Invocations"}], "priority"=>5}], "priority"=>1}2758 when an existing project dashboard is specified2759 should eq {"dashboard"=>"Test Dashboard", "panel_groups"=>[{"group"=>"Group A", "panels"=>[{"metrics"=>[{"id"=>...hart B", "type"=>"area-chart", "weight"=>1, "y_label"=>"y_label"}], "priority"=>10}], "priority"=>1}2760 .find_all_paths2761 includes only the system dashboard by default2762 when the project contains dashboards2763 includes system and project dashboards2764Timelog2765 should belong to issue required:2766 should belong to merge_request required:2767 should be valid2768 should validate that :time_spent cannot be empty/falsy2769 should validate that :user cannot be empty/falsy2770 Issuable validation2771 is invalid if issue_id and merge_request_id are missing2772 is invalid if issue_id and merge_request_id are set2773 is valid if only issue_id is set2774 is valid if only merge_request_id is set2775PipelineMetricsWorker2776 #perform2777 when pipeline is running2778 records the build start time2779 clears the build end time2780 records the pipeline2781 when pipeline succeeded2782 records the build end time2783 records the pipeline2784Files::DeleteService2785 #execute2786 when the file's last commit sha does not match the supplied last_commit_sha2787 returns a hash with the correct error message and a :error status2788 when the file's last commit sha does match the supplied last_commit_sha2789 behaves like successfully deletes the file2790 returns a hash with the :success status2791 deletes the file2792 uses the commit email2793 when the last_commit_sha is not supplied2794 behaves like successfully deletes the file2795 returns a hash with the :success status2796 deletes the file2797 uses the commit email2798ExpireBuildInstanceArtifactsWorker2799 #perform2800 with expired artifacts2801 when associated project is valid2802 does expire2803 does remove files2804 does remove the job artifact record2805 with not yet expired artifacts2806 does not expire2807 does not remove files2808 does not remove the job artifact record2809 without expire date2810 does not expire2811 does not remove files2812 does not remove the job artifact record2813 for expired artifacts2814 is still expired2815Commits::CommitPatchService2816 #execute2817 returns a successful result2818 is based off HEAD when no start ref is passed2819 when specifying a different start branch2820 is based of the correct branch2821 when the user does not have access2822 behaves like an error response2823 returns the correct error2824 when the patches are not valid2825 behaves like an error response2826 returns the correct error2827 when the new branch name is invalid2828 behaves like an error response2829 returns the correct error2830 when the patches do not apply2831 behaves like an error response2832 returns the correct error2833 when specifying a non existent start branch2834 behaves like an error response2835 returns the correct error2836Expirable2837 ProjectMember2838 .expired2839 should contain exactly #<ProjectMember id: 903, access_level: 40, source_id: 749, source_type: "Project", user_id: 1198, not... invite_accepted_at: nil, requested_at: nil, expires_at: "2019-08-23", ldap: false, override: false>2840 #expired?2841 should eq false2842 should eq false2843 should eq true2844 #expires?2845 should eq false2846 should eq true2847 should eq true2848 #expires_soon?2849 should eq false2850 should eq true2851 should eq true2852projects/commit/_commit_box.html.haml2853 shows the commit SHA2854 when there is a pipeline present2855 when there are multiple pipelines for a commit2856 shows the last pipeline2857 when pipeline for the commit is blocked2858 shows correct pipeline description2859 viewing a commit2860 as a developer2861 has a link to create a new tag2862 as a non-developer2863 does not have a link to create a new tag2864Gitlab::GithubImport::Importer::LabelsImporter2865 #execute2866 imports the labels in bulk2867 #build_labels2868 returns an Array containnig label rows2869 does not create labels that already exist2870 #build_labels_cache2871 builds the labels cache2872 #build2873 returns the attributes of the label as a Hash2874 the returned Hash2875 includes the label title2876 includes the label color2877 includes the project ID2878 includes the label type2879 includes the created timestamp2880 includes the updated timestamp2881 #each_label2882 returns the labels2883Issues::ReopenService2884 #execute2885 when user is not authorized to reopen issue2886 does not reopen the issue2887 when user is authorized to reopen issue2888 invalidates counter cache for assignees2889 refreshes the number of opened issues2890 when issue is not confidential2891 executes issue hooks2892 when issue is confidential2893 executes confidential issue hooks2894Gitlab::SlashCommands::IssueNew2895 #execute2896 without description2897 creates the issue2898 with description2899 creates the issue with description2900 with more newlines between the title and the description2901 creates the issue2902 issue cannot be created2903 displays the errors2904 .match2905 matches the title without description2906 matches the title with description2907 matches the alias new2908Gitlab::LegacyGithubImport::BranchFormatter2909 #exists?2910 returns true when branch exists and commit is part of the branch2911 returns false when branch exists and commit is not part of the branch2912 returns false when branch does not exist2913 #repo2914 returns raw repo2915 #sha2916 returns raw sha2917 #valid?2918 returns true when raw sha and ref are present2919 returns false when raw sha is blank2920 returns false when raw ref is blank2921Gitlab::Ci::Status::Stage::PlayManual2922 #action_icon2923 should eq "play"2924 #action_button_title2925 should eq "Play all manual"2926 #action_title2927 should eq "Play all manual"2928 #action_path2929 should eq "/namespace703/project612/pipelines/54/stages/test/play_manual"2930 #action_method2931 should eq :post2932 .matches?2933 when stage is skipped2934 should be truthy2935 when stage is manual2936 should be truthy2937 when stage is scheduled2938 should be truthy2939 when stage is success2940 and does not have manual builds2941 should be falsy2942Gitlab::GithubImport::Importer::IssueImporter2943 .import_if_issue2944 imports an issuable if it is a regular issue2945 does not import the issuable if it is a pull request2946 #execute2947 creates the issue and assignees2948 #create_issue2949 produces a valid Issue2950 returns the ID of the created issue2951 when the issue author could be found2952 creates the issue with the found author as the issue author2953 when the issue author could not be found2954 creates the issue with the project creator as the issue author2955 when the import fails due to a foreign key error2956 does not raise any errors2957 #create_assignees2958 inserts the issue assignees in bulk2959Gitlab::ActionRateLimiter2960 when the key is an array of only ActiveRecord models2961 behaves like action rate limiter2962 increases the throttle count and sets the expiration time2963 returns true if the key is throttled2964 when throttling is disabled2965 returns false and does not set expiration time2966 when they key a combination of ActiveRecord models and strings2967 behaves like action rate limiter2968 increases the throttle count and sets the expiration time2969 returns true if the key is throttled2970 when throttling is disabled2971 returns false and does not set expiration time2972 #log_request2973 without a current user2974 logs information to auth.log2975 with a current_user2976 logs information to auth.log2977ProjectGroupLink2978 Associations2979 should belong to group required:2980 should belong to project required:2981 Validation2982 should validate that :project_id cannot be empty/falsy2983 should validate that :group_id is case-sensitively unique within the scope of :project_id, producing a custom validation error on failure2984 should validate that :group cannot be empty/falsy2985 should validate that :group_access cannot be empty/falsy2986 doesn't allow a project to be shared with the group it is in2987 doesn't allow a project to be shared with an ancestor of the group it is in2988 destroying a record2989 refreshes group users' authorized projects2990PoolRepository2991 associations2992 should belong to shard required:2993 should belong to source_project required:2994 should have many member_projects2995 validations2996 should validate that :shard cannot be empty/falsy2997 should validate that :source_project cannot be empty/falsy2998 #disk_path2999 sets the hashed disk_path3000 #mark_obsolete_if_last3001 when the last member leaves3002 schedules pool removal3003 when the second member leaves3004 does not schedule pool removal3005Gitlab::Email::Hook::SmimeSignatureInterceptor3006 signs the email appropriately with SMIME3007Gitlab::SidekiqStatus::ServerMiddleware3008 #call3009 stops tracking of a job upon completion3010Knapsack report was generated. Preview:3011{3012 "spec/services/merge_requests/create_from_issue_service_spec.rb": 209.73805809020996,3013 "spec/models/gpg_key_spec.rb": 67.63709044456482,3014 "spec/services/notes/create_service_spec.rb": 37.54392337799072,3015 "spec/models/concerns/resolvable_discussion_spec.rb": 32.661686182022095,3016 "spec/helpers/markup_helper_spec.rb": 20.598374128341675,3017 "spec/lib/gitlab/diff/file_spec.rb": 16.811137676239014,3018 "spec/lib/gitlab/search_results_spec.rb": 15.45083737373352,3019 "spec/services/merge_requests/conflicts/resolve_service_spec.rb": 13.930459260940552,3020 "spec/services/search_service_spec.rb": 11.29926872253418,3021 "spec/serializers/build_details_entity_spec.rb": 9.093910217285156,3022 "spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb": 5.226657867431641,3023 "spec/services/projects/update_remote_mirror_service_spec.rb": 8.21114468574524,3024 "spec/lib/gitlab/kubernetes/helm/pod_spec.rb": 8.553271055221558,3025 "spec/services/clusters/applications/check_uninstall_progress_service_spec.rb": 5.234669208526611,3026 "spec/services/lfs/file_transformer_spec.rb": 4.413418769836426,3027 "spec/services/git/tag_hooks_service_spec.rb": 5.5869529247283936,3028 "spec/models/discussion_spec.rb": 4.9351866245269775,3029 "spec/serializers/diff_file_entity_spec.rb": 4.7612221240997314,3030 "spec/models/ci/build_trace_chunk_spec.rb": 4.007396459579468,3031 "spec/services/award_emojis/destroy_service_spec.rb": 2.8437914848327637,3032 "spec/lib/gitlab/search/found_blob_spec.rb": 3.6877565383911133,3033 "spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb": 3.3226168155670166,3034 "spec/helpers/submodule_helper_spec.rb": 2.7685794830322266,3035 "spec/models/concerns/deployment_platform_spec.rb": 2.9195761680603027,3036 "spec/services/search/snippet_service_spec.rb": 2.3341915607452393,3037 "spec/lib/gitlab/metrics/dashboard/finder_spec.rb": 2.5860440731048584,3038 "spec/models/timelog_spec.rb": 2.320399045944214,3039 "spec/workers/pipeline_metrics_worker_spec.rb": 2.25890851020813,3040 "spec/services/files/delete_service_spec.rb": 2.2732582092285156,3041 "spec/workers/expire_build_instance_artifacts_worker_spec.rb": 1.7640597820281982,3042 "spec/services/commits/commit_patch_service_spec.rb": 2.029156446456909,3043 "spec/models/concerns/expirable_spec.rb": 2.0957765579223633,3044 "spec/views/projects/commit/_commit_box.html.haml_spec.rb": 1.951913595199585,3045 "spec/lib/gitlab/github_import/importer/labels_importer_spec.rb": 1.5040051937103271,3046 "spec/services/issues/reopen_service_spec.rb": 1.7847816944122314,3047 "spec/lib/gitlab/slash_commands/issue_new_spec.rb": 1.277052640914917,3048 "spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb": 1.600128173828125,3049 "spec/lib/gitlab/ci/status/stage/play_manual_spec.rb": 1.3373534679412842,3050 "spec/lib/gitlab/github_import/importer/issue_importer_spec.rb": 1.4568428993225098,3051 "spec/lib/gitlab/action_rate_limiter_spec.rb": 1.2899010181427002,3052 "spec/models/project_group_link_spec.rb": 1.3005671501159668,3053 "spec/models/pool_repository_spec.rb": 1.2086694240570068,3054 "spec/lib/gitlab/email/hook/smime_signature_interceptor_spec.rb": 0.03548073768615723,3055 "spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb": 0.00176548957824707033056}3057Knapsack global time execution for tests: 08m 53s3058Finished in 9 minutes 27 seconds (files took 24.9 seconds to load)3059834 examples, 0 failures3060$ date3061Thu Aug 29 20:44:03 UTC 20193063$ date3064Thu Aug 29 20:44:04 UTC 20193067coverage/: found 5 matching files 3068knapsack/: found 4 matching files 3069rspec_flaky/: found 4 matching files 3070rspec_profiling/: found 1 matching files 3071WARNING: tmp/capybara/: no matching files 3072tmp/memory_test/: found 2 matching files 3073Uploading artifacts to coordinator... ok id=283641440 responseStatus=201 Created token=Q4mgxq8x3074Uploading artifacts...3075junit_rspec.xml: found 1 matching files 3076Uploading artifacts to coordinator... ok id=283641440 responseStatus=201 Created token=Q4mgxq8x3077Job succeeded