Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-07-06 09:08:10 +00:00
parent 9dadb12cf2
commit 5d3eac1cf8
76 changed files with 627 additions and 354 deletions

View file

@ -0,0 +1,9 @@
---
Database/RescueQueryCanceled:
Exclude:
- 'app/services/issues/relative_position_rebalancing_service.rb'
- 'ee/app/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker.rb'
- 'lib/gitlab/background_migration/backfill_work_item_type_id_for_issues.rb'
- 'lib/gitlab/database/batch_counter.rb'
- 'lib/gitlab/issuables_count_for_state.rb'
- 'lib/tasks/gitlab/db/lock_writes.rake'

View file

@ -0,0 +1,5 @@
---
Database/RescueStatementTimeout:
Exclude:
- 'app/services/issues/relative_position_rebalancing_service.rb'
- 'lib/gitlab/background_migration/backfill_work_item_type_id_for_issues.rb'

View file

@ -128,14 +128,6 @@ Gitlab/FeatureAvailableUsage:
- ee/app/views/projects/blob/_header_file_locks.html.haml
- ee/app/views/projects/issues/_related_issues.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/merge_requests/show.html.haml
- ee/app/views/projects/pipelines/_tabs_content.html.haml
- ee/app/views/projects/protected_branches/ee/_code_owner_approval_form.html.haml
- ee/app/views/projects/protected_branches/ee/_code_owner_approval_table.html.haml
@ -153,12 +145,6 @@ Gitlab/FeatureAvailableUsage:
- ee/app/views/shared/issuable/form/_default_templates.html.haml
- ee/app/views/shared/labels/_create_label_help_text.html.haml
- ee/app/views/shared/promotions/_promote_mr_features.html.haml
- ee/app/views/shared/promotions/_promote_mr_features.html.haml
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
- ee/app/workers/analytics/code_review_metrics_worker.rb
- ee/app/workers/group_saml_group_sync_worker.rb

View file

@ -766,7 +766,6 @@ Gitlab/NamespacedClass:
- 'app/workers/emails_on_push_worker.rb'
- 'app/workers/error_tracking_issue_link_worker.rb'
- 'app/workers/expire_build_artifacts_worker.rb'
- 'app/workers/expire_job_cache_worker.rb'
- 'app/workers/export_csv_worker.rb'
- 'app/workers/external_service_reactive_caching_worker.rb'
- 'app/workers/file_hook_worker.rb'
@ -782,8 +781,6 @@ Gitlab/NamespacedClass:
- 'app/workers/invalid_gpg_signature_update_worker.rb'
- 'app/workers/issuable_export_csv_worker.rb'
- 'app/workers/issue_due_scheduler_worker.rb'
- 'app/workers/issue_placement_worker.rb'
- 'app/workers/issue_rebalancing_worker.rb'
- 'app/workers/member_invitation_reminder_emails_worker.rb'
- 'app/workers/merge_request_cleanup_refs_worker.rb'
- 'app/workers/merge_request_mergeability_check_worker.rb'
@ -828,7 +825,6 @@ Gitlab/NamespacedClass:
- 'app/workers/repository_cleanup_worker.rb'
- 'app/workers/repository_fork_worker.rb'
- 'app/workers/repository_import_worker.rb'
- 'app/workers/repository_remove_remote_worker.rb'
- 'app/workers/repository_update_remote_mirror_worker.rb'
- 'app/workers/run_pipeline_schedule_worker.rb'
- 'app/workers/schedule_merge_request_cleanup_refs_worker.rb'
@ -1012,7 +1008,6 @@ Gitlab/NamespacedClass:
- 'ee/app/serializers/group_analytics_serializer.rb'
- 'ee/app/serializers/group_vulnerability_autocomplete_entity.rb'
- 'ee/app/serializers/group_vulnerability_autocomplete_serializer.rb'
- 'ee/app/serializers/invited_group_serializer.rb'
- 'ee/app/serializers/iteration_serializer.rb'
- 'ee/app/serializers/license_entity.rb'
- 'ee/app/serializers/license_scanning_reports_serializer.rb'
@ -1051,7 +1046,6 @@ Gitlab/NamespacedClass:
- 'ee/app/workers/admin_emails_worker.rb'
- 'ee/app/workers/clear_shared_runners_minutes_worker.rb'
- 'ee/app/workers/create_github_webhook_worker.rb'
- 'ee/app/workers/dast_site_validation_worker.rb'
- 'ee/app/workers/elastic_association_indexer_worker.rb'
- 'ee/app/workers/elastic_cluster_reindexing_cron_worker.rb'
- 'ee/app/workers/elastic_commit_indexer_worker.rb'
@ -1093,7 +1087,6 @@ Gitlab/NamespacedClass:
- 'ee/lib/gitlab/group_plans_preloader.rb'
- 'ee/lib/gitlab/ip_address_state.rb'
- 'ee/lib/gitlab/items_collection.rb'
- 'ee/lib/gitlab/manual_banner.rb'
- 'ee/lib/gitlab/manual_quarterly_co_term_banner.rb'
- 'ee/lib/gitlab/pagination_delegate.rb'
- 'ee/lib/gitlab/path_locks_finder.rb'

View file

@ -397,7 +397,6 @@ Layout/ArgumentAlignment:
- 'ee/spec/graphql/mutations/requirements_management/export_requirements_spec.rb'
- 'ee/spec/helpers/billing_plans_helper_spec.rb'
- 'ee/spec/helpers/ee/users/callouts_helper_spec.rb'
- 'ee/spec/helpers/projects/security/policies_helper_spec.rb'
- 'ee/spec/helpers/routing/pseudonymization_helper_spec.rb'
- 'ee/spec/helpers/trial_status_widget_helper_spec.rb'
- 'ee/spec/lib/analytics/group_activity_calculator_spec.rb'
@ -475,7 +474,6 @@ Layout/ArgumentAlignment:
- 'ee/spec/services/epics/update_service_spec.rb'
- 'ee/spec/services/geo/file_registry_removal_service_spec.rb'
- 'ee/spec/services/geo/repository_verification_primary_service_spec.rb'
- 'ee/spec/services/groups/recent_merge_requests_count_service_spec.rb'
- 'ee/spec/services/merge_requests/reset_approvals_service_spec.rb'
- 'ee/spec/services/merge_trains/create_pipeline_service_spec.rb'
- 'ee/spec/services/namespaces/check_storage_size_service_spec.rb'
@ -536,7 +534,6 @@ Layout/ArgumentAlignment:
- 'lib/gitlab/background_migration/backfill_project_repositories.rb'
- 'lib/gitlab/background_migration/batching_strategies/base_strategy.rb'
- 'lib/gitlab/background_migration/legacy_upload_mover.rb'
- 'lib/gitlab/background_migration/migrate_stage_status.rb'
- 'lib/gitlab/background_migration/remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings.rb'
- 'lib/gitlab/ci/config/entry/artifacts.rb'
- 'lib/gitlab/ci/config/entry/bridge.rb'
@ -570,7 +567,6 @@ Layout/ArgumentAlignment:
- 'lib/gitlab/database_importers/instance_administrators/create_group.rb'
- 'lib/gitlab/database_importers/self_monitoring/project/create_service.rb'
- 'lib/gitlab/database_importers/self_monitoring/project/delete_service.rb'
- 'lib/gitlab/diff/custom_diff.rb'
- 'lib/gitlab/diff/file.rb'
- 'lib/gitlab/diff/file_collection/base.rb'
- 'lib/gitlab/diff/suggestion.rb'
@ -633,7 +629,6 @@ Layout/ArgumentAlignment:
- 'spec/controllers/projects/pipeline_schedules_controller_spec.rb'
- 'spec/controllers/projects/pipelines/tests_controller_spec.rb'
- 'spec/controllers/projects/pipelines_controller_spec.rb'
- 'spec/controllers/projects/serverless/functions_controller_spec.rb'
- 'spec/controllers/projects/settings/operations_controller_spec.rb'
- 'spec/controllers/projects/tags_controller_spec.rb'
- 'spec/controllers/projects/todos_controller_spec.rb'
@ -674,7 +669,6 @@ Layout/ArgumentAlignment:
- 'spec/features/projects/milestones/milestones_sorting_spec.rb'
- 'spec/features/projects/pipelines/pipeline_spec.rb'
- 'spec/features/projects/pipelines/pipelines_spec.rb'
- 'spec/features/projects/serverless/functions_spec.rb'
- 'spec/features/refactor_blob_viewer_disabled/projects/files/editing_a_file_spec.rb'
- 'spec/features/refactor_blob_viewer_disabled/projects/files/project_owner_creates_license_file_spec.rb'
- 'spec/finders/ci/commit_statuses_finder_spec.rb'
@ -897,7 +891,6 @@ Layout/ArgumentAlignment:
- 'spec/services/namespaces/package_settings/update_service_spec.rb'
- 'spec/services/notification_service_spec.rb'
- 'spec/services/packages/debian/extract_metadata_service_spec.rb'
- 'spec/services/pod_logs/kubernetes_service_spec.rb'
- 'spec/services/projects/destroy_service_spec.rb'
- 'spec/services/security/merge_reports_service_spec.rb'
- 'spec/services/system_notes/design_management_service_spec.rb'
@ -940,8 +933,6 @@ Layout/ArgumentAlignment:
- 'spec/views/projects/merge_requests/_commits.html.haml_spec.rb'
- 'spec/views/projects/merge_requests/edit.html.haml_spec.rb'
- 'spec/views/projects/tags/index.html.haml_spec.rb'
- 'spec/workers/expire_job_cache_worker_spec.rb'
- 'spec/workers/expire_pipeline_cache_worker_spec.rb'
- 'spec/workers/pipeline_notification_worker_spec.rb'
- 'spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb'
- 'spec/workers/update_external_pull_requests_worker_spec.rb'

View file

@ -51,7 +51,6 @@ Layout/FirstArrayElementIndentation:
- 'ee/app/models/ee/user.rb'
- 'ee/app/models/protected_environment.rb'
- 'ee/app/serializers/dashboard_environments_serializer.rb'
- 'ee/app/serializers/merge_request_compliance_entity.rb'
- 'ee/app/services/app_sec/dast/profiles/update_service.rb'
- 'ee/app/services/vulnerabilities/create_service_base.rb'
- 'ee/lib/ee/api/helpers/award_emoji.rb'
@ -147,7 +146,6 @@ Layout/FirstArrayElementIndentation:
- 'lib/gitlab/email/message/in_product_marketing/verify.rb'
- 'lib/gitlab/import_export/base/relation_factory.rb'
- 'lib/gitlab/import_export/json/streaming_serializer.rb'
- 'lib/gitlab/integrations/sti_type.rb'
- 'lib/gitlab/kroki.rb'
- 'lib/gitlab/object_hierarchy.rb'
- 'lib/gitlab/pagination/keyset/simple_order_builder.rb'
@ -190,7 +188,6 @@ Layout/FirstArrayElementIndentation:
- 'spec/controllers/projects/pipelines/tests_controller_spec.rb'
- 'spec/controllers/projects/pipelines_controller_spec.rb'
- 'spec/deprecation_toolkit_env.rb'
- 'spec/experiments/new_project_sast_enabled_experiment_spec.rb'
- 'spec/features/clusters/create_agent_spec.rb'
- 'spec/features/issues/filtered_search/filter_issues_spec.rb'
- 'spec/features/issues/filtered_search/visual_tokens_spec.rb'
@ -243,7 +240,6 @@ Layout/FirstArrayElementIndentation:
- 'spec/lib/gitlab/database/similarity_score_spec.rb'
- 'spec/lib/gitlab/diff/char_diff_spec.rb'
- 'spec/lib/gitlab/diff/file_collection_sorter_spec.rb'
- 'spec/lib/gitlab/elasticsearch/logs/pods_spec.rb'
- 'spec/lib/gitlab/error_tracking/stack_trace_highlight_decorator_spec.rb'
- 'spec/lib/gitlab/gitaly_client/blob_service_spec.rb'
- 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb'

View file

@ -84,7 +84,6 @@ Layout/FirstHashElementIndentation:
- 'ee/app/helpers/ee/ci/jobs_helper.rb'
- 'ee/app/helpers/ee/geo_helper.rb'
- 'ee/app/helpers/ee/groups/group_members_helper.rb'
- 'ee/app/helpers/ee/ide_helper.rb'
- 'ee/app/helpers/ee/projects_helper.rb'
- 'ee/app/helpers/ee/sidebars_helper.rb'
- 'ee/app/helpers/ee/tree_helper.rb'
@ -149,8 +148,6 @@ Layout/FirstHashElementIndentation:
- 'ee/spec/helpers/ee/projects/security/sast_configuration_helper_spec.rb'
- 'ee/spec/helpers/groups/sso_helper_spec.rb'
- 'ee/spec/helpers/nav/new_dropdown_helper_spec.rb'
- 'ee/spec/helpers/projects/security/policies_helper_spec.rb'
- 'ee/spec/helpers/projects/threat_monitoring_helper_spec.rb'
- 'ee/spec/helpers/projects_helper_spec.rb'
- 'ee/spec/helpers/routing/pseudonymization_helper_spec.rb'
- 'ee/spec/helpers/search_helper_spec.rb'
@ -267,8 +264,6 @@ Layout/FirstHashElementIndentation:
- 'lib/gitlab/github_import/importer/diff_note_importer.rb'
- 'lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb'
- 'lib/gitlab/gitlab_import/client.rb'
- 'lib/gitlab/graphql/query_analyzers/logger_analyzer.rb'
- 'lib/gitlab/graphql/query_analyzers/recursion_analyzer.rb'
- 'lib/gitlab/hook_data/issue_builder.rb'
- 'lib/gitlab/hook_data/release_builder.rb'
- 'lib/gitlab/kubernetes.rb'
@ -410,7 +405,6 @@ Layout/FirstHashElementIndentation:
- 'spec/lib/gitlab/ci/parsers/security/common_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb'
- 'spec/lib/gitlab/ci/reports/coverage_reports_spec.rb'
- 'spec/lib/gitlab/ci/reports/security/identifier_spec.rb'
- 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb'
- 'spec/lib/gitlab/ci/reports/terraform_reports_spec.rb'
@ -434,10 +428,8 @@ Layout/FirstHashElementIndentation:
- 'spec/lib/gitlab/github_import/logger_spec.rb'
- 'spec/lib/gitlab/github_import/object_counter_spec.rb'
- 'spec/lib/gitlab/gpg_spec.rb'
- 'spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb'
- 'spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb'
- 'spec/lib/gitlab/graphql/tracers/timer_tracer_spec.rb'
- 'spec/lib/gitlab/hook_data/issuable_builder_spec.rb'
- 'spec/lib/gitlab/http_spec.rb'
- 'spec/lib/gitlab/i18n_spec.rb'
- 'spec/lib/gitlab/import/logger_spec.rb'
@ -531,9 +523,6 @@ Layout/FirstHashElementIndentation:
- 'spec/services/metrics/dashboard/transient_embed_service_spec.rb'
- 'spec/services/notes/render_service_spec.rb'
- 'spec/services/packages/debian/parse_debian822_service_spec.rb'
- 'spec/services/pod_logs/base_service_spec.rb'
- 'spec/services/pod_logs/elasticsearch_service_spec.rb'
- 'spec/services/pod_logs/kubernetes_service_spec.rb'
- 'spec/services/projects/container_repository/delete_tags_service_spec.rb'
- 'spec/services/projects/create_from_template_service_spec.rb'
- 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb'
@ -555,7 +544,6 @@ Layout/FirstHashElementIndentation:
- 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb'
- 'spec/support/shared_examples/models/clusters/prometheus_client_shared.rb'
- 'spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb'
- 'spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb'
- 'spec/support/shared_examples/requests/rack_attack_shared_examples.rb'
- 'spec/support_specs/graphql/arguments_spec.rb'
- 'spec/support_specs/graphql/field_selection_spec.rb'

