Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
9dadb12cf2
commit
5d3eac1cf8
76 changed files with 627 additions and 354 deletions
9
.rubocop_todo/database/rescue_query_canceled.yml
Normal file
9
.rubocop_todo/database/rescue_query_canceled.yml
Normal 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'
|
5
.rubocop_todo/database/rescue_statement_timeout.yml
Normal file
5
.rubocop_todo/database/rescue_statement_timeout.yml
Normal 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'
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -1 +1 @@
|
|||
bfd3175bf92587f21d17e2107e1e7e2ee0fa69bc
|
||||
ac72695adc90343b7255869818376f505bde8315
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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 } }
|
||||
= '/'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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**
|
||||
|
|
|
@ -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**
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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`):
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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`
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 | |
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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)
|
||||
```
|
||||
|
|
|
@ -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`
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ""
|
||||
|
||||
|
|
46
rubocop/cop/database/rescue_query_canceled.rb
Normal file
46
rubocop/cop/database/rescue_query_canceled.rb
Normal 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
|
46
rubocop/cop/database/rescue_statement_timeout.rb
Normal file
46
rubocop/cop/database/rescue_statement_timeout.rb
Normal 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
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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
|
||||
|
|
29
spec/rubocop/cop/database/rescue_query_canceled_spec.rb
Normal file
29
spec/rubocop/cop/database/rescue_query_canceled_spec.rb
Normal 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
|
29
spec/rubocop/cop/database/rescue_statement_timeout_spec.rb
Normal file
29
spec/rubocop/cop/database/rescue_statement_timeout_spec.rb
Normal 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
|
35
spec/support/shared_examples/views/themed_layout_examples.rb
Normal file
35
spec/support/shared_examples/views/themed_layout_examples.rb
Normal 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
|
|
@ -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
|
||||
|
|
7
spec/views/layouts/devise.html.haml_spec.rb
Normal file
7
spec/views/layouts/devise.html.haml_spec.rb
Normal 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
|
7
spec/views/layouts/devise_empty.html.haml_spec.rb
Normal file
7
spec/views/layouts/devise_empty.html.haml_spec.rb
Normal 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
|
13
spec/views/layouts/fullscreen.html.haml_spec.rb
Normal file
13
spec/views/layouts/fullscreen.html.haml_spec.rb
Normal 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
|
7
spec/views/layouts/signup_onboarding.html.haml_spec.rb
Normal file
7
spec/views/layouts/signup_onboarding.html.haml_spec.rb
Normal 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
|
7
spec/views/layouts/simple_registration.html.haml_spec.rb
Normal file
7
spec/views/layouts/simple_registration.html.haml_spec.rb
Normal 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
|
13
spec/views/layouts/terms.html.haml_spec.rb
Normal file
13
spec/views/layouts/terms.html.haml_spec.rb
Normal 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
|
|
@ -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
|
||||
|
|
|
@ -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=
|
||||
|
|
Loading…
Reference in a new issue