View file

@ -729,7 +729,6 @@ Layout/LineLength:
- 'app/services/security/ci_configuration/sast_iac_create_service.rb'
- 'app/services/security/ci_configuration/sast_parser_service.rb'
- 'app/services/security/ci_configuration/secret_detection_create_service.rb'
- 'app/services/service_ping/devops_report_service.rb'
- 'app/services/service_ping/submit_service.rb'
- 'app/services/snippets/count_service.rb'
- 'app/services/snippets/create_service.rb'
@ -778,7 +777,6 @@ Layout/LineLength:
- 'app/workers/gitlab/jira_import/stage/import_notes_worker.rb'
- 'app/workers/integrations/create_external_cross_reference_worker.rb'
- 'app/workers/issuable_export_csv_worker.rb'
- 'app/workers/issue_rebalancing_worker.rb'
- 'app/workers/issues/rebalancing_worker.rb'
- 'app/workers/jira_connect/sync_branch_worker.rb'
- 'app/workers/jira_connect/sync_merge_request_worker.rb'
@ -980,7 +978,6 @@ Layout/LineLength:
- 'db/migrate/20220215164709_update_application_settings_container_registry_exp_pol_worker_capacity_default.rb'
- 'db/migrate/20220216110023_create_saved_replies.rb'
- 'db/migrate/20220217100008_add_container_registry_expiration_policies_caching_to_application_settings.rb'
- 'db/migrate/20220221102333_change_maintenance_note_limit_in_ci_runner.rb db/migrate/20220221102333_change_maintainer_note_limit_in_ci_runner.rb'
- 'db/migrate/20220222072536_add_target_access_levels_to_broadcast_messages.rb'
- 'db/migrate/20220301003502_add_security_orchestration_policy_configuration_namespace_index.rb'
- 'db/migrate/20220301175104_change_security_orchestration_policy_configuration_project_index.rb'
@ -1315,7 +1312,6 @@ Layout/LineLength:
- 'ee/app/helpers/projects/security/dast_profiles_helper.rb'
- 'ee/app/helpers/projects/security/discover_helper.rb'
- 'ee/app/helpers/push_rules_helper.rb'
- 'ee/app/helpers/seats_count_alert_helper.rb'
- 'ee/app/helpers/security_helper.rb'
- 'ee/app/helpers/trial_status_widget_helper.rb'
- 'ee/app/helpers/vulnerabilities_helper.rb'
@ -1390,7 +1386,6 @@ Layout/LineLength:
- 'ee/app/models/gitlab_subscriptions/features.rb'
- 'ee/app/models/incident_management/escalation_policy.rb'
- 'ee/app/models/incident_management/oncall_rotation.rb'
- 'ee/app/models/incident_management/timeline_event.rb'
- 'ee/app/models/integrations/github.rb'
- 'ee/app/models/issuable_sla.rb'
- 'ee/app/models/iterations/cadence.rb'
@ -1424,7 +1419,6 @@ Layout/LineLength:
- 'ee/app/policies/ee/identity_provider_policy.rb'
- 'ee/app/policies/ee/project_policy.rb'
- 'ee/app/presenters/dast/site_profile_presenter.rb'
- 'ee/app/presenters/ee/commit_status_presenter.rb'
- 'ee/app/presenters/ee/merge_request_presenter.rb'
- 'ee/app/serializers/dashboard_environment_entity.rb'
- 'ee/app/serializers/ee/environment_entity.rb'
@ -1434,7 +1428,6 @@ Layout/LineLength:
- 'ee/app/serializers/ee/note_user_entity.rb'
- 'ee/app/serializers/ee/user_entity.rb'
- 'ee/app/serializers/vulnerabilities/feedback_entity.rb'
- 'ee/app/services/alert_management/metric_images/upload_service.rb'
- 'ee/app/services/analytics/cycle_analytics/consistency_check_service.rb'
- 'ee/app/services/analytics/cycle_analytics/value_streams/create_service.rb'
- 'ee/app/services/analytics/devops_adoption/enabled_namespaces/find_or_create_service.rb'
@ -1513,7 +1506,6 @@ Layout/LineLength:
- 'ee/app/services/ee/users/update_service.rb'
- 'ee/app/services/elastic/cluster_reindexing_service.rb'
- 'ee/app/services/elastic/indexing_control_service.rb'
- 'ee/app/services/epic_links/list_service.rb'
- 'ee/app/services/epics/issue_promote_service.rb'
- 'ee/app/services/epics/update_service.rb'
- 'ee/app/services/external_status_checks/create_service.rb'
@ -1657,7 +1649,6 @@ Layout/LineLength:
- 'ee/elastic/migrate/20210510143200_delete_notes_from_original_index.rb'
- 'ee/lib/analytics/devops_adoption/snapshot_calculator.rb'
- 'ee/lib/analytics/productivity_analytics_request_params.rb'
- 'ee/lib/api/alert_management_alerts.rb'
- 'ee/lib/api/analytics/code_review_analytics.rb'
- 'ee/lib/api/audit_events.rb'
- 'ee/lib/api/ci/minutes.rb'
@ -1806,7 +1797,6 @@ Layout/LineLength:
- 'ee/lib/gitlab/geo/jwt_request_decoder.rb'
- 'ee/lib/gitlab/geo/log_cursor/events/repository_created_event.rb'
- 'ee/lib/gitlab/geo/registry_batcher.rb'
- 'ee/lib/gitlab/geo/replication/base_transfer.rb'
- 'ee/lib/gitlab/geo/replication/blob_downloader.rb'
- 'ee/lib/gitlab/geo/replicator.rb'
- 'ee/lib/gitlab/graphql/aggregations/epics/epic_node.rb'
@ -1828,7 +1818,6 @@ Layout/LineLength:
- 'ee/lib/gitlab/usage/metrics/instrumentations/count_users_creating_ci_builds_metric.rb'
- 'ee/lib/gitlab/usage/metrics/instrumentations/license_metric.rb'
- 'ee/lib/gitlab/usage_data_counters/license_testing_counter.rb'
- 'ee/lib/system_check/app/elasticsearch_check.rb'
- 'ee/lib/system_check/geo/authorized_keys_check.rb'
- 'ee/lib/system_check/geo/current_node_check.rb'
- 'ee/lib/system_check/geo/geo_database_configured_check.rb'
@ -1857,7 +1846,6 @@ Layout/LineLength:
- 'ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb'
- 'ee/spec/controllers/groups/audit_events_controller_spec.rb'
- 'ee/spec/controllers/groups/epic_issues_controller_spec.rb'
- 'ee/spec/controllers/groups/epic_links_controller_spec.rb'
- 'ee/spec/controllers/groups/epics_controller_spec.rb'
- 'ee/spec/controllers/groups/group_members_controller_spec.rb'
- 'ee/spec/controllers/groups/groups_controller_spec.rb'
@ -1885,7 +1873,6 @@ Layout/LineLength:
- 'ee/spec/controllers/projects/security/configuration_controller_spec.rb'
- 'ee/spec/controllers/projects/security/vulnerabilities_controller_spec.rb'
- 'ee/spec/controllers/projects/subscriptions_controller_spec.rb'
- 'ee/spec/controllers/projects/threat_monitoring_controller_spec.rb'
- 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb'
- 'ee/spec/controllers/projects_controller_spec.rb'
- 'ee/spec/controllers/registrations/groups_controller_spec.rb'
@ -1920,7 +1907,6 @@ Layout/LineLength:
- 'ee/spec/features/admin/geo/admin_geo_nodes_spec.rb'
- 'ee/spec/features/admin/groups/admin_changes_plan_spec.rb'
- 'ee/spec/features/admin/groups/admin_subscription_alerts_spec.rb'
- 'ee/spec/features/admin/licenses/admin_uploads_license_spec.rb'
- 'ee/spec/features/admin/subscriptions/admin_views_subscription_spec.rb'
- 'ee/spec/features/billings/billing_plans_spec.rb'
- 'ee/spec/features/billings/extend_reactivate_trial_spec.rb'
@ -1938,7 +1924,6 @@ Layout/LineLength:
- 'ee/spec/features/epics/epics_list_spec.rb'
- 'ee/spec/features/epics/issue_promotion_spec.rb'
- 'ee/spec/features/geo_node_spec.rb'
- 'ee/spec/features/gitlab_subscriptions/seats_count_alert_spec.rb'
- 'ee/spec/features/google_analytics_datalayer_spec.rb'
- 'ee/spec/features/groups/analytics/cycle_analytics/charts_spec.rb'
- 'ee/spec/features/groups/analytics/cycle_analytics/filters_and_data_spec.rb'
@ -2029,7 +2014,6 @@ Layout/LineLength:
- 'ee/spec/finders/ee/projects_finder_spec.rb'
- 'ee/spec/finders/epics_finder_spec.rb'
- 'ee/spec/finders/geo/container_repository_registry_finder_spec.rb'
- 'ee/spec/finders/geo/job_artifact_legacy_registry_finder_spec.rb'
- 'ee/spec/finders/geo/project_registry_finder_spec.rb'
- 'ee/spec/finders/geo/project_registry_status_finder_spec.rb'
- 'ee/spec/finders/group_projects_finder_spec.rb'
@ -2038,7 +2022,6 @@ Layout/LineLength:
- 'ee/spec/finders/incident_management/member_oncall_rotations_finder_spec.rb'
- 'ee/spec/finders/incident_management/oncall_rotations_finder_spec.rb'
- 'ee/spec/finders/incident_management/oncall_users_finder_spec.rb'
- 'ee/spec/finders/incident_management/timeline_events_finder_spec.rb'
- 'ee/spec/finders/issues_finder_spec.rb'
- 'ee/spec/finders/iterations/cadences_finder_spec.rb'
- 'ee/spec/finders/iterations_finder_spec.rb'
@ -2089,7 +2072,6 @@ Layout/LineLength:
- 'ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb'
- 'ee/spec/graphql/mutations/incident_management/oncall_schedule/create_spec.rb'
- 'ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb'
- 'ee/spec/graphql/mutations/incident_management/timeline_event/update_spec.rb'
- 'ee/spec/graphql/mutations/instance_security_dashboard/add_project_spec.rb'
- 'ee/spec/graphql/mutations/instance_security_dashboard/remove_project_spec.rb'
- 'ee/spec/graphql/mutations/issues/create_spec.rb'
@ -2115,7 +2097,6 @@ Layout/LineLength:
- 'ee/spec/graphql/resolvers/incident_management/escalation_policies_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/incident_management/oncall_rotations_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/incident_management/oncall_schedule_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/iterations/cadences_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/iterations_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/network_policy_resolver_spec.rb'
@ -2199,7 +2180,6 @@ Layout/LineLength:
- 'ee/spec/helpers/push_rules_helper_spec.rb'
- 'ee/spec/helpers/routing/pseudonymization_helper_spec.rb'
- 'ee/spec/helpers/search_helper_spec.rb'
- 'ee/spec/helpers/seats_count_alert_helper_spec.rb'
- 'ee/spec/helpers/security_helper_spec.rb'
- 'ee/spec/helpers/subscriptions_helper_spec.rb'
- 'ee/spec/helpers/timeboxes_helper_spec.rb'
@ -2345,18 +2325,12 @@ Layout/LineLength:
- 'ee/spec/lib/gitlab/geo/geo_tasks_spec.rb'
- 'ee/spec/lib/gitlab/geo/git_ssh_proxy_spec.rb'
- 'ee/spec/lib/gitlab/geo/health_check_spec.rb'
- 'ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb'
- 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb'
- 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb'
- 'ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb'
- 'ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb'
- 'ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/file_retriever_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/job_artifact_downloader_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/job_artifact_retriever_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/job_artifact_transfer_spec.rb'
- 'ee/spec/lib/gitlab/geo_spec.rb'
- 'ee/spec/lib/gitlab/git_access_spec.rb'
- 'ee/spec/lib/gitlab/git_access_wiki_spec.rb'
@ -2404,7 +2378,6 @@ Layout/LineLength:
- 'ee/spec/lib/omni_auth/strategies/group_saml_spec.rb'
- 'ee/spec/lib/peek/views/elasticsearch_spec.rb'
- 'ee/spec/lib/sidebars/groups/menus/security_compliance_menu_spec.rb'
- 'ee/spec/lib/system_check/app/elasticsearch_check_spec.rb'
- 'ee/spec/lib/system_check/geo/authorized_keys_check_spec.rb'
- 'ee/spec/lib/system_check/geo/http_connection_check_spec.rb'
- 'ee/spec/mailers/ee/emails/issues_spec.rb'
@ -2443,7 +2416,6 @@ Layout/LineLength:
- 'ee/spec/models/ci/daily_build_group_report_result_spec.rb'
- 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb'
- 'ee/spec/models/ci/minutes/project_monthly_usage_spec.rb'
- 'ee/spec/models/ci/minutes/quota_spec.rb'
- 'ee/spec/models/ci/pipeline_spec.rb'
- 'ee/spec/models/ci/subscriptions/project_spec.rb'
- 'ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb'
@ -2519,7 +2491,6 @@ Layout/LineLength:
- 'ee/spec/models/incident_management/issuable_escalation_status_spec.rb'
- 'ee/spec/models/incident_management/oncall_rotation_spec.rb'
- 'ee/spec/models/incident_management/oncall_shift_spec.rb'
- 'ee/spec/models/incident_management/timeline_event_spec.rb'
- 'ee/spec/models/instance_security_dashboard_spec.rb'
- 'ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb'
- 'ee/spec/models/integrations/github_spec.rb'
@ -2587,7 +2558,6 @@ Layout/LineLength:
- 'ee/spec/requests/admin/credentials_controller_spec.rb'
- 'ee/spec/requests/admin/geo/replicables_controller_spec.rb'
- 'ee/spec/requests/admin/user_permission_exports_controller_spec.rb'
- 'ee/spec/requests/api/alert_management_alerts_spec.rb'
- 'ee/spec/requests/api/analytics/code_review_analytics_spec.rb'
- 'ee/spec/requests/api/audit_events_spec.rb'
- 'ee/spec/requests/api/branches_spec.rb'
@ -2639,7 +2609,6 @@ Layout/LineLength:
- 'ee/spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/incident_management/timeline_event/update_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/issues/create_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb'
@ -2663,7 +2632,6 @@ Layout/LineLength:
- 'ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb'
- 'ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb'
- 'ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb'
- 'ee/spec/requests/api/graphql/project/incident_management/timeline_events_spec.rb'
- 'ee/spec/requests/api/graphql/project/issues_spec.rb'
- 'ee/spec/requests/api/graphql/project/pipeline/security_report_summary_spec.rb'
- 'ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb'
@ -2746,7 +2714,6 @@ Layout/LineLength:
- 'ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb'
- 'ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb'
- 'ee/spec/serializers/member_entity_spec.rb'
- 'ee/spec/serializers/merge_request_compliance_entity_spec.rb'
- 'ee/spec/serializers/project_mirror_entity_spec.rb'
- 'ee/spec/serializers/security/license_policy_entity_spec.rb'
- 'ee/spec/serializers/status_page/renderer_spec.rb'
@ -2754,7 +2721,6 @@ Layout/LineLength:
- 'ee/spec/serializers/vulnerabilities/finding_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/finding_serializer_spec.rb'
- 'ee/spec/services/alert_management/metric_images/upload_service_spec.rb'
- 'ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb'
@ -2847,7 +2813,6 @@ Layout/LineLength:
- 'ee/spec/services/ee/projects/autocomplete_service_spec.rb'
- 'ee/spec/services/ee/projects/deploy_tokens/create_service_spec.rb'
- 'ee/spec/services/ee/resource_events/merge_into_notes_service_spec.rb'
- 'ee/spec/services/ee/service_ping/service_ping_settings_spec.rb'
- 'ee/spec/services/ee/system_notes/issuables_service_spec.rb'
- 'ee/spec/services/ee/users/destroy_service_spec.rb'
- 'ee/spec/services/ee/users/migrate_to_ghost_user_service_spec.rb'
@ -2857,7 +2822,6 @@ Layout/LineLength:
- 'ee/spec/services/elastic/indexing_control_service_spec.rb'
- 'ee/spec/services/elastic/process_initial_bookkeeping_service_spec.rb'
- 'ee/spec/services/epic_issues/create_service_spec.rb'
- 'ee/spec/services/epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/issue_promote_service_spec.rb'
- 'ee/spec/services/epics/related_epic_links/create_service_spec.rb'
- 'ee/spec/services/epics/tree_reorder_service_spec.rb'
@ -2976,7 +2940,6 @@ Layout/LineLength:
- 'ee/spec/services/start_pull_mirroring_service_spec.rb'
- 'ee/spec/services/status_page/publish_attachments_service_spec.rb'
- 'ee/spec/services/system_notes/escalations_service_spec.rb'
- 'ee/spec/services/system_notes/incidents_service_spec.rb'
- 'ee/spec/services/system_notes/merge_train_service_spec.rb'
- 'ee/spec/services/timebox_report_service_spec.rb'
- 'ee/spec/services/todo_service_spec.rb'
@ -3044,7 +3007,6 @@ Layout/LineLength:
- 'ee/spec/support/shared_examples/quick_actions/merge_request/unassign_reviewer_shared_examples.rb'
- 'ee/spec/support/shared_examples/requests/api/graphql/geo/registries_shared_examples.rb'
- 'ee/spec/support/shared_examples/requests/api/project_approval_rules_api_shared_examples.rb'
- 'ee/spec/support/shared_examples/serializers/license_compliance/comparer_entity_examples.rb'
- 'ee/spec/support/shared_examples/services/alert_management/alert_processing/alert_firing_shared_examples.rb'
- 'ee/spec/support/shared_examples/services/alert_management/alert_processing/alert_recovery_shared_examples.rb'
- 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb'
@ -3063,7 +3025,6 @@ Layout/LineLength:
- 'ee/spec/tasks/geo/git_rake_spec.rb'
- 'ee/spec/tasks/geo_rake_spec.rb'
- 'ee/spec/tasks/gitlab/geo_rake_spec.rb'
- 'ee/spec/uploaders/every_gitlab_uploader_spec.rb'
- 'ee/spec/validators/json_schema_validator_spec.rb'
- 'ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb'
- 'ee/spec/views/admin/application_settings/general.html.haml_spec.rb'
@ -3129,7 +3090,6 @@ Layout/LineLength:
- 'ee/spec/workers/iterations/roll_over_issues_worker_spec.rb'
- 'ee/spec/workers/iterations_update_status_worker_spec.rb'
- 'ee/spec/workers/merge_request_reset_approvals_worker_spec.rb'
- 'ee/spec/workers/network_policy_metrics_worker_spec.rb'
- 'ee/spec/workers/new_epic_worker_spec.rb'
- 'ee/spec/workers/refresh_license_compliance_checks_worker_spec.rb'
- 'ee/spec/workers/repository_import_worker_spec.rb'
@ -3268,7 +3228,6 @@ Layout/LineLength:
- 'lib/api/todos.rb'
- 'lib/api/users.rb'
- 'lib/api/wikis.rb'
- 'lib/atlassian/jira_connect/asymmetric_jwt.rb'
- 'lib/atlassian/jira_connect/client.rb'
- 'lib/atlassian/jira_connect/serializers/repository_entity.rb'
- 'lib/backup.rb'
@ -3319,7 +3278,6 @@ Layout/LineLength:
- 'lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end.rb'
- 'lib/gitlab/analytics/cycle_analytics/stage_events/plan_stage_start.rb'
- 'lib/gitlab/analytics/cycle_analytics/stage_query_helpers.rb'
- 'lib/gitlab/analytics/unique_visits.rb'
- 'lib/gitlab/application_context.rb'
- 'lib/gitlab/application_rate_limiter.rb'
- 'lib/gitlab/asciidoc.rb'
@ -3544,8 +3502,6 @@ Layout/LineLength:
- 'lib/gitlab/grape_logging/loggers/client_env_logger.rb'
- 'lib/gitlab/graphql/pagination/keyset/generic_keyset_pagination.rb'
- 'lib/gitlab/graphql/pagination/keyset/query_builder.rb'
- 'lib/gitlab/graphql/query_analyzers/logger_analyzer.rb'
- 'lib/gitlab/graphql/query_analyzers/recursion_analyzer.rb'
- 'lib/gitlab/graphql/timeout.rb'
- 'lib/gitlab/group_search_results.rb'
- 'lib/gitlab/hashed_storage/migrator.rb'
@ -3577,10 +3533,8 @@ Layout/LineLength:
- 'lib/gitlab/jira_import.rb'
- 'lib/gitlab/jira_import/base_importer.rb'
- 'lib/gitlab/jira_import/issues_importer.rb'
- 'lib/gitlab/kubernetes/cilium_network_policy.rb'
- 'lib/gitlab/kubernetes/helm/pod.rb'
- 'lib/gitlab/kubernetes/kubectl_cmd.rb'
- 'lib/gitlab/kubernetes/network_policy.rb'
- 'lib/gitlab/kubernetes/pod_cmd.rb'
- 'lib/gitlab/legacy_github_import/importer.rb'
- 'lib/gitlab/legacy_github_import/project_creator.rb'
@ -3591,7 +3545,6 @@ Layout/LineLength:
- 'lib/gitlab/merge_requests/commit_message_generator.rb'
- 'lib/gitlab/metrics/dashboard/importer.rb'
- 'lib/gitlab/metrics/dashboard/importers/prometheus_metrics.rb'
- 'lib/gitlab/metrics/dashboard/stages/alerts_inserter.rb'
- 'lib/gitlab/metrics/dashboard/stages/cluster_endpoint_inserter.rb'
- 'lib/gitlab/metrics/dashboard/stages/custom_metrics_details_inserter.rb'
- 'lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter.rb'
@ -3788,7 +3741,6 @@ Layout/LineLength:
- 'qa/qa/scenario/template.rb'
- 'qa/qa/service/cluster_provider/gcloud.rb'
- 'qa/qa/service/cluster_provider/k3s.rb'
- 'qa/qa/service/cluster_provider/k3s_cilium.rb'
- 'qa/qa/service/kubernetes_cluster.rb'
- 'qa/qa/service/praefect_manager.rb'
- 'qa/qa/specs/features/api/1_manage/project_access_token_spec.rb'
@ -3811,9 +3763,6 @@ Layout/LineLength:
- 'qa/qa/specs/features/api/3_create/snippet/snippet_repository_storage_move_spec.rb'
- 'qa/qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb'
- 'qa/qa/specs/features/api/5_package/container_registry_spec.rb'
- 'qa/qa/specs/features/browser_ui/14_non_devops/performance_bar_spec.rb'
- 'qa/qa/specs/features/browser_ui/14_non_devops/service_ping_default_enabled_spec.rb'
- 'qa/qa/specs/features/browser_ui/14_non_devops/service_ping_disabled_spec.rb'
- 'qa/qa/specs/features/browser_ui/1_manage/group/create_group_with_mattermost_team_spec.rb'
- 'qa/qa/specs/features/browser_ui/1_manage/login/2fa_recovery_spec.rb'
- 'qa/qa/specs/features/browser_ui/1_manage/login/2fa_ssh_recovery_spec.rb'
@ -3921,9 +3870,6 @@ Layout/LineLength:
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/rubygems_registry_spec.rb'
- 'qa/qa/specs/features/browser_ui/6_release/pages/pages_pipeline_spec.rb'
- 'qa/qa/specs/features/browser_ui/6_release/pipeline/multi-project_pipelines_spec.rb'
- 'qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb'
- 'qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb'
- 'qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb'
- 'qa/qa/specs/features/ee/api/12_geo/geo_nodes_spec.rb'
- 'qa/qa/specs/features/ee/api/1_manage/user/minimal_access_user_spec.rb'
@ -3938,7 +3884,6 @@ Layout/LineLength:
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/notes_index/note_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/nightly_elasticsearch_test_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/10_protect/policies_list_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/10_protect/policy_alerts_list_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/free_trial_spec.rb'
@ -4008,7 +3953,6 @@ Layout/LineLength:
- 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/cancelling_merge_request_in_merge_train_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_status_on_operation_dashboard_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/transient/merge_trains_transient_bug_spec.rb'
@ -4034,7 +3978,6 @@ Layout/LineLength:
- 'qa/qa/vendor/jenkins/page/login.rb'
- 'qa/spec/git/repository_spec.rb'
- 'qa/spec/page/logging_spec.rb'
- 'qa/spec/qa_deprecation_toolkit_env.rb'
- 'qa/spec/resource/api_fabricator_spec.rb'
- 'qa/spec/runtime/env_spec.rb'
- 'qa/spec/runtime/feature_spec.rb'
@ -4094,7 +4037,6 @@ Layout/LineLength:
- 'spec/controllers/admin/groups_controller_spec.rb'
- 'spec/controllers/admin/impersonations_controller_spec.rb'
- 'spec/controllers/admin/projects_controller_spec.rb'
- 'spec/controllers/admin/requests_profiles_controller_spec.rb'
- 'spec/controllers/admin/users_controller_spec.rb'
- 'spec/controllers/application_controller_spec.rb'
- 'spec/controllers/boards/issues_controller_spec.rb'
@ -4178,7 +4120,6 @@ Layout/LineLength:
- 'spec/controllers/projects/registry/tags_controller_spec.rb'
- 'spec/controllers/projects/repositories_controller_spec.rb'
- 'spec/controllers/projects/runners_controller_spec.rb'
- 'spec/controllers/projects/serverless/functions_controller_spec.rb'
- 'spec/controllers/projects/service_desk_controller_spec.rb'
- 'spec/controllers/projects/service_ping_controller_spec.rb'
- 'spec/controllers/projects/settings/ci_cd_controller_spec.rb'
@ -4303,7 +4244,6 @@ Layout/LineLength:
- 'spec/features/labels_hierarchy_spec.rb'
- 'spec/features/markdown/copy_as_gfm_spec.rb'
- 'spec/features/markdown/gitlab_flavored_markdown_spec.rb'
- 'spec/features/markdown/mermaid_spec.rb'
- 'spec/features/markdown/metrics_spec.rb'
- 'spec/features/merge_request/batch_comments_spec.rb'
- 'spec/features/merge_request/maintainer_edits_fork_spec.rb'
@ -4471,7 +4411,6 @@ Layout/LineLength:
- 'spec/finders/deployments_finder_spec.rb'
- 'spec/finders/environments/environments_by_deployments_finder_spec.rb'
- 'spec/finders/environments/environments_finder_spec.rb'
- 'spec/finders/error_tracking/errors_finder_spec.rb'
- 'spec/finders/events_finder_spec.rb'
- 'spec/finders/fork_targets_finder_spec.rb'
- 'spec/finders/group_descendants_finder_spec.rb'
@ -4701,20 +4640,14 @@ Layout/LineLength:
- 'spec/lib/api/helpers/packages_helpers_spec.rb'
- 'spec/lib/api/helpers/rate_limiter_spec.rb'
- 'spec/lib/api/helpers_spec.rb'
- 'spec/lib/atlassian/jira_connect/asymmetric_jwt_spec.rb'
- 'spec/lib/atlassian/jira_connect/client_spec.rb'
- 'spec/lib/atlassian/jira_connect/serializers/feature_flag_entity_spec.rb'
- 'spec/lib/atlassian/jira_issue_key_extractor_spec.rb'
- 'spec/lib/backup/artifacts_spec.rb'
- 'spec/lib/backup/database_spec.rb'
- 'spec/lib/backup/files_spec.rb'
- 'spec/lib/backup/gitaly_backup_spec.rb'
- 'spec/lib/backup/lfs_spec.rb'
- 'spec/lib/backup/manager_spec.rb'
- 'spec/lib/backup/object_backup_spec.rb'
- 'spec/lib/backup/pages_spec.rb'
- 'spec/lib/backup/repositories_spec.rb'
- 'spec/lib/backup/uploads_spec.rb'
- 'spec/lib/banzai/commit_renderer_spec.rb'
- 'spec/lib/banzai/filter/ascii_doc_post_processing_filter_spec.rb'
- 'spec/lib/banzai/filter/ascii_doc_sanitization_filter_spec.rb'
@ -4916,7 +4849,6 @@ Layout/LineLength:
- 'spec/lib/gitlab/ci/templates/5_minute_production_app_ci_yaml_spec.rb'
- 'spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb'
- 'spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb'
- 'spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb'
- 'spec/lib/gitlab/ci/templates/npm_spec.rb'
- 'spec/lib/gitlab/ci/variables/builder_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
@ -5120,14 +5052,12 @@ Layout/LineLength:
- 'spec/lib/gitlab/jira_import_spec.rb'
- 'spec/lib/gitlab/kas/client_spec.rb'
- 'spec/lib/gitlab/kas_spec.rb'
- 'spec/lib/gitlab/kubernetes/cilium_network_policy_spec.rb'
- 'spec/lib/gitlab/kubernetes/deployment_spec.rb'
- 'spec/lib/gitlab/kubernetes/helm/api_spec.rb'
- 'spec/lib/gitlab/kubernetes/helm/pod_spec.rb'
- 'spec/lib/gitlab/kubernetes/kubeconfig/template_spec.rb'
- 'spec/lib/gitlab/kubernetes/kubectl_cmd_spec.rb'
- 'spec/lib/gitlab/kubernetes/namespace_spec.rb'
- 'spec/lib/gitlab/kubernetes/network_policy_spec.rb'
- 'spec/lib/gitlab/kubernetes/pod_cmd_spec.rb'
- 'spec/lib/gitlab/kubernetes/rollout_status_spec.rb'
- 'spec/lib/gitlab/kubernetes_spec.rb'
@ -5339,7 +5269,6 @@ Layout/LineLength:
- 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb'
- 'spec/migrations/backfill_nuget_temporary_packages_to_processing_status_spec.rb'
- 'spec/migrations/backfill_project_namespaces_for_group_spec.rb'
- 'spec/migrations/backfill_work_item_type_id_on_issues_spec.rb'
- 'spec/migrations/cleanup_after_add_primary_email_to_emails_if_user_confirmed_spec.rb'
- 'spec/migrations/cleanup_after_fixing_issue_when_admin_changed_primary_email_spec.rb'
- 'spec/migrations/cleanup_move_container_registry_enabled_to_project_feature_spec.rb'
@ -5362,7 +5291,6 @@ Layout/LineLength:
- 'spec/migrations/reset_severity_levels_to_new_default_spec.rb'
- 'spec/migrations/schedule_add_primary_email_to_emails_if_user_confirmed_spec.rb'
- 'spec/migrations/schedule_copy_ci_builds_columns_to_security_scans2_spec.rb'
- 'spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb'
- 'spec/migrations/schedule_populate_status_column_of_security_scans_spec.rb'
- 'spec/migrations/schedule_recalculate_vulnerability_finding_signatures_for_findings_spec.rb'
- 'spec/migrations/schedule_update_timelogs_null_spent_at_spec.rb'
@ -5600,7 +5528,6 @@ Layout/LineLength:
- 'spec/presenters/packages/nuget/package_metadata_presenter_spec.rb'
- 'spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb'
- 'spec/presenters/packages/nuget/search_results_presenter_spec.rb'
- 'spec/presenters/packages/pypi/package_presenter_spec.rb'
- 'spec/presenters/projects/security/configuration_presenter_spec.rb'
- 'spec/presenters/prometheus_alert_presenter_spec.rb'
- 'spec/presenters/service_hook_presenter_spec.rb'
@ -5830,7 +5757,6 @@ Layout/LineLength:
- 'spec/rubocop/cop/migration/safer_boolean_column_spec.rb'
- 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb'
- 'spec/rubocop/cop/performance/readlines_each_spec.rb'
- 'spec/rubocop/cop/qa/testcase_link_format_spec.rb'
- 'spec/rubocop/cop/rspec/env_assignment_spec.rb'
- 'spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb'
- 'spec/rubocop/cop/scalability/file_uploads_spec.rb'
@ -5877,7 +5803,6 @@ Layout/LineLength:
- 'spec/services/alert_management/http_integrations/update_service_spec.rb'
- 'spec/services/application_settings/update_service_spec.rb'
- 'spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb'
- 'spec/services/authorized_project_update/project_create_service_spec.rb'
- 'spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb'
- 'spec/services/boards/issues/create_service_spec.rb'
- 'spec/services/boards/issues/list_service_spec.rb'
@ -5911,7 +5836,6 @@ Layout/LineLength:
- 'spec/services/clusters/applications/check_installation_progress_service_spec.rb'
- 'spec/services/clusters/applications/check_uninstall_progress_service_spec.rb'
- 'spec/services/clusters/applications/create_service_spec.rb'
- 'spec/services/clusters/applications/schedule_update_service_spec.rb'
- 'spec/services/clusters/applications/uninstall_service_spec.rb'
- 'spec/services/clusters/aws/fetch_credentials_service_spec.rb'
- 'spec/services/clusters/aws/provision_service_spec.rb'
@ -6133,7 +6057,6 @@ Layout/LineLength:
- 'spec/services/search_service_spec.rb'
- 'spec/services/security/ci_configuration/sast_create_service_spec.rb'
- 'spec/services/security/merge_reports_service_spec.rb'
- 'spec/services/service_ping/service_ping_settings_spec.rb'
- 'spec/services/service_ping/submit_service_ping_service_spec.rb'
- 'spec/services/snippets/create_service_spec.rb'
- 'spec/services/snippets/update_repository_storage_service_spec.rb'
@ -6499,8 +6422,6 @@ Layout/LineLength:
- 'spec/workers/incident_management/pager_duty/process_incident_worker_spec.rb'
- 'spec/workers/incident_management/process_alert_worker_v2_spec.rb'
- 'spec/workers/invalid_gpg_signature_update_worker_spec.rb'
- 'spec/workers/issue_placement_worker_spec.rb'
- 'spec/workers/issue_rebalancing_worker_spec.rb'
- 'spec/workers/issues/placement_worker_spec.rb'
- 'spec/workers/issues/rebalancing_worker_spec.rb'
- 'spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb'
@ -6535,7 +6456,6 @@ Layout/LineLength:
- 'spec/workers/todos_destroyer/confidential_issue_worker_spec.rb'
- 'spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb'
- 'spec/workers/users/deactivate_dormant_users_worker_spec.rb'
- 'spec/workers/web_hooks/destroy_worker_spec.rb'
- 'tooling/bin/find_changes'
- 'tooling/danger/product_intelligence.rb'
- 'tooling/danger/project_helper.rb'

View file

@ -465,7 +465,6 @@ Layout/SpaceInsideBlockBraces:
- 'spec/lib/gitlab/database/with_lock_retries_spec.rb'
- 'spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb'
- 'spec/lib/gitlab/database_spec.rb'
- 'spec/lib/gitlab/elasticsearch/logs/lines_spec.rb'
- 'spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
- 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb'
- 'spec/lib/gitlab/email/message/in_product_marketing/admin_verify_spec.rb'

View file

@ -21,10 +21,8 @@ Lint/ConstantDefinitionInBlock:
- 'ee/app/models/ee/project_import_state.rb'
- 'ee/app/models/ee/user.rb'
- 'ee/app/models/ee/vulnerability.rb'
- 'ee/app/presenters/ee/commit_status_presenter.rb'
- 'ee/app/services/ee/notes/quick_actions_service.rb'
- 'ee/lib/ee/api/search.rb'
- 'ee/lib/ee/gitlab/ci/status/build/failed.rb'
- 'ee/lib/gitlab/subscription_portal/clients/rest.rb'
- 'ee/lib/tasks/geo.rake'
- 'ee/spec/db/schema_support.rb'

View file

@ -43,7 +43,6 @@ Migration/BackgroundMigrationRecord:
- ee/lib/ee/gitlab/background_migration/backfill_iteration_cadence_id_for_boards.rb
- ee/lib/ee/gitlab/background_migration/create_security_setting.rb
- ee/lib/ee/gitlab/background_migration/drop_invalid_remediations.rb
- ee/lib/ee/gitlab/background_migration/drop_invalid_remediations.rb
- ee/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used.rb
- ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb
- ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch.rb

View file

@ -717,7 +717,6 @@ Rails/SkipsModelValidations:
- 'spec/uploaders/job_artifact_uploader_spec.rb'
- 'spec/views/groups/edit.html.haml_spec.rb'
- 'spec/views/projects/environments/terminal.html.haml_spec.rb'
- 'spec/views/projects/tracing/show.html.haml_spec.rb'
- 'spec/workers/auto_devops/disable_worker_spec.rb'
- 'spec/workers/build_finished_worker_spec.rb'
- 'spec/workers/ci/merge_requests/add_todo_when_build_fails_worker_spec.rb'

View file

@ -380,8 +380,6 @@ RSpec/AnyInstanceOf:
- spec/services/packages/nuget/metadata_extraction_service_spec.rb
- spec/services/packages/nuget/update_package_from_metadata_service_spec.rb
- spec/services/pages/delete_services_spec.rb
- spec/services/pod_logs/elasticsearch_service_spec.rb
- spec/services/pod_logs/kubernetes_service_spec.rb
- spec/services/post_receive_service_spec.rb
- spec/services/projects/after_rename_service_spec.rb
- spec/services/projects/container_repository/cleanup_tags_service_spec.rb

View file

@ -1845,7 +1845,6 @@ RSpec/ContextWording:
- 'spec/helpers/events_helper_spec.rb'
- 'spec/helpers/git_helper_spec.rb'
- 'spec/helpers/gitlab_routing_helper_spec.rb'
- 'spec/helpers/groups/crm_settings_helper_spec.rb'
- 'spec/helpers/groups/group_members_helper_spec.rb'
- 'spec/helpers/groups_helper_spec.rb'
- 'spec/helpers/ide_helper_spec.rb'

View file

@ -628,4 +628,3 @@ RSpec/ExpectChange:
- 'spec/workers/update_highest_role_worker_spec.rb'
- 'spec/workers/user_status_cleanup/batch_worker_spec.rb'
- 'spec/workers/users/create_statistics_worker_spec.rb'
- 'spec/workers/web_hooks/destroy_worker_spec.rb'

View file

@ -156,7 +156,6 @@ RSpec/ScatteredLet:
- 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb'
- 'spec/lib/gitlab/diff/suggestion_diff_spec.rb'
- 'spec/lib/gitlab/diff/suggestion_spec.rb'
- 'spec/lib/gitlab/elasticsearch/logs/lines_spec.rb'
- 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb'
- 'spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb'
- 'spec/lib/gitlab/error_tracking_spec.rb'

View file

@ -33,7 +33,6 @@ Style/CaseLikeIf:
- 'ee/spec/features/projects/custom_projects_template_spec.rb'
- 'ee/spec/support/matchers/ee/epic_aggregate_matchers.rb'
- 'lib/api/helpers/label_helpers.rb'
- 'lib/gitlab/analytics/unique_visits.rb'
- 'lib/gitlab/ci/ansi2html.rb'
- 'lib/gitlab/ci/ansi2json/converter.rb'
- 'lib/gitlab/ci/build/image.rb'

View file

@ -692,7 +692,6 @@ Style/PercentLiteralDelimiters:
- 'spec/features/projects/artifacts/user_downloads_artifacts_spec.rb'
- 'spec/features/projects/branches_spec.rb'
- 'spec/features/projects/environments/environment_spec.rb'
- 'spec/features/projects/environments_pod_logs_spec.rb'
- 'spec/features/projects/integrations/user_activates_jira_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- 'spec/features/projects/labels/issues_sorted_by_priority_spec.rb'
@ -1114,8 +1113,6 @@ Style/PercentLiteralDelimiters:
- 'spec/services/packages/nuget/update_package_from_metadata_service_spec.rb'
- 'spec/services/packages/update_tags_service_spec.rb'
- 'spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb'
- 'spec/services/pod_logs/base_service_spec.rb'
- 'spec/services/pod_logs/kubernetes_service_spec.rb'
- 'spec/services/product_analytics/build_graph_service_spec.rb'
- 'spec/services/projects/branches_by_mode_service_spec.rb'
- 'spec/services/projects/container_repository/cleanup_tags_service_spec.rb'

View file

@ -1 +1 @@
bfd3175bf92587f21d17e2107e1e7e2ee0fa69bc
ac72695adc90343b7255869818376f505bde8315

View file

@ -4,6 +4,8 @@ import {
GlOutsideDirective as Outside,
GlIcon,
GlToken,
GlSafeHtmlDirective as SafeHtml,
GlTooltipDirective,
GlResizeObserverDirective,
} from '@gitlab/ui';
import { mapState, mapActions, mapGetters } from 'vuex';
@ -44,8 +46,13 @@ export default {
),
searchResultsLoading: s__('GlobalSearch|Search results are loading'),
searchResultsScope: s__('GlobalSearch|in %{scope}'),
kbdHelp: sprintf(
s__('GlobalSearch|Use the shortcut key %{kbdOpen}/%{kbdClose} to start a search'),
{ kbdOpen: '<kbd>', kbdClose: '</kbd>' },
false,
),
},
directives: { Outside, GlResizeObserverDirective },
directives: { SafeHtml, Outside, GlTooltip: GlTooltipDirective, GlResizeObserverDirective },
components: {
GlSearchBoxByType,
HeaderSearchDefaultItems,
@ -234,6 +241,12 @@ export default {
)
}}
</gl-token>
<kbd
v-gl-tooltip.bottom.hover.html
class="gl-absolute gl-right-3 gl-top-0 gl-z-index-1 keyboard-shortcut-helper"
:title="$options.i18n.kbdHelp"
>/</kbd
>
<span :id="$options.SEARCH_INPUT_DESCRIPTION" role="region" class="gl-sr-only">{{
searchInputDescribeBy
}}</span>

View file

@ -99,28 +99,23 @@ input[type='checkbox']:hover {
}
}
.keyboard-shortcut-helper {
transform: translateY(calc(50% - 2px));
box-shadow: none;
border-color: transparent;
}
&.is-active {
.keyboard-shortcut-helper {
display: none;
}
}
&.is-not-active {
.btn.gl-clear-icon-button,
.in-search-scope-help {
display: none;
}
&::after {
content: $search-keyboard-shortcut;
transform: translateY(calc(50% - #{$gl-spacing-scale-2}));
position: absolute;
top: 0;
right: $gl-spacing-scale-3;
padding: $gl-spacing-scale-2 5px;
font-size: $gl-font-size-small;
font-family: $monospace-font;
line-height: 1;
vertical-align: middle;
border-width: 0;
border-radius: $border-radius-medium;
box-shadow: none;
box-sizing: border-box;
}
}
}

View file

@ -3,9 +3,12 @@
// https://gitlab.com/gitlab-org/gitlab/-/issues/331812
@charset "UTF-8";
body.gl-dark {
--gray-10: #1f1f1f;
--gray-50: #303030;
--gray-100: #404040;
--gray-200: #525252;
--gray-600: #bfbfbf;
--gray-700: #dbdbdb;
--gray-900: #fafafa;
--green-100: #0d532a;
--green-700: #91d4a8;
@ -61,6 +64,11 @@ a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
}
kbd {
font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas",
"Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace;
font-size: 1em;
}
img {
vertical-align: middle;
border-style: none;
@ -105,6 +113,18 @@ button::-moz-focus-inner,
padding-left: 0;
list-style: none;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #333;
background-color: #fafafa;
border-radius: 0.2rem;
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: 600;
}
.container-fluid {
width: 100%;
padding-right: 15px;
@ -740,6 +760,22 @@ input {
.form-control::placeholder {
color: #868686;
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 0.6875rem;
line-height: 10px;
color: var(--gray-700, #dbdbdb);
vertical-align: middle;
background-color: var(--gray-10, #1f1f1f);
border-width: 1px;
border-style: solid;
border-color: var(--gray-100, #404040) var(--gray-100, #404040)
var(--gray-200, #525252);
border-image: none;
border-radius: 3px;
box-shadow: 0 -1px 0 var(--gray-200, #525252) inset;
}
.navbar-gitlab {
padding: 0 16px;
z-index: 1000;
@ -1514,22 +1550,10 @@ svg.s16 {
min-width: 200px;
}
}
.header-search.is-not-active::after {
content: "/";
transform: translateY(calc(50% - 0.25rem));
position: absolute;
top: 0;
right: 0.5rem;
padding: 0.25rem 5px;
font-size: 12px;
font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas",
"Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace;
line-height: 1;
vertical-align: middle;
border-width: 0;
border-radius: 3px;
.header-search .keyboard-shortcut-helper {
transform: translateY(calc(50% - 2px));
box-shadow: none;
box-sizing: border-box;
border-color: transparent;
}
.search {
margin: 0 8px;
@ -1877,7 +1901,7 @@ body.gl-dark .header-search input::placeholder {
body.gl-dark .header-search input:active::placeholder {
color: #868686;
}
body.gl-dark .header-search.is-not-active::after {
body.gl-dark .header-search.is-not-active .keyboard-shortcut-helper {
color: #fafafa;
background-color: rgba(250, 250, 250, 0.2);
}
@ -2077,6 +2101,12 @@ body.gl-dark {
.gl-absolute {
position: absolute;
}
.gl-top-0 {
top: 0;
}
.gl-right-3 {
right: 0.5rem;
}
.gl-w-full {
width: 100%;
}
@ -2112,6 +2142,9 @@ body.gl-dark {
.gl-font-weight-bold {
font-weight: 600;
}
.gl-z-index-1 {
z-index: 1;
}
@import "startup/cloaking";
@include cloak-startup-scss(none);

View file

@ -46,6 +46,11 @@ a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
}
kbd {
font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas",
"Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace;
font-size: 1em;
}
img {
vertical-align: middle;
border-style: none;
@ -90,6 +95,18 @@ button::-moz-focus-inner,
padding-left: 0;
list-style: none;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #303030;
border-radius: 0.2rem;
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: 600;
}
.container-fluid {
width: 100%;
padding-right: 15px;
@ -725,6 +742,22 @@ input {
.form-control::placeholder {
color: #868686;
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 0.6875rem;
line-height: 10px;
color: var(--gray-700, #525252);
vertical-align: middle;
background-color: var(--gray-10, #f5f5f5);
border-width: 1px;
border-style: solid;
border-color: var(--gray-100, #dbdbdb) var(--gray-100, #dbdbdb)
var(--gray-200, #bfbfbf);
border-image: none;
border-radius: 3px;
box-shadow: 0 -1px 0 var(--gray-200, #bfbfbf) inset;
}
.navbar-gitlab {
padding: 0 16px;
z-index: 1000;
@ -1499,22 +1532,10 @@ svg.s16 {
min-width: 200px;
}
}
.header-search.is-not-active::after {
content: "/";
transform: translateY(calc(50% - 0.25rem));
position: absolute;
top: 0;
right: 0.5rem;
padding: 0.25rem 5px;
font-size: 12px;
font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas",
"Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace;
line-height: 1;
vertical-align: middle;
border-width: 0;
border-radius: 3px;
.header-search .keyboard-shortcut-helper {
transform: translateY(calc(50% - 2px));
box-shadow: none;
box-sizing: border-box;
border-color: transparent;
}
.search {
margin: 0 8px;
@ -1731,6 +1752,12 @@ svg.s16 {
.gl-absolute {
position: absolute;
}
.gl-top-0 {
top: 0;
}
.gl-right-3 {
right: 0.5rem;
}
.gl-w-full {
width: 100%;
}
@ -1766,6 +1793,9 @@ svg.s16 {
.gl-font-weight-bold {
font-weight: 600;
}
.gl-z-index-1 {
z-index: 1;
}
@import "startup/cloaking";
@include cloak-startup-scss(none);

View file

@ -159,7 +159,6 @@
color: rgba($search-and-nav-links, 0.8);
}
input {
background-color: transparent;
color: rgba($search-and-nav-links, 0.8);
@ -177,9 +176,11 @@
}
}
&.is-not-active::after {
color: $search-and-nav-links;
background-color: rgba($search-and-nav-links, 0.2);
&.is-not-active {
.keyboard-shortcut-helper {
color: $search-and-nav-links;
background-color: rgba($search-and-nav-links, 0.2);
}
}
}

View file

@ -25,3 +25,7 @@
-# workaround for non-JS feature specs, see spec/support/helpers/search_helpers.rb
- if ENV['RAILS_ENV'] == 'test'
%noscript= button_tag 'Search'
%kbd.gl-absolute.gl-right-3.gl-top-0.keyboard-shortcut-helper.gl-z-index-1.has-tooltip{ data: { html: 'true',
placement: 'bottom' },
title: html_escape(s_('GlobalSearch|Use the shortcut key %{kbdOpen}/%{kbdClose} to start a search')) % { kbdOpen: '<kbd>'.html_safe, kbdClose: '</kbd>'.html_safe } }
= '/'

View file

@ -1,7 +1,7 @@
!!! 5
%html.devise-layout-html{ class: system_message_class }
= render "layouts/head", { startup_filename: 'signin' }
%body.ui-indigo.login-page.application.navless{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'login_page' } }
%body.login-page.application.navless{ class: "#{user_application_theme} #{client_class_list}", data: { page: body_data_page, qa_selector: 'login_page' } }
= header_message
= render "layouts/init_client_detection_flags"
.page-wrap

View file

@ -1,7 +1,7 @@
!!! 5
%html.devise-layout-html{ lang: "en", class: system_message_class }
= render "layouts/head"
%body.ui-indigo.login-page.application.navless{ class: "#{client_class_list}" }
%body.login-page.application.navless{ class: "#{user_application_theme} #{client_class_list}" }
= header_message
= render "layouts/init_client_detection_flags"
= render "layouts/header/empty"

View file

@ -2,7 +2,7 @@
%html.devise-layout-html.navless{ class: system_message_class }
- add_page_specific_style 'page_bundles/signup'
= render "layouts/head"
%body.ui-indigo.signup-page{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'signup_page' } }
%body.signup-page{ class: "#{user_application_theme} #{client_class_list}", data: { page: body_data_page, qa_selector: 'signup_page' } }
= render "layouts/header/logo_with_title"
= render "layouts/init_client_detection_flags"
.page-wrap

View file

@ -80,13 +80,13 @@ Nodes should be:
- Upgraded one node at a time.
Identify any existing health issues in the cluster by running the following command
within each node. The command will return an empty array if the cluster is healthy:
within each node. The command returns an empty array if the cluster is healthy:
```shell
curl "http://127.0.0.1:8500/v1/health/state/critical"
```
If the Consul version has changed, you'll see a notice at the end of `gitlab-ctl reconfigure`
If the Consul version has changed, you see a notice at the end of `gitlab-ctl reconfigure`
informing you that Consul needs to be restarted for the new version to be used.
Restart Consul one node at a time:
@ -149,7 +149,7 @@ To be safe, it's recommended that you only restart Consul in one node at a time
ensure the cluster remains intact. For larger clusters, it is possible to restart
multiple nodes at a time. See the
[Consul consensus document](https://www.consul.io/docs/architecture/consensus#deployment-table)
for the number of failures it can tolerate. This will be the number of simultaneous
for the number of failures it can tolerate. This is the number of simultaneous
restarts it can sustain.
To restart Consul:

View file

@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Housekeeping **(FREE SELF)**
GitLab supports and automates housekeeping tasks within your current repository such as:
GitLab supports and automates housekeeping tasks in your current repository such as:
- Compressing Git objects.
- Removing unreachable objects.

View file

@ -7,7 +7,7 @@ type: reference
# GitLab application limits **(FREE SELF)**
GitLab, like most large applications, enforces limits within certain features to maintain a
GitLab, like most large applications, enforces limits in certain features to maintain a
minimum quality of performance. Allowing some features to be limitless could affect security,
performance, data, or could even exhaust the allocated resources for the application.
@ -309,7 +309,7 @@ Blocked recursive webhook calls are logged in `auth.log` with the message `"Recu
The [minimum wait time between pull refreshes](../user/project/repository/mirror/index.md)
defaults to 300 seconds (5 minutes). For example, a pull refresh only runs once in a given 300 second period, regardless of how many times you trigger it.
This setting applies in the context of pull refreshes invoked via the [projects API](../api/projects.md#start-the-pull-mirroring-process-for-a-project), or when forcing an update by selecting the **Update now** (**{retry}**) button within **Settings > Repository > Mirroring repositories**. This setting has no effect on the automatic 30 minute interval schedule used by Sidekiq for [pull mirroring](../user/project/repository/mirror/pull.md).
This setting applies in the context of pull refreshes invoked via the [projects API](../api/projects.md#start-the-pull-mirroring-process-for-a-project), or when forcing an update by selecting **Update now** (**{retry}**) in **Settings > Repository > Mirroring repositories**. This setting has no effect on the automatic 30 minute interval schedule used by Sidekiq for [pull mirroring](../user/project/repository/mirror/pull.md).
To change this limit for a self-managed installation, run the following in the
[GitLab Rails console](operations/rails_console.md#starting-a-rails-console-session):
@ -342,7 +342,7 @@ and to limit memory consumption.
When using offset-based pagination in the REST API, there is a limit to the maximum
requested offset into the set of results. This limit is only applied to endpoints that
support keyset-based pagination. More information about pagination options can be
found in the [API docs section on pagination](../api/index.md#pagination).
found in the [API documentation section on pagination](../api/index.md#pagination).
To set this limit for a self-managed installation, run the following in the
[GitLab Rails console](operations/rails_console.md#starting-a-rails-console-session):
@ -944,7 +944,7 @@ The maximum allowed [push size](../user/admin_area/settings/account_and_limit_se
Total number of changes (branches or tags) in a single push. If changes are more
than the specified limit, hooks are not executed.
More information can be found in these docs:
More information can be found in these documentations:
- [Webhooks push events](../user/project/integrations/webhook_events.md#push-events)
- [Project services push hooks limit](../user/project/integrations/index.md#push-hooks-limit)
@ -1040,7 +1040,7 @@ In addition to application-based limits, GitLab.com is configured to use Cloudfl
## Container Repository tag deletion limit
Container repository tags are in the Container Registry and, as such, each tag deletion will trigger network requests to the Container Registry. Because of this, we limit the number of tags that a single API call can delete to 20.
Container repository tags are in the Container Registry and, as such, each tag deletion triggers network requests to the Container Registry. Because of this, we limit the number of tags that a single API call can delete to 20.
## Project-level Secure Files API limits

View file

@ -54,6 +54,8 @@ Metrics can now be served and scraped from `localhost:8083/metrics`.
## Enable HTTPS
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/364771) in GitLab 15.2.
To serve metrics via HTTPS instead of HTTP, enable TLS in the exporter settings:
1. Edit `/etc/gitlab/gitlab.rb` to add (or find and uncomment) the following lines:

View file

@ -137,7 +137,7 @@ GitLab Enterprise Edition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee
to lowest precedence:
- `|` - the logical `OR` operator. For example, `query_a|query_b` (where `query_a`
and `query_b` are queries made up of the other operators here) will include
and `query_b` are queries made up of the other operators here) includes
queues that match either query.
- `&` - the logical `AND` operator. For example, `query_a&query_b` (where
`query_a` and `query_b` are queries made up of the other operators here) will
@ -181,7 +181,7 @@ sidekiq['routing_rules'] = [
]
```
These queues will also need to be included in at least one [Sidekiq
These queues must also be included in at least one [Sidekiq
queue group](extra_sidekiq_processes.md#start-multiple-processes).
The following table shows the workers that should have their own queue:

View file

@ -24,7 +24,7 @@ Keep your GitLab instance up and running smoothly.
of SSH certificates](ssh_certificates.md).
- [File System Performance Benchmarking](filesystem_benchmarking.md): File system
performance can have a big impact on GitLab performance, especially for actions
that read or write Git repositories. This information will help benchmark
that read or write Git repositories. This information helps benchmark
file system performance against known good and bad real-world systems.
- [The Rails Console](rails_console.md): Provides a way to interact with your GitLab instance from the command line.
Used for troubleshooting a problem or retrieving some data that can only be done through direct access to GitLab.

View file

@ -96,7 +96,7 @@ Match User git
AuthorizedPrincipalsCommand /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell-authorized-principals-check %i sshUsers
```
This command will emit output that looks something like:
This command emits output that looks something like:
```shell
command="/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell username-{KEY_ID}",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty {PRINCIPAL}

View file

@ -31,7 +31,7 @@ Read more about update policies and warnings in the PostgreSQL
| -------------- | --------------------- | ---------------------------------- | ---------------------------- | ----- |
| 15.0 | 12.10, 13.6 | 13.6 | 12.10 | For upgrades, users can manually upgrade to 13.6 following the [upgrade docs](https://docs.gitlab.com/omnibus/settings/database.html#gitlab-150-and-later). |
| 14.1 | 12.7, 13.3 | 12.7 | 12.7 | PostgreSQL 13 available for fresh installations if not using [Geo](../geo/index.md#requirements-for-running-geo) or [Patroni](../postgresql/index.md#postgresql-replication-and-failover-with-omnibus-gitlab).
| 14.0 | 12.7 | 12.7 | 12.7 | HA installations with repmgr are no longer supported and will be prevented from upgrading to Omnibus GitLab 14.0 |
| 14.0 | 12.7 | 12.7 | 12.7 | HA installations with repmgr are no longer supported and are prevented from upgrading to Omnibus GitLab 14.0 |
| 13.8 | 11.9, 12.4 | 12.4 | 12.4 | Package upgrades automatically performed PostgreSQL upgrade for nodes that are not part of a Geo or HA cluster.). |
| 13.7 | 11.9, 12.4 | 12.4 | 11.9 | For upgrades users can manually upgrade to 12.4 following the [upgrade docs](https://docs.gitlab.com/omnibus/settings/database.html#gitlab-133-and-later). |
| 13.4 | 11.9, 12.4 | 11.9 | 11.9 | Package upgrades aborted if users not running PostgreSQL 11 already |

View file

@ -234,7 +234,7 @@ sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
Sometimes during version upgrades you might end up with some wrong CSS or
missing some icons. In that case, try to precompile the assets again.
This only applies to source installations and does NOT apply to
This only applies to source installations and does not apply to
Omnibus packages.
**Source Installation**

View file

@ -55,7 +55,7 @@ bundle exec rake gitlab:smtp:secret:edit RAILS_ENV=production EDITOR=vim
### Write raw secret
Write new secret content by providing it on STDIN.
Write new secret content by providing it on `STDIN`.
**Omnibus Installation**

View file

@ -44,7 +44,7 @@ Omnibus GitLab:
1. [Reconfigure Omnibus GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
1. Note the Redis node's IP address or hostname, port, and
Redis password. These will be necessary when [configuring the GitLab application servers](#set-up-the-gitlab-rails-application-instance).
Redis password. These are necessary when [configuring the GitLab application servers](#set-up-the-gitlab-rails-application-instance).
[Advanced configuration options](https://docs.gitlab.com/omnibus/settings/redis.html)
are supported and can be added if needed.

View file

@ -41,7 +41,7 @@ You can check if everything is correct by connecting to each server using
/opt/gitlab/embedded/bin/redis-cli -h <redis-host-or-ip> -a '<redis-password>' info replication
```
When connected to a `Primary` Redis, you will see the number of connected
When connected to a `Primary` Redis, you see the number of connected
`replicas`, and a list of each with connection details:
```plaintext
@ -56,7 +56,7 @@ repl_backlog_first_byte_offset:206989083
repl_backlog_histlen:1048576
```
When it's a `replica`, you will see details of the primary connection and if
When it's a `replica`, you see details of the primary connection and if
its `up` or `down`:
```plaintext
@ -138,7 +138,7 @@ there may be something wrong with your configuration files or it can be related
to [this upstream issue](https://github.com/redis/redis-rb/issues/531).
You must make sure that `resque.yml` and `sentinel.conf` are configured correctly,
otherwise `redis-rb` will not work properly.
otherwise `redis-rb` does not work properly.
The `master-group-name` (`gitlab-redis`) defined in (`sentinel.conf`)
**must** be used as the hostname in GitLab (`resque.yml`):

View file

@ -54,20 +54,20 @@ This can result in some of the following problems:
- If GitLab is using non-secure HTTP to access the object storage, clients may generate
`https->http` downgrade errors and refuse to process the redirect. The solution to this
is for GitLab to use HTTPS. LFS, for example, will generate this error:
is for GitLab to use HTTPS. LFS, for example, generates this error:
```plaintext
LFS: lfsapi/client: refusing insecure redirect, https->http
```
- Clients will need to trust the certificate authority that issued the object storage
- Clients must trust the certificate authority that issued the object storage
certificate, or may return common TLS errors such as:
```plaintext
x509: certificate signed by unknown authority
```
- Clients will need network access to the object storage. Errors that might result
- Clients need network access to the object storage. Errors that might result
if this access is not in place include:
```plaintext
@ -113,7 +113,7 @@ You can check if everything is correct by connecting to each server using
/opt/gitlab/embedded/bin/redis-cli -h <redis-host-or-ip> -a '<redis-password>' info replication
```
When connected to a `Primary` Redis, you will see the number of connected
When connected to a `Primary` Redis, you see the number of connected
`replicas`, and a list of each with connection details:
```plaintext
@ -128,7 +128,7 @@ repl_backlog_first_byte_offset:206989083
repl_backlog_histlen:1048576
```
When it's a `replica`, you will see details of the primary connection and if
When it's a `replica`, you see details of the primary connection and if
its `up` or `down`:
```plaintext
@ -254,7 +254,7 @@ To start a session:
sudo gitlab-ctl pgb-console
```
The password you will be prompted for is the `pgbouncer_user_password`
The password you are prompted for is the `pgbouncer_user_password`
To get some basic information about the instance, run
@ -315,7 +315,7 @@ sudo gitlab-ctl tail patroni
### Consul and PostgreSQL with Patroni changes not taking effect
Due to the potential impacts, `gitlab-ctl reconfigure` only reloads Consul and PostgreSQL, it will not restart the services. However, not all changes can be activated by reloading.
Due to the potential impacts, `gitlab-ctl reconfigure` only reloads Consul and PostgreSQL, it does not restart the services. However, not all changes can be activated by reloading.
To restart either service, run `gitlab-ctl restart consul` or `gitlab-ctl restart patroni` respectively.
@ -335,7 +335,7 @@ PG::ConnectionBad: ERROR: pgbouncer cannot connect to server
The problem may be that your PgBouncer node's IP address is not included in the
`trust_auth_cidr_addresses` setting in `/etc/gitlab/gitlab.rb` on the database nodes.
You can confirm that this is the issue by checking the PostgreSQL log on the master
You can confirm that this is the issue by checking the PostgreSQL log on the primary
database node. If you see the following error then `trust_auth_cidr_addresses`
is the problem.

View file

@ -193,6 +193,8 @@ To configure the metrics server:
### Enable HTTPS
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/364771) in GitLab 15.2.
To serve metrics via HTTPS instead of HTTP, enable TLS in the exporter settings:
1. Edit `/etc/gitlab/gitlab.rb` to add (or find and uncomment) the following lines:
@ -206,7 +208,7 @@ To serve metrics via HTTPS instead of HTTP, enable TLS in the exporter settings:
1. Save the file and [reconfigure GitLab](restart_gitlab.md#omnibus-gitlab-reconfigure)
for the changes to take effect.
When TLS is enabled, the same `port` and `address` will be used as described above.
When TLS is enabled, the same `port` and `address` are used as described above.
The metrics server cannot serve both HTTP and HTTPS at the same time.
## Configure health checks

View file

@ -28,7 +28,7 @@ session by running:
ActiveRecord::Base.logger = Logger.new($stdout)
```
This will show information about database queries triggered by any Ruby code
This shows information about database queries triggered by any Ruby code
you may run in the console. To turn off logging again, run:
```ruby
@ -44,8 +44,8 @@ session by running:
ActiveRecord::Base.connection.execute('SET statement_timeout TO 0')
```
This change only affects the current Rails console session and will
not be persisted in the GitLab production environment or in the next Rails
This change only affects the current Rails console session and is
not persisted in the GitLab production environment or in the next Rails
console session.
### Output Rails console session history
@ -163,7 +163,7 @@ in Omnibus, run as root:
## Common Problems
Many of the tips to diagnose issues below apply to many different situations. We'll use one
Many of the tips to diagnose issues below apply to many different situations. We use one
concrete example to illustrate what you can do to learn what is going wrong.
### 502 Gateway Timeout after Unicorn spins at 100% CPU
@ -213,7 +213,7 @@ downtime. Otherwise skip to the next section.
```
If the Puma process terminates before you are able to run these
commands, GDB will report an error. To buy more time, you can always raise the
commands, GDB reports an error. To buy more time, you can always raise the
Puma worker timeout. For omnibus users, you can edit `/etc/gitlab/gitlab.rb` and
increase it from 60 seconds to 600:

View file

@ -47,7 +47,7 @@ grep <TERM> <FILE> | jq .
jq -cR 'fromjson?' file.json | jq <COMMAND>
```
By default `jq` will error out when it encounters a line that is not valid JSON.
By default `jq` errors out when it encounters a line that is not valid JSON.
This skips over all invalid lines and parses the rest.
#### Print a JSON log's time range

View file

@ -236,7 +236,7 @@ remote server that is serving only HTTP.
One scenario is that you're using [object storage](../object_storage.md), which
isn't served under HTTPS. GitLab is misconfigured and attempts a TLS handshake,
but the object storage will respond with plain HTTP.
but the object storage responds with plain HTTP.
## `schannel: SEC_E_UNTRUSTED_ROOT`

View file

@ -45,7 +45,7 @@ docker run --name gitlab_saml -p 8080:8080 -p 8443:8443 \
-d jamedjo/test-saml-idp
```
The following will also need to go in your `/etc/gitlab/gitlab.rb`. See [our SAML docs](../../integration/saml.md)
The following must also go in your `/etc/gitlab/gitlab.rb`. See [our SAML docs](../../integration/saml.md)
for more, as well as the list of [default usernames, passwords, and emails](https://hub.docker.com/r/jamedjo/test-saml-idp/#usage).
```ruby

View file

@ -32,7 +32,7 @@ documentation for some popular browsers.
To locate a relevant request and view its correlation ID:
1. Enable persistent logging in your network monitor. Some actions in GitLab will redirect you quickly after you submit a form, so this will help capture all relevant activity.
1. Enable persistent logging in your network monitor. Some actions in GitLab redirect you quickly after you submit a form, so this helps capture all relevant activity.
1. To help isolate the requests you are looking for, you can filter for `document` requests.
1. Select the request of interest to view further detail.
1. Go to the **Headers** section and look for **Response Headers**. There you should find an `x-request-id` header with a
@ -121,7 +121,7 @@ find /var/log/gitlab -type f -mtime 0 -exec grep 'LOt9hgi1TV4' '{}' '+'
### Searching in distributed architectures
If you have done some horizontal scaling in your GitLab infrastructure, then
you will need to search across _all_ of your GitLab nodes. You can do this with
you must search across _all_ of your GitLab nodes. You can do this with
some sort of log aggregation software like Loki, ELK, Splunk, or others.
You can use a tool like Ansible or PSSH (parallel SSH) that can execute identical commands across your servers in

View file

@ -66,7 +66,7 @@ For source installations the following settings are nested under `uploads:` and
| Setting | Description | Default |
|---------|-------------|---------|
| `enabled` | Enable/disable object storage | `false` |
| `remote_directory` | The bucket name where Uploads will be stored| |
| `remote_directory` | The bucket name where Uploads are stored| |
| `proxy_download` | Set to `true` to enable proxying all files served. Option allows to reduce egress traffic as this allows clients to download directly from remote storage instead of proxying all data | `false` |
| `connection` | Various connection options described below | |

View file

@ -21,7 +21,7 @@ For example, the `git` user is allowed to write in the `log/` directory, in
`public/uploads`, and they are allowed to rewrite the `db/structure.sql` file.
In other cases, the reconfigure script tricks GitLab into not trying to write a
file. For instance, GitLab will generate a `.secret` file if it cannot find one
file. For instance, GitLab generates a `.secret` file if it cannot find one
and write it to the Rails root. In the Omnibus packages, reconfigure writes the
`.secret` file first, so that GitLab never tries to write it.

View file

@ -1278,3 +1278,31 @@ This sensitive data must be handled carefully to avoid leaks which could lead to
- Avoid sending credentials in URL parameters, as these can be more easily logged inadvertently during transit.
In the event of credential leak through an MR, issue, or any other medium, [reach out to SIRT team](https://about.gitlab.com/handbook/engineering/security/security-operations/sirt/#-engaging-sirt).
## Serialization
Serialization of active record models can leak sensitive attributes if they are not protected.
Using the [`prevent_from_serialization`](https://gitlab.com/gitlab-org/gitlab/-/blob/d7b85128c56cc3e669f72527d9f9acc36a1da95c/app/models/concerns/sensitive_serializable_hash.rb#L11)
method protects the attributes when the object is serialized with `serializable_hash`.
When an attribute is protected with `prevent_from_serialization`, it is not included with
`serializable_hash`, `to_json`, or `as_json`.
For more guidance on serialization:
- [Why using a serializer is important](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/serializers/README.md#why-using-a-serializer-is-important).
- Always use [Grape entities](../../ee/development/api_styleguide.md#entities) for the API.
To `serialize` an `ActiveRecord` column:
- You can use `app/serializers`.
- You cannot use `to_json / as_json`.
- You cannot use `serialize :some_colum`.
### Serialization example
The following is an example used for the [`TokenAuthenticatable`](https://gitlab.com/gitlab-org/gitlab/-/blob/9b15c6621588fce7a80e0438a39eeea2500fa8cd/app/models/concerns/token_authenticatable.rb#L30) class:
```ruby
prevent_from_serialization(*strategy.token_fields) if respond_to?(:prevent_from_serialization)
```

View file

@ -305,7 +305,7 @@ To fix this issue:
### Error `Failed to connect to the internal GitLab API` on a separate GitLab Pages server
Please see [GitLab Pages troubleshooting](../../administration/pages/index.md#failed-to-connect-to-the-internal-gitlab-api).
See [GitLab Pages troubleshooting](../../administration/pages/index.md#failed-to-connect-to-the-internal-gitlab-api).
### Error `An error occurred during the signature verification` when running `apt-get update`

View file

@ -11,11 +11,11 @@ comments: false
Make sure you view [this update guide](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/update/patch_versions.md) from the tag (version) of GitLab you would like to install.
In most cases this should be the highest numbered production tag (without `rc` in it).
You can select the tag in the version dropdown in the top left corner of GitLab (below the menu bar).
You can select the tag in the version dropdown list in the top left corner of GitLab (below the menu bar).
### 0. Backup
It's useful to make a backup just in case things go south. Depending on the installation method, backup commands vary. See the [backing up and restoring GitLab](../raketasks/backup_restore.md) documentation.
Make a backup just in case things go south. Depending on the installation method, backup commands vary. See the [backing up and restoring GitLab](../raketasks/backup_restore.md) documentation.
### 1. Stop server
@ -107,7 +107,7 @@ sudo -u git -H make
### 8. Install/Update `gitlab-elasticsearch-indexer` **(PREMIUM SELF)**
Please follow the [install instruction](../integration/advanced_search/elasticsearch.md#install-elasticsearch).
Follow the [install instruction](../integration/advanced_search/elasticsearch.md#install-elasticsearch).
### 9. Start application

View file

@ -21,7 +21,7 @@ GitLab edition you are using (Community or Enterprise), see the
This guide assumes you have a correctly configured and tested installation of
GitLab Community Edition. If you run into any trouble or if you have any
questions please contact us at `support@gitlab.com`.
questions contact us at `support@gitlab.com`.
In all examples, replace `EE_BRANCH` with the Enterprise Edition branch for the
version you are using, and `CE_BRANCH` with the Community Edition branch.
@ -88,7 +88,7 @@ sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
### 4. Install `gitlab-elasticsearch-indexer` **(PREMIUM SELF)**
Please follow the [install instruction](../integration/advanced_search/elasticsearch.md#install-elasticsearch).
Follow the [install instruction](../integration/advanced_search/elasticsearch.md#install-elasticsearch).
### 5. Start application

View file

@ -8,12 +8,12 @@ comments: false
# Upgrading Community Edition and Enterprise Edition from source **(FREE SELF)**
Make sure you view this update guide from the branch (version) of GitLab you
would like to install (for example, `11.8`). You can select the required version of documentation in the dropdown at the top right corner of GitLab documentation page.
would like to install (for example, `11.8`). You can select the required version of documentation in the dropdown list at the top right corner of GitLab documentation page.
In each of the following examples, replace `BRANCH` with the branch of the version you upgrading to (for example, `11-8-stable` for `11.8`). Replace `PREVIOUS_BRANCH` with the
branch for the version you are upgrading from (for example, `11-7-stable` for `11.7`).
If the highest number stable branch is unclear please check the
If the highest number stable branch is unclear check the
[GitLab Blog](https://about.gitlab.com/blog/archives.html) for installation
guide links by version.
@ -24,7 +24,7 @@ the [Upgrading from CE to EE](upgrading_from_ce_to_ee.md) documentation.
Major versions are reserved for backwards incompatible changes. We recommend that
you first upgrade to the latest available minor version of your current major version.
Please follow the [Upgrade Recommendations](../policy/maintenance.md#upgrade-recommendations)
Follow the [Upgrade Recommendations](../policy/maintenance.md#upgrade-recommendations)
to identify the ideal upgrade path.
Before upgrading to a new major version, you should ensure that any background
@ -225,7 +225,7 @@ NGINX configuration to continue using it. This is because the GitLab application
sets it.
If you are using Apache instead of NGINX see the updated [Apache templates](https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache).
Also note that because Apache does not support upstreams behind Unix sockets you
Also because Apache does not support upstreams behind Unix sockets you
must let GitLab Workhorse listen on a TCP port. You can do this
via [`/etc/default/gitlab`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/support/init.d/gitlab.default.example#L38).
@ -428,7 +428,7 @@ Additional instructions here.
### 15.0.0
Support for more than one database has been added to GitLab. [As part of this](https://gitlab.com/gitlab-org/gitlab/-/issues/338182),
`config/database.yml` needs to include a database name in the database configuration.
`config/database.yml` must include a database name in the database configuration.
The `main: database` must be first. If an invalid or deprecated syntax is used, an error is generated
during application start:
@ -447,7 +447,7 @@ production:
...
```
Starting with GitLab 15.0, it needs to define a `main` database first:
Starting with GitLab 15.0, it must define a `main` database first:
```yaml
production:
@ -492,7 +492,7 @@ for the previous version.
For example, if you have upgraded to GitLab 12.6 and want to revert back to
12.5, follow the guides for upgrading from 12.4 to 12.5. You can
use the version dropdown at the top of the page to select the right version.
use the version dropdown list at the top of the page to select the right version.
When reverting, you should **not** follow the database migration guides, as the
backup has already been migrated to the previous version.

View file

@ -15,12 +15,12 @@ there are a number of constraints. In particular, you can upgrade to only one mi
at a time, for example, from 14.6 to 14.7, then to 14.8, etc.
If you want to upgrade to more than one minor release at a time (for example, from 14.6 to 14.9),
you need to take your GitLab instance offline, which implies downtime.
you must take your GitLab instance offline, which implies downtime.
Before starting this process, verify the
[version specific upgrading instructions](index.md#version-specific-upgrading-instructions)
relevant to your [upgrade path](index.md#upgrade-paths).
For a single node installation, you only need to [uprgade the GitLab package](package/index.md).
For a single node installation, you must only [upgrade the GitLab package](package/index.md).
The process for upgrading a number of components of a multi-node GitLab
installation is the same as for zero downtime upgrades.
@ -86,11 +86,11 @@ for Gitaly cluster.
If you are using Amazon Machine Images (AMIs) on AWS, the Gitaly nodes
**should not be upgraded via the AMI process**. Gitaly nodes should **only**
be upgraded using the package upgrade. This is because:
be upgraded using the package upgrade because:
- Praefect tracks replicas of Git repositories by server hostname.
- Redeployment using AMIs will issue the nodes with new hostnames.
- Even though the storage will be the same, Gitaly cluster will not work after this.
- Redeployment using AMIs issues the nodes with new hostnames.
- Even though the storage is the same, Gitaly cluster does not work after this.
The Praefect nodes, however, can be upgraded via an AMI redeployment process:
@ -100,7 +100,7 @@ The Praefect nodes, however, can be upgraded via an AMI redeployment process:
1. The first node to be redeployed with the upgraded image should be your
deploy node.
1. After it's deployed, set `praefect['auto_migrate'] = true` in `gitlab.rb`
and apply with `gitlab-ctl reconfigure`. This will run the database
and apply with `gitlab-ctl reconfigure`. This runs the database
migrations.
1. Redeploy your other Praefect nodes.
@ -142,7 +142,7 @@ For unclustered PostgreSQL servers:
## Upgrade the Patroni node
Patroni is used to achiece high availabilty with PostgreSQL.
Patroni is used to achieve high availability with PostgreSQL.
If a PostgreSQL major version upgrade is required,
[follow the major version process](../administration/postgresql/replication_and_failover.md#upgrading-postgresql-major-version-in-a-patroni-cluster).
@ -150,7 +150,7 @@ If a PostgreSQL major version upgrade is required,
The upgrade process for all other versions is performed on all replicas first.
After they're upgraded, a cluster failover occurs from the leader to one of the upgraded
replicas. This ensures that only one failover is needed, and once complete the new
leader will be upgraded.
leader is upgraded.
Follow the following process:
@ -232,7 +232,7 @@ All the Puma and Sidekiq processes were previously shut down. On each node:
ps -ef | egrep 'puma: | puma | sidekiq '
```
Select one node that runs Puma. This will be your deploy node, and is responsible for
Select one node that runs Puma. This is your deploy node, and is responsible for
running all database migrations. On the deploy node:
1. Ensure the server is configured to permit regular migrations. Check that

View file

@ -34,7 +34,7 @@ If you meet all the requirements above, follow these instructions in order. Ther
Each type of deployment requires that you hot reload the `puma` and `sidekiq` processes on all nodes running these
services after you've upgraded. The reason for this is that those processes each load the GitLab Rails application which reads and loads
the database schema into memory when starting up. Each of these processes needs to be reloaded (or restarted in the case of `sidekiq`)
the database schema into memory when starting up. Each of these processes must be reloaded (or restarted in the case of `sidekiq`)
to re-read any database changes that have been made by post-deployment migrations.
Most of the time you can safely upgrade from a patch release to the next minor
@ -313,7 +313,7 @@ node throughout the process.
- If you're using PgBouncer:
You need to bypass PgBouncer and connect directly to the database leader
You must bypass PgBouncer and connect directly to the database leader
before running migrations.
Rails uses an advisory lock when attempting to run a migration to prevent
@ -395,11 +395,11 @@ HA.
#### In the application node
According to [official Redis docs](https://redis.io/topics/admin#upgrading-or-restarting-a-redis-instance-without-downtime),
According to [official Redis documentation](https://redis.io/topics/admin#upgrading-or-restarting-a-redis-instance-without-downtime),
the easiest way to update an HA instance using Sentinel is to upgrade the
secondaries one after the other, perform a manual failover from current
primary (running old version) to a recently upgraded secondary (running a new
version), and then upgrade the original primary. For this, we need to know
version), and then upgrade the original primary. For this, we must know
the address of the current Redis primary.
- If your application node is running GitLab 12.7.0 or later, you can use the
@ -444,8 +444,8 @@ following command to get address of current Redis primary
#### In the Redis primary node
Before upgrading the Redis primary node, we need to perform a failover so that
one of the recently upgraded secondary nodes becomes the new primary. Once the
Before upgrading the Redis primary node, we must perform a failover so that
one of the recently upgraded secondary nodes becomes the new primary. After the
failover is complete, we can go ahead and upgrade the original primary node.
1. Stop Redis service in Redis primary node so that it fails over to a secondary
@ -625,7 +625,7 @@ Updates must be performed in the following order:
### Step 1: Choose a "deploy node" for each deployment
You now need to choose:
You now must choose:
- One instance for use as the **primary** "deploy node" on the Geo **primary** multi-node deployment.
- One instance for use as the **secondary** "deploy node" on each Geo **secondary** multi-node deployment.
@ -698,7 +698,7 @@ sudo touch /etc/gitlab/skip-auto-reconfigure
1. If you're using PgBouncer:
You need to bypass PgBouncer and connect directly to the database leader
You must bypass PgBouncer and connect directly to the database leader
before running migrations.
Rails uses an advisory lock when attempting to run a migration to prevent

View file

@ -16,7 +16,7 @@ On this page we detail several best practices to improve performance with these
It's *strongly* recommended in any Git system that binary or blob files (for example, packages, audio, video, graphics, etc.) are stored as Large File Storage (LFS) objects. In such setup, the Objects are stored elsewhere, such as in Object Storage, and this can reduce the repository size significantly, thus improving performance.
Refer to the [Git LFS docs for more information](../../../topics/git/lfs/index.md).
Refer to the [Git LFS documentation for more information](../../../topics/git/lfs/index.md).
## Gitaly Pack Objects Cache
@ -34,7 +34,7 @@ In these types of setups it's recommended that the GitLab environment used match
Gitaly Cluster can notably improve large repository performance as it holds multiple replicas of the repository across several nodes. As a result, Gitaly Cluster can load balance read requests against those repositories and is also fault tolerant.
It's recommended for large repositories, however, Gitaly Cluster is a large solution with additional complexity of setup and management. Refer to the [Gitaly Cluster docs for more information](../../../administration/gitaly/index.md), specifically the [Before deploying Gitaly Cluster](../../../administration/gitaly/index.md#before-deploying-gitaly-cluster) section.
It's recommended for large repositories, however, Gitaly Cluster is a large solution with additional complexity of setup and management. Refer to the [Gitaly Cluster documentation for more information](../../../administration/gitaly/index.md), specifically the [Before deploying Gitaly Cluster](../../../administration/gitaly/index.md#before-deploying-gitaly-cluster) section.
## Keep GitLab up to date
@ -48,4 +48,4 @@ CI/CD loads tend to be concurrent as pipelines are scheduled during set times. A
When designing CI/CD pipelines, it's advisable to reduce their concurrency by staggering them to run at different times, for example, a set running at one time and then another set running several minutes later.
There's several other actions that can be explored to improve CI/CD performance with large repositories. Refer to the [Runner docs for more information](../../../ci/large_repositories/index.md).
There's several other actions that can be explored to improve CI/CD performance with large repositories. Refer to the [Runner documentation for more information](../../../ci/large_repositories/index.md).

View file

@ -6,7 +6,8 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Tasks **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/334812) in GitLab 14.5 [with a flag](../administration/feature_flags.md) named `work_items`. Disabled by default.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/334812) in GitLab 14.5 [with a flag](../administration/feature_flags.md) named `work_items`. Disabled by default.
> - [Creating, editing, and deleting tasks](https://gitlab.com/groups/gitlab-org/-/epics/7169) introduced in GitLab 15.0.
FLAG:
On self-managed GitLab, by default this feature is not available. To make it available,
@ -41,7 +42,7 @@ To edit a task:
1. In the issue description, view the task links.
1. Select a link. The task is displayed.
- To edit the description, select **Edit**, then select **Save**.
- To edit the title or state, make your changes, then click outside the field. The changes are saved automatically.
- To edit the title or state, make your changes, then select any area outside the field. The changes are saved automatically.
## Delete a task

View file

@ -11,6 +11,7 @@ module Gitlab
return :invalid unless runner_version.valid?
releases = RunnerReleases.instance.releases
return :error unless releases
# Recommend patch update if there's a newer release in a same minor branch as runner
releases.each do |available_release|
@ -48,7 +49,7 @@ module Gitlab
end
def outside_backport_window?(runner_version, releases)
return false if runner_version >= releases.last # return early if runner version is too new
return false if releases.empty? || runner_version >= releases.last # return early if runner version is too new
latest_minor_releases = releases.map(&:without_patch).uniq
latest_version_position = latest_minor_releases.count - 1

View file

@ -17716,6 +17716,9 @@ msgstr ""
msgid "GlobalSearch|Type for new suggestions to appear below."
msgstr ""
msgid "GlobalSearch|Use the shortcut key %{kbdOpen}/%{kbdClose} to start a search"
msgstr ""
msgid "GlobalSearch|What are you searching for?"
msgstr ""

View file

@ -0,0 +1,46 @@
# frozen_string_literal: true
module RuboCop
module Cop
module Database
# Checks for `rescue` blocks targeting the `ActiveRecord::QueryCanceled` class.
#
# @example
#
# # bad
#
# begin
# run_an_expensive_long_query
# rescue ActiveRecord::QueryCanceled
# try_something_else
# end
#
# @example
#
# # good
#
# run_cheap_queries_with_each_batch
class RescueQueryCanceled < RuboCop::Cop::Cop
MSG = <<~EOF
Avoid rescuing the `ActiveRecord::QueryCanceled` class.
Using this pattern should be a very rare exception or a temporary patch only.
Consider refactoring using less expensive queries and `each_batch`.
EOF
def on_resbody(node)
return unless node.children.first
rescue_args = node.children.first.children
return unless rescue_args.any? { |a| targets_exception?(a) }
add_offense(node)
end
def targets_exception?(rescue_arg_node)
rescue_arg_node.const_name == 'ActiveRecord::QueryCanceled'
end
end
end
end
end

View file

@ -0,0 +1,46 @@
# frozen_string_literal: true
module RuboCop
module Cop
module Database
# Checks for `rescue` blocks targeting the `ActiveRecord::StatementTimeout` class.
#
# @example
#
# # bad
#
# begin
# run_an_expensive_long_query
# rescue ActiveRecord::StatementTimeout
# try_something_else
# end
#
# @example
#
# # good
#
# run_cheap_queries_with_each_batch
class RescueStatementTimeout < RuboCop::Cop::Cop
MSG = <<~EOF
Avoid rescuing the `ActiveRecord::StatementTimeout` class.
Using this pattern should be a very rare exception or a temporary patch only.
Consider refactoring using less expensive queries and `each_batch`.
EOF
def on_resbody(node)
return unless node.children.first
rescue_args = node.children.first.children
return unless rescue_args.any? { |a| targets_exception?(a) }
add_offense(node)
end
def targets_exception?(rescue_arg_node)
rescue_arg_node.const_name == 'ActiveRecord::StatementTimeout'
end
end
end
end
end

View file

@ -82,6 +82,7 @@ describe('HeaderSearchApp', () => {
const findHeaderSearchForm = () => wrapper.findByTestId('header-search-form');
const findHeaderSearchInput = () => wrapper.findComponent(GlSearchBoxByType);
const findScopeToken = () => wrapper.findComponent(GlToken);
const findHeaderSearchInputKBD = () => wrapper.find('.keyboard-shortcut-helper');
const findHeaderSearchDropdown = () => wrapper.findByTestId('header-search-dropdown-menu');
const findHeaderSearchDefaultItems = () => wrapper.findComponent(HeaderSearchDefaultItems);
const findHeaderSearchScopedItems = () => wrapper.findComponent(HeaderSearchScopedItems);
@ -101,6 +102,14 @@ describe('HeaderSearchApp', () => {
expect(findHeaderSearchInput().exists()).toBe(true);
});
it('Header Search Input KBD hint', () => {
expect(findHeaderSearchInputKBD().exists()).toBe(true);
expect(findHeaderSearchInputKBD().text()).toContain('/');
expect(findHeaderSearchInputKBD().attributes('title')).toContain(
'Use the shortcut key <kbd>/</kbd> to start a search',
);
});
it('Search Input Description', () => {
expect(findSearchInputDescription().exists()).toBe(true);
});

View file

@ -13,96 +13,134 @@ RSpec.describe Gitlab::Ci::RunnerUpgradeCheck do
before do
allow(described_class.instance).to receive(:gitlab_version)
.and_return(::Gitlab::VersionInfo.parse(gitlab_version))
runner_releases_double = instance_double(Gitlab::Ci::RunnerReleases)
allow(Gitlab::Ci::RunnerReleases).to receive(:instance).and_return(runner_releases_double)
allow(runner_releases_double).to receive(:releases).and_return(available_runner_releases.map { |v| ::Gitlab::VersionInfo.parse(v) })
end
context 'with available_runner_releases configured up to 14.1.1' do
let(:available_runner_releases) do
%w[13.9.0 13.9.1 13.9.2 13.10.0 13.10.1 14.0.0 14.0.1 14.0.2-rc1 14.0.2 14.1.0 14.1.1]
context 'with failing Gitlab::Ci::RunnerReleases request' do
let(:runner_version) { '14.1.123' }
before do
runner_releases_double = instance_double(Gitlab::Ci::RunnerReleases)
allow(Gitlab::Ci::RunnerReleases).to receive(:instance).and_return(runner_releases_double)
allow(runner_releases_double).to receive(:releases).and_return(nil)
end
context 'with nil runner_version' do
let(:runner_version) { nil }
it 'returns :error' do
is_expected.to eq(:error)
end
end
it 'returns :invalid' do
is_expected.to eq(:invalid)
context 'with available_runner_releases configured' do
before do
runner_releases_double = instance_double(Gitlab::Ci::RunnerReleases)
allow(Gitlab::Ci::RunnerReleases).to receive(:instance).and_return(runner_releases_double)
allow(runner_releases_double).to receive(:releases)
.and_return(available_runner_releases.map { |v| ::Gitlab::VersionInfo.parse(v) })
end
context 'with no available runner releases' do
let(:available_runner_releases) do
%w[]
end
end
context 'with invalid runner_version' do
let(:runner_version) { 'junk' }
context 'with Gitlab::VERSION set to 14.1.1' do
let(:gitlab_version) { '14.1.1' }
it 'returns :invalid' do
is_expected.to eq(:invalid)
end
end
context 'with runner_version from last minor release' do
let(:runner_version) { 'v14.0.1' }
context 'with Gitlab::VERSION set to 14.1.123' do
let(:gitlab_version) { '14.1.123' }
context 'with a runner_version that is too recent' do
let(:runner_version) { 'v14.2.0' }
it 'returns :not_available' do
is_expected.to eq(:not_available)
end
end
end
context 'with Gitlab::VERSION set to 14.0.1' do
let(:gitlab_version) { '14.0.1' }
context 'with valid params' do
where(:runner_version, :expected_result) do
'v15.0.0' | :not_available # not available since the GitLab instance is still on 14.x, a major version might be incompatible, and a patch upgrade is not available
'v14.1.0-rc3' | :recommended # recommended since even though the GitLab instance is still on 14.0.x, there is a patch release (14.1.1) available which might contain security fixes
'v14.1.0~beta.1574.gf6ea9389' | :recommended # suffixes are correctly handled
'v14.1.0/1.1.0' | :recommended # suffixes are correctly handled
'v14.1.0' | :recommended # recommended since even though the GitLab instance is still on 14.0.x, there is a patch release (14.1.1) available which might contain security fixes
'v14.0.1' | :recommended # recommended upgrade since 14.0.2 is available
'v14.0.2-rc1' | :recommended # recommended upgrade since 14.0.2 is available and we'll move out of a release candidate
'v14.0.2' | :not_available # not available since 14.0.2 is the latest 14.0.x release available within the instance's major.minor version
'v13.10.1' | :available # available upgrade: 14.1.1
'v13.10.1~beta.1574.gf6ea9389' | :recommended # suffixes are correctly handled, official 13.10.1 is available
'v13.10.1/1.1.0' | :recommended # suffixes are correctly handled, official 13.10.1 is available
'v13.10.0' | :recommended # recommended upgrade since 13.10.1 is available
'v13.9.2' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.9.0' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.8.1' | :recommended # recommended upgrade since build is too old (missing in records)
'v11.4.1' | :recommended # recommended upgrade since build is too old (missing in records)
end
with_them do
it 'returns symbol representing expected upgrade status' do
is_expected.to be_a(Symbol)
is_expected.to eq(expected_result)
it 'returns :not_available' do
is_expected.to eq(:not_available)
end
end
end
end
context 'with Gitlab::VERSION set to 13.9.0' do
let(:gitlab_version) { '13.9.0' }
context 'up to 14.1.1' do
let(:available_runner_releases) do
%w[13.9.0 13.9.1 13.9.2 13.10.0 13.10.1 14.0.0 14.0.1 14.0.2-rc1 14.0.2 14.1.0 14.1.1]
end
context 'with valid params' do
where(:runner_version, :expected_result) do
'v14.0.0' | :recommended # recommended upgrade since 14.0.2 is available, even though the GitLab instance is still on 13.x and a major version might be incompatible
'v13.10.1' | :not_available # not available since 13.10.1 is already ahead of GitLab instance version and is the latest patch update for 13.10.x
'v13.10.0' | :recommended # recommended upgrade since 13.10.1 is available
'v13.9.2' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.9.0' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.8.1' | :recommended # recommended upgrade since build is too old (missing in records)
'v11.4.1' | :recommended # recommended upgrade since build is too old (missing in records)
context 'with nil runner_version' do
let(:runner_version) { nil }
it 'returns :invalid' do
is_expected.to eq(:invalid)
end
end
with_them do
it 'returns symbol representing expected upgrade status' do
is_expected.to be_a(Symbol)
is_expected.to eq(expected_result)
context 'with invalid runner_version' do
let(:runner_version) { 'junk' }
it 'returns :invalid' do
is_expected.to eq(:invalid)
end
end
context 'with Gitlab::VERSION set to 14.1.123' do
let(:gitlab_version) { '14.1.123' }
context 'with a runner_version that is too recent' do
let(:runner_version) { 'v14.2.0' }
it 'returns :not_available' do
is_expected.to eq(:not_available)
end
end
end
context 'with Gitlab::VERSION set to 14.0.1' do
let(:gitlab_version) { '14.0.1' }
context 'with valid params' do
where(:runner_version, :expected_result) do
'v15.0.0' | :not_available # not available since the GitLab instance is still on 14.x, a major version might be incompatible, and a patch upgrade is not available
'v14.1.0-rc3' | :recommended # recommended since even though the GitLab instance is still on 14.0.x, there is a patch release (14.1.1) available which might contain security fixes
'v14.1.0~beta.1574.gf6ea9389' | :recommended # suffixes are correctly handled
'v14.1.0/1.1.0' | :recommended # suffixes are correctly handled
'v14.1.0' | :recommended # recommended since even though the GitLab instance is still on 14.0.x, there is a patch release (14.1.1) available which might contain security fixes
'v14.0.1' | :recommended # recommended upgrade since 14.0.2 is available
'v14.0.2-rc1' | :recommended # recommended upgrade since 14.0.2 is available and we'll move out of a release candidate
'v14.0.2' | :not_available # not available since 14.0.2 is the latest 14.0.x release available within the instance's major.minor version
'v13.10.1' | :available # available upgrade: 14.1.1
'v13.10.1~beta.1574.gf6ea9389' | :recommended # suffixes are correctly handled, official 13.10.1 is available
'v13.10.1/1.1.0' | :recommended # suffixes are correctly handled, official 13.10.1 is available
'v13.10.0' | :recommended # recommended upgrade since 13.10.1 is available
'v13.9.2' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.9.0' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.8.1' | :recommended # recommended upgrade since build is too old (missing in records)
'v11.4.1' | :recommended # recommended upgrade since build is too old (missing in records)
end
with_them do
it 'returns symbol representing expected upgrade status' do
is_expected.to be_a(Symbol)
is_expected.to eq(expected_result)
end
end
end
end
context 'with Gitlab::VERSION set to 13.9.0' do
let(:gitlab_version) { '13.9.0' }
context 'with valid params' do
where(:runner_version, :expected_result) do
'v14.0.0' | :recommended # recommended upgrade since 14.0.2 is available, even though the GitLab instance is still on 13.x and a major version might be incompatible
'v13.10.1' | :not_available # not available since 13.10.1 is already ahead of GitLab instance version and is the latest patch update for 13.10.x
'v13.10.0' | :recommended # recommended upgrade since 13.10.1 is available
'v13.9.2' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.9.0' | :recommended # recommended upgrade since backports are no longer released for this version
'v13.8.1' | :recommended # recommended upgrade since build is too old (missing in records)
'v11.4.1' | :recommended # recommended upgrade since build is too old (missing in records)
end
with_them do
it 'returns symbol representing expected upgrade status' do
is_expected.to be_a(Symbol)
is_expected.to eq(expected_result)
end
end
end
end

View file

@ -0,0 +1,29 @@
# frozen_string_literal: true
require 'fast_spec_helper'
require_relative '../../../../rubocop/cop/database/rescue_query_canceled'
RSpec.describe RuboCop::Cop::Database::RescueQueryCanceled do
subject(:cop) { described_class.new }
it 'flags the use of ActiveRecord::QueryCanceled' do
expect_offense(<<~CODE)
begin
do_something
rescue ActiveRecord::QueryCanceled => e
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Avoid rescuing the `ActiveRecord::QueryCanceled` [...]
try_something_else
end
CODE
end
it 'does not flag a different exception' do
expect_no_offenses(<<~CODE)
begin
do_something
rescue ActiveRecord::RecordNotFound => e
try_something_else
end
CODE
end
end

View file

@ -0,0 +1,29 @@
# frozen_string_literal: true
require 'fast_spec_helper'
require_relative '../../../../rubocop/cop/database/rescue_statement_timeout'
RSpec.describe RuboCop::Cop::Database::RescueStatementTimeout do
subject(:cop) { described_class.new }
it 'flags the use of ActiveRecord::StatementTimeout' do
expect_offense(<<~CODE)
begin
do_something
rescue ActiveRecord::StatementTimeout => e
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Avoid rescuing the `ActiveRecord::StatementTimeout` [...]
try_something_else
end
CODE
end
it 'does not flag a different exception' do
expect_no_offenses(<<~CODE)
begin
do_something
rescue ActiveRecord::RecordNotFound => e
try_something_else
end
CODE
end
end

View file

@ -0,0 +1,35 @@
# frozen_string_literal: true
RSpec.shared_examples "a layout which reflects the application theme setting", :themed_layout do
context 'as a themed layout' do
let(:default_theme_class) { ::Gitlab::Themes.default.css_class }
context 'when no theme is explicitly selected' do
it 'renders with the default theme' do
render
expect(rendered).to have_selector("body.#{default_theme_class}")
end
end
context 'when user is authenticated & has selected a specific theme' do
before do
allow(view).to receive(:user_application_theme).and_return(chosen_theme.css_class)
end
where(chosen_theme: ::Gitlab::Themes.available_themes)
with_them do
it "renders with the #{params[:chosen_theme].name} theme" do
render
if chosen_theme.css_class != default_theme_class
expect(rendered).not_to have_selector("body.#{default_theme_class}")
end
expect(rendered).to have_selector("body.#{chosen_theme.css_class}")
end
end
end
end
end

View file

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'layouts/application' do
RSpec.describe 'layouts/application', :themed_layout do
let(:user) { create(:user) }
before do

View file

@ -0,0 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'layouts/devise' do
it_behaves_like 'a layout which reflects the application theme setting'
end

View file

@ -0,0 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'layouts/devise_empty' do
it_behaves_like 'a layout which reflects the application theme setting'
end

View file

@ -0,0 +1,13 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'layouts/fullscreen' do
let_it_be(:user) { create(:user) }
before do
allow(view).to receive(:current_user_mode).and_return(Gitlab::Auth::CurrentUserMode.new(user))
end
it_behaves_like 'a layout which reflects the application theme setting'
end

View file

@ -0,0 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'layouts/signup_onboarding' do
it_behaves_like 'a layout which reflects the application theme setting'
end

View file

@ -0,0 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'layouts/simple_registration' do
it_behaves_like 'a layout which reflects the application theme setting'
end

View file

@ -0,0 +1,13 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'layouts/terms' do
let_it_be(:user) { create(:user) }
before do
allow(view).to receive(:current_user_mode).and_return(Gitlab::Auth::CurrentUserMode.new(user))
end
it_behaves_like 'a layout which reflects the application theme setting'
end

View file

@ -19,7 +19,7 @@ require (
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
github.com/johannesboyne/gofakes3 v0.0.0-20220627085814-c3ac35da23b2
github.com/jpillora/backoff v1.0.0
github.com/mitchellh/copystructure v1.0.0
github.com/mitchellh/copystructure v1.2.0
github.com/prometheus/client_golang v1.12.2
github.com/rafaeljusto/redigomock/v3 v3.1.1
github.com/sebest/xff v0.0.0-20210106013422-671bd2870b3a
@ -81,7 +81,7 @@ require (
github.com/lightstep/lightstep-tracer-go v0.25.0 // indirect
github.com/mattn/go-ieproxy v0.0.6 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mitchellh/reflectwalk v1.0.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/ulid/v2 v2.0.2 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/philhofer/fwd v1.1.1 // indirect

View file

@ -835,8 +835,8 @@ github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/le
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mikesmitty/edkey v0.0.0-20170222072505-3356ea4e686a/go.mod h1:v8eSC2SMp9/7FTKUncp7fH9IwPfw+ysMObcEz5FWheQ=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@ -849,8 +849,8 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=