diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 6b2e817bfed..ed96b185ab2 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -200,6 +200,8 @@ Dangerfile @gl-quality/eng-prod [Backend Static Code Analysis] .rubocop*.yml @dstull @splattael @gl-quality/eng-prod +.rubocop_todo.yml @dstull @splattael @gl-quality/eng-prod +.rubocop_todo/ @dstull @splattael @gl-quality/eng-prod /rubocop/ @dstull @splattael @gl-quality/eng-prod /spec/rubocop/ @dstull @splattael @gl-quality/eng-prod diff --git a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md index 439ea82bf9f..5193c17b942 100644 --- a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md +++ b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md @@ -142,7 +142,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.datetime_with_timezone :verified_at t.integer :verification_retry_count, limit: 2 t.binary :verification_checksum, using: 'verification_checksum::bytea' - t.text :verification_failure + t.text :verification_failure, limit: 255 t.index :verification_state, name: VERIFICATION_STATE_INDEX_NAME t.index :verified_at, where: "(verification_state = 0)", order: { verified_at: 'ASC NULLS FIRST' }, name: PENDING_VERIFICATION_INDEX_NAME @@ -150,8 +150,6 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.index :verification_state, where: "(verification_state = 0 OR verification_state = 3)", name: NEEDS_VERIFICATION_INDEX_NAME end end - - add_text_limit :cool_widget_states, :verification_failure, 255 end def down diff --git a/.gitlab/issue_templates/Geo Replicate a new blob type.md b/.gitlab/issue_templates/Geo Replicate a new blob type.md index 57b71f34ae2..a5147478924 100644 --- a/.gitlab/issue_templates/Geo Replicate a new blob type.md +++ b/.gitlab/issue_templates/Geo Replicate a new blob type.md @@ -144,7 +144,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.datetime_with_timezone :verified_at t.integer :verification_retry_count, limit: 2 t.binary :verification_checksum, using: 'verification_checksum::bytea' - t.text :verification_failure + t.text :verification_failure, limit: 255 t.index :verification_state, name: VERIFICATION_STATE_INDEX_NAME t.index :verified_at, where: "(verification_state = 0)", order: { verified_at: 'ASC NULLS FIRST' }, name: PENDING_VERIFICATION_INDEX_NAME @@ -152,8 +152,6 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.index :verification_state, where: "(verification_state = 0 OR verification_state = 3)", name: NEEDS_VERIFICATION_INDEX_NAME end end - - add_text_limit :cool_widget_states, :verification_failure, 255 end def down diff --git a/.rubocop.yml b/.rubocop.yml index 5b7a58e1f2d..2280fe222ea 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,7 +8,9 @@ require: inherit_from: <% unless ENV['REVEAL_RUBOCOP_TODO'] == '1' %> - - '.rubocop_manual_todo.yml' + <% Dir.glob('.rubocop_todo/**/*.yml').each do |rubocop_todo_yaml| %> + - '<%= rubocop_todo_yaml %>' + <% end %> - '.rubocop_todo.yml' <% end %> - ./rubocop/rubocop-migrations.yml diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml deleted file mode 100644 index 924fde6c51b..00000000000 --- a/.rubocop_manual_todo.yml +++ /dev/null @@ -1,2774 +0,0 @@ ---- -# This file is not meant to store permanent exclusions. -# - for permanent lists, place them in the .rubocop.yml. -# - for short (less than 15 lines line) temporary lists, place them in the .rubocop_todo.yml file (run auto-generation). -# -# Purpose of this file: -# - show long exclusion lists that are hidden in generic auto-generation of .rubocop_todo.yml. -# - provide an 'in-flight' list of exclusions being worked on when qualifying as a long list -# as mentioned above. -# - guidelines for use found in -# https://docs.gitlab.com/ee/development/contributing/style_guides.html#resolving-rubocop-exceptions. - -# WIP: See https://gitlab.com/gitlab-org/gitlab/-/issues/220040 -Rails/SaveBang: - Exclude: - - 'ee/spec/initializers/fog_google_https_private_urls_spec.rb' - - 'ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb' - - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb' - - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb' - - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb' - - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb' - - 'ee/spec/lib/gitlab/auth/o_auth/user_spec.rb' - - 'ee/spec/lib/gitlab/auth/saml/user_spec.rb' - - 'ee/spec/lib/gitlab/elastic/search_results_spec.rb' - - 'ee/spec/lib/gitlab/email/handler/ee/service_desk_handler_spec.rb' - - 'ee/spec/lib/gitlab/geo_spec.rb' - - 'ee/spec/lib/gitlab/git_access_spec.rb' - - 'ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb' - - 'ee/spec/lib/gitlab/mirror_spec.rb' - - 'ee/spec/models/application_setting_spec.rb' - - 'ee/spec/models/approval_merge_request_rule_spec.rb' - - 'ee/spec/models/approval_project_rule_spec.rb' - - 'ee/spec/models/burndown_spec.rb' - - 'ee/spec/models/elasticsearch_indexed_namespace_spec.rb' - - 'ee/spec/models/gitlab_subscription_spec.rb' - - 'ee/spec/models/issue_spec.rb' - - 'ee/spec/models/label_note_spec.rb' - - 'ee/spec/models/lfs_object_spec.rb' - - 'ee/spec/models/license_spec.rb' - - 'ee/spec/models/merge_request_spec.rb' - - 'ee/spec/models/merge_train_spec.rb' - - 'ee/spec/models/project_ci_cd_setting_spec.rb' - - 'ee/spec/models/project_spec.rb' - - 'ee/spec/models/protected_environment_spec.rb' - - 'ee/spec/models/repository_spec.rb' - - 'ee/spec/models/scim_identity_spec.rb' - - 'ee/spec/models/scim_oauth_access_token_spec.rb' - - 'ee/spec/models/upload_spec.rb' - - 'ee/spec/models/user_preference_spec.rb' - - 'ee/spec/models/visible_approvable_spec.rb' - - 'ee/spec/models/vulnerabilities/feedback_spec.rb' - - 'ee/spec/models/vulnerabilities/issue_link_spec.rb' - - 'ee/spec/services/ee/boards/issues/create_service_spec.rb' - - 'ee/spec/services/ee/boards/issues/list_service_spec.rb' - - 'ee/spec/services/ee/boards/lists/list_service_spec.rb' - - 'ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb' - - 'ee/spec/services/ee/issuable/common_system_notes_service_spec.rb' - - 'ee/spec/services/ee/issues/update_service_spec.rb' - - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb' - - 'ee/spec/services/ee/merge_requests/update_service_spec.rb' - - 'ee/spec/services/ee/notes/quick_actions_service_spec.rb' - - 'ee/spec/services/ee/notification_service_spec.rb' - - 'ee/spec/services/epic_links/create_service_spec.rb' - - 'ee/spec/services/epics/close_service_spec.rb' - - 'ee/spec/services/epics/issue_promote_service_spec.rb' - - 'ee/spec/services/epics/reopen_service_spec.rb' - - 'ee/spec/services/epics/tree_reorder_service_spec.rb' - - 'ee/spec/services/epics/update_dates_service_spec.rb' - - 'ee/spec/services/epics/update_service_spec.rb' - - 'ee/spec/services/geo/blob_verification_secondary_service_spec.rb' - - 'ee/spec/services/geo/files_expire_service_spec.rb' - - 'ee/spec/services/geo/metrics_update_service_spec.rb' - - 'ee/spec/services/geo/registry_consistency_service_spec.rb' - - 'ee/spec/services/geo/repository_verification_secondary_service_spec.rb' - - 'ee/spec/services/groups/autocomplete_service_spec.rb' - - 'ee/spec/services/ldap_group_reset_service_spec.rb' - - 'ee/spec/services/lfs/unlock_file_service_spec.rb' - - 'ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb' - - 'ee/spec/services/quick_actions/interpret_service_spec.rb' - - 'ee/spec/services/slash_commands/global_slack_handler_spec.rb' - - 'ee/spec/services/start_pull_mirroring_service_spec.rb' - - 'ee/spec/services/status_page/trigger_publish_service_spec.rb' - - 'ee/spec/services/todo_service_spec.rb' - - 'ee/spec/services/vulnerability_feedback/create_service_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb' - - 'spec/controllers/abuse_reports_controller_spec.rb' - - 'spec/controllers/boards/issues_controller_spec.rb' - - 'spec/controllers/sent_notifications_controller_spec.rb' - - 'spec/controllers/sessions_controller_spec.rb' - - 'spec/lib/backup/manager_spec.rb' - - 'spec/lib/gitlab/alerting/alert_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb' - - 'spec/lib/gitlab/auth/ldap/user_spec.rb' - - 'spec/lib/gitlab/auth/o_auth/user_spec.rb' - - 'spec/lib/gitlab/auth/saml/user_spec.rb' - - 'spec/lib/gitlab/auth_spec.rb' - - 'spec/lib/gitlab/authorized_keys_spec.rb' - - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb' - - 'spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb' - - 'spec/lib/gitlab/database/custom_structure_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - - 'spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb' - - 'spec/lib/gitlab/gfm/reference_rewriter_spec.rb' - - 'spec/lib/gitlab/git_access_spec.rb' - - 'spec/lib/gitlab/import_export/avatar_saver_spec.rb' - - 'spec/lib/gitlab/import_export/base/relation_factory_spec.rb' - - 'spec/lib/gitlab/import_export/design_repo_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb' - - 'spec/lib/gitlab/import_export/fork_spec.rb' - - 'spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb' - - 'spec/lib/gitlab/import_export/group/relation_factory_spec.rb' - - 'spec/lib/gitlab/import_export/group/tree_saver_spec.rb' - - 'spec/lib/gitlab/import_export/importer_spec.rb' - - 'spec/lib/gitlab/import_export/lfs_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/lfs_saver_spec.rb' - - 'spec/lib/gitlab/import_export/members_mapper_spec.rb' - - 'spec/lib/gitlab/import_export/project/relation_factory_spec.rb' - - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/project/tree_saver_spec.rb' - - 'spec/lib/gitlab/import_export/repo_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/saver_spec.rb' - - 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb' - - 'spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb' - - 'spec/lib/gitlab/import_export/uploads_manager_spec.rb' - - 'spec/lib/gitlab/import_export/uploads_saver_spec.rb' - - 'spec/lib/gitlab/import_export/wiki_restorer_spec.rb' - - 'spec/lib/gitlab/lets_encrypt/client_spec.rb' - - 'spec/lib/gitlab/middleware/go_spec.rb' - - 'spec/lib/gitlab/shard_health_cache_spec.rb' - - 'spec/mailers/notify_spec.rb' - -Rails/TimeZone: - Enabled: true - Exclude: - - 'lib/gitlab/popen.rb' - - 'ee/lib/delay.rb' - - 'ee/lib/gitlab/elastic/helper.rb' - - 'ee/lib/gitlab/elastic/indexer.rb' - - 'ee/lib/gitlab/geo/base_request.rb' - - 'ee/lib/gitlab/geo/event_gap_tracking.rb' - - 'ee/lib/gitlab/geo/log_cursor/events/design_repository_updated_event.rb' - - 'ee/lib/gitlab/geo/log_cursor/events/repository_updated_event.rb' - - 'ee/lib/gitlab/geo/log_cursor/logger.rb' - - 'ee/lib/gitlab/geo/oauth/login_state.rb' - - 'ee/lib/gitlab/prometheus/queries/cluster_query.rb' - - 'ee/lib/gitlab/prometheus/queries/packet_flow_query.rb' - - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb' - - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb' - - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb' - - 'ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb' - - 'ee/spec/lib/gitlab/auth/smartcard/session_spec.rb' - - 'ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb' - - 'ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb' - - 'ee/spec/lib/gitlab/elastic/client_spec.rb' - - 'ee/spec/lib/gitlab/geo/base_request_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/lfs_object_deleted_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_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_deleted_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/reset_checksum_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/logger_spec.rb' - - 'ee/spec/lib/gitlab/git_access_spec.rb' - - 'ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb' - - 'ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb' - - 'ee/spec/lib/gitlab/prometheus/queries/packet_flow_query_spec.rb' - - 'lib/api/helpers.rb' - - 'lib/api/sidekiq_metrics.rb' - - 'lib/backup/manager.rb' - - 'lib/bitbucket_server/representation/base.rb' - - 'lib/gitlab/auth/current_user_mode.rb' - - 'lib/gitlab/auth/ldap/access.rb' - - 'lib/gitlab/chaos.rb' - - 'lib/gitlab/checks/timed_logger.rb' - - 'lib/gitlab/ci/ansi2json/line.rb' - - 'lib/gitlab/ci/pipeline/chain/sequence.rb' - - 'lib/gitlab/ci/pipeline/duration.rb' - - 'lib/gitlab/cycle_analytics/summary/deployment_frequency.rb' - - 'lib/gitlab/database.rb' - - 'lib/gitlab/external_authorization/access.rb' - - 'lib/gitlab/external_authorization/cache.rb' - - 'lib/gitlab/gitaly_client.rb' - - 'lib/gitlab/gitaly_client/ref_service.rb' - - 'lib/gitlab/github_import/representation.rb' - - 'lib/gitlab/grape_logging/loggers/queue_duration_logger.rb' - - 'lib/gitlab/health_checks/base_abstract_check.rb' - - 'lib/gitlab/import_export.rb' - - 'lib/gitlab/instrumentation/elasticsearch_transport.rb' - - 'lib/gitlab/instrumentation/redis_interceptor.rb' - - 'lib/gitlab/instrumentation_helper.rb' - - 'lib/gitlab/kubernetes/helm/certificate.rb' - - 'lib/gitlab/lfs_token.rb' - - 'lib/gitlab/loop_helpers.rb' - - 'lib/gitlab/phabricator_import/representation/task.rb' - - 'lib/gitlab/prometheus/queries/additional_metrics_environment_query.rb' - - 'lib/gitlab/prometheus/queries/matched_metric_query.rb' - - 'lib/gitlab/prometheus_client.rb' - - 'lib/gitlab/sherlock/transaction.rb' - - 'lib/gitlab/task_helpers.rb' - - 'lib/gitlab/x509/tag.rb' - - 'lib/grafana/time_window.rb' - - 'lib/json_web_token/token.rb' - - 'lib/object_storage/direct_upload.rb' - - 'lib/quality/seeders/issues.rb' - - 'tooling/rspec_flaky/flaky_example.rb' - - 'tooling/rspec_flaky/report.rb' - - 'lib/tasks/gitlab/assets.rake' - - 'lib/tasks/gitlab/backup.rake' - - 'lib/tasks/gitlab/cleanup.rake' - - 'lib/tasks/gitlab/list_repos.rake' - - 'spec/lib/api/helpers_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb' - - 'spec/lib/gitlab/app_json_logger_spec.rb' - - 'spec/lib/gitlab/app_text_logger_spec.rb' - - 'spec/lib/gitlab/auth/current_user_mode_spec.rb' - - 'spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb' - - 'spec/lib/gitlab/background_migration/wrongfully_confirmed_email_unconfirmer_spec.rb' - - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb' - - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb' - - 'spec/lib/gitlab/checks/timed_logger_spec.rb' - - 'spec/lib/gitlab/ci/cron_parser_spec.rb' - - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb' - - 'spec/lib/gitlab/cycle_analytics/usage_data_spec.rb' - - 'spec/lib/gitlab/data_builder/note_spec.rb' - - 'spec/lib/gitlab/database/background_migration_job_spec.rb' - - 'spec/lib/gitlab/database_spec.rb' - - 'spec/lib/gitlab/discussions_diff/file_collection_spec.rb' - - 'spec/lib/gitlab/external_authorization/access_spec.rb' - - 'spec/lib/gitlab/external_authorization/cache_spec.rb' - - 'spec/lib/gitlab/external_authorization/logger_spec.rb' - - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb' - - 'spec/lib/gitlab/git/branch_spec.rb' - - 'spec/lib/gitlab/git/commit_spec.rb' - - 'spec/lib/gitlab/git/repository_spec.rb' - - 'spec/lib/gitlab/git_access_spec.rb' - - 'spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/issue_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/issues_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/note_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/releases_importer_spec.rb' - - 'spec/lib/gitlab/github_import/representation/diff_note_spec.rb' - - 'spec/lib/gitlab/github_import/representation/issue_spec.rb' - - 'spec/lib/gitlab/github_import/representation/note_spec.rb' - - 'spec/lib/gitlab/github_import/representation/pull_request_spec.rb' - - 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb' - - 'spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb' - - 'spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb' - - 'spec/lib/gitlab/graphql_logger_spec.rb' - - 'spec/lib/gitlab/graphs/commits_spec.rb' - - 'spec/lib/gitlab/import_export/project/relation_factory_spec.rb' - - 'spec/lib/gitlab/json_logger_spec.rb' - - 'spec/lib/gitlab/lfs_token_spec.rb' - - 'spec/lib/gitlab/log_timestamp_formatter_spec.rb' - - 'spec/lib/gitlab/middleware/rails_queue_duration_spec.rb' - - 'spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb' - - 'spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb' - - 'spec/lib/gitlab/phabricator_import/representation/task_spec.rb' - - 'spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb' - - 'spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb' - - 'spec/lib/gitlab/prometheus/queries/validate_query_spec.rb' - - 'spec/lib/gitlab/sherlock/transaction_spec.rb' - - 'spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb' - - 'spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb' - - 'spec/lib/gitlab/updated_notes_paginator_spec.rb' - - 'spec/lib/gitlab/utils/json_size_estimator_spec.rb' - - 'spec/lib/gitlab/x509/signature_spec.rb' - - 'spec/lib/grafana/time_window_spec.rb' - - 'spec/lib/json_web_token/hmac_token_spec.rb' - - 'spec/tooling/rspec_flaky/flaky_example_spec.rb' - - 'spec/tooling/rspec_flaky/listener_spec.rb' - - 'spec/tooling/rspec_flaky/report_spec.rb' - -RSpec/TimecopFreeze: - Exclude: - - 'ee/spec/controllers/admin/application_settings_controller_spec.rb' - - 'ee/spec/controllers/projects/security/network_policies_controller_spec.rb' - - 'ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb' - - 'ee/spec/features/boards/sidebar_spec.rb' - - 'ee/spec/features/groups/analytics/cycle_analytics/filters_and_data_spec.rb' - - 'ee/spec/features/groups/iteration_spec.rb' - - 'ee/spec/features/projects/mirror_spec.rb' - - 'ee/spec/features/projects/services/prometheus_custom_metrics_spec.rb' - - 'ee/spec/finders/productivity_analytics_finder_spec.rb' - - 'ee/spec/frontend/fixtures/analytics.rb' - - 'ee/spec/helpers/vulnerabilities_helper_spec.rb' - - 'ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb' - - 'ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb' - - 'ee/spec/lib/ee/gitlab/background_migration/populate_vulnerability_historical_statistics_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/group_stage_time_summary_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb' - - 'ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb' - - 'ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb' - - 'ee/spec/lib/gitlab/geo/base_request_spec.rb' - - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb' - - 'ee/spec/lib/gitlab/geo/git_push_http_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb' - - 'ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb' - - 'ee/spec/lib/gitlab/prometheus/queries/additional_metrics_environment_query_spec.rb' - - 'ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb' - - 'ee/spec/migrations/populate_vulnerability_historical_statistics_for_year_spec.rb' - - 'ee/spec/migrations/remove_duplicated_cs_findings_spec.rb' - - 'ee/spec/migrations/remove_duplicated_cs_findings_without_vulnerability_id_spec.rb' - - 'ee/spec/migrations/schedule_fix_orphan_promoted_issues_spec.rb' - - 'ee/spec/migrations/schedule_merge_request_any_approval_rule_migration_spec.rb' - - 'ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb' - - 'ee/spec/migrations/schedule_populate_vulnerability_historical_statistics_spec.rb' - - 'ee/spec/migrations/schedule_project_any_approval_rule_migration_spec.rb' - - 'ee/spec/migrations/set_resolved_state_on_vulnerabilities_spec.rb' - - 'ee/spec/migrations/20190926180443_schedule_epic_issues_after_epics_move_spec.rb' - - 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb' - - 'ee/spec/models/burndown_spec.rb' - - 'ee/spec/models/ee/namespace_spec.rb' - - 'ee/spec/models/geo/project_registry_spec.rb' - - 'ee/spec/models/merge_train_spec.rb' - - 'ee/spec/models/productivity_analytics_spec.rb' - - 'ee/spec/models/project_spec.rb' - - 'ee/spec/models/vulnerabilities/export_spec.rb' - - 'ee/spec/requests/api/vulnerabilities_spec.rb' - - 'ee/spec/services/geo/file_download_service_spec.rb' - - 'ee/spec/services/vulnerabilities/confirm_service_spec.rb' - - 'ee/spec/services/vulnerabilities/dismiss_service_spec.rb' - - 'ee/spec/services/vulnerabilities/resolve_service_spec.rb' - - 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb' - - 'ee/spec/services/vulnerability_exports/export_service_spec.rb' - - 'ee/spec/support/shared_contexts/lib/gitlab/insights/reducers/reducers_shared_contexts.rb' - - 'qa/spec/support/repeater_spec.rb' - - 'spec/features/users/active_sessions_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb' - - 'spec/lib/gitlab/auth/unique_ips_limiter_spec.rb' - - 'spec/lib/gitlab/checks/timed_logger_spec.rb' - - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb' - - 'spec/lib/gitlab/cycle_analytics/usage_data_spec.rb' - - 'spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb' - - 'spec/lib/gitlab/puma_logging/json_formatter_spec.rb' - - 'spec/lib/json_web_token/hmac_token_spec.rb' - - 'spec/tooling/rspec_flaky/flaky_example_spec.rb' - - 'spec/tooling/rspec_flaky/listener_spec.rb' - - 'spec/models/active_session_spec.rb' - - 'spec/serializers/entity_date_helper_spec.rb' - - 'spec/support/cycle_analytics_helpers/test_generation.rb' - - 'spec/support/helpers/cycle_analytics_helpers.rb' - - 'spec/support/helpers/javascript_fixtures_helpers.rb' - - 'spec/support/shared_contexts/rack_attack_shared_context.rb' - - 'spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb' - - 'spec/workers/concerns/reenqueuer_spec.rb' - - 'spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb' - -RSpec/TimecopTravel: - Exclude: - - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb' - - 'ee/spec/lib/gitlab/geo/git_push_http_spec.rb' - - 'ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb' - - 'ee/spec/models/broadcast_message_spec.rb' - - 'ee/spec/models/burndown_spec.rb' - - 'qa/spec/support/repeater_spec.rb' - - 'spec/features/users/terms_spec.rb' - - 'spec/lib/feature_spec.rb' - - 'spec/models/broadcast_message_spec.rb' - - 'spec/models/concerns/issuable_spec.rb' - - 'spec/requests/api/ci/runner/jobs_trace_spec.rb' - - 'spec/requests/api/issues/put_projects_issues_spec.rb' - - 'spec/support/shared_contexts/cache_allowed_users_in_namespace_shared_context.rb' - - 'spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb' - - 'spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb' - - 'spec/workers/concerns/reenqueuer_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb' - -# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/34997 -RSpec/AnyInstanceOf: - Exclude: - - 'ee/spec/controllers/admin/geo/nodes_controller_spec.rb' - - 'ee/spec/controllers/ee/groups_controller_spec.rb' - - 'ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb' - - 'ee/spec/controllers/groups/epics/notes_controller_spec.rb' - - 'ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb' - - 'ee/spec/controllers/oauth/geo_auth_controller_spec.rb' - - 'ee/spec/controllers/projects/environments_controller_spec.rb' - - 'ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb' - - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb' - - 'ee/spec/controllers/projects/path_locks_controller_spec.rb' - - 'ee/spec/controllers/projects_controller_spec.rb' - - 'ee/spec/controllers/subscriptions_controller_spec.rb' - - 'ee/spec/controllers/trials_controller_spec.rb' - - 'ee/spec/features/admin/admin_audit_logs_spec.rb' - - 'ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb' - - 'ee/spec/features/admin/admin_users_spec.rb' - - 'ee/spec/features/boards/scoped_issue_board_spec.rb' - - 'ee/spec/features/ci_shared_runner_warnings_spec.rb' - - 'ee/spec/features/groups/group_settings_spec.rb' - - 'ee/spec/features/groups/navbar_spec.rb' - - 'ee/spec/features/groups/saml_providers_spec.rb' - - 'ee/spec/features/issues/form_spec.rb' - - 'ee/spec/features/merge_request/user_creates_merge_request_spec.rb' - - 'ee/spec/features/projects/new_project_spec.rb' - - 'ee/spec/features/registrations/welcome_spec.rb' - - 'ee/spec/features/security/project/internal_access_spec.rb' - - 'ee/spec/features/security/project/private_access_spec.rb' - - 'ee/spec/features/security/project/public_access_spec.rb' - - 'ee/spec/features/trials/capture_lead_spec.rb' - - 'ee/spec/features/trials/select_namespace_spec.rb' - - 'ee/spec/features/users/login_spec.rb' - - 'ee/spec/graphql/mutations/dast_on_demand_scans/create_spec.rb' - - 'ee/spec/graphql/mutations/incident_management/oncall_schedule/create_spec.rb' - - 'ee/spec/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb' - - 'ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb' - - 'ee/spec/helpers/application_helper_spec.rb' - - 'ee/spec/lib/ee/api/helpers_spec.rb' - - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb' - - 'ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb' - - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb' - - 'ee/spec/lib/gitlab/auth/group_saml/membership_enforcer_spec.rb' - - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/container_scanning_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/license_scanning_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/elastic/project_search_results_spec.rb' - - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb' - - 'ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb' - - 'ee/spec/lib/omni_auth/strategies/group_saml_spec.rb' - - 'ee/spec/lib/security/ci_configuration/sast_build_actions_spec.rb' - - 'ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb' - - 'ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb' - - 'ee/spec/migrations/update_location_fingerprint_column_for_cs_spec.rb' - - 'ee/spec/migrations/update_occurrence_severity_column_spec.rb' - - 'ee/spec/migrations/update_undefined_confidence_from_occurrences_spec.rb' - - 'ee/spec/migrations/update_undefined_confidence_from_vulnerabilities_spec.rb' - - 'ee/spec/migrations/update_vulnerability_severity_column_spec.rb' - - 'ee/spec/models/ee/namespace_spec.rb' - - 'ee/spec/models/geo_node_status_spec.rb' - - 'ee/spec/models/issue_spec.rb' - - 'ee/spec/models/merge_request_spec.rb' - - 'ee/spec/models/project_import_state_spec.rb' - - 'ee/spec/models/push_rule_spec.rb' - - 'ee/spec/presenters/ci/pipeline_presenter_spec.rb' - - 'ee/spec/presenters/projects/security/configuration_presenter_spec.rb' - - 'ee/spec/requests/api/geo_nodes_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/pipelines/run_dast_scan_spec.rb' - - 'ee/spec/requests/api/issues_spec.rb' - - 'ee/spec/requests/api/projects_spec.rb' - - 'ee/spec/requests/git_http_spec.rb' - - 'ee/spec/requests/groups_controller_spec.rb' - - 'ee/spec/requests/omniauth_kerberos_spnego_spec.rb' - - 'ee/spec/requests/repositories/git_http_controller_spec.rb' - - 'ee/spec/services/alert_management/network_alert_service_spec.rb' - - 'ee/spec/services/ci/expire_pipeline_cache_service_spec.rb' - - 'ee/spec/services/ci/run_dast_scan_service_spec.rb' - - 'ee/spec/services/ee/git/branch_push_service_spec.rb' - - 'ee/spec/services/ee/merge_requests/create_from_vulnerability_data_service_spec.rb' - - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb' - - 'ee/spec/services/ee/security/ingress_modsecurity_usage_service_spec.rb' - - 'ee/spec/services/ee/users/create_service_spec.rb' - - 'ee/spec/services/ee/users/destroy_service_spec.rb' - - 'ee/spec/services/geo/container_repository_sync_service_spec.rb' - - 'ee/spec/services/geo/design_repository_sync_service_spec.rb' - - 'ee/spec/services/geo/framework_repository_sync_service_spec.rb' - - 'ee/spec/services/geo/hashed_storage_migration_service_spec.rb' - - 'ee/spec/services/geo/metrics_update_service_spec.rb' - - 'ee/spec/services/geo/move_repository_service_spec.rb' - - 'ee/spec/services/geo/project_housekeeping_service_spec.rb' - - 'ee/spec/services/geo/rename_repository_service_spec.rb' - - 'ee/spec/services/geo/repository_destroy_service_spec.rb' - - 'ee/spec/services/geo/repository_sync_service_spec.rb' - - 'ee/spec/services/geo/wiki_sync_service_spec.rb' - - 'ee/spec/services/groups/destroy_service_spec.rb' - - 'ee/spec/services/groups/update_service_spec.rb' - - 'ee/spec/services/merge_trains/check_status_service_spec.rb' - - 'ee/spec/services/network_policies/resources_service_spec.rb' - - 'ee/spec/services/projects/destroy_service_spec.rb' - - 'ee/spec/services/projects/group_links/destroy_service_spec.rb' - - 'ee/spec/services/projects/update_service_spec.rb' - - 'ee/spec/services/slash_commands/global_slack_handler_spec.rb' - - 'ee/spec/support/helpers/ee/stub_configuration.rb' - - 'ee/spec/support/shared_examples/controllers/analytics/cycle_analytics/shared_stage_shared_examples.rb' - - 'ee/spec/support/shared_examples/features/ultimate_trial_callout_shared_examples.rb' - - 'ee/spec/support/shared_examples/lib/gitlab/geo/geo_logs_event_source_info_shared_examples.rb' - - 'ee/spec/support/shared_examples/models/member_shared_examples.rb' - - 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb' - - 'ee/spec/support/shared_examples/services/geo/geo_request_service_shared_examples.rb' - - 'ee/spec/workers/build_finished_worker_spec.rb' - - 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb' - - 'ee/spec/workers/elastic_commit_indexer_worker_spec.rb' - - 'ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb' - - 'ee/spec/workers/geo/file_download_dispatch_worker_spec.rb' - - 'ee/spec/workers/geo/registry_sync_worker_spec.rb' - - 'ee/spec/workers/geo/repository_cleanup_worker_spec.rb' - - 'ee/spec/workers/geo/repository_shard_sync_worker_spec.rb' - - 'ee/spec/workers/project_cache_worker_spec.rb' - - 'ee/spec/workers/repository_import_worker_spec.rb' - - 'ee/spec/workers/vulnerability_exports/export_deletion_worker_spec.rb' - - 'qa/spec/runtime/release_spec.rb' - - 'spec/controllers/admin/sessions_controller_spec.rb' - - 'spec/controllers/application_controller_spec.rb' - - 'spec/controllers/concerns/issuable_actions_spec.rb' - - 'spec/controllers/concerns/static_object_external_storage_spec.rb' - - 'spec/controllers/explore/projects_controller_spec.rb' - - 'spec/controllers/groups/clusters_controller_spec.rb' - - 'spec/controllers/groups/settings/ci_cd_controller_spec.rb' - - 'spec/controllers/groups_controller_spec.rb' - - 'spec/controllers/import/bitbucket_controller_spec.rb' - - 'spec/controllers/oauth/jira/authorizations_controller_spec.rb' - - 'spec/controllers/omniauth_callbacks_controller_spec.rb' - - 'spec/controllers/projects/artifacts_controller_spec.rb' - - 'spec/controllers/projects/branches_controller_spec.rb' - - 'spec/controllers/projects/clusters_controller_spec.rb' - - 'spec/controllers/projects/commit_controller_spec.rb' - - 'spec/controllers/projects/commits_controller_spec.rb' - - 'spec/controllers/projects/environments_controller_spec.rb' - - 'spec/controllers/projects/imports_controller_spec.rb' - - 'spec/controllers/projects/issues_controller_spec.rb' - - 'spec/controllers/projects/jobs_controller_spec.rb' - - 'spec/controllers/projects/labels_controller_spec.rb' - - 'spec/controllers/projects/merge_requests_controller_spec.rb' - - 'spec/controllers/projects/pipelines_controller_spec.rb' - - 'spec/controllers/projects/service_hook_logs_controller_spec.rb' - - 'spec/controllers/projects/services_controller_spec.rb' - - 'spec/controllers/projects/tags_controller_spec.rb' - - 'spec/controllers/registrations/experience_levels_controller_spec.rb' - - 'spec/controllers/registrations_controller_spec.rb' - - 'spec/controllers/sessions_controller_spec.rb' - - 'spec/controllers/snippets/notes_controller_spec.rb' - - 'spec/controllers/snippets_controller_spec.rb' - - 'spec/features/admin/admin_mode/login_spec.rb' - - 'spec/features/groups/clusters/eks_spec.rb' - - 'spec/features/groups/members/tabs_spec.rb' - - 'spec/features/ide/static_object_external_storage_csp_spec.rb' - - 'spec/features/issuables/issuable_list_spec.rb' - - 'spec/features/issues/form_spec.rb' - - 'spec/features/merge_request/user_creates_image_diff_notes_spec.rb' - - 'spec/features/merge_request/user_reviews_image_spec.rb' - - 'spec/features/merge_request/user_sees_diff_spec.rb' - - 'spec/features/merge_request/user_sees_merge_widget_spec.rb' - - 'spec/features/profiles/personal_access_tokens_spec.rb' - - 'spec/features/projects/clusters/gcp_spec.rb' - - 'spec/features/projects/clusters_spec.rb' - - 'spec/features/projects/container_registry_spec.rb' - - 'spec/features/projects/files/user_browses_lfs_files_spec.rb' - - 'spec/features/projects/jobs_spec.rb' - - 'spec/features/projects/navbar_spec.rb' - - 'spec/features/projects/pages_spec.rb' - - 'spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb' - - 'spec/features/projects/settings/service_desk_setting_spec.rb' - - 'spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb' - - 'spec/features/snippets/embedded_snippet_spec.rb' - - 'spec/features/usage_stats_consent_spec.rb' - - 'spec/finders/prometheus_metrics_finder_spec.rb' - - 'spec/graphql/mutations/alert_management/create_alert_issue_spec.rb' - - 'spec/graphql/mutations/alert_management/http_integration/create_spec.rb' - - 'spec/graphql/mutations/alert_management/http_integration/destroy_spec.rb' - - 'spec/graphql/mutations/alert_management/http_integration/reset_token_spec.rb' - - 'spec/graphql/mutations/alert_management/http_integration/update_spec.rb' - - 'spec/graphql/mutations/alert_management/prometheus_integration/create_spec.rb' - - 'spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb' - - 'spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb' - - 'spec/helpers/analytics/unique_visits_helper_spec.rb' - - 'spec/helpers/projects_helper_spec.rb' - - 'spec/initializers/lograge_spec.rb' - - 'spec/lib/api/entities/merge_request_basic_spec.rb' - - 'spec/lib/api/entities/merge_request_changes_spec.rb' - - 'spec/lib/api/helpers_spec.rb' - - 'spec/lib/backup/files_spec.rb' - - 'spec/lib/backup/manager_spec.rb' - - 'spec/lib/banzai/commit_renderer_spec.rb' - - 'spec/lib/banzai/filter/references/external_issue_reference_filter_spec.rb' - - 'spec/lib/banzai/filter/references/issue_reference_filter_spec.rb' - - 'spec/lib/banzai/filter/repository_link_filter_spec.rb' - - 'spec/lib/banzai/pipeline/gfm_pipeline_spec.rb' - - 'spec/lib/extracts_ref_spec.rb' - - 'spec/lib/feature_spec.rb' - - 'spec/lib/gitlab/app_logger_spec.rb' - - 'spec/lib/gitlab/asciidoc_spec.rb' - - 'spec/lib/gitlab/auth/auth_finders_spec.rb' - - 'spec/lib/gitlab/auth/blocked_user_tracker_spec.rb' - - 'spec/lib/gitlab/auth/request_authenticator_spec.rb' - - 'spec/lib/gitlab/auth_spec.rb' - - 'spec/lib/gitlab/background_migration/populate_personal_snippet_statistics_spec.rb' - - 'spec/lib/gitlab/background_migration/populate_project_snippet_statistics_spec.rb' - - 'spec/lib/gitlab/checks/diff_check_spec.rb' - - 'spec/lib/gitlab/checks/lfs_check_spec.rb' - - 'spec/lib/gitlab/checks/lfs_integrity_spec.rb' - - 'spec/lib/gitlab/ci/config/external/file/base_spec.rb' - - 'spec/lib/gitlab/ci/config/external/file/local_spec.rb' - - 'spec/lib/gitlab/ci/config/external/processor_spec.rb' - - 'spec/lib/gitlab/ci/pipeline/chain/build_spec.rb' - - 'spec/lib/gitlab/ci/pipeline/chain/command_spec.rb' - - 'spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/templates/npm_spec.rb' - - 'spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb' - - 'spec/lib/gitlab/ci/trace_spec.rb' - - 'spec/lib/gitlab/current_settings_spec.rb' - - 'spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb' - - 'spec/lib/gitlab/database/multi_threaded_migration_spec.rb' - - 'spec/lib/gitlab/diff/highlight_cache_spec.rb' - - 'spec/lib/gitlab/diff/highlight_spec.rb' - - 'spec/lib/gitlab/diff/position_spec.rb' - - 'spec/lib/gitlab/email/handler/create_issue_handler_spec.rb' - - 'spec/lib/gitlab/email/handler/create_note_handler_spec.rb' - - 'spec/lib/gitlab/etag_caching/middleware_spec.rb' - - 'spec/lib/gitlab/exclusive_lease_helpers_spec.rb' - - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb' - - 'spec/lib/gitlab/gfm/reference_rewriter_spec.rb' - - 'spec/lib/gitlab/git/repository_spec.rb' - - 'spec/lib/gitlab/gitaly_client/blob_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/commit_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/health_check_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/operation_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/praefect_info_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/ref_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/remote_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/repository_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client/wiki_service_spec.rb' - - 'spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb' - - 'spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb' - - 'spec/lib/gitlab/hashed_storage/migrator_spec.rb' - - 'spec/lib/gitlab/import/merge_request_helpers_spec.rb' - - 'spec/lib/gitlab/import_export/config_spec.rb' - - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb' - - 'spec/lib/gitlab/import_export/importer_spec.rb' - - 'spec/lib/gitlab/import_export/lfs_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/version_checker_spec.rb' - - 'spec/lib/gitlab/job_waiter_spec.rb' - - 'spec/lib/gitlab/legacy_github_import/importer_spec.rb' - - 'spec/lib/gitlab/legacy_github_import/project_creator_spec.rb' - - 'spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb' - - 'spec/lib/gitlab/metrics/rack_middleware_spec.rb' - - 'spec/lib/gitlab/metrics/subscribers/active_record_spec.rb' - - 'spec/lib/gitlab/metrics_spec.rb' - - 'spec/lib/gitlab/patch/action_dispatch_journey_formatter_spec.rb' - - 'spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb' - - 'spec/lib/gitlab/sidekiq_middleware_spec.rb' - - 'spec/lib/gitlab/tracking/destinations/product_analytics_spec.rb' - - 'spec/lib/gitlab/tracking/destinations/snowplow_spec.rb' - - 'spec/lib/gitlab/tracking_spec.rb' - - 'spec/lib/gitlab/usage_data_spec.rb' - - 'spec/lib/gitlab/workhorse_spec.rb' - - 'spec/lib/gitlab/x509/commit_spec.rb' - - 'spec/lib/gitlab/x509/signature_spec.rb' - - 'spec/lib/google_api/cloud_platform/client_spec.rb' - - 'spec/lib/json_web_token/rsa_token_spec.rb' - - 'spec/lib/mattermost/command_spec.rb' - - 'spec/lib/mattermost/team_spec.rb' - - 'spec/lib/system_check/simple_executor_spec.rb' - - 'spec/models/ci/build_spec.rb' - - 'spec/models/ci/runner_spec.rb' - - 'spec/models/commit_spec.rb' - - 'spec/models/environment_spec.rb' - - 'spec/models/group_spec.rb' - - 'spec/models/hooks/service_hook_spec.rb' - - 'spec/models/hooks/system_hook_spec.rb' - - 'spec/models/hooks/web_hook_spec.rb' - - 'spec/models/integrations/jira_spec.rb' - - 'spec/models/integrations/mattermost_slash_commands_spec.rb' - - 'spec/models/issue_spec.rb' - - 'spec/models/key_spec.rb' - - 'spec/models/member_spec.rb' - - 'spec/models/merge_request_diff_spec.rb' - - 'spec/models/merge_request_spec.rb' - - 'spec/models/note_spec.rb' - - 'spec/models/project_import_state_spec.rb' - - 'spec/models/project_spec.rb' - - 'spec/models/repository_spec.rb' - - 'spec/models/user_spec.rb' - - 'spec/models/x509_certificate_spec.rb' - - 'spec/policies/ci/build_policy_spec.rb' - - 'spec/policies/ci/pipeline_policy_spec.rb' - - 'spec/presenters/gitlab/blame_presenter_spec.rb' - - 'spec/presenters/merge_request_presenter_spec.rb' - - 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb' - - 'spec/requests/api/ci/runner/jobs_put_spec.rb' - - 'spec/requests/api/ci/runner/jobs_request_post_spec.rb' - - 'spec/requests/api/ci/runner/jobs_trace_spec.rb' - - 'spec/requests/api/ci/runner/runners_delete_spec.rb' - - 'spec/requests/api/ci/runner/runners_post_spec.rb' - - 'spec/requests/api/ci/runner/runners_verify_post_spec.rb' - - 'spec/requests/api/graphql/gitlab_schema_spec.rb' - - 'spec/requests/api/graphql/project/error_tracking/sentry_detailed_error_request_spec.rb' - - 'spec/requests/api/graphql_spec.rb' - - 'spec/requests/api/helpers_spec.rb' - - 'spec/requests/api/internal/base_spec.rb' - - 'spec/requests/api/maven_packages_spec.rb' - - 'spec/requests/api/merge_requests_spec.rb' - - 'spec/requests/api/pages/pages_spec.rb' - - 'spec/requests/api/project_export_spec.rb' - - 'spec/requests/api/project_import_spec.rb' - - 'spec/requests/api/projects_spec.rb' - - 'spec/requests/api/snippets_spec.rb' - - 'spec/requests/api/todos_spec.rb' - - 'spec/requests/git_http_spec.rb' - - 'spec/requests/import/gitlab_projects_controller_spec.rb' - - 'spec/routing/routing_spec.rb' - - 'spec/serializers/analytics_stage_serializer_spec.rb' - - 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb' - - 'spec/serializers/merge_request_poll_widget_entity_spec.rb' - - 'spec/services/application_settings/update_service_spec.rb' - - 'spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb' - - 'spec/services/boards/lists/update_service_spec.rb' - - 'spec/services/ci/create_pipeline_service_spec.rb' - - 'spec/services/ci/destroy_expired_job_artifacts_service_spec.rb' - - 'spec/services/ci/expire_pipeline_cache_service_spec.rb' - - 'spec/services/ci/list_config_variables_service_spec.rb' - - 'spec/services/ci/register_job_service_spec.rb' - - 'spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb' - - 'spec/services/ci/retry_build_service_spec.rb' - - 'spec/services/ci/retry_pipeline_service_spec.rb' - - 'spec/services/ci/stop_environments_service_spec.rb' - - 'spec/services/clusters/applications/create_service_spec.rb' - - 'spec/services/clusters/cleanup/project_namespace_service_spec.rb' - - 'spec/services/clusters/cleanup/service_account_service_spec.rb' - - 'spec/services/deployments/older_deployments_drop_service_spec.rb' - - 'spec/services/deployments/update_environment_service_spec.rb' - - 'spec/services/draft_notes/destroy_service_spec.rb' - - 'spec/services/events/render_service_spec.rb' - - 'spec/services/git/branch_push_service_spec.rb' - - 'spec/services/git/process_ref_changes_service_spec.rb' - - 'spec/services/groups/create_service_spec.rb' - - 'spec/services/groups/update_service_spec.rb' - - 'spec/services/integrations/test/project_service_spec.rb' - - 'spec/services/issuable/destroy_service_spec.rb' - - 'spec/services/issues/close_service_spec.rb' - - 'spec/services/issues/reopen_service_spec.rb' - - 'spec/services/members/destroy_service_spec.rb' - - 'spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb' - - 'spec/services/merge_requests/build_service_spec.rb' - - 'spec/services/merge_requests/merge_service_spec.rb' - - 'spec/services/merge_requests/mergeability_check_service_spec.rb' - - 'spec/services/merge_requests/refresh_service_spec.rb' - - 'spec/services/merge_requests/reload_diffs_service_spec.rb' - - 'spec/services/merge_requests/resolved_discussion_notification_service_spec.rb' - - 'spec/services/metrics/dashboard/custom_dashboard_service_spec.rb' - - 'spec/services/metrics/dashboard/transient_embed_service_spec.rb' - - 'spec/services/notes/create_service_spec.rb' - - 'spec/services/notes/render_service_spec.rb' - - 'spec/services/packages/conan/create_package_file_service_spec.rb' - - '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' - - 'spec/services/projects/container_repository/delete_tags_service_spec.rb' - - 'spec/services/projects/container_repository/gitlab/delete_tags_service_spec.rb' - - 'spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb' - - 'spec/services/projects/destroy_service_spec.rb' - - 'spec/services/projects/fork_service_spec.rb' - - 'spec/services/projects/import_service_spec.rb' - - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb' - - 'spec/services/projects/lfs_pointers/lfs_object_download_list_service_spec.rb' - - 'spec/services/projects/prometheus/alerts/notify_service_spec.rb' - - 'spec/services/projects/transfer_service_spec.rb' - - 'spec/services/projects/update_remote_mirror_service_spec.rb' - - 'spec/services/projects/update_service_spec.rb' - - 'spec/services/projects/update_statistics_service_spec.rb' - - 'spec/services/resource_events/change_labels_service_spec.rb' - - 'spec/services/search_service_spec.rb' - - 'spec/services/snippets/create_service_spec.rb' - - 'spec/services/test_hooks/project_service_spec.rb' - - 'spec/services/test_hooks/system_service_spec.rb' - - 'spec/services/todo_service_spec.rb' - - 'spec/services/users/destroy_service_spec.rb' - - 'spec/services/users/migrate_to_ghost_user_service_spec.rb' - - 'spec/spec_helper.rb' - - 'spec/support/capybara.rb' - - 'spec/support/helpers/api_helpers.rb' - - 'spec/support/helpers/graphql_helpers.rb' - - 'spec/support/helpers/ldap_helpers.rb' - - 'spec/support/helpers/login_helpers.rb' - - 'spec/support/helpers/metrics_dashboard_url_helpers.rb' - - 'spec/support/helpers/rake_helpers.rb' - - 'spec/support/helpers/stub_configuration.rb' - - 'spec/support/helpers/stub_gitlab_calls.rb' - - 'spec/support/helpers/test_env.rb' - - 'spec/support/import_export/common_util.rb' - - 'spec/support/services/migrate_to_ghost_user_service_shared_examples.rb' - - 'spec/support/shared_contexts/email_shared_context.rb' - - 'spec/support/shared_contexts/services/projects/container_repository/delete_tags_service_shared_context.rb' - - 'spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb' - - 'spec/support/shared_examples/controllers/issuable_notes_filter_shared_examples.rb' - - 'spec/support/shared_examples/controllers/issuables_requiring_filter_shared_examples.rb' - - 'spec/support/shared_examples/controllers/repository_lfs_file_load_shared_examples.rb' - - 'spec/support/shared_examples/controllers/set_sort_order_from_user_preference_shared_examples.rb' - - 'spec/support/shared_examples/controllers/unique_visits_shared_examples.rb' - - 'spec/support/shared_examples/controllers/update_invalid_issuable_shared_examples.rb' - - 'spec/support/shared_examples/controllers/uploads_actions_shared_examples.rb' - - 'spec/support/shared_examples/features/archive_download_buttons_shared_examples.rb' - - 'spec/support/shared_examples/features/snippets_shared_examples.rb' - - 'spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb' - - 'spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb' - - 'spec/support/shared_examples/models/diff_note_after_commit_shared_examples.rb' - - 'spec/support/shared_examples/models/integrations/base_slash_commands_shared_examples.rb' - - 'spec/support/shared_examples/models/mentionable_shared_examples.rb' - - 'spec/support/shared_examples/models/with_uploads_shared_examples.rb' - - 'spec/support/shared_examples/path_extraction_shared_examples.rb' - - 'spec/support/shared_examples/requests/api/discussions_shared_examples.rb' - - 'spec/support/shared_examples/requests/api/snippets_shared_examples.rb' - - 'spec/support/shared_examples/requests/rack_attack_shared_examples.rb' - - 'spec/support/shared_examples/requests/snippet_shared_examples.rb' - - 'spec/support/shared_examples/services/alert_management_shared_examples.rb' - - 'spec/support/shared_examples/services/boards/boards_list_service_shared_examples.rb' - - 'spec/support/shared_examples/services/boards/issues_list_service_shared_examples.rb' - - 'spec/support/shared_examples/services/boards/issues_move_service_shared_examples.rb' - - 'spec/support/shared_examples/services/issuable_shared_examples.rb' - - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' - - 'spec/support/shared_examples/workers/authorized_projects_worker_shared_example.rb' - - 'spec/support/shared_examples/workers/reactive_cacheable_shared_examples.rb' - - 'spec/support/snowplow.rb' - - 'spec/tasks/gitlab/cleanup_rake_spec.rb' - - 'spec/tasks/gitlab/container_registry_rake_spec.rb' - - 'spec/tasks/gitlab/db_rake_spec.rb' - - 'spec/tasks/gitlab/git_rake_spec.rb' - - 'spec/tasks/gitlab/praefect_rake_spec.rb' - - 'spec/tasks/gitlab/shell_rake_spec.rb' - - 'spec/tasks/gitlab/x509/update_rake_spec.rb' - - 'spec/uploaders/file_mover_spec.rb' - - 'spec/uploaders/records_uploads_spec.rb' - - 'spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb' - - 'spec/views/layouts/_head.html.haml_spec.rb' - - 'spec/views/projects/artifacts/_artifact.html.haml_spec.rb' - - 'spec/workers/archive_trace_worker_spec.rb' - - 'spec/workers/build_coverage_worker_spec.rb' - - 'spec/workers/build_hooks_worker_spec.rb' - - 'spec/workers/build_trace_sections_worker_spec.rb' - - 'spec/workers/ci/build_schedule_worker_spec.rb' - - 'spec/workers/ci/daily_build_group_report_results_worker_spec.rb' - - 'spec/workers/cluster_configure_istio_worker_spec.rb' - - 'spec/workers/cluster_provision_worker_spec.rb' - - 'spec/workers/clusters/cleanup/project_namespace_worker_spec.rb' - - 'spec/workers/clusters/cleanup/service_account_worker_spec.rb' - - 'spec/workers/concerns/project_import_options_spec.rb' - - 'spec/workers/create_commit_signature_worker_spec.rb' - - 'spec/workers/create_note_diff_file_worker_spec.rb' - - 'spec/workers/delete_diff_files_worker_spec.rb' - - 'spec/workers/email_receiver_worker_spec.rb' - - 'spec/workers/emails_on_push_worker_spec.rb' - - 'spec/workers/error_tracking_issue_link_worker_spec.rb' - - 'spec/workers/expire_pipeline_cache_worker_spec.rb' - - 'spec/workers/group_export_worker_spec.rb' - - 'spec/workers/group_import_worker_spec.rb' - - 'spec/workers/namespaceless_project_destroy_worker_spec.rb' - - 'spec/workers/namespaces/root_statistics_worker_spec.rb' - - 'spec/workers/new_note_worker_spec.rb' - - 'spec/workers/object_pool/create_worker_spec.rb' - - 'spec/workers/packages/nuget/extraction_worker_spec.rb' - - 'spec/workers/pages_remove_worker_spec.rb' - - 'spec/workers/pipeline_hooks_worker_spec.rb' - - 'spec/workers/pipeline_process_worker_spec.rb' - - 'spec/workers/pipeline_schedule_worker_spec.rb' - - 'spec/workers/project_cache_worker_spec.rb' - - 'spec/workers/stage_update_worker_spec.rb' - - 'spec/workers/stuck_ci_jobs_worker_spec.rb' - - 'spec/workers/wait_for_cluster_creation_worker_spec.rb' - - 'ee/spec/workers/security/auto_fix_worker_spec.rb' - -# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/321982 -Gitlab/NamespacedClass: - Exclude: - - 'app/channels/issues_channel.rb' - - 'app/controllers/abuse_reports_controller.rb' - - 'app/controllers/acme_challenges_controller.rb' - - 'app/controllers/application_controller.rb' - - 'app/controllers/autocomplete_controller.rb' - - 'app/controllers/chaos_controller.rb' - - 'app/controllers/confirmations_controller.rb' - - 'app/controllers/dashboard_controller.rb' - - 'app/controllers/graphql_controller.rb' - - 'app/controllers/groups_controller.rb' - - 'app/controllers/health_check_controller.rb' - - 'app/controllers/health_controller.rb' - - 'app/controllers/help_controller.rb' - - 'app/controllers/ide_controller.rb' - - 'app/controllers/invites_controller.rb' - - 'app/controllers/jwks_controller.rb' - - 'app/controllers/jwt_controller.rb' - - 'app/controllers/metrics_controller.rb' - - 'app/controllers/notification_settings_controller.rb' - - 'app/controllers/omniauth_callbacks_controller.rb' - - 'app/controllers/passwords_controller.rb' - - 'app/controllers/profiles_controller.rb' - - 'app/controllers/projects_controller.rb' - - 'app/controllers/registrations_controller.rb' - - 'app/controllers/root_controller.rb' - - 'app/controllers/runner_setup_controller.rb' - - 'app/controllers/search_controller.rb' - - 'app/controllers/sent_notifications_controller.rb' - - 'app/controllers/sessions_controller.rb' - - 'app/controllers/snippets_controller.rb' - - 'app/controllers/uploads_controller.rb' - - 'app/controllers/user_callouts_controller.rb' - - 'app/controllers/users_controller.rb' - - 'app/controllers/whats_new_controller.rb' - - 'app/finders/abuse_reports_finder.rb' - - 'app/finders/access_requests_finder.rb' - - 'app/finders/admin/projects_finder.rb' - - 'app/finders/applications_finder.rb' - - 'app/finders/award_emojis_finder.rb' - - 'app/finders/branches_finder.rb' - - 'app/finders/cluster_ancestors_finder.rb' - - 'app/finders/clusters_finder.rb' - - 'app/finders/container_repositories_finder.rb' - - 'app/finders/context_commits_finder.rb' - - 'app/finders/contributed_projects_finder.rb' - - 'app/finders/deployments_finder.rb' - - 'app/finders/events_finder.rb' - - 'app/finders/feature_flags_finder.rb' - - 'app/finders/feature_flags_user_lists_finder.rb' - - 'app/finders/fork_projects_finder.rb' - - 'app/finders/fork_targets_finder.rb' - - 'app/finders/freeze_periods_finder.rb' - - 'app/finders/git_refs_finder.rb' - - 'app/finders/group_descendants_finder.rb' - - 'app/finders/group_finder.rb' - - 'app/finders/group_members_finder.rb' - - 'app/finders/group_projects_finder.rb' - - 'app/finders/groups_finder.rb' - - 'app/finders/issuable_finder.rb' - - 'app/finders/issuable_finder/params.rb' - - 'app/finders/issues_finder.rb' - - 'app/finders/issues_finder/params.rb' - - 'app/finders/joined_groups_finder.rb' - - 'app/finders/keys_finder.rb' - - 'app/finders/labels_finder.rb' - - 'app/finders/lfs_pointers_finder.rb' - - 'app/finders/license_template_finder.rb' - - 'app/finders/members_finder.rb' - - 'app/finders/merge_request_target_project_finder.rb' - - 'app/finders/merge_requests_finder.rb' - - 'app/finders/merge_requests_finder/params.rb' - - 'app/finders/milestones_finder.rb' - - 'app/finders/notes_finder.rb' - - 'app/finders/pending_todos_finder.rb' - - 'app/finders/personal_access_tokens_finder.rb' - - 'app/finders/personal_projects_finder.rb' - - 'app/finders/projects_finder.rb' - - 'app/finders/prometheus_metrics_finder.rb' - - 'app/finders/protected_branches_finder.rb' - - 'app/finders/releases_finder.rb' - - 'app/finders/resource_milestone_event_finder.rb' - - 'app/finders/resource_state_event_finder.rb' - - 'app/finders/sentry_issue_finder.rb' - - 'app/finders/serverless_domain_finder.rb' - - 'app/finders/snippets_finder.rb' - - 'app/finders/starred_projects_finder.rb' - - 'app/finders/tags_finder.rb' - - 'app/finders/template_finder.rb' - - 'app/finders/todos_finder.rb' - - 'app/finders/union_finder.rb' - - 'app/finders/uploader_finder.rb' - - 'app/finders/user_finder.rb' - - 'app/finders/user_group_notification_settings_finder.rb' - - 'app/finders/user_groups_counter.rb' - - 'app/finders/user_recent_events_finder.rb' - - 'app/finders/users_finder.rb' - - 'app/finders/users_star_projects_finder.rb' - - 'app/finders/users_with_pending_todos_finder.rb' - - 'app/graphql/gitlab_schema.rb' - - 'app/mailers/abuse_report_mailer.rb' - - 'app/mailers/application_mailer.rb' - - 'app/mailers/devise_mailer.rb' - - 'app/mailers/email_rejection_mailer.rb' - - 'app/mailers/notify.rb' - - 'app/mailers/previews/devise_mailer_preview.rb' - - 'app/mailers/previews/email_rejection_mailer_preview.rb' - - 'app/mailers/previews/notify_preview.rb' - - 'app/mailers/previews/repository_check_mailer_preview.rb' - - 'app/mailers/repository_check_mailer.rb' - - 'app/models/ability.rb' - - 'app/models/abuse_report.rb' - - 'app/models/active_session.rb' - - 'app/models/appearance.rb' - - 'app/models/application_record.rb' - - 'app/models/application_setting.rb' - - 'app/models/application_setting/term.rb' - - 'app/models/approval.rb' - - 'app/models/audit_event.rb' - - 'app/models/authentication_event.rb' - - 'app/models/award_emoji.rb' - - 'app/models/badge.rb' - - 'app/models/badges/group_badge.rb' - - 'app/models/badges/project_badge.rb' - - 'app/models/blob.rb' - - 'app/models/board.rb' - - 'app/models/board_group_recent_visit.rb' - - 'app/models/board_project_recent_visit.rb' - - 'app/models/broadcast_message.rb' - - 'app/models/bulk_import.rb' - - 'app/models/chat_name.rb' - - 'app/models/chat_team.rb' - - 'app/models/ci_platform_metric.rb' - - 'app/models/commit.rb' - - 'app/models/commit_collection.rb' - - 'app/models/commit_range.rb' - - 'app/models/commit_status.rb' - - 'app/models/commit_user_mention.rb' - - 'app/models/commit_with_pipeline.rb' - - 'app/models/compare.rb' - - 'app/models/concerns/uniquify.rb' - - 'app/models/container_expiration_policy.rb' - - 'app/models/container_repository.rb' - - 'app/models/context_commits_diff.rb' - - 'app/models/custom_emoji.rb' - - 'app/models/data_list.rb' - - 'app/models/deploy_key.rb' - - 'app/models/deploy_keys_project.rb' - - 'app/models/deploy_token.rb' - - 'app/models/deployment.rb' - - 'app/models/deployment_cluster.rb' - - 'app/models/deployment_merge_request.rb' - - 'app/models/deployment_metrics.rb' - - 'app/models/description_version.rb' - - 'app/models/design_user_mention.rb' - - 'app/models/diff_discussion.rb' - - 'app/models/diff_note.rb' - - 'app/models/diff_note_position.rb' - - 'app/models/directly_addressed_user.rb' - - 'app/models/discussion.rb' - - 'app/models/discussion_note.rb' - - 'app/models/draft_note.rb' - - 'app/models/email.rb' - - 'app/models/environment.rb' - - 'app/models/environment_status.rb' - - 'app/models/epic.rb' - - 'app/models/event.rb' - - 'app/models/event_collection.rb' - - 'app/models/experiment.rb' - - 'app/models/experiment_subject.rb' - - 'app/models/experiment_user.rb' - - 'app/models/exported_protected_branch.rb' - - 'app/models/external_issue.rb' - - 'app/models/external_pull_request.rb' - - 'app/models/fork_network.rb' - - 'app/models/fork_network_member.rb' - - 'app/models/generic_commit_status.rb' - - 'app/models/gpg_key.rb' - - 'app/models/gpg_key_subkey.rb' - - 'app/models/gpg_signature.rb' - - 'app/models/grafana_integration.rb' - - 'app/models/group.rb' - - 'app/models/group_custom_attribute.rb' - - 'app/models/group_deploy_key.rb' - - 'app/models/group_deploy_keys_group.rb' - - 'app/models/group_deploy_token.rb' - - 'app/models/group_group_link.rb' - - 'app/models/group_import_state.rb' - - 'app/models/group_label.rb' - - 'app/models/guest.rb' - - 'app/models/hooks/active_hook_filter.rb' - - 'app/models/hooks/project_hook.rb' - - 'app/models/hooks/service_hook.rb' - - 'app/models/hooks/system_hook.rb' - - 'app/models/hooks/web_hook.rb' - - 'app/models/hooks/web_hook_log.rb' - - 'app/models/identity.rb' - - 'app/models/identity/uniqueness_scopes.rb' - - 'app/models/import_export_upload.rb' - - 'app/models/import_failure.rb' - - 'app/models/individual_note_discussion.rb' - - 'app/models/instance_configuration.rb' - - 'app/models/instance_metadata.rb' - - 'app/models/integration.rb' - - 'app/models/internal_id.rb' - - 'app/models/issuable_severity.rb' - - 'app/models/issue.rb' - - 'app/models/issue/metrics.rb' - - 'app/models/issue_assignee.rb' - - 'app/models/issue_collection.rb' - - 'app/models/issue_email_participant.rb' - - 'app/models/issue_link.rb' - - 'app/models/issue_user_mention.rb' - - 'app/models/iteration.rb' - - 'app/models/jira_connect_installation.rb' - - 'app/models/jira_connect_subscription.rb' - - 'app/models/jira_import_state.rb' - - 'app/models/key.rb' - - 'app/models/label.rb' - - 'app/models/label_link.rb' - - 'app/models/label_note.rb' - - 'app/models/label_priority.rb' - - 'app/models/legacy_diff_discussion.rb' - - 'app/models/legacy_diff_note.rb' - - 'app/models/lfs_download_object.rb' - - 'app/models/lfs_file_lock.rb' - - 'app/models/lfs_object.rb' - - 'app/models/lfs_objects_project.rb' - - 'app/models/license_template.rb' - - 'app/models/list.rb' - - 'app/models/list_user_preference.rb' - - 'app/models/member.rb' - - 'app/models/members/group_member.rb' - - 'app/models/members/last_group_owner_assigner.rb' - - 'app/models/members/project_member.rb' - - 'app/models/members/member_task.rb' - - 'app/models/members_preloader.rb' - - 'app/models/merge_request.rb' - - 'app/models/merge_request_assignee.rb' - - 'app/models/merge_request_context_commit.rb' - - 'app/models/merge_request_context_commit_diff_file.rb' - - 'app/models/merge_request_diff.rb' - - 'app/models/merge_request_diff_commit.rb' - - 'app/models/merge_request_diff_file.rb' - - 'app/models/merge_request_reviewer.rb' - - 'app/models/merge_request_user_mention.rb' - - 'app/models/merge_requests_closing_issues.rb' - - 'app/models/milestone.rb' - - 'app/models/milestone_note.rb' - - 'app/models/milestone_release.rb' - - 'app/models/namespace.rb' - - 'app/models/namespace/traversal_hierarchy.rb' - - 'app/models/namespace_onboarding_action.rb' - - 'app/models/namespace_setting.rb' - - 'app/models/note.rb' - - 'app/models/note_diff_file.rb' - - 'app/models/notification_reason.rb' - - 'app/models/notification_recipient.rb' - - 'app/models/notification_setting.rb' - - 'app/models/oauth_access_grant.rb' - - 'app/models/oauth_access_token.rb' - - 'app/models/out_of_context_discussion.rb' - - 'app/models/onboarding_progress.rb' - - 'app/models/pages_deployment.rb' - - 'app/models/pages_domain.rb' - - 'app/models/pages_domain_acme_order.rb' - - 'app/models/personal_access_token.rb' - - 'app/models/personal_snippet.rb' - - 'app/models/plan.rb' - - 'app/models/plan_limits.rb' - - 'app/models/pool_repository.rb' - - 'app/models/product_analytics_event.rb' - - 'app/models/programming_language.rb' - - 'app/models/project.rb' - - 'app/models/project_authorization.rb' - - 'app/models/project_auto_devops.rb' - - 'app/models/project_ci_cd_setting.rb' - - 'app/models/project_custom_attribute.rb' - - 'app/models/project_daily_statistic.rb' - - 'app/models/project_deploy_token.rb' - - 'app/models/project_export_job.rb' - - 'app/models/project_feature.rb' - - 'app/models/project_feature_usage.rb' - - 'app/models/project_group_link.rb' - - 'app/models/project_import_data.rb' - - 'app/models/project_import_state.rb' - - 'app/models/project_label.rb' - - 'app/models/project_metrics_setting.rb' - - 'app/models/project_pages_metadatum.rb' - - 'app/models/project_repository.rb' - - 'app/models/project_repository_storage_move.rb' - - 'app/models/project_setting.rb' - - 'app/models/project_snippet.rb' - - 'app/models/project_statistics.rb' - - 'app/models/project_team.rb' - - 'app/models/project_tracing_setting.rb' - - 'app/models/project_wiki.rb' - - 'app/models/prometheus_alert.rb' - - 'app/models/prometheus_alert_event.rb' - - 'app/models/prometheus_metric.rb' - - 'app/models/protectable_dropdown.rb' - - 'app/models/protected_branch.rb' - - 'app/models/protected_tag.rb' - - 'app/models/push_event.rb' - - 'app/models/push_event_payload.rb' - - 'app/models/raw_usage_data.rb' - - 'app/models/readme_blob.rb' - - 'app/models/redirect_route.rb' - - 'app/models/ref_matcher.rb' - - 'app/models/release.rb' - - 'app/models/release_highlight.rb' - - 'app/models/remote_mirror.rb' - - 'app/models/repository.rb' - - 'app/models/repository_language.rb' - - 'app/models/resource_event.rb' - - 'app/models/resource_label_event.rb' - - 'app/models/resource_milestone_event.rb' - - 'app/models/resource_state_event.rb' - - 'app/models/resource_timebox_event.rb' - - 'app/models/review.rb' - - 'app/models/route.rb' - - 'app/models/self_managed_prometheus_alert_event.rb' - - 'app/models/sent_notification.rb' - - 'app/models/sentry_issue.rb' - - 'app/models/service_desk_setting.rb' - - 'app/models/service_list.rb' - - 'app/models/shard.rb' - - 'app/models/snippet.rb' - - 'app/models/snippet_blob.rb' - - 'app/models/snippet_input_action.rb' - - 'app/models/snippet_input_action_collection.rb' - - 'app/models/snippet_repository.rb' - - 'app/models/snippet_repository_storage_move.rb' - - 'app/models/snippet_statistics.rb' - - 'app/models/snippet_user_mention.rb' - - 'app/models/spam_log.rb' - - 'app/models/ssh_host_key.rb' - - 'app/models/state_note.rb' - - 'app/models/subscription.rb' - - 'app/models/suggestion.rb' - - 'app/models/synthetic_note.rb' - - 'app/models/system_note_metadata.rb' - - 'app/models/term_agreement.rb' - - 'app/models/timelog.rb' - - 'app/models/todo.rb' - - 'app/models/tree.rb' - - 'app/models/trending_project.rb' - - 'app/models/u2f_registration.rb' - - 'app/models/upload.rb' - - 'app/models/user.rb' - - 'app/models/user_agent_detail.rb' - - 'app/models/user_callout.rb' - - 'app/models/user_canonical_email.rb' - - 'app/models/user_custom_attribute.rb' - - 'app/models/user_detail.rb' - - 'app/models/user_highest_role.rb' - - 'app/models/user_interacted_project.rb' - - 'app/models/user_mention.rb' - - 'app/models/user_preference.rb' - - 'app/models/user_status.rb' - - 'app/models/user_synced_attributes_metadata.rb' - - 'app/models/users_star_project.rb' - - 'app/models/users_statistics.rb' - - 'app/models/vulnerability.rb' - - 'app/models/web_ide_terminal.rb' - - 'app/models/webauthn_registration.rb' - - 'app/models/wiki.rb' - - 'app/models/wiki_directory.rb' - - 'app/models/wiki_page.rb' - - 'app/models/wiki_page/meta.rb' - - 'app/models/wiki_page/slug.rb' - - 'app/models/x509_certificate.rb' - - 'app/models/x509_commit_signature.rb' - - 'app/models/x509_issuer.rb' - - 'app/models/zoom_meeting.rb' - - 'app/policies/application_setting/term_policy.rb' - - 'app/policies/award_emoji_policy.rb' - - 'app/policies/base_policy.rb' - - 'app/policies/blob_policy.rb' - - 'app/policies/board_policy.rb' - - 'app/policies/commit_policy.rb' - - 'app/policies/commit_status_policy.rb' - - 'app/policies/container_expiration_policy_policy.rb' - - 'app/policies/container_repository_policy.rb' - - 'app/policies/custom_emoji_policy.rb' - - 'app/policies/deploy_key_policy.rb' - - 'app/policies/deploy_keys_project_policy.rb' - - 'app/policies/deploy_token_policy.rb' - - 'app/policies/deployment_policy.rb' - - 'app/policies/draft_note_policy.rb' - - 'app/policies/environment_policy.rb' - - 'app/policies/external_issue_policy.rb' - - 'app/policies/global_policy.rb' - - 'app/policies/grafana_integration_policy.rb' - - 'app/policies/group_deploy_key_policy.rb' - - 'app/policies/group_deploy_keys_group_policy.rb' - - 'app/policies/group_label_policy.rb' - - 'app/policies/group_member_policy.rb' - - 'app/policies/group_policy.rb' - - 'app/policies/identity_provider_policy.rb' - - 'app/policies/instance_metadata_policy.rb' - - 'app/policies/integration_policy.rb' - - 'app/policies/issuable_policy.rb' - - 'app/policies/issue_policy.rb' - - 'app/policies/merge_request_policy.rb' - - 'app/policies/milestone_policy.rb' - - 'app/policies/namespace_policy.rb' - - 'app/policies/nil_policy.rb' - - 'app/policies/note_policy.rb' - - 'app/policies/personal_access_token_policy.rb' - - 'app/policies/personal_snippet_policy.rb' - - 'app/policies/project_ci_cd_setting_policy.rb' - - 'app/policies/project_label_policy.rb' - - 'app/policies/project_member_policy.rb' - - 'app/policies/project_policy.rb' - - 'app/policies/project_snippet_policy.rb' - - 'app/policies/project_statistics_policy.rb' - - 'app/policies/prometheus_alert_policy.rb' - - 'app/policies/protected_branch_policy.rb' - - 'app/policies/release_policy.rb' - - 'app/policies/repository_policy.rb' - - 'app/policies/resource_label_event_policy.rb' - - 'app/policies/suggestion_policy.rb' - - 'app/policies/timebox_policy.rb' - - 'app/policies/timelog_policy.rb' - - 'app/policies/todo_policy.rb' - - 'app/policies/user_policy.rb' - - 'app/policies/wiki_page_policy.rb' - - 'app/policies/wiki_policy.rb' - - 'app/presenters/award_emoji_presenter.rb' - - 'app/presenters/blob_presenter.rb' - - 'app/presenters/board_presenter.rb' - - 'app/presenters/clusterable_presenter.rb' - - 'app/presenters/commit_presenter.rb' - - 'app/presenters/commit_status_presenter.rb' - - 'app/presenters/environment_presenter.rb' - - 'app/presenters/event_presenter.rb' - - 'app/presenters/generic_commit_status_presenter.rb' - - 'app/presenters/group_clusterable_presenter.rb' - - 'app/presenters/group_member_presenter.rb' - - 'app/presenters/instance_clusterable_presenter.rb' - - 'app/presenters/invitation_presenter.rb' - - 'app/presenters/issue_presenter.rb' - - 'app/presenters/label_presenter.rb' - - 'app/presenters/member_presenter.rb' - - 'app/presenters/members_presenter.rb' - - 'app/presenters/merge_request_presenter.rb' - - 'app/presenters/milestone_presenter.rb' - - 'app/presenters/pages_domain_presenter.rb' - - 'app/presenters/project_clusterable_presenter.rb' - - 'app/presenters/project_hook_presenter.rb' - - 'app/presenters/project_member_presenter.rb' - - 'app/presenters/project_presenter.rb' - - 'app/presenters/prometheus_alert_presenter.rb' - - 'app/presenters/release_presenter.rb' - - 'app/presenters/search_service_presenter.rb' - - 'app/presenters/sentry_error_presenter.rb' - - 'app/presenters/service_hook_presenter.rb' - - 'app/presenters/snippet_blob_presenter.rb' - - 'app/presenters/snippet_presenter.rb' - - 'app/presenters/todo_presenter.rb' - - 'app/presenters/tree_entry_presenter.rb' - - 'app/presenters/user_presenter.rb' - - 'app/presenters/web_hook_log_presenter.rb' - - 'app/serializers/accessibility_error_entity.rb' - - 'app/serializers/accessibility_reports_comparer_entity.rb' - - 'app/serializers/accessibility_reports_comparer_serializer.rb' - - 'app/serializers/analytics_build_entity.rb' - - 'app/serializers/analytics_build_serializer.rb' - - 'app/serializers/analytics_commit_entity.rb' - - 'app/serializers/analytics_commit_serializer.rb' - - 'app/serializers/analytics_generic_serializer.rb' - - 'app/serializers/analytics_issue_entity.rb' - - 'app/serializers/analytics_issue_serializer.rb' - - 'app/serializers/analytics_merge_request_entity.rb' - - 'app/serializers/analytics_merge_request_serializer.rb' - - 'app/serializers/analytics_stage_entity.rb' - - 'app/serializers/analytics_stage_serializer.rb' - - 'app/serializers/analytics_summary_entity.rb' - - 'app/serializers/analytics_summary_serializer.rb' - - 'app/serializers/award_emoji_entity.rb' - - 'app/serializers/base_discussion_entity.rb' - - 'app/serializers/base_serializer.rb' - - 'app/serializers/blob_entity.rb' - - 'app/serializers/board_serializer.rb' - - 'app/serializers/board_simple_entity.rb' - - 'app/serializers/build_action_entity.rb' - - 'app/serializers/build_artifact_entity.rb' - - 'app/serializers/build_coverage_entity.rb' - - 'app/serializers/build_details_entity.rb' - - 'app/serializers/build_metadata_entity.rb' - - 'app/serializers/build_serializer.rb' - - 'app/serializers/build_trace_entity.rb' - - 'app/serializers/build_trace_serializer.rb' - - 'app/serializers/cluster_application_entity.rb' - - 'app/serializers/cluster_entity.rb' - - 'app/serializers/cluster_error_entity.rb' - - 'app/serializers/cluster_serializer.rb' - - 'app/serializers/codequality_degradation_entity.rb' - - 'app/serializers/codequality_reports_comparer_entity.rb' - - 'app/serializers/codequality_reports_comparer_serializer.rb' - - 'app/serializers/cohort_activity_month_entity.rb' - - 'app/serializers/cohort_entity.rb' - - 'app/serializers/cohorts_entity.rb' - - 'app/serializers/cohorts_serializer.rb' - - 'app/serializers/commit_entity.rb' - - 'app/serializers/container_repositories_serializer.rb' - - 'app/serializers/container_repository_entity.rb' - - 'app/serializers/container_tag_entity.rb' - - 'app/serializers/container_tags_serializer.rb' - - 'app/serializers/context_commits_diff_entity.rb' - - 'app/serializers/current_board_entity.rb' - - 'app/serializers/current_board_serializer.rb' - - 'app/serializers/current_user_entity.rb' - - 'app/serializers/deploy_key_entity.rb' - - 'app/serializers/deploy_key_serializer.rb' - - 'app/serializers/deploy_keys_project_entity.rb' - - 'app/serializers/deployment_cluster_entity.rb' - - 'app/serializers/deployment_entity.rb' - - 'app/serializers/deployment_serializer.rb' - - 'app/serializers/detailed_status_entity.rb' - - 'app/serializers/diff_file_base_entity.rb' - - 'app/serializers/diff_file_entity.rb' - - 'app/serializers/diff_file_metadata_entity.rb' - - 'app/serializers/diff_line_entity.rb' - - 'app/serializers/diff_line_parallel_entity.rb' - - 'app/serializers/diff_line_serializer.rb' - - 'app/serializers/diff_viewer_entity.rb' - - 'app/serializers/diffs_entity.rb' - - 'app/serializers/diffs_metadata_entity.rb' - - 'app/serializers/diffs_metadata_serializer.rb' - - 'app/serializers/diffs_serializer.rb' - - 'app/serializers/discussion_diff_file_entity.rb' - - 'app/serializers/discussion_entity.rb' - - 'app/serializers/discussion_serializer.rb' - - 'app/serializers/draft_note_entity.rb' - - 'app/serializers/draft_note_serializer.rb' - - 'app/serializers/entity_request.rb' - - 'app/serializers/environment_entity.rb' - - 'app/serializers/environment_serializer.rb' - - 'app/serializers/environment_status_entity.rb' - - 'app/serializers/environment_status_serializer.rb' - - 'app/serializers/feature_flag_entity.rb' - - 'app/serializers/feature_flag_scope_entity.rb' - - 'app/serializers/feature_flag_serializer.rb' - - 'app/serializers/feature_flag_summary_entity.rb' - - 'app/serializers/feature_flag_summary_serializer.rb' - - 'app/serializers/feature_flags_client_entity.rb' - - 'app/serializers/feature_flags_client_serializer.rb' - - 'app/serializers/fork_namespace_entity.rb' - - 'app/serializers/fork_namespace_serializer.rb' - - 'app/serializers/group_analytics_stage_entity.rb' - - 'app/serializers/group_analytics_stage_serializer.rb' - - 'app/serializers/group_basic_entity.rb' - - 'app/serializers/group_child_entity.rb' - - 'app/serializers/group_child_serializer.rb' - - 'app/serializers/group_deploy_key_entity.rb' - - 'app/serializers/group_deploy_key_serializer.rb' - - 'app/serializers/group_deploy_keys_group_entity.rb' - - 'app/serializers/group_entity.rb' - - 'app/serializers/group_group_link_entity.rb' - - 'app/serializers/group_group_link_serializer.rb' - - 'app/serializers/group_issuable_autocomplete_entity.rb' - - 'app/serializers/group_issuable_autocomplete_serializer.rb' - - 'app/serializers/group_serializer.rb' - - 'app/serializers/issuable_entity.rb' - - 'app/serializers/issuable_sidebar_basic_entity.rb' - - 'app/serializers/issuable_sidebar_extras_entity.rb' - - 'app/serializers/issuable_sidebar_todo_entity.rb' - - 'app/serializers/issue_board_entity.rb' - - 'app/serializers/issue_entity.rb' - - 'app/serializers/issue_serializer.rb' - - 'app/serializers/issue_sidebar_basic_entity.rb' - - 'app/serializers/issue_sidebar_extras_entity.rb' - - 'app/serializers/job_artifact_report_entity.rb' - - 'app/serializers/job_entity.rb' - - 'app/serializers/job_group_entity.rb' - - 'app/serializers/label_entity.rb' - - 'app/serializers/label_serializer.rb' - - 'app/serializers/lfs_file_lock_entity.rb' - - 'app/serializers/lfs_file_lock_serializer.rb' - - 'app/serializers/linked_issue_entity.rb' - - 'app/serializers/linked_project_issue_entity.rb' - - 'app/serializers/linked_project_issue_serializer.rb' - - 'app/serializers/member_entity.rb' - - 'app/serializers/member_serializer.rb' - - 'app/serializers/member_user_entity.rb' - - 'app/serializers/merge_request_basic_entity.rb' - - 'app/serializers/merge_request_create_entity.rb' - - 'app/serializers/merge_request_create_serializer.rb' - - 'app/serializers/merge_request_current_user_entity.rb' - - 'app/serializers/merge_request_diff_entity.rb' - - 'app/serializers/merge_request_for_pipeline_entity.rb' - - 'app/serializers/merge_request_metrics_entity.rb' - - 'app/serializers/merge_request_noteable_entity.rb' - - 'app/serializers/merge_request_poll_cached_widget_entity.rb' - - 'app/serializers/merge_request_poll_widget_entity.rb' - - 'app/serializers/merge_request_serializer.rb' - - 'app/serializers/merge_request_sidebar_basic_entity.rb' - - 'app/serializers/merge_request_sidebar_extras_entity.rb' - - 'app/serializers/merge_request_user_entity.rb' - - 'app/serializers/merge_request_widget_commit_entity.rb' - - 'app/serializers/merge_request_widget_entity.rb' - - 'app/serializers/move_to_project_entity.rb' - - 'app/serializers/move_to_project_serializer.rb' - - 'app/serializers/namespace_basic_entity.rb' - - 'app/serializers/namespace_serializer.rb' - - 'app/serializers/note_attachment_entity.rb' - - 'app/serializers/note_entity.rb' - - 'app/serializers/note_user_entity.rb' - - 'app/serializers/paginated_diff_entity.rb' - - 'app/serializers/paginated_diff_serializer.rb' - - 'app/serializers/pipeline_details_entity.rb' - - 'app/serializers/pipeline_entity.rb' - - 'app/serializers/pipeline_serializer.rb' - - 'app/serializers/project_entity.rb' - - 'app/serializers/project_import_entity.rb' - - 'app/serializers/project_mirror_entity.rb' - - 'app/serializers/project_mirror_serializer.rb' - - 'app/serializers/project_note_entity.rb' - - 'app/serializers/project_note_serializer.rb' - - 'app/serializers/project_serializer.rb' - - 'app/serializers/prometheus_alert_entity.rb' - - 'app/serializers/prometheus_alert_serializer.rb' - - 'app/serializers/prometheus_metric_entity.rb' - - 'app/serializers/prometheus_metric_serializer.rb' - - 'app/serializers/release_entity.rb' - - 'app/serializers/release_serializer.rb' - - 'app/serializers/remote_mirror_entity.rb' - - 'app/serializers/review_app_setup_entity.rb' - - 'app/serializers/review_app_setup_serializer.rb' - - 'app/serializers/rollout_status_entity.rb' - - 'app/serializers/route_entity.rb' - - 'app/serializers/route_serializer.rb' - - 'app/serializers/runner_entity.rb' - - 'app/serializers/service_event_entity.rb' - - 'app/serializers/service_event_serializer.rb' - - 'app/serializers/service_field_entity.rb' - - 'app/serializers/service_field_serializer.rb' - - 'app/serializers/stage_entity.rb' - - 'app/serializers/stage_serializer.rb' - - 'app/serializers/suggestion_entity.rb' - - 'app/serializers/suggestion_serializer.rb' - - 'app/serializers/test_case_entity.rb' - - 'app/serializers/test_report_entity.rb' - - 'app/serializers/test_report_serializer.rb' - - 'app/serializers/test_report_summary_entity.rb' - - 'app/serializers/test_report_summary_serializer.rb' - - 'app/serializers/test_reports_comparer_entity.rb' - - 'app/serializers/test_reports_comparer_serializer.rb' - - 'app/serializers/test_suite_comparer_entity.rb' - - 'app/serializers/test_suite_entity.rb' - - 'app/serializers/test_suite_serializer.rb' - - 'app/serializers/test_suite_summary_entity.rb' - - 'app/serializers/trigger_variable_entity.rb' - - 'app/serializers/triggered_pipeline_entity.rb' - - 'app/serializers/user_entity.rb' - - 'app/serializers/user_preference_entity.rb' - - 'app/serializers/user_serializer.rb' - - 'app/serializers/web_ide_terminal_entity.rb' - - 'app/serializers/web_ide_terminal_serializer.rb' - - 'app/services/access_token_validation_service.rb' - - 'app/services/audit_event_service.rb' - - 'app/services/auto_merge_service.rb' - - 'app/services/base_container_service.rb' - - 'app/services/base_count_service.rb' - - 'app/services/base_project_service.rb' - - 'app/services/base_renderer.rb' - - 'app/services/base_service.rb' - - 'app/services/bulk_create_integration_service.rb' - - 'app/services/bulk_import_service.rb' - - 'app/services/bulk_push_event_payload_service.rb' - - 'app/services/bulk_update_integration_service.rb' - - 'app/services/cohorts_service.rb' - - 'app/services/compare_service.rb' - - 'app/services/container_expiration_policy_service.rb' - - 'app/services/event_create_service.rb' - - 'app/services/gravatar_service.rb' - - 'app/services/import_export_clean_up_service.rb' - - 'app/services/issuable_base_service.rb' - - 'app/services/issue_rebalancing_service.rb' - - 'app/services/markdown_content_rewriter_service.rb' - - 'app/services/merge_request_metrics_service.rb' - - 'app/services/metrics_service.rb' - - 'app/services/note_summary.rb' - - 'app/services/notification_service.rb' - - 'app/services/onboarding_progress_service.rb' - - 'app/services/post_receive_service.rb' - - 'app/services/preview_markdown_service.rb' - - 'app/services/push_event_payload_service.rb' - - 'app/services/repository_archive_clean_up_service.rb' - - 'app/services/reset_project_cache_service.rb' - - 'app/services/search_service.rb' - - 'app/services/service_response.rb' - - 'app/services/service_ping/submit_service.rb' - - 'app/services/system_hooks_service.rb' - - 'app/services/task_list_toggle_service.rb' - - 'app/services/todo_service.rb' - - 'app/services/update_container_registry_info_service.rb' - - 'app/services/upload_service.rb' - - 'app/services/user_agent_detail_service.rb' - - 'app/services/user_project_access_changed_service.rb' - - 'app/services/verify_pages_domain_service.rb' - - 'app/services/web_hook_service.rb' - - 'app/services/x509_certificate_revoke_service.rb' - - 'app/uploaders/attachment_uploader.rb' - - 'app/uploaders/avatar_uploader.rb' - - 'app/uploaders/deleted_object_uploader.rb' - - 'app/uploaders/dependency_proxy/file_uploader.rb' - - 'app/uploaders/external_diff_uploader.rb' - - 'app/uploaders/favicon_uploader.rb' - - 'app/uploaders/file_mover.rb' - - 'app/uploaders/file_uploader.rb' - - 'app/uploaders/gitlab_uploader.rb' - - 'app/uploaders/import_export_uploader.rb' - - 'app/uploaders/job_artifact_uploader.rb' - - 'app/uploaders/lfs_object_uploader.rb' - - 'app/uploaders/namespace_file_uploader.rb' - - 'app/uploaders/personal_file_uploader.rb' - - 'app/validators/abstract_path_validator.rb' - - 'app/validators/addressable_url_validator.rb' - - 'app/validators/any_field_validator.rb' - - 'app/validators/array_members_validator.rb' - - 'app/validators/branch_filter_validator.rb' - - 'app/validators/certificate_fingerprint_validator.rb' - - 'app/validators/certificate_key_validator.rb' - - 'app/validators/certificate_validator.rb' - - 'app/validators/cluster_name_validator.rb' - - 'app/validators/color_validator.rb' - - 'app/validators/cron_freeze_period_timezone_validator.rb' - - 'app/validators/cron_timezone_validator.rb' - - 'app/validators/cron_validator.rb' - - 'app/validators/devise_email_validator.rb' - - 'app/validators/duration_validator.rb' - - 'app/validators/feature_flag_strategies_validator.rb' - - 'app/validators/feature_flag_user_xids_validator.rb' - - 'app/validators/future_date_validator.rb' - - 'app/validators/html_safety_validator.rb' - - 'app/validators/ip_address_validator.rb' - - 'app/validators/js_regex_validator.rb' - - 'app/validators/json_schema_validator.rb' - - 'app/validators/key_restriction_validator.rb' - - 'app/validators/line_code_validator.rb' - - 'app/validators/named_ecdsa_key_validator.rb' - - 'app/validators/namespace_path_validator.rb' - - 'app/validators/project_path_validator.rb' - - 'app/validators/public_url_validator.rb' - - 'app/validators/qualified_domain_array_validator.rb' - - 'app/validators/rsa_key_validator.rb' - - 'app/validators/same_project_association_validator.rb' - - 'app/validators/sha_validator.rb' - - 'app/validators/system_hook_url_validator.rb' - - 'app/validators/top_level_group_validator.rb' - - 'app/validators/untrusted_regexp_validator.rb' - - 'app/validators/nested_attributes_duplicates_validator.rb' - - 'app/validators/x509_certificate_credentials_validator.rb' - - 'app/workers/admin_email_worker.rb' - - 'app/workers/approve_blocked_pending_approval_users_worker.rb' - - 'app/workers/archive_trace_worker.rb' - - 'app/workers/authorized_keys_worker.rb' - - 'app/workers/authorized_projects_worker.rb' - - 'app/workers/auto_merge_process_worker.rb' - - 'app/workers/background_migration_worker.rb' - - 'app/workers/build_coverage_worker.rb' - - 'app/workers/build_finished_worker.rb' - - 'app/workers/build_hooks_worker.rb' - - 'app/workers/build_queue_worker.rb' - - 'app/workers/build_success_worker.rb' - - 'app/workers/build_trace_sections_worker.rb' - - 'app/workers/bulk_import_worker.rb' - - 'app/workers/chat_notification_worker.rb' - - 'app/workers/ci_platform_metrics_update_cron_worker.rb' - - 'app/workers/cleanup_container_repository_worker.rb' - - 'app/workers/cluster_configure_istio_worker.rb' - - 'app/workers/cluster_install_app_worker.rb' - - 'app/workers/cluster_patch_app_worker.rb' - - 'app/workers/cluster_provision_worker.rb' - - 'app/workers/cluster_update_app_worker.rb' - - 'app/workers/cluster_upgrade_app_worker.rb' - - 'app/workers/cluster_wait_for_app_installation_worker.rb' - - 'app/workers/cluster_wait_for_app_update_worker.rb' - - 'app/workers/cluster_wait_for_ingress_ip_address_worker.rb' - - 'app/workers/container_expiration_policy_worker.rb' - - 'app/workers/create_commit_signature_worker.rb' - - 'app/workers/create_note_diff_file_worker.rb' - - 'app/workers/create_pipeline_worker.rb' - - 'app/workers/delete_container_repository_worker.rb' - - 'app/workers/delete_diff_files_worker.rb' - - 'app/workers/delete_merged_branches_worker.rb' - - 'app/workers/delete_stored_files_worker.rb' - - 'app/workers/delete_user_worker.rb' - - 'app/workers/destroy_pages_deployments_worker.rb' - - 'app/workers/detect_repository_languages_worker.rb' - - 'app/workers/disallow_two_factor_for_group_worker.rb' - - 'app/workers/disallow_two_factor_for_subgroups_worker.rb' - - 'app/workers/email_receiver_worker.rb' - - '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_build_instance_artifacts_worker.rb' - - 'app/workers/expire_job_cache_worker.rb' - - 'app/workers/expire_pipeline_cache_worker.rb' - - 'app/workers/export_csv_worker.rb' - - 'app/workers/external_service_reactive_caching_worker.rb' - - 'app/workers/file_hook_worker.rb' - - 'app/workers/flush_counter_increments_worker.rb' - - 'app/workers/git_garbage_collect_worker.rb' - - 'app/workers/gitlab_performance_bar_stats_worker.rb' - - 'app/workers/gitlab_shell_worker.rb' - - 'app/workers/gitlab_service_ping_worker.rb' - - 'app/workers/gitlab_usage_ping_worker.rb' - - 'app/workers/group_destroy_worker.rb' - - 'app/workers/group_export_worker.rb' - - 'app/workers/group_import_worker.rb' - - 'app/workers/import_export_project_cleanup_worker.rb' - - 'app/workers/import_issues_csv_worker.rb' - - 'app/workers/invalid_gpg_signature_update_worker.rb' - - 'app/workers/irker_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' - - 'app/workers/merge_worker.rb' - - 'app/workers/migrate_external_diffs_worker.rb' - - 'app/workers/namespaceless_project_destroy_worker.rb' - - 'app/workers/new_issue_worker.rb' - - 'app/workers/new_merge_request_worker.rb' - - 'app/workers/new_note_worker.rb' - - 'app/workers/pages_domain_removal_cron_worker.rb' - - 'app/workers/pages_domain_ssl_renewal_cron_worker.rb' - - 'app/workers/pages_domain_ssl_renewal_worker.rb' - - 'app/workers/pages_domain_verification_cron_worker.rb' - - 'app/workers/pages_domain_verification_worker.rb' - - 'app/workers/pages_transfer_worker.rb' - - 'app/workers/pages_update_configuration_worker.rb' - - 'app/workers/pages_worker.rb' - - 'app/workers/partition_creation_worker.rb' - - 'app/workers/pipeline_hooks_worker.rb' - - 'app/workers/pipeline_metrics_worker.rb' - - 'app/workers/pipeline_notification_worker.rb' - - 'app/workers/pipeline_process_worker.rb' - - 'app/workers/pipeline_schedule_worker.rb' - - 'app/workers/pipeline_update_worker.rb' - - 'app/workers/post_receive.rb' - - 'app/workers/process_commit_worker.rb' - - 'app/workers/project_cache_worker.rb' - - 'app/workers/project_daily_statistics_worker.rb' - - 'app/workers/project_destroy_worker.rb' - - 'app/workers/project_export_worker.rb' - - 'app/workers/project_schedule_bulk_repository_shard_moves_worker.rb' - - 'app/workers/project_service_worker.rb' - - 'app/workers/project_update_repository_storage_worker.rb' - - 'app/workers/propagate_integration_group_worker.rb' - - 'app/workers/propagate_integration_inherit_descendant_worker.rb' - - 'app/workers/propagate_integration_inherit_worker.rb' - - 'app/workers/propagate_integration_project_worker.rb' - - 'app/workers/propagate_integration_worker.rb' - - 'app/workers/propagate_service_template_worker.rb' - - 'app/workers/prune_old_events_worker.rb' - - 'app/workers/prune_web_hook_logs_worker.rb' - - 'app/workers/purge_dependency_proxy_cache_worker.rb' - - 'app/workers/reactive_caching_worker.rb' - - 'app/workers/rebase_worker.rb' - - 'app/workers/remote_mirror_notification_worker.rb' - - 'app/workers/remove_expired_group_links_worker.rb' - - 'app/workers/remove_expired_members_worker.rb' - - 'app/workers/remove_unaccepted_member_invites_worker.rb' - - 'app/workers/remove_unreferenced_lfs_objects_worker.rb' - - 'app/workers/repository_archive_cache_worker.rb' - - '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/requests_profiles_worker.rb' - - 'app/workers/run_pipeline_schedule_worker.rb' - - 'app/workers/schedule_merge_request_cleanup_refs_worker.rb' - - 'app/workers/schedule_migrate_external_diffs_worker.rb' - - 'app/workers/self_monitoring_project_create_worker.rb' - - 'app/workers/self_monitoring_project_delete_worker.rb' - - 'app/workers/service_desk_email_receiver_worker.rb' - - 'app/workers/snippet_schedule_bulk_repository_shard_moves_worker.rb' - - 'app/workers/snippet_update_repository_storage_worker.rb' - - 'app/workers/stage_update_worker.rb' - - 'app/workers/stuck_ci_jobs_worker.rb' - - 'app/workers/stuck_export_jobs_worker.rb' - - 'app/workers/stuck_merge_jobs_worker.rb' - - 'app/workers/system_hook_push_worker.rb' - - 'app/workers/trending_projects_worker.rb' - - 'app/workers/update_container_registry_info_worker.rb' - - 'app/workers/update_external_pull_requests_worker.rb' - - 'app/workers/update_head_pipeline_for_merge_request_worker.rb' - - 'app/workers/update_highest_role_worker.rb' - - 'app/workers/update_merge_requests_worker.rb' - - 'app/workers/update_project_statistics_worker.rb' - - 'app/workers/upload_checksum_worker.rb' - - 'app/workers/wait_for_cluster_creation_worker.rb' - - 'app/workers/web_hook_worker.rb' - - 'app/workers/x509_certificate_revoke_worker.rb' - - 'app/workers/x509_issuer_crl_check_worker.rb' - - 'ee/app/controllers/countries_controller.rb' - - 'ee/app/controllers/country_states_controller.rb' - - 'ee/app/controllers/omniauth_kerberos_spnego_controller.rb' - - 'ee/app/controllers/operations_controller.rb' - - 'ee/app/controllers/sitemap_controller.rb' - - 'ee/app/controllers/smartcard_controller.rb' - - 'ee/app/controllers/subscriptions_controller.rb' - - 'ee/app/controllers/survey_responses_controller.rb' - - 'ee/app/controllers/trial_registrations_controller.rb' - - 'ee/app/controllers/trials_controller.rb' - - 'ee/app/controllers/unsubscribes_controller.rb' - - 'ee/app/controllers/usernames_controller.rb' - - 'ee/app/finders/audit_log_finder.rb' - - 'ee/app/finders/billed_users_finder.rb' - - 'ee/app/finders/custom_project_templates_finder.rb' - - 'ee/app/finders/dast_scanner_profiles_finder.rb' - - 'ee/app/finders/dast_site_profiles_finder.rb' - - 'ee/app/finders/dast_site_validations_finder.rb' - - 'ee/app/finders/epics_finder.rb' - - 'ee/app/finders/geo_node_finder.rb' - - 'ee/app/finders/gpg_keys_finder.rb' - - 'ee/app/finders/group_saml_identity_finder.rb' - - 'ee/app/finders/groups_with_templates_finder.rb' - - 'ee/app/finders/iterations_finder.rb' - - 'ee/app/finders/licenses_finder.rb' - - 'ee/app/finders/merge_requests_compliance_finder.rb' - - 'ee/app/finders/merge_trains_finder.rb' - - 'ee/app/finders/productivity_analytics_finder.rb' - - 'ee/app/finders/scim_finder.rb' - - 'ee/app/finders/software_license_policies_finder.rb' - - 'ee/app/mailers/ci_minutes_usage_mailer.rb' - - 'ee/app/mailers/credentials_inventory_mailer.rb' - - 'ee/app/mailers/license_mailer.rb' - - 'ee/app/mailers/previews/ci_minutes_usage_mailer_preview.rb' - - 'ee/app/mailers/previews/license_mailer_preview.rb' - - 'ee/app/models/allowed_email_domain.rb' - - 'ee/app/models/approval_merge_request_rule.rb' - - 'ee/app/models/approval_merge_request_rule_source.rb' - - 'ee/app/models/approval_project_rule.rb' - - 'ee/app/models/approval_project_rules_protected_branch.rb' - - 'ee/app/models/approval_state.rb' - - 'ee/app/models/approval_wrapped_any_approver_rule.rb' - - 'ee/app/models/approval_wrapped_code_owner_rule.rb' - - 'ee/app/models/approval_wrapped_rule.rb' - - 'ee/app/models/approver.rb' - - 'ee/app/models/approver_group.rb' - - 'ee/app/models/board_assignee.rb' - - 'ee/app/models/board_label.rb' - - 'ee/app/models/board_user_preference.rb' - - 'ee/app/models/burndown.rb' - - 'ee/app/models/dast_scanner_profile.rb' - - 'ee/app/models/dast_site.rb' - - 'ee/app/models/dast_site_profile.rb' - - 'ee/app/models/dast_site_token.rb' - - 'ee/app/models/dast_site_validation.rb' - - 'ee/app/models/elasticsearch_indexed_namespace.rb' - - 'ee/app/models/elasticsearch_indexed_project.rb' - - 'ee/app/models/epic_issue.rb' - - 'ee/app/models/epic_user_mention.rb' - - 'ee/app/models/feature_flag_issue.rb' - - 'ee/app/models/geo_node.rb' - - 'ee/app/models/geo_node_namespace_link.rb' - - 'ee/app/models/geo_node_status.rb' - - 'ee/app/models/gitlab_subscription.rb' - - 'ee/app/models/gitlab_subscription_history.rb' - - 'ee/app/models/group_deletion_schedule.rb' - - 'ee/app/models/group_merge_request_approval_setting.rb' - - 'ee/app/models/group_wiki.rb' - - 'ee/app/models/group_wiki_repository.rb' - - 'ee/app/models/historical_data.rb' - - 'ee/app/models/hooks/group_hook.rb' - - 'ee/app/models/index_status.rb' - - 'ee/app/models/insight.rb' - - 'ee/app/models/instance_security_dashboard.rb' - - 'ee/app/models/ip_restriction.rb' - - 'ee/app/models/issuable_metric_image.rb' - - 'ee/app/models/issuable_sla.rb' - - 'ee/app/models/issuables_analytics.rb' - - 'ee/app/models/iteration_note.rb' - - 'ee/app/models/ldap_group_link.rb' - - 'ee/app/models/ldap_key.rb' - - 'ee/app/models/license.rb' - - 'ee/app/models/merge_request_block.rb' - - 'ee/app/models/merge_request_diff_detail.rb' - - 'ee/app/models/merge_train.rb' - - 'ee/app/models/namespace_limit.rb' - - 'ee/app/models/namespace_statistics.rb' - - 'ee/app/models/path_lock.rb' - - 'ee/app/models/pg_replication_slot.rb' - - 'ee/app/models/productivity_analytics.rb' - - 'ee/app/models/project_alias.rb' - - 'ee/app/models/project_repository_state.rb' - - 'ee/app/models/project_security_setting.rb' - - 'ee/app/models/protected_environment.rb' - - 'ee/app/models/push_rule.rb' - - 'ee/app/models/resource_iteration_event.rb' - - 'ee/app/models/resource_weight_event.rb' - - 'ee/app/models/saml_group_link.rb' - - 'ee/app/models/saml_provider.rb' - - 'ee/app/models/scim_identity.rb' - - 'ee/app/models/scim_oauth_access_token.rb' - - 'ee/app/models/scoped_label_set.rb' - - 'ee/app/models/slack_integration.rb' - - 'ee/app/models/smartcard_identity.rb' - - 'ee/app/models/software_license.rb' - - 'ee/app/models/software_license_policy.rb' - - 'ee/app/models/storage_shard.rb' - - 'ee/app/models/user_permission_export_upload.rb' - - 'ee/app/models/users_ops_dashboard_project.rb' - - 'ee/app/models/users_security_dashboard_project.rb' - - 'ee/app/models/vulnerability_user_mention.rb' - - 'ee/app/models/weight_note.rb' - - 'ee/app/policies/approval_merge_request_rule_policy.rb' - - 'ee/app/policies/approval_project_rule_policy.rb' - - 'ee/app/policies/approval_state_policy.rb' - - 'ee/app/policies/dast_scanner_profile_policy.rb' - - 'ee/app/policies/dast_site_profile_policy.rb' - - 'ee/app/policies/dast_site_validation_policy.rb' - - 'ee/app/policies/epic_policy.rb' - - 'ee/app/policies/geo_node_policy.rb' - - 'ee/app/policies/instance_security_dashboard_policy.rb' - - 'ee/app/policies/issuable_metric_image_policy.rb' - - 'ee/app/policies/iteration_policy.rb' - - 'ee/app/policies/push_rule_policy.rb' - - 'ee/app/policies/saml_provider_policy.rb' - - 'ee/app/policies/vulnerability_policy.rb' - - 'ee/app/presenters/approval_rule_presenter.rb' - - 'ee/app/presenters/audit_event_presenter.rb' - - 'ee/app/presenters/epic_issue_presenter.rb' - - 'ee/app/presenters/epic_presenter.rb' - - 'ee/app/presenters/iteration_presenter.rb' - - 'ee/app/presenters/merge_request_approver_presenter.rb' - - 'ee/app/presenters/subscription_presenter.rb' - - 'ee/app/presenters/vulnerability_presenter.rb' - - 'ee/app/serializers/audit_event_entity.rb' - - 'ee/app/serializers/audit_event_serializer.rb' - - 'ee/app/serializers/blocking_merge_request_entity.rb' - - 'ee/app/serializers/board_assignee_entity.rb' - - 'ee/app/serializers/board_label_entity.rb' - - 'ee/app/serializers/board_milestone_entity.rb' - - 'ee/app/serializers/dashboard_environment_entity.rb' - - 'ee/app/serializers/dashboard_environments_project_entity.rb' - - 'ee/app/serializers/dashboard_environments_serializer.rb' - - 'ee/app/serializers/dashboard_operations_project_entity.rb' - - 'ee/app/serializers/dashboard_operations_serializer.rb' - - 'ee/app/serializers/dependency_entity.rb' - - 'ee/app/serializers/dependency_list_entity.rb' - - 'ee/app/serializers/dependency_list_serializer.rb' - - 'ee/app/serializers/epic_base_entity.rb' - - 'ee/app/serializers/epic_entity.rb' - - 'ee/app/serializers/epic_note_entity.rb' - - 'ee/app/serializers/epic_note_serializer.rb' - - 'ee/app/serializers/epic_serializer.rb' - - 'ee/app/serializers/file_lock_entity.rb' - - 'ee/app/serializers/geo_design_registry_entity.rb' - - 'ee/app/serializers/geo_design_registry_serializer.rb' - - 'ee/app/serializers/geo_node_serializer.rb' - - 'ee/app/serializers/geo_node_status_serializer.rb' - - 'ee/app/serializers/geo_project_registry_entity.rb' - - 'ee/app/serializers/geo_project_registry_serializer.rb' - - '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_entity.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_comparer_entity.rb' - - 'ee/app/serializers/license_scanning_reports_comparer_serializer.rb' - - 'ee/app/serializers/license_scanning_reports_serializer.rb' - - 'ee/app/serializers/licenses_list_entity.rb' - - 'ee/app/serializers/licenses_list_serializer.rb' - - 'ee/app/serializers/linked_epic_entity.rb' - - 'ee/app/serializers/linked_epic_issue_entity.rb' - - 'ee/app/serializers/linked_epic_issue_serializer.rb' - - 'ee/app/serializers/linked_epic_serializer.rb' - - 'ee/app/serializers/linked_feature_flag_issue_entity.rb' - - 'ee/app/serializers/linked_feature_flag_issue_serializer.rb' - - 'ee/app/serializers/managed_license_entity.rb' - - 'ee/app/serializers/managed_license_serializer.rb' - - 'ee/app/serializers/merge_request_compliance_entity.rb' - - 'ee/app/serializers/metrics_report_metric_entity.rb' - - 'ee/app/serializers/metrics_reports_comparer_entity.rb' - - 'ee/app/serializers/metrics_reports_comparer_serializer.rb' - - 'ee/app/serializers/milestone_serializer.rb' - - 'ee/app/serializers/namespace_entity.rb' - - 'ee/app/serializers/productivity_analytics_merge_request_entity.rb' - - 'ee/app/serializers/report_list_entity.rb' - - 'ee/app/serializers/scim_oauth_access_token_entity.rb' - - 'ee/app/serializers/storage_shard_entity.rb' - - 'ee/app/serializers/storage_shard_serializer.rb' - - 'ee/app/serializers/user_analytics_entity.rb' - - 'ee/app/serializers/vulnerability_entity.rb' - - 'ee/app/serializers/vulnerability_note_entity.rb' - - 'ee/app/serializers/vulnerability_note_serializer.rb' - - 'ee/app/serializers/vulnerability_serializer.rb' - - 'ee/app/services/clear_namespace_shared_runners_minutes_service.rb' - - 'ee/app/services/ldap_group_reset_service.rb' - - 'ee/app/services/start_pull_mirroring_service.rb' - - 'ee/app/services/timebox_report_service.rb' - - 'ee/app/uploaders/issuable_metric_image_uploader.rb' - - 'ee/app/validators/host_validator.rb' - - 'ee/app/validators/ldap_filter_validator.rb' - - 'ee/app/workers/active_user_count_threshold_worker.rb' - - 'ee/app/workers/adjourned_group_deletion_worker.rb' - - 'ee/app/workers/adjourned_project_deletion_worker.rb' - - 'ee/app/workers/adjourned_projects_deletion_cron_worker.rb' - - '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' - - 'ee/app/workers/elastic_delete_project_worker.rb' - - 'ee/app/workers/elastic_full_index_worker.rb' - - 'ee/app/workers/elastic_index_bulk_cron_worker.rb' - - 'ee/app/workers/elastic_index_initial_bulk_cron_worker.rb' - - 'ee/app/workers/elastic_indexing_control_worker.rb' - - 'ee/app/workers/elastic_namespace_indexer_worker.rb' - - 'ee/app/workers/elastic_namespace_rollout_worker.rb' - - 'ee/app/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker.rb' - - 'ee/app/workers/geo_repository_destroy_worker.rb' - - 'ee/app/workers/group_saml_group_sync_worker.rb' - - 'ee/app/workers/historical_data_worker.rb' - - 'ee/app/workers/import_software_licenses_worker.rb' - - 'ee/app/workers/ingress_modsecurity_counter_metrics_worker.rb' - - 'ee/app/workers/iterations_update_status_worker.rb' - - 'ee/app/workers/ldap_all_groups_sync_worker.rb' - - 'ee/app/workers/ldap_group_sync_worker.rb' - - 'ee/app/workers/ldap_sync_worker.rb' - - 'ee/app/workers/merge_request_reset_approvals_worker.rb' - - 'ee/app/workers/network_policy_metrics_worker.rb' - - 'ee/app/workers/new_epic_worker.rb' - - 'ee/app/workers/project_import_schedule_worker.rb' - - 'ee/app/workers/project_template_export_worker.rb' - - 'ee/app/workers/pseudonymizer_worker.rb' - - 'ee/app/workers/refresh_license_compliance_checks_worker.rb' - - 'ee/app/workers/repository_push_audit_event_worker.rb' - - 'ee/app/workers/repository_update_mirror_worker.rb' - - 'ee/app/workers/scan_security_report_secrets_worker.rb' - - 'ee/app/workers/set_user_status_based_on_user_cap_setting_worker.rb' - - 'ee/app/workers/store_security_reports_worker.rb' - - 'ee/app/workers/store_security_scans_worker.rb' - - 'ee/app/workers/sync_seat_link_request_worker.rb' - - 'ee/app/workers/sync_seat_link_worker.rb' - - 'ee/app/workers/sync_security_reports_to_report_approval_rules_worker.rb' - - 'ee/app/workers/update_all_mirrors_worker.rb' - - 'ee/app/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker.rb' - - 'ee/lib/gitlab/path_locks_finder.rb' - - 'ee/spec/support/elastic_query_name_inspector.rb' - - 'ee/spec/support/ssh_keygen.rb' - - 'ee/spec/support/test_license.rb' - - 'lib/carrier_wave_string_file.rb' - - 'lib/csv_builder.rb' - - 'lib/event_filter.rb' - - 'lib/feature.rb' - - 'lib/feature/definition.rb' - - 'lib/feature/gitaly.rb' - - 'lib/feature/logger.rb' - - 'lib/feature/shared.rb' - - 'lib/file_size_validator.rb' - - 'lib/forever.rb' - - 'lib/gitlab_danger.rb' - - 'lib/learn_gitlab.rb' - - 'lib/tasks/gitlab/graphql.rake' - - 'lib/tasks/gitlab/seed/group_seed.rake' - - 'lib/tasks/import.rake' - - 'lib/tasks/tokens.rake' - - 'lib/uploaded_file.rb' - - 'lib/version_check.rb' - - 'qa/spec/specs/helpers/quarantine_spec.rb' - - 'spec/controllers/concerns/page_limiter_spec.rb' - - 'spec/lib/bitbucket/collection_spec.rb' - - 'spec/lib/gitlab/database/bulk_update_spec.rb' - - 'spec/lib/gitlab/multi_destination_logger_spec.rb' - - 'spec/lib/marginalia_spec.rb' - - 'spec/mailers/notify_spec.rb' - - 'spec/models/concerns/batch_destroy_dependent_associations_spec.rb' - - 'spec/models/concerns/bulk_insertable_associations_spec.rb' - - 'spec/models/concerns/triggerable_hooks_spec.rb' - - 'spec/support/helpers/bare_repo_operations.rb' - - 'spec/support/helpers/ci_artifact_metadata_generator.rb' - - 'spec/support/helpers/fake_migration_classes.rb' - - 'spec/support/helpers/fake_u2f_device.rb' - - 'spec/support/helpers/fake_webauthn_device.rb' - - 'spec/support/helpers/markdown_feature.rb' - - 'spec/support/helpers/redis_without_keys.rb' - - 'spec/support/helpers/require_migration.rb' - - 'spec/support/inspect_squelch.rb' - - 'spec/support/models/merge_request_without_merge_request_diff.rb' - - 'spec/support/renameable_upload.rb' - - 'spec/support/sidekiq_middleware.rb' - - 'spec/tasks/gitlab/task_helpers_spec.rb' - - 'spec/uploaders/object_storage_spec.rb' - -# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/207950 -Cop/UserAdmin: - Exclude: - - 'app/controllers/admin/impersonations_controller.rb' - - 'app/controllers/concerns/spammable_actions.rb' - - 'app/controllers/sessions_controller.rb' - - 'app/finders/autocomplete/routes_finder.rb' - - 'app/finders/ci/jobs_finder.rb' - - 'app/finders/ci/runners_finder.rb' - - 'app/finders/personal_access_tokens_finder.rb' - - 'app/finders/users_finder.rb' - - 'app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb' - - 'app/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver.rb' - - 'app/helpers/application_helper.rb' - - 'app/helpers/import_helper.rb' - - 'app/helpers/nav_helper.rb' - - 'app/helpers/projects_helper.rb' - - 'app/helpers/search_helper.rb' - - 'app/helpers/user_callouts_helper.rb' - - 'app/helpers/users_helper.rb' - - 'app/helpers/visibility_level_helper.rb' - - 'app/models/concerns/protected_ref_access.rb' - - 'app/models/concerns/spammable.rb' - - 'app/models/issue_collection.rb' - - 'app/models/merge_requests_closing_issues.rb' - - 'app/models/protected_branch.rb' - - 'app/models/user.rb' - - 'app/policies/note_policy.rb' - - 'app/serializers/deploy_key_entity.rb' - - 'app/services/auth/container_registry_authentication_service.rb' - - 'app/services/emails/create_service.rb' - - 'app/services/projects/enable_deploy_key_service.rb' - - 'app/services/projects/fork_service.rb' - - 'app/services/users/build_service.rb' - - 'ee/app/controllers/ee/projects_controller.rb' - - 'ee/app/graphql/mutations/admin/analytics/devops_adoption/segments/mixins.rb' - - 'ee/app/graphql/resolvers/admin/analytics/devops_adoption/segments_resolver.rb' - - 'ee/app/helpers/ee/dashboard_helper.rb' - - 'ee/app/helpers/ee/import_helper.rb' - - 'ee/app/helpers/ee/subscribable_banner_helper.rb' - - 'ee/app/helpers/ee/user_callouts_helper.rb' - - 'ee/app/helpers/license_monitoring_helper.rb' - - 'ee/app/helpers/push_rules_helper.rb' - - 'ee/app/models/concerns/ee/protected_ref_access.rb' - - 'ee/app/models/ee/user.rb' - - 'ee/app/models/protected_environment/deploy_access_level.rb' - - 'ee/app/policies/ee/group_policy.rb' - - 'ee/app/policies/ee/project_policy.rb' - - 'ee/app/services/ee/groups/create_service.rb' - - 'ee/app/services/ee/groups/update_service.rb' - - 'ee/app/services/ee/projects/update_service.rb' - - 'ee/lib/ee/api/helpers.rb' - - 'ee/lib/ee/gitlab/git_access.rb' - - 'lib/api/award_emoji.rb' - - 'lib/api/ci/runners.rb' - - 'lib/api/entities/ci/runner_details.rb' - - 'lib/api/entities/ci/user_safe.rb' - - 'lib/api/groups.rb' - - 'lib/api/helpers.rb' - - 'lib/api/personal_access_tokens.rb' - - 'lib/api/users.rb' - - 'lib/api/v3/github.rb' - - 'lib/constraints/admin_constrainer.rb' - - 'lib/gitlab/auth.rb' - - 'lib/gitlab/background_migration/user_mentions/models/group.rb' - - 'lib/gitlab/ci/runner_instructions.rb' - - 'lib/gitlab/import_export/members_mapper.rb' - - 'lib/gitlab/performance_bar.rb' - - 'lib/gitlab/visibility_level.rb' - - 'qa/qa/runtime/api/client.rb' - -# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/324629 -Gitlab/DelegatePredicateMethods: - Exclude: - - 'app/models/clusters/cluster.rb' - - 'app/models/clusters/platforms/kubernetes.rb' - - 'app/models/concerns/ci/metadatable.rb' - - 'app/models/concerns/diff_positionable_note.rb' - - 'app/models/concerns/integrations/base_data_fields.rb' - - 'app/models/concerns/resolvable_discussion.rb' - - 'app/models/project.rb' - - 'ee/app/models/concerns/ee/ci/metadatable.rb' - - 'ee/app/models/ee/group.rb' - - 'ee/app/models/ee/namespace.rb' - - 'ee/app/models/license.rb' - - 'lib/gitlab/ci/trace/stream.rb' - -# Offense count: 298 -Gitlab/FeatureAvailableUsage: - Exclude: - - 'app/controllers/projects/application_controller.rb' - - 'app/graphql/types/project_type.rb' - - 'app/helpers/events_helper.rb' - - 'app/helpers/labels_helper.rb' - - 'app/policies/project_policy.rb' - - 'app/views/shared/boards/_switcher.html.haml' - - 'ee/app/controllers/concerns/description_diff_actions.rb' - - 'ee/app/controllers/concerns/ee/boards_actions.rb' - - 'ee/app/controllers/concerns/security_dashboards_permissions.rb' - - 'ee/app/controllers/ee/boards/lists_controller.rb' - - 'ee/app/controllers/ee/projects/autocomplete_sources_controller.rb' - - 'ee/app/controllers/ee/projects/issues_controller.rb' - - 'ee/app/controllers/ee/projects/security/configuration_controller.rb' - - 'ee/app/controllers/ee/projects/settings/ci_cd_controller.rb' - - 'ee/app/controllers/ee/projects/settings/operations_controller.rb' - - 'ee/app/controllers/ee/projects/settings/repository_controller.rb' - - 'ee/app/controllers/projects/audit_events_controller.rb' - - 'ee/app/controllers/projects/cluster_agents_controller.rb' - - 'ee/app/controllers/projects/iterations/inherited_controller.rb' - - 'ee/app/controllers/projects/iterations_controller.rb' - - 'ee/app/controllers/projects/path_locks_controller.rb' - - 'ee/app/controllers/projects/subscriptions_controller.rb' - - 'ee/app/finders/autocomplete/vulnerabilities_autocomplete_finder.rb' - - 'ee/app/finders/clusters/agents_finder.rb' - - 'ee/app/finders/ee/alert_management/alerts_finder.rb' - - 'ee/app/finders/ee/alert_management/http_integrations_finder.rb' - - 'ee/app/graphql/ee/types/group_type.rb' - - 'ee/app/graphql/mutations/dast/profiles/create.rb' - - 'ee/app/graphql/mutations/dast/profiles/run.rb' - - 'ee/app/graphql/mutations/dast/profiles/update.rb' - - 'ee/app/graphql/mutations/instance_security_dashboard/remove_project.rb' - - 'ee/app/graphql/resolvers/clusters/agent_tokens_resolver.rb' - - 'ee/app/helpers/ee/application_helper.rb' - - 'ee/app/helpers/ee/boards_helper.rb' - - 'ee/app/helpers/ee/clusters_helper.rb' - - 'ee/app/helpers/ee/dashboard_helper.rb' - - 'ee/app/helpers/ee/form_helper.rb' - - 'ee/app/helpers/ee/graph_helper.rb' - - 'ee/app/helpers/ee/issues_helper.rb' - - 'ee/app/helpers/ee/lock_helper.rb' - - 'ee/app/helpers/ee/operations_helper.rb' - - 'ee/app/helpers/ee/projects/incidents_helper.rb' - - 'ee/app/helpers/ee/projects_helper.rb' - - 'ee/app/helpers/ee/releases_helper.rb' - - 'ee/app/helpers/ee/search_helper.rb' - - 'ee/app/helpers/ee/tree_helper.rb' - - 'ee/app/models/approval_state.rb' - - 'ee/app/models/concerns/approvable.rb' - - 'ee/app/models/concerns/ee/project_security_scanners_information.rb' - - 'ee/app/models/concerns/ee/protected_ref_access.rb' - - 'ee/app/models/concerns/has_timelogs_report.rb' - - 'ee/app/models/concerns/insights_feature.rb' - - 'ee/app/models/ee/board.rb' - - 'ee/app/models/ee/ci/build.rb' - - 'ee/app/models/ee/ci/build_dependencies.rb' - - 'ee/app/models/ee/ci/pipeline.rb' - - 'ee/app/models/ee/group.rb' - - 'ee/app/models/ee/group_member.rb' - - 'ee/app/models/ee/issue.rb' - - 'ee/app/models/ee/list.rb' - - 'ee/app/models/ee/merge_request.rb' - - 'ee/app/models/ee/milestone_release.rb' - - 'ee/app/models/ee/namespace.rb' - - 'ee/app/models/ee/namespace_setting.rb' - - 'ee/app/models/ee/project.rb' - - 'ee/app/models/ee/project_ci_cd_setting.rb' - - 'ee/app/models/namespace_statistics.rb' - - 'ee/app/models/project_security_setting.rb' - - 'ee/app/policies/compliance_management/framework_policy.rb' - - 'ee/app/policies/ee/group_policy.rb' - - 'ee/app/policies/ee/namespace_policy.rb' - - 'ee/app/policies/ee/project_policy.rb' - - 'ee/app/policies/ee/protected_branch_policy.rb' - - 'ee/app/presenters/ee/label_presenter.rb' - - 'ee/app/presenters/merge_request_approver_presenter.rb' - - 'ee/app/serializers/dashboard_operations_project_entity.rb' - - 'ee/app/serializers/ee/environment_entity.rb' - - 'ee/app/serializers/ee/evidences/release_entity.rb' - - 'ee/app/serializers/ee/note_entity.rb' - - 'ee/app/services/boards/epic_boards/update_service.rb' - - 'ee/app/services/ci/audit_variable_change_service.rb' - - 'ee/app/services/clusters/agent_tokens/create_service.rb' - - 'ee/app/services/clusters/agents/create_service.rb' - - 'ee/app/services/dashboard/projects/create_service.rb' - - 'ee/app/services/dashboard/projects/list_service.rb' - - 'ee/app/services/dast/profiles/create_service.rb' - - 'ee/app/services/dast/profiles/update_service.rb' - - 'ee/app/services/dast_on_demand_scans/create_service.rb' - - 'ee/app/services/dast_site_tokens/create_service.rb' - - 'ee/app/services/dast_site_validations/create_service.rb' - - 'ee/app/services/dast_site_validations/revoke_service.rb' - - 'ee/app/services/dast_site_validations/validate_service.rb' - - 'ee/app/services/ee/alert_management/http_integrations/create_service.rb' - - 'ee/app/services/ee/audit_event_service.rb' - - 'ee/app/services/ee/boards/issues/list_service.rb' - - 'ee/app/services/ee/boards/lists/create_service.rb' - - 'ee/app/services/ee/boards/update_service.rb' - - 'ee/app/services/ee/ide/schemas_config_service.rb' - - 'ee/app/services/ee/issuable_base_service.rb' - - 'ee/app/services/ee/issue_links/create_service.rb' - - 'ee/app/services/ee/issues/build_service.rb' - - 'ee/app/services/ee/lfs/lock_file_service.rb' - - 'ee/app/services/ee/lfs/unlock_file_service.rb' - - 'ee/app/services/ee/merge_requests/approval_service.rb' - - 'ee/app/services/ee/merge_requests/build_service.rb' - - 'ee/app/services/ee/merge_requests/merge_base_service.rb' - - 'ee/app/services/ee/merge_requests/refresh_service.rb' - - 'ee/app/services/ee/merge_requests/update_service.rb' - - 'ee/app/services/ee/projects/create_service.rb' - - 'ee/app/services/ee/protected_branches/create_service.rb' - - 'ee/app/services/ee/releases/create_evidence_service.rb' - - 'ee/app/services/iterations/create_service.rb' - - 'ee/app/services/iterations/update_service.rb' - - 'ee/app/services/merge_requests/sync_report_approver_approval_rules.rb' - - 'ee/app/services/merge_requests/update_blocks_service.rb' - - 'ee/app/services/projects/mark_for_deletion_service.rb' - - 'ee/app/services/quality_management/test_cases/create_service.rb' - - 'ee/app/services/requirements_management/process_test_reports_service.rb' - - 'ee/app/services/security/store_scans_service.rb' - - 'ee/app/views/layouts/nav/_test_cases_link.html.haml' - - 'ee/app/views/layouts/nav/sidebar/_project_iterations_link.html.haml' - - 'ee/app/views/projects/_merge_request_approvals_settings.html.haml' - - 'ee/app/views/projects/_merge_request_settings.html.haml' - - 'ee/app/views/projects/_merge_request_settings_description_text.html.haml' - - 'ee/app/views/projects/audit_events/index.html.haml' - - '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' - - 'ee/app/views/projects/protected_branches/ee/_code_owner_approval_table_head.html.haml' - - 'ee/app/views/projects/push_rules/_index.html.haml' - - 'ee/app/views/projects/settings/_default_issue_template.html.haml' - - 'ee/app/views/projects/settings/_marked_for_removal.html.haml' - - 'ee/app/views/projects/settings/_restore.html.haml' - - 'ee/app/views/projects/settings/ci_cd/_auto_rollback.html.haml' - - 'ee/app/views/projects/settings/ci_cd/_pipeline_subscriptions.html.haml' - - 'ee/app/views/projects/settings/operations/_status_page.html.haml' - - 'ee/app/views/projects/settings/repository/_protected_branches.html.haml' - - 'ee/app/views/projects/sidebar/_repository_locked_files.html.haml' - - 'ee/app/views/shared/issuable/_group_bulk_update_sidebar.html.haml' - - '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' - - 'ee/lib/api/external_status_checks.rb' - - 'ee/lib/ee/api/entities/approval_state.rb' - - 'ee/lib/ee/api/entities/board.rb' - - 'ee/lib/ee/api/entities/issue.rb' - - 'ee/lib/ee/api/entities/project.rb' - - 'ee/lib/ee/api/helpers.rb' - - 'ee/lib/ee/api/internal/kubernetes.rb' - - 'ee/lib/ee/api/job_artifacts.rb' - - 'ee/lib/ee/api/projects.rb' - - 'ee/lib/ee/gitlab/alert_management/payload/generic.rb' - - 'ee/lib/ee/gitlab/checks/diff_check.rb' - - 'ee/lib/ee/gitlab/gon_helper.rb' - - 'ee/lib/ee/gitlab/tree_summary.rb' - - 'ee/lib/gitlab/alert_management.rb' - - 'ee/lib/gitlab/ci/pipeline/chain/config/content/compliance.rb' - - 'ee/lib/gitlab/code_owners.rb' - - 'ee/lib/gitlab/incident_management.rb' - - 'ee/lib/gitlab/path_locks_finder.rb' - - 'ee/lib/incident_management/incident_sla.rb' - - 'ee/spec/models/instance_security_dashboard_spec.rb' - - 'ee/spec/models/license_spec.rb' - - 'ee/spec/models/project_spec.rb' - - 'lib/api/helpers/related_resources_helpers.rb' - - 'spec/models/concerns/featurable_spec.rb' - -# WIP see: https://gitlab.com/gitlab-org/gitlab/-/issues/335808 -Database/MultipleDatabases: - Exclude: - - 'ee/lib/ee/gitlab/database.rb' - - 'ee/lib/gitlab/geo/database_tasks.rb' - - 'ee/lib/gitlab/geo/geo_tasks.rb' - - 'ee/lib/gitlab/geo/health_check.rb' - - 'ee/lib/gitlab/geo/log_cursor/daemon.rb' - - 'ee/lib/pseudonymizer/dumper.rb' - - 'ee/lib/pseudonymizer/pager.rb' - - 'ee/lib/system_check/geo/geo_database_configured_check.rb' - - 'ee/spec/lib/pseudonymizer/dumper_spec.rb' - - 'ee/spec/models/pg_replication_slot_spec.rb' - - 'ee/spec/services/ee/merge_requests/update_service_spec.rb' - - 'lib/backup/database.rb' - - 'lib/backup/manager.rb' - - 'lib/gitlab/current_settings.rb' - - 'lib/gitlab/database/load_balancing/load_balancer.rb' - - 'lib/gitlab/database/load_balancing.rb' - - 'lib/gitlab/database/load_balancing/sticking.rb' - - 'lib/gitlab/database/migrations/observers/migration_observer.rb' - - 'lib/gitlab/database/migrations/observers/query_log.rb' - - 'lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb' - - 'lib/gitlab/database.rb' - - 'lib/gitlab/database/schema_cache_with_renamed_table.rb' - - 'lib/gitlab/database/with_lock_retries.rb' - - 'lib/gitlab/gitlab_import/importer.rb' - - 'lib/gitlab/health_checks/db_check.rb' - - 'lib/gitlab/import_export/base/relation_factory.rb' - - 'lib/gitlab/import_export/group/relation_tree_restorer.rb' - - 'lib/gitlab/legacy_github_import/importer.rb' - - 'lib/gitlab/metrics/samplers/database_sampler.rb' - - 'lib/gitlab/seeder.rb' - - 'lib/gitlab/sherlock/query.rb' - - 'lib/system_check/orphans/repository_check.rb' - - 'spec/db/schema_spec.rb' - - 'spec/initializers/database_config_spec.rb' - - 'spec/lib/backup/manager_spec.rb' - - 'spec/lib/gitlab/current_settings_spec.rb' - - 'spec/lib/gitlab/database_spec.rb' - - 'spec/lib/gitlab/metrics/subscribers/active_record_spec.rb' - - 'spec/lib/gitlab/profiler_spec.rb' - - 'spec/lib/gitlab/usage_data_metrics_spec.rb' - - 'spec/lib/gitlab/usage_data_queries_spec.rb' - - 'spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb' - - 'spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb' - - 'spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb' - - 'spec/lib/gitlab/utils/usage_data_spec.rb' - - 'spec/models/project_feature_usage_spec.rb' - - 'spec/models/users_statistics_spec.rb' - - 'spec/services/users/activity_service_spec.rb' - - 'spec/support/caching.rb' - - 'spec/support/gitlab/usage/metrics_instrumentation_shared_examples.rb' - - 'spec/support/helpers/database_connection_helpers.rb' - - 'spec/support/helpers/database/database_helpers.rb' - - 'spec/support/helpers/database/table_schema_helpers.rb' - - 'spec/support/helpers/migrations_helpers.rb' - - 'spec/support/helpers/query_recorder.rb' - - 'spec/support/helpers/usage_data_helpers.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - - 'spec/tasks/gitlab/db_rake_spec.rb' - -# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/339787 -Performance/ActiveRecordSubtransactionMethods: - Exclude: - - 'app/controllers/clusters/clusters_controller.rb' - - 'app/controllers/repositories/lfs_storage_controller.rb' - - 'app/controllers/search_controller.rb' - - 'app/models/application_record.rb' - - 'app/models/ci/ref.rb' - - 'app/models/container_repository.rb' - - 'app/models/design_management/design_collection.rb' - - 'app/models/error_tracking/error.rb' - - 'app/models/external_pull_request.rb' - - 'app/models/gpg_signature.rb' - - 'app/models/merge_request.rb' - - 'app/models/plan.rb' - - 'app/models/project.rb' - - 'app/models/shard.rb' - - 'app/models/x509_certificate.rb' - - 'app/models/x509_commit_signature.rb' - - 'app/models/x509_issuer.rb' - - 'app/services/bulk_imports/relation_export_service.rb' - - 'app/services/ci/update_build_state_service.rb' - - 'app/services/event_create_service.rb' - - 'app/services/groups/import_export/import_service.rb' - - 'app/services/lfs/file_transformer.rb' - - 'app/services/merge_requests/approval_service.rb' - - 'app/services/namespaces/statistics_refresher_service.rb' - - 'app/services/packages/rubygems/create_dependencies_service.rb' - - 'app/services/packages/rubygems/metadata_extraction_service.rb' - - 'app/services/projects/create_service.rb' - - 'app/services/projects/lfs_pointers/lfs_download_service.rb' - - 'app/services/service_desk_settings/update_service.rb' - - 'app/services/service_ping/submit_service.rb' - - 'app/services/terraform/remote_state_handler.rb' - - 'app/workers/namespaces/schedule_aggregation_worker.rb' - - 'app/workers/project_export_worker.rb' - - 'db/migrate/20200212014653_rename_security_dashboard_feature_flag_to_instance_security_dashboard.rb' - - 'db/post_migrate/20200214034836_remove_security_dashboard_feature_flag.rb' - - 'db/post_migrate/20210824174615_prepare_ci_builds_metadata_and_ci_build_async_indexes.rb' - - 'ee/app/models/ci/minutes/namespace_monthly_usage.rb' - - 'ee/app/models/ci/minutes/project_monthly_usage.rb' - - 'ee/app/models/concerns/deprecated_approvals_before_merge.rb' - - 'ee/app/models/ee/iteration.rb' - - 'ee/app/models/ee/plan.rb' - - 'ee/app/models/elastic/index_setting.rb' - - 'ee/app/models/gitlab_subscription.rb' - - 'ee/app/models/software_license.rb' - - 'ee/app/services/boards/user_preferences/update_service.rb' - - 'ee/app/services/ci/minutes/update_project_and_namespace_usage_service.rb' - - 'ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb' - - 'ee/app/services/security/store_report_service.rb' - - 'ee/app/services/security/store_scan_service.rb' - - 'ee/app/workers/import_software_licenses_worker.rb' - - 'ee/db/fixtures/production/027_plans.rb' - - 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb' - - 'ee/lib/gitlab/elastic/indexer.rb' - - 'lib/gitlab/ci/pipeline/seed/environment.rb' - - 'lib/gitlab/ci/pipeline/seed/processable/resource_group.rb' - - 'lib/gitlab/ci/trace/chunked_io.rb' - - 'lib/gitlab/composer/cache.rb' - - 'lib/gitlab/database/async_indexes/migration_helpers.rb' - - 'lib/gitlab/issuables_count_for_state.rb' - -# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/340567 -Rails/IncludeUrlHelper: - Exclude: - - 'app/models/integrations/asana.rb' - - 'app/models/integrations/bamboo.rb' - - 'app/models/integrations/bugzilla.rb' - - 'app/models/integrations/campfire.rb' - - 'app/models/integrations/confluence.rb' - - 'app/models/integrations/custom_issue_tracker.rb' - - 'app/models/integrations/datadog.rb' - - 'app/models/integrations/discord.rb' - - 'app/models/integrations/ewm.rb' - - 'app/models/integrations/external_wiki.rb' - - 'app/models/integrations/flowdock.rb' - - 'app/models/integrations/hangouts_chat.rb' - - 'app/models/integrations/irker.rb' - - 'app/models/integrations/jenkins.rb' - - 'app/models/integrations/mattermost.rb' - - 'app/models/integrations/pivotaltracker.rb' - - 'app/models/integrations/redmine.rb' - - 'app/models/integrations/webex_teams.rb' - - 'app/models/integrations/youtrack.rb' - - 'app/presenters/alert_management/alert_presenter.rb' - - 'app/presenters/ci/pipeline_presenter.rb' - - 'app/presenters/environment_presenter.rb' - - 'app/presenters/gitlab/blame_presenter.rb' - - 'app/presenters/merge_request_presenter.rb' - - 'app/presenters/project_presenter.rb' - - 'app/presenters/prometheus_alert_presenter.rb' - - 'app/presenters/release_presenter.rb' - - 'app/presenters/releases/evidence_presenter.rb' - - 'ee/app/helpers/license_helper.rb' - - 'ee/app/models/integrations/github.rb' - - 'ee/app/presenters/merge_request_approver_presenter.rb' - - 'ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb' - - 'ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb' - - 'lib/gitlab/ci/badge/metadata.rb' - - 'spec/helpers/merge_requests_helper_spec.rb' - - 'spec/helpers/nav/top_nav_helper_spec.rb' - - 'spec/helpers/notify_helper_spec.rb' - - 'spec/lib/banzai/filter/reference_redactor_filter_spec.rb' - - 'spec/lib/banzai/reference_redactor_spec.rb' - -# TODO issue: https://gitlab.com/gitlab-org/gitlab/-/issues/344279 -Style/OpenStructUse: - Exclude: - - 'app/helpers/application_settings_helper.rb' - - 'ee/spec/db/production/license_spec.rb' - - 'ee/spec/features/projects/new_project_spec.rb' - - 'ee/spec/finders/template_finder_spec.rb' - - 'ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb' - - 'ee/spec/helpers/ee/blob_helper_spec.rb' - - 'ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb' - - 'ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb' - - 'lib/api/wikis.rb' - - 'lib/gitlab/git/diff_collection.rb' - - 'lib/gitlab/import_export/after_export_strategies/base_after_export_strategy.rb' - - 'lib/gitlab/testing/request_inspector_middleware.rb' - - 'lib/mattermost/session.rb' - - 'spec/controllers/admin/clusters_controller_spec.rb' - - 'spec/controllers/groups/clusters_controller_spec.rb' - - 'spec/controllers/import/fogbugz_controller_spec.rb' - - 'spec/controllers/import/gitlab_controller_spec.rb' - - 'spec/controllers/projects/clusters_controller_spec.rb' - - 'spec/dependencies/omniauth_saml_spec.rb' - - 'spec/factories/go_module_versions.rb' - - 'spec/factories/wiki_pages.rb' - - 'spec/features/projects/clusters/gcp_spec.rb' - - 'spec/features/projects/clusters_spec.rb' - - 'spec/finders/template_finder_spec.rb' - - 'spec/graphql/mutations/branches/create_spec.rb' - - 'spec/graphql/mutations/clusters/agent_tokens/create_spec.rb' - - 'spec/graphql/mutations/clusters/agents/create_spec.rb' - - 'spec/graphql/mutations/clusters/agents/delete_spec.rb' - - 'spec/graphql/mutations/commits/create_spec.rb' - - 'spec/helpers/application_settings_helper_spec.rb' - - 'spec/helpers/profiles_helper_spec.rb' - - 'spec/initializers/doorkeeper_spec.rb' - - 'spec/lib/gitlab/auth/o_auth/provider_spec.rb' - - 'spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb' - - 'spec/lib/gitlab/database/migrations/runner_spec.rb' - - 'spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb' - - 'spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb' - - 'spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb' - - 'spec/lib/gitlab/legacy_github_import/project_creator_spec.rb' - - 'spec/lib/gitlab/quick_actions/command_definition_spec.rb' - - 'spec/models/design_management/design_action_spec.rb' - - 'spec/models/design_management/design_at_version_spec.rb' - - 'spec/models/user_spec.rb' - - 'spec/presenters/packages/nuget/search_results_presenter_spec.rb' - - 'spec/services/packages/nuget/metadata_extraction_service_spec.rb' - - 'spec/services/projects/import_service_spec.rb' - - 'spec/services/system_note_service_spec.rb' - - 'spec/support/helpers/import_spec_helper.rb' - - 'spec/support/helpers/login_helpers.rb' - - 'spec/support/helpers/repo_helpers.rb' - - 'spec/tooling/rspec_flaky/flaky_example_spec.rb' - - 'tooling/rspec_flaky/flaky_example.rb' - -GraphQL/ArgumentName: - Exclude: - - 'ee/app/graphql/mutations/audit_events/external_audit_event_destinations/update.rb' - -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: group_definitions, define_resolver_after_definition -GraphQL/FieldDefinitions: - Exclude: - - 'app/graphql/types/commit_type.rb' - - 'app/graphql/types/group_type.rb' - - 'app/graphql/types/issue_type.rb' - - 'app/graphql/types/label_type.rb' - - 'app/graphql/types/merge_request_type.rb' - - 'app/graphql/types/namespace_type.rb' - - 'app/graphql/types/notes/note_type.rb' - - 'app/graphql/types/project_type.rb' - - 'app/graphql/types/projects/topic_type.rb' - - 'app/graphql/types/release_type.rb' - - 'ee/app/graphql/types/ci/code_quality_degradation_type.rb' - - 'ee/app/graphql/types/epic_type.rb' - - 'ee/app/graphql/types/group_release_stats_type.rb' - - 'ee/app/graphql/types/iteration_type.rb' - - 'ee/app/graphql/types/requirements_management/requirement_type.rb' - -# Cop supports --auto-correct. -GraphQL/FieldHashKey: - Exclude: - - 'app/graphql/types/ci/config/job_type.rb' - - 'app/graphql/types/ci/status_action_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb' - - 'app/graphql/types/packages/helm/dependency_type.rb' - -# Cop supports --auto-correct. -GraphQL/FieldMethod: - Exclude: - - 'app/graphql/types/ci/job_type.rb' - - 'app/graphql/types/merge_request_type.rb' - - 'app/graphql/types/metrics/dashboards/annotation_type.rb' - - 'app/graphql/types/packages/package_details_type.rb' - - 'app/graphql/types/project_type.rb' - - 'ee/app/graphql/types/dast/profile_type.rb' - - 'ee/app/graphql/types/dast_site_validation_type.rb' - - 'ee/app/graphql/types/group_release_stats_type.rb' - - 'ee/app/graphql/types/incident_management/oncall_rotation_type.rb' - -# Cop supports --auto-correct. -GraphQL/OrderedArguments: - Exclude: - - 'app/graphql/mutations/jira_import/start.rb' - - 'app/graphql/mutations/merge_requests/accept.rb' - - 'app/graphql/resolvers/base_issues_resolver.rb' - - 'app/graphql/resolvers/design_management/designs_resolver.rb' - - 'app/graphql/resolvers/design_management/version/design_at_version_resolver.rb' - - 'app/graphql/resolvers/design_management/version/designs_at_version_resolver.rb' - - 'app/graphql/resolvers/design_management/version_in_collection_resolver.rb' - - 'app/graphql/resolvers/group_milestones_resolver.rb' - - 'app/graphql/resolvers/merge_requests_resolver.rb' - - 'app/graphql/resolvers/paginated_tree_resolver.rb' - - 'app/graphql/resolvers/tree_resolver.rb' - - 'app/graphql/resolvers/users/groups_resolver.rb' - - 'app/graphql/types/commit_action_type.rb' - - 'app/graphql/types/diff_paths_input_type.rb' - - 'app/graphql/types/issues/negated_issue_filter_input_type.rb' - - 'app/graphql/types/jira_users_mapping_input_type.rb' - - 'app/graphql/types/notes/diff_image_position_input_type.rb' - - 'app/graphql/types/notes/diff_position_base_input_type.rb' - - 'app/graphql/types/notes/diff_position_input_type.rb' - -# Cop supports --auto-correct. -GraphQL/OrderedFields: - Exclude: - - 'app/graphql/types/board_list_type.rb' - - 'app/graphql/types/ci/analytics_type.rb' - - 'app/graphql/types/ci/ci_cd_setting_type.rb' - - 'app/graphql/types/ci/config/group_type.rb' - - 'app/graphql/types/ci/config/job_type.rb' - - 'app/graphql/types/ci/config/stage_type.rb' - - 'app/graphql/types/ci/detailed_status_type.rb' - - 'app/graphql/types/ci/group_type.rb' - - 'app/graphql/types/ci/job_type.rb' - - 'app/graphql/types/ci/runner_architecture_type.rb' - - 'app/graphql/types/ci/runner_platform_type.rb' - - 'app/graphql/types/ci/runner_type.rb' - - 'app/graphql/types/ci/stage_type.rb' - - 'app/graphql/types/ci/status_action_type.rb' - - 'app/graphql/types/ci/template_type.rb' - - 'app/graphql/types/commit_type.rb' - - 'app/graphql/types/container_expiration_policy_type.rb' - - 'app/graphql/types/container_repository_tag_type.rb' - - 'app/graphql/types/container_repository_type.rb' - - 'app/graphql/types/dependency_proxy/blob_type.rb' - - 'app/graphql/types/dependency_proxy/image_ttl_group_policy_type.rb' - - 'app/graphql/types/dependency_proxy/manifest_type.rb' - - 'app/graphql/types/design_management/design_collection_type.rb' - - 'app/graphql/types/diff_refs_type.rb' - - 'app/graphql/types/diff_stats_summary_type.rb' - - 'app/graphql/types/diff_stats_type.rb' - - 'app/graphql/types/error_tracking/sentry_detailed_error_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_collection_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_frequency_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_stack_trace_context_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_stack_trace_type.rb' - - 'app/graphql/types/error_tracking/sentry_error_type.rb' - - 'app/graphql/types/evidence_type.rb' - - 'app/graphql/types/grafana_integration_type.rb' - - 'app/graphql/types/issue_type.rb' - - 'app/graphql/types/jira_import_type.rb' - - 'app/graphql/types/jira_user_type.rb' - - 'app/graphql/types/label_type.rb' - - 'app/graphql/types/merge_request_type.rb' - - 'app/graphql/types/metadata/kas_type.rb' - - 'app/graphql/types/metadata_type.rb' - - 'app/graphql/types/namespace/package_settings_type.rb' - - 'app/graphql/types/namespace_type.rb' - - 'app/graphql/types/notes/diff_position_type.rb' - - 'app/graphql/types/notes/discussion_type.rb' - - 'app/graphql/types/notes/note_type.rb' - - 'app/graphql/types/packages/composer/json_type.rb' - - 'app/graphql/types/packages/composer/metadatum_type.rb' - - 'app/graphql/types/packages/conan/file_metadatum_type.rb' - - 'app/graphql/types/packages/conan/metadatum_type.rb' - - 'app/graphql/types/packages/helm/dependency_type.rb' - - 'app/graphql/types/packages/helm/maintainer_type.rb' - - 'app/graphql/types/packages/helm/metadata_type.rb' - - 'app/graphql/types/packages/maven/metadatum_type.rb' - - 'app/graphql/types/packages/nuget/metadatum_type.rb' - - 'app/graphql/types/packages/package_dependency_link_type.rb' - - 'app/graphql/types/packages/package_file_type.rb' - - 'app/graphql/types/packages/package_tag_type.rb' - - 'app/graphql/types/packages/package_type.rb' - - 'app/graphql/types/project_statistics_type.rb' - - 'app/graphql/types/project_type.rb' - - 'app/graphql/types/projects/services/jira_project_type.rb' - - 'app/graphql/types/release_asset_link_type.rb' - - 'app/graphql/types/release_links_type.rb' - - 'app/graphql/types/release_type.rb' - - 'app/graphql/types/repository_type.rb' - - 'app/graphql/types/root_storage_statistics_type.rb' - - 'app/graphql/types/task_completion_status.rb' - - 'app/graphql/types/tree/blob_type.rb' - - 'app/graphql/types/tree/submodule_type.rb' - - 'app/graphql/types/tree/tree_entry_type.rb' - - 'app/graphql/types/user_callout_type.rb' - - 'app/graphql/types/user_status_type.rb' - - 'ee/app/graphql/types/analytics/devops_adoption/snapshot_type.rb' - - 'ee/app/graphql/types/epic_descendant_count_type.rb' - - 'ee/app/graphql/types/epic_descendant_weight_sum_type.rb' - - 'ee/app/graphql/types/epic_health_status_type.rb' - - 'ee/app/graphql/types/epic_type.rb' - - 'ee/app/graphql/types/geo/geo_node_type.rb' - - 'ee/app/graphql/types/requirements_management/requirement_states_count_type.rb' - - 'ee/app/graphql/types/scan_execution_policy_type.rb' - - 'ee/app/graphql/types/scan_type.rb' - - 'ee/app/graphql/types/scanned_resource_type.rb' - - 'ee/app/graphql/types/security_report_summary_section_type.rb' - - 'ee/app/graphql/types/timebox_report_type.rb' - -# Configuration parameters: Max, CountComments, ExcludedMethods. -GraphQL/ResolverMethodLength: - Exclude: - - 'app/graphql/types/ci/detailed_status_type.rb' - - 'app/graphql/types/ci/runner_type.rb' - - 'app/graphql/types/ci/stage_type.rb' - - 'app/graphql/types/packages/package_type.rb' - -# Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/345673 -Performance/Rubyzip: - Exclude: - - 'app/services/packages/nuget/metadata_extraction_service.rb' - - 'lib/gitlab/ci/artifact_file_reader.rb' diff --git a/.rubocop_todo/cop/user_admin.yml b/.rubocop_todo/cop/user_admin.yml new file mode 100644 index 00000000000..392e194953f --- /dev/null +++ b/.rubocop_todo/cop/user_admin.yml @@ -0,0 +1,70 @@ +--- +Cop/UserAdmin: + Exclude: + - app/controllers/admin/impersonations_controller.rb + - app/controllers/concerns/spammable_actions.rb + - app/controllers/sessions_controller.rb + - app/finders/autocomplete/routes_finder.rb + - app/finders/ci/jobs_finder.rb + - app/finders/ci/runners_finder.rb + - app/finders/personal_access_tokens_finder.rb + - app/finders/users_finder.rb + - app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb + - app/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver.rb + - app/helpers/application_helper.rb + - app/helpers/import_helper.rb + - app/helpers/nav_helper.rb + - app/helpers/projects_helper.rb + - app/helpers/search_helper.rb + - app/helpers/user_callouts_helper.rb + - app/helpers/users_helper.rb + - app/helpers/visibility_level_helper.rb + - app/models/concerns/protected_ref_access.rb + - app/models/concerns/spammable.rb + - app/models/issue_collection.rb + - app/models/merge_requests_closing_issues.rb + - app/models/protected_branch.rb + - app/models/user.rb + - app/policies/note_policy.rb + - app/serializers/deploy_key_entity.rb + - app/services/auth/container_registry_authentication_service.rb + - app/services/emails/create_service.rb + - app/services/projects/enable_deploy_key_service.rb + - app/services/projects/fork_service.rb + - app/services/users/build_service.rb + - ee/app/controllers/ee/projects_controller.rb + - ee/app/graphql/mutations/admin/analytics/devops_adoption/segments/mixins.rb + - ee/app/graphql/resolvers/admin/analytics/devops_adoption/segments_resolver.rb + - ee/app/helpers/ee/dashboard_helper.rb + - ee/app/helpers/ee/import_helper.rb + - ee/app/helpers/ee/subscribable_banner_helper.rb + - ee/app/helpers/ee/user_callouts_helper.rb + - ee/app/helpers/license_monitoring_helper.rb + - ee/app/helpers/push_rules_helper.rb + - ee/app/models/concerns/ee/protected_ref_access.rb + - ee/app/models/ee/user.rb + - ee/app/models/protected_environment/deploy_access_level.rb + - ee/app/policies/ee/group_policy.rb + - ee/app/policies/ee/project_policy.rb + - ee/app/services/ee/groups/create_service.rb + - ee/app/services/ee/groups/update_service.rb + - ee/app/services/ee/projects/update_service.rb + - ee/lib/ee/api/helpers.rb + - ee/lib/ee/gitlab/git_access.rb + - lib/api/award_emoji.rb + - lib/api/ci/runners.rb + - lib/api/entities/ci/runner_details.rb + - lib/api/entities/ci/user_safe.rb + - lib/api/groups.rb + - lib/api/helpers.rb + - lib/api/personal_access_tokens.rb + - lib/api/users.rb + - lib/api/v3/github.rb + - lib/constraints/admin_constrainer.rb + - lib/gitlab/auth.rb + - lib/gitlab/background_migration/user_mentions/models/group.rb + - lib/gitlab/ci/runner_instructions.rb + - lib/gitlab/import_export/members_mapper.rb + - lib/gitlab/performance_bar.rb + - lib/gitlab/visibility_level.rb + - qa/qa/runtime/api/client.rb diff --git a/.rubocop_todo/database/multiple_databases.yml b/.rubocop_todo/database/multiple_databases.yml new file mode 100644 index 00000000000..a2e9a7e1e7e --- /dev/null +++ b/.rubocop_todo/database/multiple_databases.yml @@ -0,0 +1,61 @@ +--- +Database/MultipleDatabases: + Exclude: + - ee/lib/ee/gitlab/database.rb + - ee/lib/gitlab/geo/database_tasks.rb + - ee/lib/gitlab/geo/geo_tasks.rb + - ee/lib/gitlab/geo/health_check.rb + - ee/lib/gitlab/geo/log_cursor/daemon.rb + - ee/lib/pseudonymizer/dumper.rb + - ee/lib/pseudonymizer/pager.rb + - ee/lib/system_check/geo/geo_database_configured_check.rb + - ee/spec/lib/pseudonymizer/dumper_spec.rb + - ee/spec/models/pg_replication_slot_spec.rb + - ee/spec/services/ee/merge_requests/update_service_spec.rb + - lib/backup/database.rb + - lib/backup/manager.rb + - lib/gitlab/current_settings.rb + - lib/gitlab/database/load_balancing/load_balancer.rb + - lib/gitlab/database/load_balancing.rb + - lib/gitlab/database/load_balancing/sticking.rb + - lib/gitlab/database/migrations/observers/migration_observer.rb + - lib/gitlab/database/migrations/observers/query_log.rb + - lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb + - lib/gitlab/database.rb + - lib/gitlab/database/schema_cache_with_renamed_table.rb + - lib/gitlab/database/with_lock_retries.rb + - lib/gitlab/gitlab_import/importer.rb + - lib/gitlab/health_checks/db_check.rb + - lib/gitlab/import_export/base/relation_factory.rb + - lib/gitlab/import_export/group/relation_tree_restorer.rb + - lib/gitlab/legacy_github_import/importer.rb + - lib/gitlab/metrics/samplers/database_sampler.rb + - lib/gitlab/seeder.rb + - lib/gitlab/sherlock/query.rb + - lib/system_check/orphans/repository_check.rb + - spec/db/schema_spec.rb + - spec/initializers/database_config_spec.rb + - spec/lib/backup/manager_spec.rb + - spec/lib/gitlab/current_settings_spec.rb + - spec/lib/gitlab/database_spec.rb + - spec/lib/gitlab/metrics/subscribers/active_record_spec.rb + - spec/lib/gitlab/profiler_spec.rb + - spec/lib/gitlab/usage_data_metrics_spec.rb + - spec/lib/gitlab/usage_data_queries_spec.rb + - spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb + - spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb + - spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb + - spec/lib/gitlab/utils/usage_data_spec.rb + - spec/models/project_feature_usage_spec.rb + - spec/models/users_statistics_spec.rb + - spec/services/users/activity_service_spec.rb + - spec/support/caching.rb + - spec/support/gitlab/usage/metrics_instrumentation_shared_examples.rb + - spec/support/helpers/database_connection_helpers.rb + - spec/support/helpers/database/database_helpers.rb + - spec/support/helpers/database/table_schema_helpers.rb + - spec/support/helpers/migrations_helpers.rb + - spec/support/helpers/query_recorder.rb + - spec/support/helpers/usage_data_helpers.rb + - spec/tasks/gitlab/backup_rake_spec.rb + - spec/tasks/gitlab/db_rake_spec.rb diff --git a/.rubocop_todo/gitlab/delegate_predicate_methods.yml b/.rubocop_todo/gitlab/delegate_predicate_methods.yml new file mode 100644 index 00000000000..1ef87bd1096 --- /dev/null +++ b/.rubocop_todo/gitlab/delegate_predicate_methods.yml @@ -0,0 +1,15 @@ +--- +Gitlab/DelegatePredicateMethods: + Exclude: + - app/models/clusters/cluster.rb + - app/models/clusters/platforms/kubernetes.rb + - app/models/concerns/ci/metadatable.rb + - app/models/concerns/diff_positionable_note.rb + - app/models/concerns/integrations/base_data_fields.rb + - app/models/concerns/resolvable_discussion.rb + - app/models/project.rb + - ee/app/models/concerns/ee/ci/metadatable.rb + - ee/app/models/ee/group.rb + - ee/app/models/ee/namespace.rb + - ee/app/models/license.rb + - lib/gitlab/ci/trace/stream.rb diff --git a/.rubocop_todo/gitlab/feature_available_usage.yml b/.rubocop_todo/gitlab/feature_available_usage.yml new file mode 100644 index 00000000000..2a0975a6e9b --- /dev/null +++ b/.rubocop_todo/gitlab/feature_available_usage.yml @@ -0,0 +1,189 @@ +--- +Gitlab/FeatureAvailableUsage: + Exclude: + - app/controllers/projects/application_controller.rb + - app/graphql/types/project_type.rb + - app/helpers/events_helper.rb + - app/helpers/labels_helper.rb + - app/policies/project_policy.rb + - app/views/shared/boards/_switcher.html.haml + - ee/app/controllers/concerns/description_diff_actions.rb + - ee/app/controllers/concerns/ee/boards_actions.rb + - ee/app/controllers/concerns/security_dashboards_permissions.rb + - ee/app/controllers/ee/boards/lists_controller.rb + - ee/app/controllers/ee/projects/autocomplete_sources_controller.rb + - ee/app/controllers/ee/projects/issues_controller.rb + - ee/app/controllers/ee/projects/security/configuration_controller.rb + - ee/app/controllers/ee/projects/settings/ci_cd_controller.rb + - ee/app/controllers/ee/projects/settings/operations_controller.rb + - ee/app/controllers/ee/projects/settings/repository_controller.rb + - ee/app/controllers/projects/audit_events_controller.rb + - ee/app/controllers/projects/cluster_agents_controller.rb + - ee/app/controllers/projects/iterations/inherited_controller.rb + - ee/app/controllers/projects/iterations_controller.rb + - ee/app/controllers/projects/path_locks_controller.rb + - ee/app/controllers/projects/subscriptions_controller.rb + - ee/app/finders/autocomplete/vulnerabilities_autocomplete_finder.rb + - ee/app/finders/clusters/agents_finder.rb + - ee/app/finders/ee/alert_management/alerts_finder.rb + - ee/app/finders/ee/alert_management/http_integrations_finder.rb + - ee/app/graphql/ee/types/group_type.rb + - ee/app/graphql/mutations/dast/profiles/create.rb + - ee/app/graphql/mutations/dast/profiles/run.rb + - ee/app/graphql/mutations/dast/profiles/update.rb + - ee/app/graphql/mutations/instance_security_dashboard/remove_project.rb + - ee/app/graphql/resolvers/clusters/agent_tokens_resolver.rb + - ee/app/helpers/ee/application_helper.rb + - ee/app/helpers/ee/boards_helper.rb + - ee/app/helpers/ee/clusters_helper.rb + - ee/app/helpers/ee/dashboard_helper.rb + - ee/app/helpers/ee/form_helper.rb + - ee/app/helpers/ee/graph_helper.rb + - ee/app/helpers/ee/issues_helper.rb + - ee/app/helpers/ee/lock_helper.rb + - ee/app/helpers/ee/operations_helper.rb + - ee/app/helpers/ee/projects/incidents_helper.rb + - ee/app/helpers/ee/projects_helper.rb + - ee/app/helpers/ee/releases_helper.rb + - ee/app/helpers/ee/search_helper.rb + - ee/app/helpers/ee/tree_helper.rb + - ee/app/models/approval_state.rb + - ee/app/models/concerns/approvable.rb + - ee/app/models/concerns/ee/project_security_scanners_information.rb + - ee/app/models/concerns/ee/protected_ref_access.rb + - ee/app/models/concerns/has_timelogs_report.rb + - ee/app/models/concerns/insights_feature.rb + - ee/app/models/ee/board.rb + - ee/app/models/ee/ci/build.rb + - ee/app/models/ee/ci/build_dependencies.rb + - ee/app/models/ee/ci/pipeline.rb + - ee/app/models/ee/group.rb + - ee/app/models/ee/group_member.rb + - ee/app/models/ee/issue.rb + - ee/app/models/ee/list.rb + - ee/app/models/ee/merge_request.rb + - ee/app/models/ee/milestone_release.rb + - ee/app/models/ee/namespace.rb + - ee/app/models/ee/namespace_setting.rb + - ee/app/models/ee/project.rb + - ee/app/models/ee/project_ci_cd_setting.rb + - ee/app/models/namespace_statistics.rb + - ee/app/models/project_security_setting.rb + - ee/app/policies/compliance_management/framework_policy.rb + - ee/app/policies/ee/group_policy.rb + - ee/app/policies/ee/namespace_policy.rb + - ee/app/policies/ee/project_policy.rb + - ee/app/policies/ee/protected_branch_policy.rb + - ee/app/presenters/ee/label_presenter.rb + - ee/app/presenters/merge_request_approver_presenter.rb + - ee/app/serializers/dashboard_operations_project_entity.rb + - ee/app/serializers/ee/environment_entity.rb + - ee/app/serializers/ee/evidences/release_entity.rb + - ee/app/serializers/ee/note_entity.rb + - ee/app/services/boards/epic_boards/update_service.rb + - ee/app/services/ci/audit_variable_change_service.rb + - ee/app/services/clusters/agent_tokens/create_service.rb + - ee/app/services/clusters/agents/create_service.rb + - ee/app/services/dashboard/projects/create_service.rb + - ee/app/services/dashboard/projects/list_service.rb + - ee/app/services/dast/profiles/create_service.rb + - ee/app/services/dast/profiles/update_service.rb + - ee/app/services/dast_on_demand_scans/create_service.rb + - ee/app/services/dast_site_tokens/create_service.rb + - ee/app/services/dast_site_validations/create_service.rb + - ee/app/services/dast_site_validations/revoke_service.rb + - ee/app/services/dast_site_validations/validate_service.rb + - ee/app/services/ee/alert_management/http_integrations/create_service.rb + - ee/app/services/ee/audit_event_service.rb + - ee/app/services/ee/boards/issues/list_service.rb + - ee/app/services/ee/boards/lists/create_service.rb + - ee/app/services/ee/boards/update_service.rb + - ee/app/services/ee/ide/schemas_config_service.rb + - ee/app/services/ee/issuable_base_service.rb + - ee/app/services/ee/issue_links/create_service.rb + - ee/app/services/ee/issues/build_service.rb + - ee/app/services/ee/lfs/lock_file_service.rb + - ee/app/services/ee/lfs/unlock_file_service.rb + - ee/app/services/ee/merge_requests/approval_service.rb + - ee/app/services/ee/merge_requests/build_service.rb + - ee/app/services/ee/merge_requests/merge_base_service.rb + - ee/app/services/ee/merge_requests/refresh_service.rb + - ee/app/services/ee/merge_requests/update_service.rb + - ee/app/services/ee/projects/create_service.rb + - ee/app/services/ee/protected_branches/create_service.rb + - ee/app/services/ee/releases/create_evidence_service.rb + - ee/app/services/iterations/create_service.rb + - ee/app/services/iterations/update_service.rb + - ee/app/services/merge_requests/sync_report_approver_approval_rules.rb + - ee/app/services/merge_requests/update_blocks_service.rb + - ee/app/services/projects/mark_for_deletion_service.rb + - ee/app/services/quality_management/test_cases/create_service.rb + - ee/app/services/requirements_management/process_test_reports_service.rb + - ee/app/services/security/store_scans_service.rb + - ee/app/views/layouts/nav/_test_cases_link.html.haml + - ee/app/views/layouts/nav/sidebar/_project_iterations_link.html.haml + - ee/app/views/projects/_merge_request_approvals_settings.html.haml + - ee/app/views/projects/_merge_request_settings.html.haml + - ee/app/views/projects/_merge_request_settings_description_text.html.haml + - ee/app/views/projects/audit_events/index.html.haml + - 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 + - ee/app/views/projects/protected_branches/ee/_code_owner_approval_table_head.html.haml + - ee/app/views/projects/push_rules/_index.html.haml + - ee/app/views/projects/settings/_default_issue_template.html.haml + - ee/app/views/projects/settings/_marked_for_removal.html.haml + - ee/app/views/projects/settings/_restore.html.haml + - ee/app/views/projects/settings/ci_cd/_auto_rollback.html.haml + - ee/app/views/projects/settings/ci_cd/_pipeline_subscriptions.html.haml + - ee/app/views/projects/settings/operations/_status_page.html.haml + - ee/app/views/projects/settings/repository/_protected_branches.html.haml + - ee/app/views/projects/sidebar/_repository_locked_files.html.haml + - ee/app/views/shared/issuable/_group_bulk_update_sidebar.html.haml + - 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 + - ee/lib/api/external_status_checks.rb + - ee/lib/ee/api/entities/approval_state.rb + - ee/lib/ee/api/entities/board.rb + - ee/lib/ee/api/entities/issue.rb + - ee/lib/ee/api/entities/project.rb + - ee/lib/ee/api/helpers.rb + - ee/lib/ee/api/internal/kubernetes.rb + - ee/lib/ee/api/job_artifacts.rb + - ee/lib/ee/api/projects.rb + - ee/lib/ee/gitlab/alert_management/payload/generic.rb + - ee/lib/ee/gitlab/checks/diff_check.rb + - ee/lib/ee/gitlab/gon_helper.rb + - ee/lib/ee/gitlab/tree_summary.rb + - ee/lib/gitlab/alert_management.rb + - ee/lib/gitlab/ci/pipeline/chain/config/content/compliance.rb + - ee/lib/gitlab/code_owners.rb + - ee/lib/gitlab/incident_management.rb + - ee/lib/gitlab/path_locks_finder.rb + - ee/lib/incident_management/incident_sla.rb + - ee/spec/models/instance_security_dashboard_spec.rb + - ee/spec/models/license_spec.rb + - ee/spec/models/project_spec.rb + - lib/api/helpers/related_resources_helpers.rb + - spec/models/concerns/featurable_spec.rb diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml new file mode 100644 index 00000000000..0c007ff8081 --- /dev/null +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -0,0 +1,1200 @@ +--- +Gitlab/NamespacedClass: + Exclude: + - app/channels/issues_channel.rb + - app/controllers/abuse_reports_controller.rb + - app/controllers/acme_challenges_controller.rb + - app/controllers/application_controller.rb + - app/controllers/autocomplete_controller.rb + - app/controllers/chaos_controller.rb + - app/controllers/confirmations_controller.rb + - app/controllers/dashboard_controller.rb + - app/controllers/graphql_controller.rb + - app/controllers/groups_controller.rb + - app/controllers/health_check_controller.rb + - app/controllers/health_controller.rb + - app/controllers/help_controller.rb + - app/controllers/ide_controller.rb + - app/controllers/invites_controller.rb + - app/controllers/jwks_controller.rb + - app/controllers/jwt_controller.rb + - app/controllers/metrics_controller.rb + - app/controllers/notification_settings_controller.rb + - app/controllers/omniauth_callbacks_controller.rb + - app/controllers/passwords_controller.rb + - app/controllers/profiles_controller.rb + - app/controllers/projects_controller.rb + - app/controllers/registrations_controller.rb + - app/controllers/root_controller.rb + - app/controllers/runner_setup_controller.rb + - app/controllers/search_controller.rb + - app/controllers/sent_notifications_controller.rb + - app/controllers/sessions_controller.rb + - app/controllers/snippets_controller.rb + - app/controllers/uploads_controller.rb + - app/controllers/user_callouts_controller.rb + - app/controllers/users_controller.rb + - app/controllers/whats_new_controller.rb + - app/finders/abuse_reports_finder.rb + - app/finders/access_requests_finder.rb + - app/finders/admin/projects_finder.rb + - app/finders/applications_finder.rb + - app/finders/award_emojis_finder.rb + - app/finders/branches_finder.rb + - app/finders/cluster_ancestors_finder.rb + - app/finders/clusters_finder.rb + - app/finders/container_repositories_finder.rb + - app/finders/context_commits_finder.rb + - app/finders/contributed_projects_finder.rb + - app/finders/deployments_finder.rb + - app/finders/events_finder.rb + - app/finders/feature_flags_finder.rb + - app/finders/feature_flags_user_lists_finder.rb + - app/finders/fork_projects_finder.rb + - app/finders/fork_targets_finder.rb + - app/finders/freeze_periods_finder.rb + - app/finders/git_refs_finder.rb + - app/finders/group_descendants_finder.rb + - app/finders/group_finder.rb + - app/finders/group_members_finder.rb + - app/finders/group_projects_finder.rb + - app/finders/groups_finder.rb + - app/finders/issuable_finder.rb + - app/finders/issuable_finder/params.rb + - app/finders/issues_finder.rb + - app/finders/issues_finder/params.rb + - app/finders/joined_groups_finder.rb + - app/finders/keys_finder.rb + - app/finders/labels_finder.rb + - app/finders/lfs_pointers_finder.rb + - app/finders/license_template_finder.rb + - app/finders/members_finder.rb + - app/finders/merge_request_target_project_finder.rb + - app/finders/merge_requests_finder.rb + - app/finders/merge_requests_finder/params.rb + - app/finders/milestones_finder.rb + - app/finders/notes_finder.rb + - app/finders/pending_todos_finder.rb + - app/finders/personal_access_tokens_finder.rb + - app/finders/personal_projects_finder.rb + - app/finders/projects_finder.rb + - app/finders/prometheus_metrics_finder.rb + - app/finders/protected_branches_finder.rb + - app/finders/releases_finder.rb + - app/finders/resource_milestone_event_finder.rb + - app/finders/resource_state_event_finder.rb + - app/finders/sentry_issue_finder.rb + - app/finders/serverless_domain_finder.rb + - app/finders/snippets_finder.rb + - app/finders/starred_projects_finder.rb + - app/finders/tags_finder.rb + - app/finders/template_finder.rb + - app/finders/todos_finder.rb + - app/finders/union_finder.rb + - app/finders/uploader_finder.rb + - app/finders/user_finder.rb + - app/finders/user_group_notification_settings_finder.rb + - app/finders/user_groups_counter.rb + - app/finders/user_recent_events_finder.rb + - app/finders/users_finder.rb + - app/finders/users_star_projects_finder.rb + - app/finders/users_with_pending_todos_finder.rb + - app/graphql/gitlab_schema.rb + - app/mailers/abuse_report_mailer.rb + - app/mailers/application_mailer.rb + - app/mailers/devise_mailer.rb + - app/mailers/email_rejection_mailer.rb + - app/mailers/notify.rb + - app/mailers/previews/devise_mailer_preview.rb + - app/mailers/previews/email_rejection_mailer_preview.rb + - app/mailers/previews/notify_preview.rb + - app/mailers/previews/repository_check_mailer_preview.rb + - app/mailers/repository_check_mailer.rb + - app/models/ability.rb + - app/models/abuse_report.rb + - app/models/active_session.rb + - app/models/appearance.rb + - app/models/application_record.rb + - app/models/application_setting.rb + - app/models/application_setting/term.rb + - app/models/approval.rb + - app/models/audit_event.rb + - app/models/authentication_event.rb + - app/models/award_emoji.rb + - app/models/badge.rb + - app/models/badges/group_badge.rb + - app/models/badges/project_badge.rb + - app/models/blob.rb + - app/models/board.rb + - app/models/board_group_recent_visit.rb + - app/models/board_project_recent_visit.rb + - app/models/broadcast_message.rb + - app/models/bulk_import.rb + - app/models/chat_name.rb + - app/models/chat_team.rb + - app/models/ci_platform_metric.rb + - app/models/commit.rb + - app/models/commit_collection.rb + - app/models/commit_range.rb + - app/models/commit_status.rb + - app/models/commit_user_mention.rb + - app/models/commit_with_pipeline.rb + - app/models/compare.rb + - app/models/concerns/uniquify.rb + - app/models/container_expiration_policy.rb + - app/models/container_repository.rb + - app/models/context_commits_diff.rb + - app/models/custom_emoji.rb + - app/models/data_list.rb + - app/models/deploy_key.rb + - app/models/deploy_keys_project.rb + - app/models/deploy_token.rb + - app/models/deployment.rb + - app/models/deployment_cluster.rb + - app/models/deployment_merge_request.rb + - app/models/deployment_metrics.rb + - app/models/description_version.rb + - app/models/design_user_mention.rb + - app/models/diff_discussion.rb + - app/models/diff_note.rb + - app/models/diff_note_position.rb + - app/models/directly_addressed_user.rb + - app/models/discussion.rb + - app/models/discussion_note.rb + - app/models/draft_note.rb + - app/models/email.rb + - app/models/environment.rb + - app/models/environment_status.rb + - app/models/epic.rb + - app/models/event.rb + - app/models/event_collection.rb + - app/models/experiment.rb + - app/models/experiment_subject.rb + - app/models/experiment_user.rb + - app/models/exported_protected_branch.rb + - app/models/external_issue.rb + - app/models/external_pull_request.rb + - app/models/fork_network.rb + - app/models/fork_network_member.rb + - app/models/generic_commit_status.rb + - app/models/gpg_key.rb + - app/models/gpg_key_subkey.rb + - app/models/gpg_signature.rb + - app/models/grafana_integration.rb + - app/models/group.rb + - app/models/group_custom_attribute.rb + - app/models/group_deploy_key.rb + - app/models/group_deploy_keys_group.rb + - app/models/group_deploy_token.rb + - app/models/group_group_link.rb + - app/models/group_import_state.rb + - app/models/group_label.rb + - app/models/guest.rb + - app/models/hooks/active_hook_filter.rb + - app/models/hooks/project_hook.rb + - app/models/hooks/service_hook.rb + - app/models/hooks/system_hook.rb + - app/models/hooks/web_hook.rb + - app/models/hooks/web_hook_log.rb + - app/models/identity.rb + - app/models/identity/uniqueness_scopes.rb + - app/models/import_export_upload.rb + - app/models/import_failure.rb + - app/models/individual_note_discussion.rb + - app/models/instance_configuration.rb + - app/models/instance_metadata.rb + - app/models/integration.rb + - app/models/internal_id.rb + - app/models/issuable_severity.rb + - app/models/issue.rb + - app/models/issue/metrics.rb + - app/models/issue_assignee.rb + - app/models/issue_collection.rb + - app/models/issue_email_participant.rb + - app/models/issue_link.rb + - app/models/issue_user_mention.rb + - app/models/iteration.rb + - app/models/jira_connect_installation.rb + - app/models/jira_connect_subscription.rb + - app/models/jira_import_state.rb + - app/models/key.rb + - app/models/label.rb + - app/models/label_link.rb + - app/models/label_note.rb + - app/models/label_priority.rb + - app/models/legacy_diff_discussion.rb + - app/models/legacy_diff_note.rb + - app/models/lfs_download_object.rb + - app/models/lfs_file_lock.rb + - app/models/lfs_object.rb + - app/models/lfs_objects_project.rb + - app/models/license_template.rb + - app/models/list.rb + - app/models/list_user_preference.rb + - app/models/member.rb + - app/models/members/group_member.rb + - app/models/members/last_group_owner_assigner.rb + - app/models/members/project_member.rb + - app/models/members/member_task.rb + - app/models/members_preloader.rb + - app/models/merge_request.rb + - app/models/merge_request_assignee.rb + - app/models/merge_request_context_commit.rb + - app/models/merge_request_context_commit_diff_file.rb + - app/models/merge_request_diff.rb + - app/models/merge_request_diff_commit.rb + - app/models/merge_request_diff_file.rb + - app/models/merge_request_reviewer.rb + - app/models/merge_request_user_mention.rb + - app/models/merge_requests_closing_issues.rb + - app/models/milestone.rb + - app/models/milestone_note.rb + - app/models/milestone_release.rb + - app/models/namespace.rb + - app/models/namespace/traversal_hierarchy.rb + - app/models/namespace_onboarding_action.rb + - app/models/namespace_setting.rb + - app/models/note.rb + - app/models/note_diff_file.rb + - app/models/notification_reason.rb + - app/models/notification_recipient.rb + - app/models/notification_setting.rb + - app/models/oauth_access_grant.rb + - app/models/oauth_access_token.rb + - app/models/out_of_context_discussion.rb + - app/models/onboarding_progress.rb + - app/models/pages_deployment.rb + - app/models/pages_domain.rb + - app/models/pages_domain_acme_order.rb + - app/models/personal_access_token.rb + - app/models/personal_snippet.rb + - app/models/plan.rb + - app/models/plan_limits.rb + - app/models/pool_repository.rb + - app/models/product_analytics_event.rb + - app/models/programming_language.rb + - app/models/project.rb + - app/models/project_authorization.rb + - app/models/project_auto_devops.rb + - app/models/project_ci_cd_setting.rb + - app/models/project_custom_attribute.rb + - app/models/project_daily_statistic.rb + - app/models/project_deploy_token.rb + - app/models/project_export_job.rb + - app/models/project_feature.rb + - app/models/project_feature_usage.rb + - app/models/project_group_link.rb + - app/models/project_import_data.rb + - app/models/project_import_state.rb + - app/models/project_label.rb + - app/models/project_metrics_setting.rb + - app/models/project_pages_metadatum.rb + - app/models/project_repository.rb + - app/models/project_repository_storage_move.rb + - app/models/project_setting.rb + - app/models/project_snippet.rb + - app/models/project_statistics.rb + - app/models/project_team.rb + - app/models/project_tracing_setting.rb + - app/models/project_wiki.rb + - app/models/prometheus_alert.rb + - app/models/prometheus_alert_event.rb + - app/models/prometheus_metric.rb + - app/models/protectable_dropdown.rb + - app/models/protected_branch.rb + - app/models/protected_tag.rb + - app/models/push_event.rb + - app/models/push_event_payload.rb + - app/models/raw_usage_data.rb + - app/models/readme_blob.rb + - app/models/redirect_route.rb + - app/models/ref_matcher.rb + - app/models/release.rb + - app/models/release_highlight.rb + - app/models/remote_mirror.rb + - app/models/repository.rb + - app/models/repository_language.rb + - app/models/resource_event.rb + - app/models/resource_label_event.rb + - app/models/resource_milestone_event.rb + - app/models/resource_state_event.rb + - app/models/resource_timebox_event.rb + - app/models/review.rb + - app/models/route.rb + - app/models/self_managed_prometheus_alert_event.rb + - app/models/sent_notification.rb + - app/models/sentry_issue.rb + - app/models/service_desk_setting.rb + - app/models/service_list.rb + - app/models/shard.rb + - app/models/snippet.rb + - app/models/snippet_blob.rb + - app/models/snippet_input_action.rb + - app/models/snippet_input_action_collection.rb + - app/models/snippet_repository.rb + - app/models/snippet_repository_storage_move.rb + - app/models/snippet_statistics.rb + - app/models/snippet_user_mention.rb + - app/models/spam_log.rb + - app/models/ssh_host_key.rb + - app/models/state_note.rb + - app/models/subscription.rb + - app/models/suggestion.rb + - app/models/synthetic_note.rb + - app/models/system_note_metadata.rb + - app/models/term_agreement.rb + - app/models/timelog.rb + - app/models/todo.rb + - app/models/tree.rb + - app/models/trending_project.rb + - app/models/u2f_registration.rb + - app/models/upload.rb + - app/models/user.rb + - app/models/user_agent_detail.rb + - app/models/user_callout.rb + - app/models/user_canonical_email.rb + - app/models/user_custom_attribute.rb + - app/models/user_detail.rb + - app/models/user_highest_role.rb + - app/models/user_interacted_project.rb + - app/models/user_mention.rb + - app/models/user_preference.rb + - app/models/user_status.rb + - app/models/user_synced_attributes_metadata.rb + - app/models/users_star_project.rb + - app/models/users_statistics.rb + - app/models/vulnerability.rb + - app/models/web_ide_terminal.rb + - app/models/webauthn_registration.rb + - app/models/wiki.rb + - app/models/wiki_directory.rb + - app/models/wiki_page.rb + - app/models/wiki_page/meta.rb + - app/models/wiki_page/slug.rb + - app/models/x509_certificate.rb + - app/models/x509_commit_signature.rb + - app/models/x509_issuer.rb + - app/models/zoom_meeting.rb + - app/policies/application_setting/term_policy.rb + - app/policies/award_emoji_policy.rb + - app/policies/base_policy.rb + - app/policies/blob_policy.rb + - app/policies/board_policy.rb + - app/policies/commit_policy.rb + - app/policies/commit_status_policy.rb + - app/policies/container_expiration_policy_policy.rb + - app/policies/container_repository_policy.rb + - app/policies/custom_emoji_policy.rb + - app/policies/deploy_key_policy.rb + - app/policies/deploy_keys_project_policy.rb + - app/policies/deploy_token_policy.rb + - app/policies/deployment_policy.rb + - app/policies/draft_note_policy.rb + - app/policies/environment_policy.rb + - app/policies/external_issue_policy.rb + - app/policies/global_policy.rb + - app/policies/grafana_integration_policy.rb + - app/policies/group_deploy_key_policy.rb + - app/policies/group_deploy_keys_group_policy.rb + - app/policies/group_label_policy.rb + - app/policies/group_member_policy.rb + - app/policies/group_policy.rb + - app/policies/identity_provider_policy.rb + - app/policies/instance_metadata_policy.rb + - app/policies/integration_policy.rb + - app/policies/issuable_policy.rb + - app/policies/issue_policy.rb + - app/policies/merge_request_policy.rb + - app/policies/milestone_policy.rb + - app/policies/namespace_policy.rb + - app/policies/nil_policy.rb + - app/policies/note_policy.rb + - app/policies/personal_access_token_policy.rb + - app/policies/personal_snippet_policy.rb + - app/policies/project_ci_cd_setting_policy.rb + - app/policies/project_label_policy.rb + - app/policies/project_member_policy.rb + - app/policies/project_policy.rb + - app/policies/project_snippet_policy.rb + - app/policies/project_statistics_policy.rb + - app/policies/prometheus_alert_policy.rb + - app/policies/protected_branch_policy.rb + - app/policies/release_policy.rb + - app/policies/repository_policy.rb + - app/policies/resource_label_event_policy.rb + - app/policies/suggestion_policy.rb + - app/policies/timebox_policy.rb + - app/policies/timelog_policy.rb + - app/policies/todo_policy.rb + - app/policies/user_policy.rb + - app/policies/wiki_page_policy.rb + - app/policies/wiki_policy.rb + - app/presenters/award_emoji_presenter.rb + - app/presenters/blob_presenter.rb + - app/presenters/board_presenter.rb + - app/presenters/clusterable_presenter.rb + - app/presenters/commit_presenter.rb + - app/presenters/commit_status_presenter.rb + - app/presenters/environment_presenter.rb + - app/presenters/event_presenter.rb + - app/presenters/generic_commit_status_presenter.rb + - app/presenters/group_clusterable_presenter.rb + - app/presenters/group_member_presenter.rb + - app/presenters/instance_clusterable_presenter.rb + - app/presenters/invitation_presenter.rb + - app/presenters/issue_presenter.rb + - app/presenters/label_presenter.rb + - app/presenters/member_presenter.rb + - app/presenters/members_presenter.rb + - app/presenters/merge_request_presenter.rb + - app/presenters/milestone_presenter.rb + - app/presenters/pages_domain_presenter.rb + - app/presenters/project_clusterable_presenter.rb + - app/presenters/project_hook_presenter.rb + - app/presenters/project_member_presenter.rb + - app/presenters/project_presenter.rb + - app/presenters/prometheus_alert_presenter.rb + - app/presenters/release_presenter.rb + - app/presenters/search_service_presenter.rb + - app/presenters/sentry_error_presenter.rb + - app/presenters/service_hook_presenter.rb + - app/presenters/snippet_blob_presenter.rb + - app/presenters/snippet_presenter.rb + - app/presenters/todo_presenter.rb + - app/presenters/tree_entry_presenter.rb + - app/presenters/user_presenter.rb + - app/presenters/web_hook_log_presenter.rb + - app/serializers/accessibility_error_entity.rb + - app/serializers/accessibility_reports_comparer_entity.rb + - app/serializers/accessibility_reports_comparer_serializer.rb + - app/serializers/analytics_build_entity.rb + - app/serializers/analytics_build_serializer.rb + - app/serializers/analytics_commit_entity.rb + - app/serializers/analytics_commit_serializer.rb + - app/serializers/analytics_generic_serializer.rb + - app/serializers/analytics_issue_entity.rb + - app/serializers/analytics_issue_serializer.rb + - app/serializers/analytics_merge_request_entity.rb + - app/serializers/analytics_merge_request_serializer.rb + - app/serializers/analytics_stage_entity.rb + - app/serializers/analytics_stage_serializer.rb + - app/serializers/analytics_summary_entity.rb + - app/serializers/analytics_summary_serializer.rb + - app/serializers/award_emoji_entity.rb + - app/serializers/base_discussion_entity.rb + - app/serializers/base_serializer.rb + - app/serializers/blob_entity.rb + - app/serializers/board_serializer.rb + - app/serializers/board_simple_entity.rb + - app/serializers/build_action_entity.rb + - app/serializers/build_artifact_entity.rb + - app/serializers/build_coverage_entity.rb + - app/serializers/build_details_entity.rb + - app/serializers/build_metadata_entity.rb + - app/serializers/build_serializer.rb + - app/serializers/build_trace_entity.rb + - app/serializers/build_trace_serializer.rb + - app/serializers/cluster_application_entity.rb + - app/serializers/cluster_entity.rb + - app/serializers/cluster_error_entity.rb + - app/serializers/cluster_serializer.rb + - app/serializers/codequality_degradation_entity.rb + - app/serializers/codequality_reports_comparer_entity.rb + - app/serializers/codequality_reports_comparer_serializer.rb + - app/serializers/cohort_activity_month_entity.rb + - app/serializers/cohort_entity.rb + - app/serializers/cohorts_entity.rb + - app/serializers/cohorts_serializer.rb + - app/serializers/commit_entity.rb + - app/serializers/container_repositories_serializer.rb + - app/serializers/container_repository_entity.rb + - app/serializers/container_tag_entity.rb + - app/serializers/container_tags_serializer.rb + - app/serializers/context_commits_diff_entity.rb + - app/serializers/current_board_entity.rb + - app/serializers/current_board_serializer.rb + - app/serializers/current_user_entity.rb + - app/serializers/deploy_key_entity.rb + - app/serializers/deploy_key_serializer.rb + - app/serializers/deploy_keys_project_entity.rb + - app/serializers/deployment_cluster_entity.rb + - app/serializers/deployment_entity.rb + - app/serializers/deployment_serializer.rb + - app/serializers/detailed_status_entity.rb + - app/serializers/diff_file_base_entity.rb + - app/serializers/diff_file_entity.rb + - app/serializers/diff_file_metadata_entity.rb + - app/serializers/diff_line_entity.rb + - app/serializers/diff_line_parallel_entity.rb + - app/serializers/diff_line_serializer.rb + - app/serializers/diff_viewer_entity.rb + - app/serializers/diffs_entity.rb + - app/serializers/diffs_metadata_entity.rb + - app/serializers/diffs_metadata_serializer.rb + - app/serializers/diffs_serializer.rb + - app/serializers/discussion_diff_file_entity.rb + - app/serializers/discussion_entity.rb + - app/serializers/discussion_serializer.rb + - app/serializers/draft_note_entity.rb + - app/serializers/draft_note_serializer.rb + - app/serializers/entity_request.rb + - app/serializers/environment_entity.rb + - app/serializers/environment_serializer.rb + - app/serializers/environment_status_entity.rb + - app/serializers/environment_status_serializer.rb + - app/serializers/feature_flag_entity.rb + - app/serializers/feature_flag_scope_entity.rb + - app/serializers/feature_flag_serializer.rb + - app/serializers/feature_flag_summary_entity.rb + - app/serializers/feature_flag_summary_serializer.rb + - app/serializers/feature_flags_client_entity.rb + - app/serializers/feature_flags_client_serializer.rb + - app/serializers/fork_namespace_entity.rb + - app/serializers/fork_namespace_serializer.rb + - app/serializers/group_analytics_stage_entity.rb + - app/serializers/group_analytics_stage_serializer.rb + - app/serializers/group_basic_entity.rb + - app/serializers/group_child_entity.rb + - app/serializers/group_child_serializer.rb + - app/serializers/group_deploy_key_entity.rb + - app/serializers/group_deploy_key_serializer.rb + - app/serializers/group_deploy_keys_group_entity.rb + - app/serializers/group_entity.rb + - app/serializers/group_group_link_entity.rb + - app/serializers/group_group_link_serializer.rb + - app/serializers/group_issuable_autocomplete_entity.rb + - app/serializers/group_issuable_autocomplete_serializer.rb + - app/serializers/group_serializer.rb + - app/serializers/issuable_entity.rb + - app/serializers/issuable_sidebar_basic_entity.rb + - app/serializers/issuable_sidebar_extras_entity.rb + - app/serializers/issuable_sidebar_todo_entity.rb + - app/serializers/issue_board_entity.rb + - app/serializers/issue_entity.rb + - app/serializers/issue_serializer.rb + - app/serializers/issue_sidebar_basic_entity.rb + - app/serializers/issue_sidebar_extras_entity.rb + - app/serializers/job_artifact_report_entity.rb + - app/serializers/job_entity.rb + - app/serializers/job_group_entity.rb + - app/serializers/label_entity.rb + - app/serializers/label_serializer.rb + - app/serializers/lfs_file_lock_entity.rb + - app/serializers/lfs_file_lock_serializer.rb + - app/serializers/linked_issue_entity.rb + - app/serializers/linked_project_issue_entity.rb + - app/serializers/linked_project_issue_serializer.rb + - app/serializers/member_entity.rb + - app/serializers/member_serializer.rb + - app/serializers/member_user_entity.rb + - app/serializers/merge_request_basic_entity.rb + - app/serializers/merge_request_create_entity.rb + - app/serializers/merge_request_create_serializer.rb + - app/serializers/merge_request_current_user_entity.rb + - app/serializers/merge_request_diff_entity.rb + - app/serializers/merge_request_for_pipeline_entity.rb + - app/serializers/merge_request_metrics_entity.rb + - app/serializers/merge_request_noteable_entity.rb + - app/serializers/merge_request_poll_cached_widget_entity.rb + - app/serializers/merge_request_poll_widget_entity.rb + - app/serializers/merge_request_serializer.rb + - app/serializers/merge_request_sidebar_basic_entity.rb + - app/serializers/merge_request_sidebar_extras_entity.rb + - app/serializers/merge_request_user_entity.rb + - app/serializers/merge_request_widget_commit_entity.rb + - app/serializers/merge_request_widget_entity.rb + - app/serializers/move_to_project_entity.rb + - app/serializers/move_to_project_serializer.rb + - app/serializers/namespace_basic_entity.rb + - app/serializers/namespace_serializer.rb + - app/serializers/note_attachment_entity.rb + - app/serializers/note_entity.rb + - app/serializers/note_user_entity.rb + - app/serializers/paginated_diff_entity.rb + - app/serializers/paginated_diff_serializer.rb + - app/serializers/pipeline_details_entity.rb + - app/serializers/pipeline_entity.rb + - app/serializers/pipeline_serializer.rb + - app/serializers/project_entity.rb + - app/serializers/project_import_entity.rb + - app/serializers/project_mirror_entity.rb + - app/serializers/project_mirror_serializer.rb + - app/serializers/project_note_entity.rb + - app/serializers/project_note_serializer.rb + - app/serializers/project_serializer.rb + - app/serializers/prometheus_alert_entity.rb + - app/serializers/prometheus_alert_serializer.rb + - app/serializers/prometheus_metric_entity.rb + - app/serializers/prometheus_metric_serializer.rb + - app/serializers/release_entity.rb + - app/serializers/release_serializer.rb + - app/serializers/remote_mirror_entity.rb + - app/serializers/review_app_setup_entity.rb + - app/serializers/review_app_setup_serializer.rb + - app/serializers/rollout_status_entity.rb + - app/serializers/route_entity.rb + - app/serializers/route_serializer.rb + - app/serializers/runner_entity.rb + - app/serializers/service_event_entity.rb + - app/serializers/service_event_serializer.rb + - app/serializers/service_field_entity.rb + - app/serializers/service_field_serializer.rb + - app/serializers/stage_entity.rb + - app/serializers/stage_serializer.rb + - app/serializers/suggestion_entity.rb + - app/serializers/suggestion_serializer.rb + - app/serializers/test_case_entity.rb + - app/serializers/test_report_entity.rb + - app/serializers/test_report_serializer.rb + - app/serializers/test_report_summary_entity.rb + - app/serializers/test_report_summary_serializer.rb + - app/serializers/test_reports_comparer_entity.rb + - app/serializers/test_reports_comparer_serializer.rb + - app/serializers/test_suite_comparer_entity.rb + - app/serializers/test_suite_entity.rb + - app/serializers/test_suite_serializer.rb + - app/serializers/test_suite_summary_entity.rb + - app/serializers/trigger_variable_entity.rb + - app/serializers/triggered_pipeline_entity.rb + - app/serializers/user_entity.rb + - app/serializers/user_preference_entity.rb + - app/serializers/user_serializer.rb + - app/serializers/web_ide_terminal_entity.rb + - app/serializers/web_ide_terminal_serializer.rb + - app/services/access_token_validation_service.rb + - app/services/audit_event_service.rb + - app/services/auto_merge_service.rb + - app/services/base_container_service.rb + - app/services/base_count_service.rb + - app/services/base_project_service.rb + - app/services/base_renderer.rb + - app/services/base_service.rb + - app/services/bulk_create_integration_service.rb + - app/services/bulk_import_service.rb + - app/services/bulk_push_event_payload_service.rb + - app/services/bulk_update_integration_service.rb + - app/services/cohorts_service.rb + - app/services/compare_service.rb + - app/services/container_expiration_policy_service.rb + - app/services/event_create_service.rb + - app/services/gravatar_service.rb + - app/services/import_export_clean_up_service.rb + - app/services/issuable_base_service.rb + - app/services/issue_rebalancing_service.rb + - app/services/markdown_content_rewriter_service.rb + - app/services/merge_request_metrics_service.rb + - app/services/metrics_service.rb + - app/services/note_summary.rb + - app/services/notification_service.rb + - app/services/onboarding_progress_service.rb + - app/services/post_receive_service.rb + - app/services/preview_markdown_service.rb + - app/services/push_event_payload_service.rb + - app/services/repository_archive_clean_up_service.rb + - app/services/reset_project_cache_service.rb + - app/services/search_service.rb + - app/services/service_response.rb + - app/services/service_ping/submit_service.rb + - app/services/system_hooks_service.rb + - app/services/task_list_toggle_service.rb + - app/services/todo_service.rb + - app/services/update_container_registry_info_service.rb + - app/services/upload_service.rb + - app/services/user_agent_detail_service.rb + - app/services/user_project_access_changed_service.rb + - app/services/verify_pages_domain_service.rb + - app/services/web_hook_service.rb + - app/services/x509_certificate_revoke_service.rb + - app/uploaders/attachment_uploader.rb + - app/uploaders/avatar_uploader.rb + - app/uploaders/deleted_object_uploader.rb + - app/uploaders/dependency_proxy/file_uploader.rb + - app/uploaders/external_diff_uploader.rb + - app/uploaders/favicon_uploader.rb + - app/uploaders/file_mover.rb + - app/uploaders/file_uploader.rb + - app/uploaders/gitlab_uploader.rb + - app/uploaders/import_export_uploader.rb + - app/uploaders/job_artifact_uploader.rb + - app/uploaders/lfs_object_uploader.rb + - app/uploaders/namespace_file_uploader.rb + - app/uploaders/personal_file_uploader.rb + - app/validators/abstract_path_validator.rb + - app/validators/addressable_url_validator.rb + - app/validators/any_field_validator.rb + - app/validators/array_members_validator.rb + - app/validators/branch_filter_validator.rb + - app/validators/certificate_fingerprint_validator.rb + - app/validators/certificate_key_validator.rb + - app/validators/certificate_validator.rb + - app/validators/cluster_name_validator.rb + - app/validators/color_validator.rb + - app/validators/cron_freeze_period_timezone_validator.rb + - app/validators/cron_timezone_validator.rb + - app/validators/cron_validator.rb + - app/validators/devise_email_validator.rb + - app/validators/duration_validator.rb + - app/validators/feature_flag_strategies_validator.rb + - app/validators/feature_flag_user_xids_validator.rb + - app/validators/future_date_validator.rb + - app/validators/html_safety_validator.rb + - app/validators/ip_address_validator.rb + - app/validators/js_regex_validator.rb + - app/validators/json_schema_validator.rb + - app/validators/key_restriction_validator.rb + - app/validators/line_code_validator.rb + - app/validators/named_ecdsa_key_validator.rb + - app/validators/namespace_path_validator.rb + - app/validators/project_path_validator.rb + - app/validators/public_url_validator.rb + - app/validators/qualified_domain_array_validator.rb + - app/validators/rsa_key_validator.rb + - app/validators/same_project_association_validator.rb + - app/validators/sha_validator.rb + - app/validators/system_hook_url_validator.rb + - app/validators/top_level_group_validator.rb + - app/validators/untrusted_regexp_validator.rb + - app/validators/nested_attributes_duplicates_validator.rb + - app/validators/x509_certificate_credentials_validator.rb + - app/workers/admin_email_worker.rb + - app/workers/approve_blocked_pending_approval_users_worker.rb + - app/workers/archive_trace_worker.rb + - app/workers/authorized_keys_worker.rb + - app/workers/authorized_projects_worker.rb + - app/workers/auto_merge_process_worker.rb + - app/workers/background_migration_worker.rb + - app/workers/build_coverage_worker.rb + - app/workers/build_finished_worker.rb + - app/workers/build_hooks_worker.rb + - app/workers/build_queue_worker.rb + - app/workers/build_success_worker.rb + - app/workers/build_trace_sections_worker.rb + - app/workers/bulk_import_worker.rb + - app/workers/chat_notification_worker.rb + - app/workers/ci_platform_metrics_update_cron_worker.rb + - app/workers/cleanup_container_repository_worker.rb + - app/workers/cluster_configure_istio_worker.rb + - app/workers/cluster_install_app_worker.rb + - app/workers/cluster_patch_app_worker.rb + - app/workers/cluster_provision_worker.rb + - app/workers/cluster_update_app_worker.rb + - app/workers/cluster_upgrade_app_worker.rb + - app/workers/cluster_wait_for_app_installation_worker.rb + - app/workers/cluster_wait_for_app_update_worker.rb + - app/workers/cluster_wait_for_ingress_ip_address_worker.rb + - app/workers/container_expiration_policy_worker.rb + - app/workers/create_commit_signature_worker.rb + - app/workers/create_note_diff_file_worker.rb + - app/workers/create_pipeline_worker.rb + - app/workers/delete_container_repository_worker.rb + - app/workers/delete_diff_files_worker.rb + - app/workers/delete_merged_branches_worker.rb + - app/workers/delete_stored_files_worker.rb + - app/workers/delete_user_worker.rb + - app/workers/destroy_pages_deployments_worker.rb + - app/workers/detect_repository_languages_worker.rb + - app/workers/disallow_two_factor_for_group_worker.rb + - app/workers/disallow_two_factor_for_subgroups_worker.rb + - app/workers/email_receiver_worker.rb + - 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_build_instance_artifacts_worker.rb + - app/workers/expire_job_cache_worker.rb + - app/workers/expire_pipeline_cache_worker.rb + - app/workers/export_csv_worker.rb + - app/workers/external_service_reactive_caching_worker.rb + - app/workers/file_hook_worker.rb + - app/workers/flush_counter_increments_worker.rb + - app/workers/git_garbage_collect_worker.rb + - app/workers/gitlab_performance_bar_stats_worker.rb + - app/workers/gitlab_shell_worker.rb + - app/workers/gitlab_service_ping_worker.rb + - app/workers/gitlab_usage_ping_worker.rb + - app/workers/group_destroy_worker.rb + - app/workers/group_export_worker.rb + - app/workers/group_import_worker.rb + - app/workers/import_export_project_cleanup_worker.rb + - app/workers/import_issues_csv_worker.rb + - app/workers/invalid_gpg_signature_update_worker.rb + - app/workers/irker_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 + - app/workers/merge_worker.rb + - app/workers/migrate_external_diffs_worker.rb + - app/workers/namespaceless_project_destroy_worker.rb + - app/workers/new_issue_worker.rb + - app/workers/new_merge_request_worker.rb + - app/workers/new_note_worker.rb + - app/workers/pages_domain_removal_cron_worker.rb + - app/workers/pages_domain_ssl_renewal_cron_worker.rb + - app/workers/pages_domain_ssl_renewal_worker.rb + - app/workers/pages_domain_verification_cron_worker.rb + - app/workers/pages_domain_verification_worker.rb + - app/workers/pages_transfer_worker.rb + - app/workers/pages_update_configuration_worker.rb + - app/workers/pages_worker.rb + - app/workers/partition_creation_worker.rb + - app/workers/pipeline_hooks_worker.rb + - app/workers/pipeline_metrics_worker.rb + - app/workers/pipeline_notification_worker.rb + - app/workers/pipeline_process_worker.rb + - app/workers/pipeline_schedule_worker.rb + - app/workers/pipeline_update_worker.rb + - app/workers/post_receive.rb + - app/workers/process_commit_worker.rb + - app/workers/project_cache_worker.rb + - app/workers/project_daily_statistics_worker.rb + - app/workers/project_destroy_worker.rb + - app/workers/project_export_worker.rb + - app/workers/project_schedule_bulk_repository_shard_moves_worker.rb + - app/workers/project_service_worker.rb + - app/workers/project_update_repository_storage_worker.rb + - app/workers/propagate_integration_group_worker.rb + - app/workers/propagate_integration_inherit_descendant_worker.rb + - app/workers/propagate_integration_inherit_worker.rb + - app/workers/propagate_integration_project_worker.rb + - app/workers/propagate_integration_worker.rb + - app/workers/propagate_service_template_worker.rb + - app/workers/prune_old_events_worker.rb + - app/workers/prune_web_hook_logs_worker.rb + - app/workers/purge_dependency_proxy_cache_worker.rb + - app/workers/reactive_caching_worker.rb + - app/workers/rebase_worker.rb + - app/workers/remote_mirror_notification_worker.rb + - app/workers/remove_expired_group_links_worker.rb + - app/workers/remove_expired_members_worker.rb + - app/workers/remove_unaccepted_member_invites_worker.rb + - app/workers/remove_unreferenced_lfs_objects_worker.rb + - app/workers/repository_archive_cache_worker.rb + - 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/requests_profiles_worker.rb + - app/workers/run_pipeline_schedule_worker.rb + - app/workers/schedule_merge_request_cleanup_refs_worker.rb + - app/workers/schedule_migrate_external_diffs_worker.rb + - app/workers/self_monitoring_project_create_worker.rb + - app/workers/self_monitoring_project_delete_worker.rb + - app/workers/service_desk_email_receiver_worker.rb + - app/workers/snippet_schedule_bulk_repository_shard_moves_worker.rb + - app/workers/snippet_update_repository_storage_worker.rb + - app/workers/stage_update_worker.rb + - app/workers/stuck_ci_jobs_worker.rb + - app/workers/stuck_export_jobs_worker.rb + - app/workers/stuck_merge_jobs_worker.rb + - app/workers/system_hook_push_worker.rb + - app/workers/trending_projects_worker.rb + - app/workers/update_container_registry_info_worker.rb + - app/workers/update_external_pull_requests_worker.rb + - app/workers/update_head_pipeline_for_merge_request_worker.rb + - app/workers/update_highest_role_worker.rb + - app/workers/update_merge_requests_worker.rb + - app/workers/update_project_statistics_worker.rb + - app/workers/upload_checksum_worker.rb + - app/workers/wait_for_cluster_creation_worker.rb + - app/workers/web_hook_worker.rb + - app/workers/x509_certificate_revoke_worker.rb + - app/workers/x509_issuer_crl_check_worker.rb + - ee/app/controllers/countries_controller.rb + - ee/app/controllers/country_states_controller.rb + - ee/app/controllers/omniauth_kerberos_spnego_controller.rb + - ee/app/controllers/operations_controller.rb + - ee/app/controllers/sitemap_controller.rb + - ee/app/controllers/smartcard_controller.rb + - ee/app/controllers/subscriptions_controller.rb + - ee/app/controllers/survey_responses_controller.rb + - ee/app/controllers/trial_registrations_controller.rb + - ee/app/controllers/trials_controller.rb + - ee/app/controllers/unsubscribes_controller.rb + - ee/app/controllers/usernames_controller.rb + - ee/app/finders/audit_log_finder.rb + - ee/app/finders/billed_users_finder.rb + - ee/app/finders/custom_project_templates_finder.rb + - ee/app/finders/dast_scanner_profiles_finder.rb + - ee/app/finders/dast_site_profiles_finder.rb + - ee/app/finders/dast_site_validations_finder.rb + - ee/app/finders/epics_finder.rb + - ee/app/finders/geo_node_finder.rb + - ee/app/finders/gpg_keys_finder.rb + - ee/app/finders/group_saml_identity_finder.rb + - ee/app/finders/groups_with_templates_finder.rb + - ee/app/finders/iterations_finder.rb + - ee/app/finders/licenses_finder.rb + - ee/app/finders/merge_requests_compliance_finder.rb + - ee/app/finders/merge_trains_finder.rb + - ee/app/finders/productivity_analytics_finder.rb + - ee/app/finders/scim_finder.rb + - ee/app/finders/software_license_policies_finder.rb + - ee/app/mailers/ci_minutes_usage_mailer.rb + - ee/app/mailers/credentials_inventory_mailer.rb + - ee/app/mailers/license_mailer.rb + - ee/app/mailers/previews/ci_minutes_usage_mailer_preview.rb + - ee/app/mailers/previews/license_mailer_preview.rb + - ee/app/models/allowed_email_domain.rb + - ee/app/models/approval_merge_request_rule.rb + - ee/app/models/approval_merge_request_rule_source.rb + - ee/app/models/approval_project_rule.rb + - ee/app/models/approval_project_rules_protected_branch.rb + - ee/app/models/approval_state.rb + - ee/app/models/approval_wrapped_any_approver_rule.rb + - ee/app/models/approval_wrapped_code_owner_rule.rb + - ee/app/models/approval_wrapped_rule.rb + - ee/app/models/approver.rb + - ee/app/models/approver_group.rb + - ee/app/models/board_assignee.rb + - ee/app/models/board_label.rb + - ee/app/models/board_user_preference.rb + - ee/app/models/burndown.rb + - ee/app/models/dast_scanner_profile.rb + - ee/app/models/dast_site.rb + - ee/app/models/dast_site_profile.rb + - ee/app/models/dast_site_token.rb + - ee/app/models/dast_site_validation.rb + - ee/app/models/elasticsearch_indexed_namespace.rb + - ee/app/models/elasticsearch_indexed_project.rb + - ee/app/models/epic_issue.rb + - ee/app/models/epic_user_mention.rb + - ee/app/models/feature_flag_issue.rb + - ee/app/models/geo_node.rb + - ee/app/models/geo_node_namespace_link.rb + - ee/app/models/geo_node_status.rb + - ee/app/models/gitlab_subscription.rb + - ee/app/models/gitlab_subscription_history.rb + - ee/app/models/group_deletion_schedule.rb + - ee/app/models/group_merge_request_approval_setting.rb + - ee/app/models/group_wiki.rb + - ee/app/models/group_wiki_repository.rb + - ee/app/models/historical_data.rb + - ee/app/models/hooks/group_hook.rb + - ee/app/models/index_status.rb + - ee/app/models/insight.rb + - ee/app/models/instance_security_dashboard.rb + - ee/app/models/ip_restriction.rb + - ee/app/models/issuable_metric_image.rb + - ee/app/models/issuable_sla.rb + - ee/app/models/issuables_analytics.rb + - ee/app/models/iteration_note.rb + - ee/app/models/ldap_group_link.rb + - ee/app/models/ldap_key.rb + - ee/app/models/license.rb + - ee/app/models/merge_request_block.rb + - ee/app/models/merge_request_diff_detail.rb + - ee/app/models/merge_train.rb + - ee/app/models/namespace_limit.rb + - ee/app/models/namespace_statistics.rb + - ee/app/models/path_lock.rb + - ee/app/models/pg_replication_slot.rb + - ee/app/models/productivity_analytics.rb + - ee/app/models/project_alias.rb + - ee/app/models/project_repository_state.rb + - ee/app/models/project_security_setting.rb + - ee/app/models/protected_environment.rb + - ee/app/models/push_rule.rb + - ee/app/models/resource_iteration_event.rb + - ee/app/models/resource_weight_event.rb + - ee/app/models/saml_group_link.rb + - ee/app/models/saml_provider.rb + - ee/app/models/scim_identity.rb + - ee/app/models/scim_oauth_access_token.rb + - ee/app/models/scoped_label_set.rb + - ee/app/models/slack_integration.rb + - ee/app/models/smartcard_identity.rb + - ee/app/models/software_license.rb + - ee/app/models/software_license_policy.rb + - ee/app/models/storage_shard.rb + - ee/app/models/user_permission_export_upload.rb + - ee/app/models/users_ops_dashboard_project.rb + - ee/app/models/users_security_dashboard_project.rb + - ee/app/models/vulnerability_user_mention.rb + - ee/app/models/weight_note.rb + - ee/app/policies/approval_merge_request_rule_policy.rb + - ee/app/policies/approval_project_rule_policy.rb + - ee/app/policies/approval_state_policy.rb + - ee/app/policies/dast_scanner_profile_policy.rb + - ee/app/policies/dast_site_profile_policy.rb + - ee/app/policies/dast_site_validation_policy.rb + - ee/app/policies/epic_policy.rb + - ee/app/policies/geo_node_policy.rb + - ee/app/policies/instance_security_dashboard_policy.rb + - ee/app/policies/issuable_metric_image_policy.rb + - ee/app/policies/iteration_policy.rb + - ee/app/policies/push_rule_policy.rb + - ee/app/policies/saml_provider_policy.rb + - ee/app/policies/vulnerability_policy.rb + - ee/app/presenters/approval_rule_presenter.rb + - ee/app/presenters/audit_event_presenter.rb + - ee/app/presenters/epic_issue_presenter.rb + - ee/app/presenters/epic_presenter.rb + - ee/app/presenters/iteration_presenter.rb + - ee/app/presenters/merge_request_approver_presenter.rb + - ee/app/presenters/subscription_presenter.rb + - ee/app/presenters/vulnerability_presenter.rb + - ee/app/serializers/audit_event_entity.rb + - ee/app/serializers/audit_event_serializer.rb + - ee/app/serializers/blocking_merge_request_entity.rb + - ee/app/serializers/board_assignee_entity.rb + - ee/app/serializers/board_label_entity.rb + - ee/app/serializers/board_milestone_entity.rb + - ee/app/serializers/dashboard_environment_entity.rb + - ee/app/serializers/dashboard_environments_project_entity.rb + - ee/app/serializers/dashboard_environments_serializer.rb + - ee/app/serializers/dashboard_operations_project_entity.rb + - ee/app/serializers/dashboard_operations_serializer.rb + - ee/app/serializers/dependency_entity.rb + - ee/app/serializers/dependency_list_entity.rb + - ee/app/serializers/dependency_list_serializer.rb + - ee/app/serializers/epic_base_entity.rb + - ee/app/serializers/epic_entity.rb + - ee/app/serializers/epic_note_entity.rb + - ee/app/serializers/epic_note_serializer.rb + - ee/app/serializers/epic_serializer.rb + - ee/app/serializers/file_lock_entity.rb + - ee/app/serializers/geo_design_registry_entity.rb + - ee/app/serializers/geo_design_registry_serializer.rb + - ee/app/serializers/geo_node_serializer.rb + - ee/app/serializers/geo_node_status_serializer.rb + - ee/app/serializers/geo_project_registry_entity.rb + - ee/app/serializers/geo_project_registry_serializer.rb + - 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_entity.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_comparer_entity.rb + - ee/app/serializers/license_scanning_reports_comparer_serializer.rb + - ee/app/serializers/license_scanning_reports_serializer.rb + - ee/app/serializers/licenses_list_entity.rb + - ee/app/serializers/licenses_list_serializer.rb + - ee/app/serializers/linked_epic_entity.rb + - ee/app/serializers/linked_epic_issue_entity.rb + - ee/app/serializers/linked_epic_issue_serializer.rb + - ee/app/serializers/linked_epic_serializer.rb + - ee/app/serializers/linked_feature_flag_issue_entity.rb + - ee/app/serializers/linked_feature_flag_issue_serializer.rb + - ee/app/serializers/managed_license_entity.rb + - ee/app/serializers/managed_license_serializer.rb + - ee/app/serializers/merge_request_compliance_entity.rb + - ee/app/serializers/metrics_report_metric_entity.rb + - ee/app/serializers/metrics_reports_comparer_entity.rb + - ee/app/serializers/metrics_reports_comparer_serializer.rb + - ee/app/serializers/milestone_serializer.rb + - ee/app/serializers/namespace_entity.rb + - ee/app/serializers/productivity_analytics_merge_request_entity.rb + - ee/app/serializers/report_list_entity.rb + - ee/app/serializers/scim_oauth_access_token_entity.rb + - ee/app/serializers/storage_shard_entity.rb + - ee/app/serializers/storage_shard_serializer.rb + - ee/app/serializers/user_analytics_entity.rb + - ee/app/serializers/vulnerability_entity.rb + - ee/app/serializers/vulnerability_note_entity.rb + - ee/app/serializers/vulnerability_note_serializer.rb + - ee/app/serializers/vulnerability_serializer.rb + - ee/app/services/clear_namespace_shared_runners_minutes_service.rb + - ee/app/services/ldap_group_reset_service.rb + - ee/app/services/start_pull_mirroring_service.rb + - ee/app/services/timebox_report_service.rb + - ee/app/uploaders/issuable_metric_image_uploader.rb + - ee/app/validators/host_validator.rb + - ee/app/validators/ldap_filter_validator.rb + - ee/app/workers/active_user_count_threshold_worker.rb + - ee/app/workers/adjourned_group_deletion_worker.rb + - ee/app/workers/adjourned_project_deletion_worker.rb + - ee/app/workers/adjourned_projects_deletion_cron_worker.rb + - 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 + - ee/app/workers/elastic_delete_project_worker.rb + - ee/app/workers/elastic_full_index_worker.rb + - ee/app/workers/elastic_index_bulk_cron_worker.rb + - ee/app/workers/elastic_index_initial_bulk_cron_worker.rb + - ee/app/workers/elastic_indexing_control_worker.rb + - ee/app/workers/elastic_namespace_indexer_worker.rb + - ee/app/workers/elastic_namespace_rollout_worker.rb + - ee/app/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker.rb + - ee/app/workers/geo_repository_destroy_worker.rb + - ee/app/workers/group_saml_group_sync_worker.rb + - ee/app/workers/historical_data_worker.rb + - ee/app/workers/import_software_licenses_worker.rb + - ee/app/workers/ingress_modsecurity_counter_metrics_worker.rb + - ee/app/workers/iterations_update_status_worker.rb + - ee/app/workers/ldap_all_groups_sync_worker.rb + - ee/app/workers/ldap_group_sync_worker.rb + - ee/app/workers/ldap_sync_worker.rb + - ee/app/workers/merge_request_reset_approvals_worker.rb + - ee/app/workers/network_policy_metrics_worker.rb + - ee/app/workers/new_epic_worker.rb + - ee/app/workers/project_import_schedule_worker.rb + - ee/app/workers/project_template_export_worker.rb + - ee/app/workers/pseudonymizer_worker.rb + - ee/app/workers/refresh_license_compliance_checks_worker.rb + - ee/app/workers/repository_push_audit_event_worker.rb + - ee/app/workers/repository_update_mirror_worker.rb + - ee/app/workers/scan_security_report_secrets_worker.rb + - ee/app/workers/set_user_status_based_on_user_cap_setting_worker.rb + - ee/app/workers/store_security_reports_worker.rb + - ee/app/workers/store_security_scans_worker.rb + - ee/app/workers/sync_seat_link_request_worker.rb + - ee/app/workers/sync_seat_link_worker.rb + - ee/app/workers/sync_security_reports_to_report_approval_rules_worker.rb + - ee/app/workers/update_all_mirrors_worker.rb + - ee/app/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker.rb + - ee/lib/gitlab/path_locks_finder.rb + - ee/spec/support/elastic_query_name_inspector.rb + - ee/spec/support/ssh_keygen.rb + - ee/spec/support/test_license.rb + - lib/carrier_wave_string_file.rb + - lib/csv_builder.rb + - lib/event_filter.rb + - lib/feature.rb + - lib/feature/definition.rb + - lib/feature/gitaly.rb + - lib/feature/logger.rb + - lib/feature/shared.rb + - lib/file_size_validator.rb + - lib/forever.rb + - lib/gitlab_danger.rb + - lib/learn_gitlab.rb + - lib/tasks/gitlab/graphql.rake + - lib/tasks/gitlab/seed/group_seed.rake + - lib/tasks/import.rake + - lib/tasks/tokens.rake + - lib/uploaded_file.rb + - lib/version_check.rb + - qa/spec/specs/helpers/quarantine_spec.rb + - spec/controllers/concerns/page_limiter_spec.rb + - spec/lib/bitbucket/collection_spec.rb + - spec/lib/gitlab/database/bulk_update_spec.rb + - spec/lib/gitlab/multi_destination_logger_spec.rb + - spec/lib/marginalia_spec.rb + - spec/mailers/notify_spec.rb + - spec/models/concerns/batch_destroy_dependent_associations_spec.rb + - spec/models/concerns/bulk_insertable_associations_spec.rb + - spec/models/concerns/triggerable_hooks_spec.rb + - spec/support/helpers/bare_repo_operations.rb + - spec/support/helpers/ci_artifact_metadata_generator.rb + - spec/support/helpers/fake_migration_classes.rb + - spec/support/helpers/fake_u2f_device.rb + - spec/support/helpers/fake_webauthn_device.rb + - spec/support/helpers/markdown_feature.rb + - spec/support/helpers/redis_without_keys.rb + - spec/support/helpers/require_migration.rb + - spec/support/inspect_squelch.rb + - spec/support/models/merge_request_without_merge_request_diff.rb + - spec/support/renameable_upload.rb + - spec/support/sidekiq_middleware.rb + - spec/tasks/gitlab/task_helpers_spec.rb + - spec/uploaders/object_storage_spec.rb diff --git a/.rubocop_todo/graphql/argument_name.yml b/.rubocop_todo/graphql/argument_name.yml new file mode 100644 index 00000000000..29d2ae7d4ae --- /dev/null +++ b/.rubocop_todo/graphql/argument_name.yml @@ -0,0 +1,4 @@ +--- +GraphQL/ArgumentName: + Exclude: + - ee/app/graphql/mutations/audit_events/external_audit_event_destinations/update.rb diff --git a/.rubocop_todo/graphql/field_definitions.yml b/.rubocop_todo/graphql/field_definitions.yml new file mode 100644 index 00000000000..0084bb44f00 --- /dev/null +++ b/.rubocop_todo/graphql/field_definitions.yml @@ -0,0 +1,18 @@ +--- +GraphQL/FieldDefinitions: + Exclude: + - app/graphql/types/commit_type.rb + - app/graphql/types/group_type.rb + - app/graphql/types/issue_type.rb + - app/graphql/types/label_type.rb + - app/graphql/types/merge_request_type.rb + - app/graphql/types/namespace_type.rb + - app/graphql/types/notes/note_type.rb + - app/graphql/types/project_type.rb + - app/graphql/types/projects/topic_type.rb + - app/graphql/types/release_type.rb + - ee/app/graphql/types/ci/code_quality_degradation_type.rb + - ee/app/graphql/types/epic_type.rb + - ee/app/graphql/types/group_release_stats_type.rb + - ee/app/graphql/types/iteration_type.rb + - ee/app/graphql/types/requirements_management/requirement_type.rb diff --git a/.rubocop_todo/graphql/field_hash_key.yml b/.rubocop_todo/graphql/field_hash_key.yml new file mode 100644 index 00000000000..806920e24f6 --- /dev/null +++ b/.rubocop_todo/graphql/field_hash_key.yml @@ -0,0 +1,7 @@ +--- +GraphQL/FieldHashKey: + Exclude: + - app/graphql/types/ci/config/job_type.rb + - app/graphql/types/ci/status_action_type.rb + - app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb + - app/graphql/types/packages/helm/dependency_type.rb diff --git a/.rubocop_todo/graphql/field_method.yml b/.rubocop_todo/graphql/field_method.yml new file mode 100644 index 00000000000..1cc4aa7e264 --- /dev/null +++ b/.rubocop_todo/graphql/field_method.yml @@ -0,0 +1,12 @@ +--- +GraphQL/FieldMethod: + Exclude: + - app/graphql/types/ci/job_type.rb + - app/graphql/types/merge_request_type.rb + - app/graphql/types/metrics/dashboards/annotation_type.rb + - app/graphql/types/packages/package_details_type.rb + - app/graphql/types/project_type.rb + - ee/app/graphql/types/dast/profile_type.rb + - ee/app/graphql/types/dast_site_validation_type.rb + - ee/app/graphql/types/group_release_stats_type.rb + - ee/app/graphql/types/incident_management/oncall_rotation_type.rb diff --git a/.rubocop_todo/graphql/ordered_arguments.yml b/.rubocop_todo/graphql/ordered_arguments.yml new file mode 100644 index 00000000000..c153d52afc6 --- /dev/null +++ b/.rubocop_todo/graphql/ordered_arguments.yml @@ -0,0 +1,22 @@ +--- +GraphQL/OrderedArguments: + Exclude: + - app/graphql/mutations/jira_import/start.rb + - app/graphql/mutations/merge_requests/accept.rb + - app/graphql/resolvers/base_issues_resolver.rb + - app/graphql/resolvers/design_management/designs_resolver.rb + - app/graphql/resolvers/design_management/version/design_at_version_resolver.rb + - app/graphql/resolvers/design_management/version/designs_at_version_resolver.rb + - app/graphql/resolvers/design_management/version_in_collection_resolver.rb + - app/graphql/resolvers/group_milestones_resolver.rb + - app/graphql/resolvers/merge_requests_resolver.rb + - app/graphql/resolvers/paginated_tree_resolver.rb + - app/graphql/resolvers/tree_resolver.rb + - app/graphql/resolvers/users/groups_resolver.rb + - app/graphql/types/commit_action_type.rb + - app/graphql/types/diff_paths_input_type.rb + - app/graphql/types/issues/negated_issue_filter_input_type.rb + - app/graphql/types/jira_users_mapping_input_type.rb + - app/graphql/types/notes/diff_image_position_input_type.rb + - app/graphql/types/notes/diff_position_base_input_type.rb + - app/graphql/types/notes/diff_position_input_type.rb diff --git a/.rubocop_todo/graphql/ordered_fields.yml b/.rubocop_todo/graphql/ordered_fields.yml new file mode 100644 index 00000000000..4aa6a2e7793 --- /dev/null +++ b/.rubocop_todo/graphql/ordered_fields.yml @@ -0,0 +1,89 @@ +--- +GraphQL/OrderedFields: + Exclude: + - app/graphql/types/board_list_type.rb + - app/graphql/types/ci/analytics_type.rb + - app/graphql/types/ci/ci_cd_setting_type.rb + - app/graphql/types/ci/config/group_type.rb + - app/graphql/types/ci/config/job_type.rb + - app/graphql/types/ci/config/stage_type.rb + - app/graphql/types/ci/detailed_status_type.rb + - app/graphql/types/ci/group_type.rb + - app/graphql/types/ci/job_type.rb + - app/graphql/types/ci/runner_architecture_type.rb + - app/graphql/types/ci/runner_platform_type.rb + - app/graphql/types/ci/runner_type.rb + - app/graphql/types/ci/stage_type.rb + - app/graphql/types/ci/status_action_type.rb + - app/graphql/types/ci/template_type.rb + - app/graphql/types/commit_type.rb + - app/graphql/types/container_expiration_policy_type.rb + - app/graphql/types/container_repository_tag_type.rb + - app/graphql/types/container_repository_type.rb + - app/graphql/types/dependency_proxy/blob_type.rb + - app/graphql/types/dependency_proxy/image_ttl_group_policy_type.rb + - app/graphql/types/dependency_proxy/manifest_type.rb + - app/graphql/types/design_management/design_collection_type.rb + - app/graphql/types/diff_refs_type.rb + - app/graphql/types/diff_stats_summary_type.rb + - app/graphql/types/diff_stats_type.rb + - app/graphql/types/error_tracking/sentry_detailed_error_type.rb + - app/graphql/types/error_tracking/sentry_error_collection_type.rb + - app/graphql/types/error_tracking/sentry_error_frequency_type.rb + - app/graphql/types/error_tracking/sentry_error_stack_trace_context_type.rb + - app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb + - app/graphql/types/error_tracking/sentry_error_stack_trace_type.rb + - app/graphql/types/error_tracking/sentry_error_type.rb + - app/graphql/types/evidence_type.rb + - app/graphql/types/grafana_integration_type.rb + - app/graphql/types/issue_type.rb + - app/graphql/types/jira_import_type.rb + - app/graphql/types/jira_user_type.rb + - app/graphql/types/label_type.rb + - app/graphql/types/merge_request_type.rb + - app/graphql/types/metadata/kas_type.rb + - app/graphql/types/metadata_type.rb + - app/graphql/types/namespace/package_settings_type.rb + - app/graphql/types/namespace_type.rb + - app/graphql/types/notes/diff_position_type.rb + - app/graphql/types/notes/discussion_type.rb + - app/graphql/types/notes/note_type.rb + - app/graphql/types/packages/composer/json_type.rb + - app/graphql/types/packages/composer/metadatum_type.rb + - app/graphql/types/packages/conan/file_metadatum_type.rb + - app/graphql/types/packages/conan/metadatum_type.rb + - app/graphql/types/packages/helm/dependency_type.rb + - app/graphql/types/packages/helm/maintainer_type.rb + - app/graphql/types/packages/helm/metadata_type.rb + - app/graphql/types/packages/maven/metadatum_type.rb + - app/graphql/types/packages/nuget/metadatum_type.rb + - app/graphql/types/packages/package_dependency_link_type.rb + - app/graphql/types/packages/package_file_type.rb + - app/graphql/types/packages/package_tag_type.rb + - app/graphql/types/packages/package_type.rb + - app/graphql/types/project_statistics_type.rb + - app/graphql/types/project_type.rb + - app/graphql/types/projects/services/jira_project_type.rb + - app/graphql/types/release_asset_link_type.rb + - app/graphql/types/release_links_type.rb + - app/graphql/types/release_type.rb + - app/graphql/types/repository_type.rb + - app/graphql/types/root_storage_statistics_type.rb + - app/graphql/types/task_completion_status.rb + - app/graphql/types/tree/blob_type.rb + - app/graphql/types/tree/submodule_type.rb + - app/graphql/types/tree/tree_entry_type.rb + - app/graphql/types/user_callout_type.rb + - app/graphql/types/user_status_type.rb + - ee/app/graphql/types/analytics/devops_adoption/snapshot_type.rb + - ee/app/graphql/types/epic_descendant_count_type.rb + - ee/app/graphql/types/epic_descendant_weight_sum_type.rb + - ee/app/graphql/types/epic_health_status_type.rb + - ee/app/graphql/types/epic_type.rb + - ee/app/graphql/types/geo/geo_node_type.rb + - ee/app/graphql/types/requirements_management/requirement_states_count_type.rb + - ee/app/graphql/types/scan_execution_policy_type.rb + - ee/app/graphql/types/scan_type.rb + - ee/app/graphql/types/scanned_resource_type.rb + - ee/app/graphql/types/security_report_summary_section_type.rb + - ee/app/graphql/types/timebox_report_type.rb diff --git a/.rubocop_todo/graphql/resolver_method_length.yml b/.rubocop_todo/graphql/resolver_method_length.yml new file mode 100644 index 00000000000..6fd8d41c548 --- /dev/null +++ b/.rubocop_todo/graphql/resolver_method_length.yml @@ -0,0 +1,7 @@ +--- +GraphQL/ResolverMethodLength: + Exclude: + - app/graphql/types/ci/detailed_status_type.rb + - app/graphql/types/ci/runner_type.rb + - app/graphql/types/ci/stage_type.rb + - app/graphql/types/packages/package_type.rb diff --git a/.rubocop_todo/performance/active_record_subtransaction_methods.yml b/.rubocop_todo/performance/active_record_subtransaction_methods.yml new file mode 100644 index 00000000000..0fcedb3ffc6 --- /dev/null +++ b/.rubocop_todo/performance/active_record_subtransaction_methods.yml @@ -0,0 +1,62 @@ +--- +Performance/ActiveRecordSubtransactionMethods: + Exclude: + - app/controllers/clusters/clusters_controller.rb + - app/controllers/repositories/lfs_storage_controller.rb + - app/controllers/search_controller.rb + - app/models/application_record.rb + - app/models/ci/ref.rb + - app/models/container_repository.rb + - app/models/design_management/design_collection.rb + - app/models/error_tracking/error.rb + - app/models/external_pull_request.rb + - app/models/gpg_signature.rb + - app/models/merge_request.rb + - app/models/plan.rb + - app/models/project.rb + - app/models/shard.rb + - app/models/x509_certificate.rb + - app/models/x509_commit_signature.rb + - app/models/x509_issuer.rb + - app/services/bulk_imports/relation_export_service.rb + - app/services/ci/update_build_state_service.rb + - app/services/event_create_service.rb + - app/services/groups/import_export/import_service.rb + - app/services/lfs/file_transformer.rb + - app/services/merge_requests/approval_service.rb + - app/services/namespaces/statistics_refresher_service.rb + - app/services/packages/rubygems/create_dependencies_service.rb + - app/services/packages/rubygems/metadata_extraction_service.rb + - app/services/projects/create_service.rb + - app/services/projects/lfs_pointers/lfs_download_service.rb + - app/services/service_desk_settings/update_service.rb + - app/services/service_ping/submit_service.rb + - app/services/terraform/remote_state_handler.rb + - app/workers/namespaces/schedule_aggregation_worker.rb + - app/workers/project_export_worker.rb + - db/migrate/20200212014653_rename_security_dashboard_feature_flag_to_instance_security_dashboard.rb + - db/post_migrate/20200214034836_remove_security_dashboard_feature_flag.rb + - db/post_migrate/20210824174615_prepare_ci_builds_metadata_and_ci_build_async_indexes.rb + - ee/app/models/ci/minutes/namespace_monthly_usage.rb + - ee/app/models/ci/minutes/project_monthly_usage.rb + - ee/app/models/concerns/deprecated_approvals_before_merge.rb + - ee/app/models/ee/iteration.rb + - ee/app/models/ee/plan.rb + - ee/app/models/elastic/index_setting.rb + - ee/app/models/gitlab_subscription.rb + - ee/app/models/software_license.rb + - ee/app/services/boards/user_preferences/update_service.rb + - ee/app/services/ci/minutes/update_project_and_namespace_usage_service.rb + - ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb + - ee/app/services/security/store_report_service.rb + - ee/app/services/security/store_scan_service.rb + - ee/app/workers/import_software_licenses_worker.rb + - ee/db/fixtures/production/027_plans.rb + - ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb + - ee/lib/gitlab/elastic/indexer.rb + - lib/gitlab/ci/pipeline/seed/environment.rb + - lib/gitlab/ci/pipeline/seed/processable/resource_group.rb + - lib/gitlab/ci/trace/chunked_io.rb + - lib/gitlab/composer/cache.rb + - lib/gitlab/database/async_indexes/migration_helpers.rb + - lib/gitlab/issuables_count_for_state.rb diff --git a/.rubocop_todo/performance/rubyzip.yml b/.rubocop_todo/performance/rubyzip.yml new file mode 100644 index 00000000000..a0752fa51cd --- /dev/null +++ b/.rubocop_todo/performance/rubyzip.yml @@ -0,0 +1,5 @@ +--- +Performance/Rubyzip: + Exclude: + - app/services/packages/nuget/metadata_extraction_service.rb + - lib/gitlab/ci/artifact_file_reader.rb diff --git a/.rubocop_todo/rails/include_url_helper.yml b/.rubocop_todo/rails/include_url_helper.yml new file mode 100644 index 00000000000..adc42663523 --- /dev/null +++ b/.rubocop_todo/rails/include_url_helper.yml @@ -0,0 +1,42 @@ +--- +Rails/IncludeUrlHelper: + Exclude: + - app/models/integrations/asana.rb + - app/models/integrations/bamboo.rb + - app/models/integrations/bugzilla.rb + - app/models/integrations/campfire.rb + - app/models/integrations/confluence.rb + - app/models/integrations/custom_issue_tracker.rb + - app/models/integrations/datadog.rb + - app/models/integrations/discord.rb + - app/models/integrations/ewm.rb + - app/models/integrations/external_wiki.rb + - app/models/integrations/flowdock.rb + - app/models/integrations/hangouts_chat.rb + - app/models/integrations/irker.rb + - app/models/integrations/jenkins.rb + - app/models/integrations/mattermost.rb + - app/models/integrations/pivotaltracker.rb + - app/models/integrations/redmine.rb + - app/models/integrations/webex_teams.rb + - app/models/integrations/youtrack.rb + - app/presenters/alert_management/alert_presenter.rb + - app/presenters/ci/pipeline_presenter.rb + - app/presenters/environment_presenter.rb + - app/presenters/gitlab/blame_presenter.rb + - app/presenters/merge_request_presenter.rb + - app/presenters/project_presenter.rb + - app/presenters/prometheus_alert_presenter.rb + - app/presenters/release_presenter.rb + - app/presenters/releases/evidence_presenter.rb + - ee/app/helpers/license_helper.rb + - ee/app/models/integrations/github.rb + - ee/app/presenters/merge_request_approver_presenter.rb + - ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb + - ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb + - lib/gitlab/ci/badge/metadata.rb + - spec/helpers/merge_requests_helper_spec.rb + - spec/helpers/nav/top_nav_helper_spec.rb + - spec/helpers/notify_helper_spec.rb + - spec/lib/banzai/filter/reference_redactor_filter_spec.rb + - spec/lib/banzai/reference_redactor_spec.rb diff --git a/.rubocop_todo/rails/save_bang.yml b/.rubocop_todo/rails/save_bang.yml new file mode 100644 index 00000000000..59dbe6b1dc5 --- /dev/null +++ b/.rubocop_todo/rails/save_bang.yml @@ -0,0 +1,123 @@ +--- +Rails/SaveBang: + Exclude: + - ee/spec/initializers/fog_google_https_private_urls_spec.rb + - ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb + - ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb + - ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb + - ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb + - ee/spec/lib/gitlab/auth/ldap/access_spec.rb + - ee/spec/lib/gitlab/auth/o_auth/user_spec.rb + - ee/spec/lib/gitlab/auth/saml/user_spec.rb + - ee/spec/lib/gitlab/elastic/search_results_spec.rb + - ee/spec/lib/gitlab/email/handler/ee/service_desk_handler_spec.rb + - ee/spec/lib/gitlab/geo_spec.rb + - ee/spec/lib/gitlab/git_access_spec.rb + - ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb + - ee/spec/lib/gitlab/mirror_spec.rb + - ee/spec/models/application_setting_spec.rb + - ee/spec/models/approval_merge_request_rule_spec.rb + - ee/spec/models/approval_project_rule_spec.rb + - ee/spec/models/burndown_spec.rb + - ee/spec/models/elasticsearch_indexed_namespace_spec.rb + - ee/spec/models/gitlab_subscription_spec.rb + - ee/spec/models/issue_spec.rb + - ee/spec/models/label_note_spec.rb + - ee/spec/models/lfs_object_spec.rb + - ee/spec/models/license_spec.rb + - ee/spec/models/merge_request_spec.rb + - ee/spec/models/merge_train_spec.rb + - ee/spec/models/project_ci_cd_setting_spec.rb + - ee/spec/models/project_spec.rb + - ee/spec/models/protected_environment_spec.rb + - ee/spec/models/repository_spec.rb + - ee/spec/models/scim_identity_spec.rb + - ee/spec/models/scim_oauth_access_token_spec.rb + - ee/spec/models/upload_spec.rb + - ee/spec/models/user_preference_spec.rb + - ee/spec/models/visible_approvable_spec.rb + - ee/spec/models/vulnerabilities/feedback_spec.rb + - ee/spec/models/vulnerabilities/issue_link_spec.rb + - ee/spec/services/ee/boards/issues/create_service_spec.rb + - ee/spec/services/ee/boards/issues/list_service_spec.rb + - ee/spec/services/ee/boards/lists/list_service_spec.rb + - ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb + - ee/spec/services/ee/issuable/common_system_notes_service_spec.rb + - ee/spec/services/ee/issues/update_service_spec.rb + - ee/spec/services/ee/merge_requests/refresh_service_spec.rb + - ee/spec/services/ee/merge_requests/update_service_spec.rb + - ee/spec/services/ee/notes/quick_actions_service_spec.rb + - ee/spec/services/ee/notification_service_spec.rb + - ee/spec/services/epic_links/create_service_spec.rb + - ee/spec/services/epics/close_service_spec.rb + - ee/spec/services/epics/issue_promote_service_spec.rb + - ee/spec/services/epics/reopen_service_spec.rb + - ee/spec/services/epics/tree_reorder_service_spec.rb + - ee/spec/services/epics/update_dates_service_spec.rb + - ee/spec/services/epics/update_service_spec.rb + - ee/spec/services/geo/blob_verification_secondary_service_spec.rb + - ee/spec/services/geo/files_expire_service_spec.rb + - ee/spec/services/geo/metrics_update_service_spec.rb + - ee/spec/services/geo/registry_consistency_service_spec.rb + - ee/spec/services/geo/repository_verification_secondary_service_spec.rb + - ee/spec/services/groups/autocomplete_service_spec.rb + - ee/spec/services/ldap_group_reset_service_spec.rb + - ee/spec/services/lfs/unlock_file_service_spec.rb + - ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb + - ee/spec/services/quick_actions/interpret_service_spec.rb + - ee/spec/services/slash_commands/global_slack_handler_spec.rb + - ee/spec/services/start_pull_mirroring_service_spec.rb + - ee/spec/services/status_page/trigger_publish_service_spec.rb + - ee/spec/services/todo_service_spec.rb + - ee/spec/services/vulnerability_feedback/create_service_spec.rb + - qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb + - qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb + - qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb + - qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb + - spec/controllers/abuse_reports_controller_spec.rb + - spec/controllers/boards/issues_controller_spec.rb + - spec/controllers/sent_notifications_controller_spec.rb + - spec/controllers/sessions_controller_spec.rb + - spec/lib/backup/manager_spec.rb + - spec/lib/gitlab/alerting/alert_spec.rb + - spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb + - spec/lib/gitlab/auth/ldap/user_spec.rb + - spec/lib/gitlab/auth/o_auth/user_spec.rb + - spec/lib/gitlab/auth/saml/user_spec.rb + - spec/lib/gitlab/auth_spec.rb + - spec/lib/gitlab/authorized_keys_spec.rb + - spec/lib/gitlab/bitbucket_server_import/importer_spec.rb + - spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb + - spec/lib/gitlab/database/custom_structure_spec.rb + - spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb + - spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb + - spec/lib/gitlab/gfm/reference_rewriter_spec.rb + - spec/lib/gitlab/git_access_spec.rb + - spec/lib/gitlab/import_export/avatar_saver_spec.rb + - spec/lib/gitlab/import_export/base/relation_factory_spec.rb + - spec/lib/gitlab/import_export/design_repo_restorer_spec.rb + - spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb + - spec/lib/gitlab/import_export/fork_spec.rb + - spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb + - spec/lib/gitlab/import_export/group/relation_factory_spec.rb + - spec/lib/gitlab/import_export/group/tree_saver_spec.rb + - spec/lib/gitlab/import_export/importer_spec.rb + - spec/lib/gitlab/import_export/lfs_restorer_spec.rb + - spec/lib/gitlab/import_export/lfs_saver_spec.rb + - spec/lib/gitlab/import_export/members_mapper_spec.rb + - spec/lib/gitlab/import_export/project/relation_factory_spec.rb + - spec/lib/gitlab/import_export/project/tree_restorer_spec.rb + - spec/lib/gitlab/import_export/project/tree_saver_spec.rb + - spec/lib/gitlab/import_export/repo_restorer_spec.rb + - spec/lib/gitlab/import_export/saver_spec.rb + - spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb + - spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb + - spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb + - spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb + - spec/lib/gitlab/import_export/uploads_manager_spec.rb + - spec/lib/gitlab/import_export/uploads_saver_spec.rb + - spec/lib/gitlab/import_export/wiki_restorer_spec.rb + - spec/lib/gitlab/lets_encrypt/client_spec.rb + - spec/lib/gitlab/middleware/go_spec.rb + - spec/lib/gitlab/shard_health_cache_spec.rb + - spec/mailers/notify_spec.rb diff --git a/.rubocop_todo/rails/time_zone.yml b/.rubocop_todo/rails/time_zone.yml new file mode 100644 index 00000000000..0e2b036c312 --- /dev/null +++ b/.rubocop_todo/rails/time_zone.yml @@ -0,0 +1,154 @@ +--- +Rails/TimeZone: + Enabled: true + Exclude: + - lib/gitlab/popen.rb + - ee/lib/delay.rb + - ee/lib/gitlab/elastic/helper.rb + - ee/lib/gitlab/elastic/indexer.rb + - ee/lib/gitlab/geo/base_request.rb + - ee/lib/gitlab/geo/event_gap_tracking.rb + - ee/lib/gitlab/geo/log_cursor/events/design_repository_updated_event.rb + - ee/lib/gitlab/geo/log_cursor/events/repository_updated_event.rb + - ee/lib/gitlab/geo/log_cursor/logger.rb + - ee/lib/gitlab/geo/oauth/login_state.rb + - ee/lib/gitlab/prometheus/queries/cluster_query.rb + - ee/lib/gitlab/prometheus/queries/packet_flow_query.rb + - ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb + - ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb + - ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb + - ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb + - ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb + - ee/spec/lib/gitlab/auth/ldap/access_spec.rb + - ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb + - ee/spec/lib/gitlab/auth/smartcard/session_spec.rb + - ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb + - ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb + - ee/spec/lib/gitlab/elastic/client_spec.rb + - ee/spec/lib/gitlab/geo/base_request_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/lfs_object_deleted_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_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_deleted_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/reset_checksum_event_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/logger_spec.rb + - ee/spec/lib/gitlab/git_access_spec.rb + - ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb + - ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb + - ee/spec/lib/gitlab/prometheus/queries/packet_flow_query_spec.rb + - lib/api/helpers.rb + - lib/api/sidekiq_metrics.rb + - lib/backup/manager.rb + - lib/bitbucket_server/representation/base.rb + - lib/gitlab/auth/current_user_mode.rb + - lib/gitlab/auth/ldap/access.rb + - lib/gitlab/chaos.rb + - lib/gitlab/checks/timed_logger.rb + - lib/gitlab/ci/ansi2json/line.rb + - lib/gitlab/ci/pipeline/chain/sequence.rb + - lib/gitlab/ci/pipeline/duration.rb + - lib/gitlab/cycle_analytics/summary/deployment_frequency.rb + - lib/gitlab/database.rb + - lib/gitlab/external_authorization/access.rb + - lib/gitlab/external_authorization/cache.rb + - lib/gitlab/gitaly_client.rb + - lib/gitlab/gitaly_client/ref_service.rb + - lib/gitlab/github_import/representation.rb + - lib/gitlab/grape_logging/loggers/queue_duration_logger.rb + - lib/gitlab/health_checks/base_abstract_check.rb + - lib/gitlab/import_export.rb + - lib/gitlab/instrumentation/elasticsearch_transport.rb + - lib/gitlab/instrumentation/redis_interceptor.rb + - lib/gitlab/instrumentation_helper.rb + - lib/gitlab/kubernetes/helm/certificate.rb + - lib/gitlab/lfs_token.rb + - lib/gitlab/loop_helpers.rb + - lib/gitlab/phabricator_import/representation/task.rb + - lib/gitlab/prometheus/queries/additional_metrics_environment_query.rb + - lib/gitlab/prometheus/queries/matched_metric_query.rb + - lib/gitlab/prometheus_client.rb + - lib/gitlab/sherlock/transaction.rb + - lib/gitlab/task_helpers.rb + - lib/gitlab/x509/tag.rb + - lib/grafana/time_window.rb + - lib/json_web_token/token.rb + - lib/object_storage/direct_upload.rb + - lib/quality/seeders/issues.rb + - tooling/rspec_flaky/flaky_example.rb + - tooling/rspec_flaky/report.rb + - lib/tasks/gitlab/assets.rake + - lib/tasks/gitlab/backup.rake + - lib/tasks/gitlab/cleanup.rake + - lib/tasks/gitlab/list_repos.rake + - spec/lib/api/helpers_spec.rb + - spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb + - spec/lib/gitlab/app_json_logger_spec.rb + - spec/lib/gitlab/app_text_logger_spec.rb + - spec/lib/gitlab/auth/current_user_mode_spec.rb + - spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb + - spec/lib/gitlab/background_migration/wrongfully_confirmed_email_unconfirmer_spec.rb + - spec/lib/gitlab/bitbucket_import/importer_spec.rb + - spec/lib/gitlab/bitbucket_server_import/importer_spec.rb + - spec/lib/gitlab/checks/timed_logger_spec.rb + - spec/lib/gitlab/ci/cron_parser_spec.rb + - spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb + - spec/lib/gitlab/cycle_analytics/usage_data_spec.rb + - spec/lib/gitlab/data_builder/note_spec.rb + - spec/lib/gitlab/database/background_migration_job_spec.rb + - spec/lib/gitlab/database_spec.rb + - spec/lib/gitlab/discussions_diff/file_collection_spec.rb + - spec/lib/gitlab/external_authorization/access_spec.rb + - spec/lib/gitlab/external_authorization/cache_spec.rb + - spec/lib/gitlab/external_authorization/logger_spec.rb + - spec/lib/gitlab/fogbugz_import/importer_spec.rb + - spec/lib/gitlab/git/branch_spec.rb + - spec/lib/gitlab/git/commit_spec.rb + - spec/lib/gitlab/git/repository_spec.rb + - spec/lib/gitlab/git_access_spec.rb + - spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb + - spec/lib/gitlab/github_import/importer/issue_importer_spec.rb + - spec/lib/gitlab/github_import/importer/issues_importer_spec.rb + - spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb + - spec/lib/gitlab/github_import/importer/note_importer_spec.rb + - spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb + - spec/lib/gitlab/github_import/importer/releases_importer_spec.rb + - spec/lib/gitlab/github_import/representation/diff_note_spec.rb + - spec/lib/gitlab/github_import/representation/issue_spec.rb + - spec/lib/gitlab/github_import/representation/note_spec.rb + - spec/lib/gitlab/github_import/representation/pull_request_spec.rb + - spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb + - spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb + - spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb + - spec/lib/gitlab/graphql_logger_spec.rb + - spec/lib/gitlab/graphs/commits_spec.rb + - spec/lib/gitlab/import_export/project/relation_factory_spec.rb + - spec/lib/gitlab/json_logger_spec.rb + - spec/lib/gitlab/lfs_token_spec.rb + - spec/lib/gitlab/log_timestamp_formatter_spec.rb + - spec/lib/gitlab/middleware/rails_queue_duration_spec.rb + - spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb + - spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb + - spec/lib/gitlab/phabricator_import/representation/task_spec.rb + - spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb + - spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb + - spec/lib/gitlab/prometheus/queries/validate_query_spec.rb + - spec/lib/gitlab/sherlock/transaction_spec.rb + - spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb + - spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb + - spec/lib/gitlab/updated_notes_paginator_spec.rb + - spec/lib/gitlab/utils/json_size_estimator_spec.rb + - spec/lib/gitlab/x509/signature_spec.rb + - spec/lib/grafana/time_window_spec.rb + - spec/lib/json_web_token/hmac_token_spec.rb + - spec/tooling/rspec_flaky/flaky_example_spec.rb + - spec/tooling/rspec_flaky/listener_spec.rb + - spec/tooling/rspec_flaky/report_spec.rb diff --git a/.rubocop_todo/rspec/any_instance_of.yml b/.rubocop_todo/rspec/any_instance_of.yml new file mode 100644 index 00000000000..f7a8cfb3968 --- /dev/null +++ b/.rubocop_todo/rspec/any_instance_of.yml @@ -0,0 +1,508 @@ +--- +RSpec/AnyInstanceOf: + Exclude: + - ee/spec/controllers/admin/geo/nodes_controller_spec.rb + - ee/spec/controllers/ee/groups_controller_spec.rb + - ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb + - ee/spec/controllers/groups/epics/notes_controller_spec.rb + - ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb + - ee/spec/controllers/oauth/geo_auth_controller_spec.rb + - ee/spec/controllers/projects/environments_controller_spec.rb + - ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb + - ee/spec/controllers/projects/merge_requests_controller_spec.rb + - ee/spec/controllers/projects/path_locks_controller_spec.rb + - ee/spec/controllers/projects_controller_spec.rb + - ee/spec/controllers/subscriptions_controller_spec.rb + - ee/spec/controllers/trials_controller_spec.rb + - ee/spec/features/admin/admin_audit_logs_spec.rb + - ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb + - ee/spec/features/admin/admin_users_spec.rb + - ee/spec/features/boards/scoped_issue_board_spec.rb + - ee/spec/features/ci_shared_runner_warnings_spec.rb + - ee/spec/features/groups/group_settings_spec.rb + - ee/spec/features/groups/navbar_spec.rb + - ee/spec/features/groups/saml_providers_spec.rb + - ee/spec/features/issues/form_spec.rb + - ee/spec/features/merge_request/user_creates_merge_request_spec.rb + - ee/spec/features/projects/new_project_spec.rb + - ee/spec/features/registrations/welcome_spec.rb + - ee/spec/features/security/project/internal_access_spec.rb + - ee/spec/features/security/project/private_access_spec.rb + - ee/spec/features/security/project/public_access_spec.rb + - ee/spec/features/trials/capture_lead_spec.rb + - ee/spec/features/trials/select_namespace_spec.rb + - ee/spec/features/users/login_spec.rb + - ee/spec/graphql/mutations/dast_on_demand_scans/create_spec.rb + - ee/spec/graphql/mutations/incident_management/oncall_schedule/create_spec.rb + - ee/spec/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb + - ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb + - ee/spec/helpers/application_helper_spec.rb + - ee/spec/lib/ee/api/helpers_spec.rb + - ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb + - ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb + - ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb + - ee/spec/lib/gitlab/auth/group_saml/membership_enforcer_spec.rb + - ee/spec/lib/gitlab/auth/ldap/access_spec.rb + - ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/container_scanning_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/license_scanning_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb + - ee/spec/lib/gitlab/elastic/project_search_results_spec.rb + - ee/spec/lib/gitlab/expiring_subscription_message_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb + - ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb + - ee/spec/lib/omni_auth/strategies/group_saml_spec.rb + - ee/spec/lib/security/ci_configuration/sast_build_actions_spec.rb + - ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb + - ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb + - ee/spec/migrations/update_location_fingerprint_column_for_cs_spec.rb + - ee/spec/migrations/update_occurrence_severity_column_spec.rb + - ee/spec/migrations/update_undefined_confidence_from_occurrences_spec.rb + - ee/spec/migrations/update_undefined_confidence_from_vulnerabilities_spec.rb + - ee/spec/migrations/update_vulnerability_severity_column_spec.rb + - ee/spec/models/ee/namespace_spec.rb + - ee/spec/models/geo_node_status_spec.rb + - ee/spec/models/issue_spec.rb + - ee/spec/models/merge_request_spec.rb + - ee/spec/models/project_import_state_spec.rb + - ee/spec/models/push_rule_spec.rb + - ee/spec/presenters/ci/pipeline_presenter_spec.rb + - ee/spec/presenters/projects/security/configuration_presenter_spec.rb + - ee/spec/requests/api/geo_nodes_spec.rb + - ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb + - ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb + - ee/spec/requests/api/graphql/mutations/pipelines/run_dast_scan_spec.rb + - ee/spec/requests/api/issues_spec.rb + - ee/spec/requests/api/projects_spec.rb + - ee/spec/requests/git_http_spec.rb + - ee/spec/requests/groups_controller_spec.rb + - ee/spec/requests/omniauth_kerberos_spnego_spec.rb + - ee/spec/requests/repositories/git_http_controller_spec.rb + - ee/spec/services/alert_management/network_alert_service_spec.rb + - ee/spec/services/ci/expire_pipeline_cache_service_spec.rb + - ee/spec/services/ci/run_dast_scan_service_spec.rb + - ee/spec/services/ee/git/branch_push_service_spec.rb + - ee/spec/services/ee/merge_requests/create_from_vulnerability_data_service_spec.rb + - ee/spec/services/ee/merge_requests/refresh_service_spec.rb + - ee/spec/services/ee/security/ingress_modsecurity_usage_service_spec.rb + - ee/spec/services/ee/users/create_service_spec.rb + - ee/spec/services/ee/users/destroy_service_spec.rb + - ee/spec/services/geo/container_repository_sync_service_spec.rb + - ee/spec/services/geo/design_repository_sync_service_spec.rb + - ee/spec/services/geo/framework_repository_sync_service_spec.rb + - ee/spec/services/geo/hashed_storage_migration_service_spec.rb + - ee/spec/services/geo/metrics_update_service_spec.rb + - ee/spec/services/geo/move_repository_service_spec.rb + - ee/spec/services/geo/project_housekeeping_service_spec.rb + - ee/spec/services/geo/rename_repository_service_spec.rb + - ee/spec/services/geo/repository_destroy_service_spec.rb + - ee/spec/services/geo/repository_sync_service_spec.rb + - ee/spec/services/geo/wiki_sync_service_spec.rb + - ee/spec/services/groups/destroy_service_spec.rb + - ee/spec/services/groups/update_service_spec.rb + - ee/spec/services/merge_trains/check_status_service_spec.rb + - ee/spec/services/network_policies/resources_service_spec.rb + - ee/spec/services/projects/destroy_service_spec.rb + - ee/spec/services/projects/group_links/destroy_service_spec.rb + - ee/spec/services/projects/update_service_spec.rb + - ee/spec/services/slash_commands/global_slack_handler_spec.rb + - ee/spec/support/helpers/ee/stub_configuration.rb + - ee/spec/support/shared_examples/controllers/analytics/cycle_analytics/shared_stage_shared_examples.rb + - ee/spec/support/shared_examples/features/ultimate_trial_callout_shared_examples.rb + - ee/spec/support/shared_examples/lib/gitlab/geo/geo_logs_event_source_info_shared_examples.rb + - ee/spec/support/shared_examples/models/member_shared_examples.rb + - ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb + - ee/spec/support/shared_examples/services/geo/geo_request_service_shared_examples.rb + - ee/spec/workers/build_finished_worker_spec.rb + - ee/spec/workers/concerns/elastic/indexing_control_spec.rb + - ee/spec/workers/elastic_commit_indexer_worker_spec.rb + - ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb + - ee/spec/workers/geo/file_download_dispatch_worker_spec.rb + - ee/spec/workers/geo/registry_sync_worker_spec.rb + - ee/spec/workers/geo/repository_cleanup_worker_spec.rb + - ee/spec/workers/geo/repository_shard_sync_worker_spec.rb + - ee/spec/workers/project_cache_worker_spec.rb + - ee/spec/workers/repository_import_worker_spec.rb + - ee/spec/workers/vulnerability_exports/export_deletion_worker_spec.rb + - qa/spec/runtime/release_spec.rb + - spec/controllers/admin/sessions_controller_spec.rb + - spec/controllers/application_controller_spec.rb + - spec/controllers/concerns/issuable_actions_spec.rb + - spec/controllers/concerns/static_object_external_storage_spec.rb + - spec/controllers/explore/projects_controller_spec.rb + - spec/controllers/groups/clusters_controller_spec.rb + - spec/controllers/groups/settings/ci_cd_controller_spec.rb + - spec/controllers/groups_controller_spec.rb + - spec/controllers/import/bitbucket_controller_spec.rb + - spec/controllers/oauth/jira/authorizations_controller_spec.rb + - spec/controllers/omniauth_callbacks_controller_spec.rb + - spec/controllers/projects/artifacts_controller_spec.rb + - spec/controllers/projects/branches_controller_spec.rb + - spec/controllers/projects/clusters_controller_spec.rb + - spec/controllers/projects/commit_controller_spec.rb + - spec/controllers/projects/commits_controller_spec.rb + - spec/controllers/projects/environments_controller_spec.rb + - spec/controllers/projects/imports_controller_spec.rb + - spec/controllers/projects/issues_controller_spec.rb + - spec/controllers/projects/jobs_controller_spec.rb + - spec/controllers/projects/labels_controller_spec.rb + - spec/controllers/projects/merge_requests_controller_spec.rb + - spec/controllers/projects/pipelines_controller_spec.rb + - spec/controllers/projects/service_hook_logs_controller_spec.rb + - spec/controllers/projects/services_controller_spec.rb + - spec/controllers/projects/tags_controller_spec.rb + - spec/controllers/registrations/experience_levels_controller_spec.rb + - spec/controllers/registrations_controller_spec.rb + - spec/controllers/sessions_controller_spec.rb + - spec/controllers/snippets/notes_controller_spec.rb + - spec/controllers/snippets_controller_spec.rb + - spec/features/admin/admin_mode/login_spec.rb + - spec/features/groups/clusters/eks_spec.rb + - spec/features/groups/members/tabs_spec.rb + - spec/features/ide/static_object_external_storage_csp_spec.rb + - spec/features/issuables/issuable_list_spec.rb + - spec/features/issues/form_spec.rb + - spec/features/merge_request/user_creates_image_diff_notes_spec.rb + - spec/features/merge_request/user_reviews_image_spec.rb + - spec/features/merge_request/user_sees_diff_spec.rb + - spec/features/merge_request/user_sees_merge_widget_spec.rb + - spec/features/profiles/personal_access_tokens_spec.rb + - spec/features/projects/clusters/gcp_spec.rb + - spec/features/projects/clusters_spec.rb + - spec/features/projects/container_registry_spec.rb + - spec/features/projects/files/user_browses_lfs_files_spec.rb + - spec/features/projects/jobs_spec.rb + - spec/features/projects/navbar_spec.rb + - spec/features/projects/pages_spec.rb + - spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb + - spec/features/projects/settings/service_desk_setting_spec.rb + - spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb + - spec/features/snippets/embedded_snippet_spec.rb + - spec/features/usage_stats_consent_spec.rb + - spec/finders/prometheus_metrics_finder_spec.rb + - spec/graphql/mutations/alert_management/create_alert_issue_spec.rb + - spec/graphql/mutations/alert_management/http_integration/create_spec.rb + - spec/graphql/mutations/alert_management/http_integration/destroy_spec.rb + - spec/graphql/mutations/alert_management/http_integration/reset_token_spec.rb + - spec/graphql/mutations/alert_management/http_integration/update_spec.rb + - spec/graphql/mutations/alert_management/prometheus_integration/create_spec.rb + - spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb + - spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb + - spec/helpers/analytics/unique_visits_helper_spec.rb + - spec/helpers/projects_helper_spec.rb + - spec/initializers/lograge_spec.rb + - spec/lib/api/entities/merge_request_basic_spec.rb + - spec/lib/api/entities/merge_request_changes_spec.rb + - spec/lib/api/helpers_spec.rb + - spec/lib/backup/files_spec.rb + - spec/lib/backup/manager_spec.rb + - spec/lib/banzai/commit_renderer_spec.rb + - spec/lib/banzai/filter/references/external_issue_reference_filter_spec.rb + - spec/lib/banzai/filter/references/issue_reference_filter_spec.rb + - spec/lib/banzai/filter/repository_link_filter_spec.rb + - spec/lib/banzai/pipeline/gfm_pipeline_spec.rb + - spec/lib/extracts_ref_spec.rb + - spec/lib/feature_spec.rb + - spec/lib/gitlab/app_logger_spec.rb + - spec/lib/gitlab/asciidoc_spec.rb + - spec/lib/gitlab/auth/auth_finders_spec.rb + - spec/lib/gitlab/auth/blocked_user_tracker_spec.rb + - spec/lib/gitlab/auth/request_authenticator_spec.rb + - spec/lib/gitlab/auth_spec.rb + - spec/lib/gitlab/background_migration/populate_personal_snippet_statistics_spec.rb + - spec/lib/gitlab/background_migration/populate_project_snippet_statistics_spec.rb + - spec/lib/gitlab/checks/diff_check_spec.rb + - spec/lib/gitlab/checks/lfs_check_spec.rb + - spec/lib/gitlab/checks/lfs_integrity_spec.rb + - spec/lib/gitlab/ci/config/external/file/base_spec.rb + - spec/lib/gitlab/ci/config/external/file/local_spec.rb + - spec/lib/gitlab/ci/config/external/processor_spec.rb + - spec/lib/gitlab/ci/pipeline/chain/build_spec.rb + - spec/lib/gitlab/ci/pipeline/chain/command_spec.rb + - spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/templates/npm_spec.rb + - spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb + - spec/lib/gitlab/ci/trace_spec.rb + - spec/lib/gitlab/current_settings_spec.rb + - spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb + - spec/lib/gitlab/database/multi_threaded_migration_spec.rb + - spec/lib/gitlab/diff/highlight_cache_spec.rb + - spec/lib/gitlab/diff/highlight_spec.rb + - spec/lib/gitlab/diff/position_spec.rb + - spec/lib/gitlab/email/handler/create_issue_handler_spec.rb + - spec/lib/gitlab/email/handler/create_note_handler_spec.rb + - spec/lib/gitlab/etag_caching/middleware_spec.rb + - spec/lib/gitlab/exclusive_lease_helpers_spec.rb + - spec/lib/gitlab/fogbugz_import/importer_spec.rb + - spec/lib/gitlab/gfm/reference_rewriter_spec.rb + - spec/lib/gitlab/git/repository_spec.rb + - spec/lib/gitlab/gitaly_client/blob_service_spec.rb + - spec/lib/gitlab/gitaly_client/commit_service_spec.rb + - spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb + - spec/lib/gitlab/gitaly_client/health_check_service_spec.rb + - spec/lib/gitlab/gitaly_client/operation_service_spec.rb + - spec/lib/gitlab/gitaly_client/praefect_info_service_spec.rb + - spec/lib/gitlab/gitaly_client/ref_service_spec.rb + - spec/lib/gitlab/gitaly_client/remote_service_spec.rb + - spec/lib/gitlab/gitaly_client/repository_service_spec.rb + - spec/lib/gitlab/gitaly_client/wiki_service_spec.rb + - spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb + - spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb + - spec/lib/gitlab/hashed_storage/migrator_spec.rb + - spec/lib/gitlab/import/merge_request_helpers_spec.rb + - spec/lib/gitlab/import_export/config_spec.rb + - spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb + - spec/lib/gitlab/import_export/importer_spec.rb + - spec/lib/gitlab/import_export/lfs_restorer_spec.rb + - spec/lib/gitlab/import_export/project/tree_restorer_spec.rb + - spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb + - spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb + - spec/lib/gitlab/import_export/version_checker_spec.rb + - spec/lib/gitlab/job_waiter_spec.rb + - spec/lib/gitlab/legacy_github_import/importer_spec.rb + - spec/lib/gitlab/legacy_github_import/project_creator_spec.rb + - spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb + - spec/lib/gitlab/metrics/rack_middleware_spec.rb + - spec/lib/gitlab/metrics/subscribers/active_record_spec.rb + - spec/lib/gitlab/metrics_spec.rb + - spec/lib/gitlab/patch/action_dispatch_journey_formatter_spec.rb + - spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb + - spec/lib/gitlab/sidekiq_middleware_spec.rb + - spec/lib/gitlab/tracking/destinations/product_analytics_spec.rb + - spec/lib/gitlab/tracking/destinations/snowplow_spec.rb + - spec/lib/gitlab/tracking_spec.rb + - spec/lib/gitlab/usage_data_spec.rb + - spec/lib/gitlab/workhorse_spec.rb + - spec/lib/gitlab/x509/commit_spec.rb + - spec/lib/gitlab/x509/signature_spec.rb + - spec/lib/google_api/cloud_platform/client_spec.rb + - spec/lib/json_web_token/rsa_token_spec.rb + - spec/lib/mattermost/command_spec.rb + - spec/lib/mattermost/team_spec.rb + - spec/lib/system_check/simple_executor_spec.rb + - spec/models/ci/build_spec.rb + - spec/models/ci/runner_spec.rb + - spec/models/commit_spec.rb + - spec/models/environment_spec.rb + - spec/models/group_spec.rb + - spec/models/hooks/service_hook_spec.rb + - spec/models/hooks/system_hook_spec.rb + - spec/models/hooks/web_hook_spec.rb + - spec/models/integrations/jira_spec.rb + - spec/models/integrations/mattermost_slash_commands_spec.rb + - spec/models/issue_spec.rb + - spec/models/key_spec.rb + - spec/models/member_spec.rb + - spec/models/merge_request_diff_spec.rb + - spec/models/merge_request_spec.rb + - spec/models/note_spec.rb + - spec/models/project_import_state_spec.rb + - spec/models/project_spec.rb + - spec/models/repository_spec.rb + - spec/models/user_spec.rb + - spec/models/x509_certificate_spec.rb + - spec/policies/ci/build_policy_spec.rb + - spec/policies/ci/pipeline_policy_spec.rb + - spec/presenters/gitlab/blame_presenter_spec.rb + - spec/presenters/merge_request_presenter_spec.rb + - spec/requests/api/ci/runner/jobs_artifacts_spec.rb + - spec/requests/api/ci/runner/jobs_put_spec.rb + - spec/requests/api/ci/runner/jobs_request_post_spec.rb + - spec/requests/api/ci/runner/jobs_trace_spec.rb + - spec/requests/api/ci/runner/runners_delete_spec.rb + - spec/requests/api/ci/runner/runners_post_spec.rb + - spec/requests/api/ci/runner/runners_verify_post_spec.rb + - spec/requests/api/graphql/gitlab_schema_spec.rb + - spec/requests/api/graphql/project/error_tracking/sentry_detailed_error_request_spec.rb + - spec/requests/api/graphql_spec.rb + - spec/requests/api/helpers_spec.rb + - spec/requests/api/internal/base_spec.rb + - spec/requests/api/maven_packages_spec.rb + - spec/requests/api/merge_requests_spec.rb + - spec/requests/api/pages/pages_spec.rb + - spec/requests/api/project_export_spec.rb + - spec/requests/api/project_import_spec.rb + - spec/requests/api/projects_spec.rb + - spec/requests/api/snippets_spec.rb + - spec/requests/api/todos_spec.rb + - spec/requests/git_http_spec.rb + - spec/requests/import/gitlab_projects_controller_spec.rb + - spec/routing/routing_spec.rb + - spec/serializers/analytics_stage_serializer_spec.rb + - spec/serializers/merge_request_poll_cached_widget_entity_spec.rb + - spec/serializers/merge_request_poll_widget_entity_spec.rb + - spec/services/application_settings/update_service_spec.rb + - spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb + - spec/services/boards/lists/update_service_spec.rb + - spec/services/ci/create_pipeline_service_spec.rb + - spec/services/ci/destroy_expired_job_artifacts_service_spec.rb + - spec/services/ci/expire_pipeline_cache_service_spec.rb + - spec/services/ci/list_config_variables_service_spec.rb + - spec/services/ci/register_job_service_spec.rb + - spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb + - spec/services/ci/retry_build_service_spec.rb + - spec/services/ci/retry_pipeline_service_spec.rb + - spec/services/ci/stop_environments_service_spec.rb + - spec/services/clusters/applications/create_service_spec.rb + - spec/services/clusters/cleanup/project_namespace_service_spec.rb + - spec/services/clusters/cleanup/service_account_service_spec.rb + - spec/services/deployments/older_deployments_drop_service_spec.rb + - spec/services/deployments/update_environment_service_spec.rb + - spec/services/draft_notes/destroy_service_spec.rb + - spec/services/events/render_service_spec.rb + - spec/services/git/branch_push_service_spec.rb + - spec/services/git/process_ref_changes_service_spec.rb + - spec/services/groups/create_service_spec.rb + - spec/services/groups/update_service_spec.rb + - spec/services/integrations/test/project_service_spec.rb + - spec/services/issuable/destroy_service_spec.rb + - spec/services/issues/close_service_spec.rb + - spec/services/issues/reopen_service_spec.rb + - spec/services/members/destroy_service_spec.rb + - spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb + - spec/services/merge_requests/build_service_spec.rb + - spec/services/merge_requests/merge_service_spec.rb + - spec/services/merge_requests/mergeability_check_service_spec.rb + - spec/services/merge_requests/refresh_service_spec.rb + - spec/services/merge_requests/reload_diffs_service_spec.rb + - spec/services/merge_requests/resolved_discussion_notification_service_spec.rb + - spec/services/metrics/dashboard/custom_dashboard_service_spec.rb + - spec/services/metrics/dashboard/transient_embed_service_spec.rb + - spec/services/notes/create_service_spec.rb + - spec/services/notes/render_service_spec.rb + - spec/services/packages/conan/create_package_file_service_spec.rb + - 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 + - spec/services/projects/container_repository/delete_tags_service_spec.rb + - spec/services/projects/container_repository/gitlab/delete_tags_service_spec.rb + - spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb + - spec/services/projects/destroy_service_spec.rb + - spec/services/projects/fork_service_spec.rb + - spec/services/projects/import_service_spec.rb + - spec/services/projects/lfs_pointers/lfs_download_service_spec.rb + - spec/services/projects/lfs_pointers/lfs_object_download_list_service_spec.rb + - spec/services/projects/prometheus/alerts/notify_service_spec.rb + - spec/services/projects/transfer_service_spec.rb + - spec/services/projects/update_remote_mirror_service_spec.rb + - spec/services/projects/update_service_spec.rb + - spec/services/projects/update_statistics_service_spec.rb + - spec/services/resource_events/change_labels_service_spec.rb + - spec/services/search_service_spec.rb + - spec/services/snippets/create_service_spec.rb + - spec/services/test_hooks/project_service_spec.rb + - spec/services/test_hooks/system_service_spec.rb + - spec/services/todo_service_spec.rb + - spec/services/users/destroy_service_spec.rb + - spec/services/users/migrate_to_ghost_user_service_spec.rb + - spec/spec_helper.rb + - spec/support/capybara.rb + - spec/support/helpers/api_helpers.rb + - spec/support/helpers/graphql_helpers.rb + - spec/support/helpers/ldap_helpers.rb + - spec/support/helpers/login_helpers.rb + - spec/support/helpers/metrics_dashboard_url_helpers.rb + - spec/support/helpers/rake_helpers.rb + - spec/support/helpers/stub_configuration.rb + - spec/support/helpers/stub_gitlab_calls.rb + - spec/support/helpers/test_env.rb + - spec/support/import_export/common_util.rb + - spec/support/services/migrate_to_ghost_user_service_shared_examples.rb + - spec/support/shared_contexts/email_shared_context.rb + - spec/support/shared_contexts/services/projects/container_repository/delete_tags_service_shared_context.rb + - spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb + - spec/support/shared_examples/controllers/issuable_notes_filter_shared_examples.rb + - spec/support/shared_examples/controllers/issuables_requiring_filter_shared_examples.rb + - spec/support/shared_examples/controllers/repository_lfs_file_load_shared_examples.rb + - spec/support/shared_examples/controllers/set_sort_order_from_user_preference_shared_examples.rb + - spec/support/shared_examples/controllers/unique_visits_shared_examples.rb + - spec/support/shared_examples/controllers/update_invalid_issuable_shared_examples.rb + - spec/support/shared_examples/controllers/uploads_actions_shared_examples.rb + - spec/support/shared_examples/features/archive_download_buttons_shared_examples.rb + - spec/support/shared_examples/features/snippets_shared_examples.rb + - spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb + - spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb + - spec/support/shared_examples/models/diff_note_after_commit_shared_examples.rb + - spec/support/shared_examples/models/integrations/base_slash_commands_shared_examples.rb + - spec/support/shared_examples/models/mentionable_shared_examples.rb + - spec/support/shared_examples/models/with_uploads_shared_examples.rb + - spec/support/shared_examples/path_extraction_shared_examples.rb + - spec/support/shared_examples/requests/api/discussions_shared_examples.rb + - spec/support/shared_examples/requests/api/snippets_shared_examples.rb + - spec/support/shared_examples/requests/rack_attack_shared_examples.rb + - spec/support/shared_examples/requests/snippet_shared_examples.rb + - spec/support/shared_examples/services/alert_management_shared_examples.rb + - spec/support/shared_examples/services/boards/boards_list_service_shared_examples.rb + - spec/support/shared_examples/services/boards/issues_list_service_shared_examples.rb + - spec/support/shared_examples/services/boards/issues_move_service_shared_examples.rb + - spec/support/shared_examples/services/issuable_shared_examples.rb + - spec/support/shared_examples/uploaders/object_storage_shared_examples.rb + - spec/support/shared_examples/workers/authorized_projects_worker_shared_example.rb + - spec/support/shared_examples/workers/reactive_cacheable_shared_examples.rb + - spec/support/snowplow.rb + - spec/tasks/gitlab/cleanup_rake_spec.rb + - spec/tasks/gitlab/container_registry_rake_spec.rb + - spec/tasks/gitlab/db_rake_spec.rb + - spec/tasks/gitlab/git_rake_spec.rb + - spec/tasks/gitlab/praefect_rake_spec.rb + - spec/tasks/gitlab/shell_rake_spec.rb + - spec/tasks/gitlab/x509/update_rake_spec.rb + - spec/uploaders/file_mover_spec.rb + - spec/uploaders/records_uploads_spec.rb + - spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb + - spec/views/layouts/_head.html.haml_spec.rb + - spec/views/projects/artifacts/_artifact.html.haml_spec.rb + - spec/workers/archive_trace_worker_spec.rb + - spec/workers/build_coverage_worker_spec.rb + - spec/workers/build_hooks_worker_spec.rb + - spec/workers/build_trace_sections_worker_spec.rb + - spec/workers/ci/build_schedule_worker_spec.rb + - spec/workers/ci/daily_build_group_report_results_worker_spec.rb + - spec/workers/cluster_configure_istio_worker_spec.rb + - spec/workers/cluster_provision_worker_spec.rb + - spec/workers/clusters/cleanup/project_namespace_worker_spec.rb + - spec/workers/clusters/cleanup/service_account_worker_spec.rb + - spec/workers/concerns/project_import_options_spec.rb + - spec/workers/create_commit_signature_worker_spec.rb + - spec/workers/create_note_diff_file_worker_spec.rb + - spec/workers/delete_diff_files_worker_spec.rb + - spec/workers/email_receiver_worker_spec.rb + - spec/workers/emails_on_push_worker_spec.rb + - spec/workers/error_tracking_issue_link_worker_spec.rb + - spec/workers/expire_pipeline_cache_worker_spec.rb + - spec/workers/group_export_worker_spec.rb + - spec/workers/group_import_worker_spec.rb + - spec/workers/namespaceless_project_destroy_worker_spec.rb + - spec/workers/namespaces/root_statistics_worker_spec.rb + - spec/workers/new_note_worker_spec.rb + - spec/workers/object_pool/create_worker_spec.rb + - spec/workers/packages/nuget/extraction_worker_spec.rb + - spec/workers/pages_remove_worker_spec.rb + - spec/workers/pipeline_hooks_worker_spec.rb + - spec/workers/pipeline_process_worker_spec.rb + - spec/workers/pipeline_schedule_worker_spec.rb + - spec/workers/project_cache_worker_spec.rb + - spec/workers/stage_update_worker_spec.rb + - spec/workers/stuck_ci_jobs_worker_spec.rb + - spec/workers/wait_for_cluster_creation_worker_spec.rb + - ee/spec/workers/security/auto_fix_worker_spec.rb diff --git a/.rubocop_todo/rspec/timecop_freeze.yml b/.rubocop_todo/rspec/timecop_freeze.yml new file mode 100644 index 00000000000..0e2f4ea5dfe --- /dev/null +++ b/.rubocop_todo/rspec/timecop_freeze.yml @@ -0,0 +1,80 @@ +--- +RSpec/TimecopFreeze: + Exclude: + - ee/spec/controllers/admin/application_settings_controller_spec.rb + - ee/spec/controllers/projects/security/network_policies_controller_spec.rb + - ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb + - ee/spec/features/boards/sidebar_spec.rb + - ee/spec/features/groups/analytics/cycle_analytics/filters_and_data_spec.rb + - ee/spec/features/groups/iteration_spec.rb + - ee/spec/features/projects/mirror_spec.rb + - ee/spec/features/projects/services/prometheus_custom_metrics_spec.rb + - ee/spec/finders/productivity_analytics_finder_spec.rb + - ee/spec/frontend/fixtures/analytics.rb + - ee/spec/helpers/vulnerabilities_helper_spec.rb + - ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb + - ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb + - ee/spec/lib/ee/gitlab/background_migration/populate_vulnerability_historical_statistics_spec.rb + - ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb + - ee/spec/lib/gitlab/analytics/cycle_analytics/group_stage_time_summary_spec.rb + - ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb + - ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb + - ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb + - ee/spec/lib/gitlab/geo/base_request_spec.rb + - ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb + - ee/spec/lib/gitlab/geo/git_push_http_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb + - ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb + - ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb + - ee/spec/lib/gitlab/prometheus/queries/additional_metrics_environment_query_spec.rb + - ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb + - ee/spec/migrations/populate_vulnerability_historical_statistics_for_year_spec.rb + - ee/spec/migrations/remove_duplicated_cs_findings_spec.rb + - ee/spec/migrations/remove_duplicated_cs_findings_without_vulnerability_id_spec.rb + - ee/spec/migrations/schedule_fix_orphan_promoted_issues_spec.rb + - ee/spec/migrations/schedule_merge_request_any_approval_rule_migration_spec.rb + - ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb + - ee/spec/migrations/schedule_populate_vulnerability_historical_statistics_spec.rb + - ee/spec/migrations/schedule_project_any_approval_rule_migration_spec.rb + - ee/spec/migrations/set_resolved_state_on_vulnerabilities_spec.rb + - ee/spec/migrations/20190926180443_schedule_epic_issues_after_epics_move_spec.rb + - ee/spec/models/analytics/cycle_analytics/group_level_spec.rb + - ee/spec/models/burndown_spec.rb + - ee/spec/models/ee/namespace_spec.rb + - ee/spec/models/geo/project_registry_spec.rb + - ee/spec/models/merge_train_spec.rb + - ee/spec/models/productivity_analytics_spec.rb + - ee/spec/models/project_spec.rb + - ee/spec/models/vulnerabilities/export_spec.rb + - ee/spec/requests/api/vulnerabilities_spec.rb + - ee/spec/services/geo/file_download_service_spec.rb + - ee/spec/services/vulnerabilities/confirm_service_spec.rb + - ee/spec/services/vulnerabilities/dismiss_service_spec.rb + - ee/spec/services/vulnerabilities/resolve_service_spec.rb + - ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb + - ee/spec/services/vulnerability_exports/export_service_spec.rb + - ee/spec/support/shared_contexts/lib/gitlab/insights/reducers/reducers_shared_contexts.rb + - qa/spec/support/repeater_spec.rb + - spec/features/users/active_sessions_spec.rb + - spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb + - spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb + - spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb + - spec/lib/gitlab/auth/unique_ips_limiter_spec.rb + - spec/lib/gitlab/checks/timed_logger_spec.rb + - spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb + - spec/lib/gitlab/cycle_analytics/usage_data_spec.rb + - spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb + - spec/lib/gitlab/puma_logging/json_formatter_spec.rb + - spec/lib/json_web_token/hmac_token_spec.rb + - spec/tooling/rspec_flaky/flaky_example_spec.rb + - spec/tooling/rspec_flaky/listener_spec.rb + - spec/models/active_session_spec.rb + - spec/serializers/entity_date_helper_spec.rb + - spec/support/cycle_analytics_helpers/test_generation.rb + - spec/support/helpers/cycle_analytics_helpers.rb + - spec/support/helpers/javascript_fixtures_helpers.rb + - spec/support/shared_contexts/rack_attack_shared_context.rb + - spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb + - spec/workers/concerns/reenqueuer_spec.rb + - spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb diff --git a/.rubocop_todo/rspec/timecop_travel.yml b/.rubocop_todo/rspec/timecop_travel.yml new file mode 100644 index 00000000000..29044236deb --- /dev/null +++ b/.rubocop_todo/rspec/timecop_travel.yml @@ -0,0 +1,21 @@ +--- +RSpec/TimecopTravel: + Exclude: + - ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb + - ee/spec/lib/gitlab/geo/git_push_http_spec.rb + - ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb + - ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb + - ee/spec/models/broadcast_message_spec.rb + - ee/spec/models/burndown_spec.rb + - qa/spec/support/repeater_spec.rb + - spec/features/users/terms_spec.rb + - spec/lib/feature_spec.rb + - spec/models/broadcast_message_spec.rb + - spec/models/concerns/issuable_spec.rb + - spec/requests/api/ci/runner/jobs_trace_spec.rb + - spec/requests/api/issues/put_projects_issues_spec.rb + - spec/support/shared_contexts/cache_allowed_users_in_namespace_shared_context.rb + - spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb + - spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb + - spec/workers/concerns/reenqueuer_spec.rb + - spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb diff --git a/.rubocop_todo/style/open_struct_use.yml b/.rubocop_todo/style/open_struct_use.yml new file mode 100644 index 00000000000..f149f8e9f35 --- /dev/null +++ b/.rubocop_todo/style/open_struct_use.yml @@ -0,0 +1,55 @@ +--- +Style/OpenStructUse: + Exclude: + - app/helpers/application_settings_helper.rb + - ee/spec/db/production/license_spec.rb + - ee/spec/features/projects/new_project_spec.rb + - ee/spec/finders/template_finder_spec.rb + - ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb + - ee/spec/helpers/ee/blob_helper_spec.rb + - ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb + - ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb + - lib/api/wikis.rb + - lib/gitlab/git/diff_collection.rb + - lib/gitlab/import_export/after_export_strategies/base_after_export_strategy.rb + - lib/gitlab/testing/request_inspector_middleware.rb + - lib/mattermost/session.rb + - spec/controllers/admin/clusters_controller_spec.rb + - spec/controllers/groups/clusters_controller_spec.rb + - spec/controllers/import/fogbugz_controller_spec.rb + - spec/controllers/import/gitlab_controller_spec.rb + - spec/controllers/projects/clusters_controller_spec.rb + - spec/dependencies/omniauth_saml_spec.rb + - spec/factories/go_module_versions.rb + - spec/factories/wiki_pages.rb + - spec/features/projects/clusters/gcp_spec.rb + - spec/features/projects/clusters_spec.rb + - spec/finders/template_finder_spec.rb + - spec/graphql/mutations/branches/create_spec.rb + - spec/graphql/mutations/clusters/agent_tokens/create_spec.rb + - spec/graphql/mutations/clusters/agents/create_spec.rb + - spec/graphql/mutations/clusters/agents/delete_spec.rb + - spec/graphql/mutations/commits/create_spec.rb + - spec/helpers/application_settings_helper_spec.rb + - spec/helpers/profiles_helper_spec.rb + - spec/initializers/doorkeeper_spec.rb + - spec/lib/gitlab/auth/o_auth/provider_spec.rb + - spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb + - spec/lib/gitlab/database/migrations/runner_spec.rb + - spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb + - spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb + - spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb + - spec/lib/gitlab/legacy_github_import/project_creator_spec.rb + - spec/lib/gitlab/quick_actions/command_definition_spec.rb + - spec/models/design_management/design_action_spec.rb + - spec/models/design_management/design_at_version_spec.rb + - spec/models/user_spec.rb + - spec/presenters/packages/nuget/search_results_presenter_spec.rb + - spec/services/packages/nuget/metadata_extraction_service_spec.rb + - spec/services/projects/import_service_spec.rb + - spec/services/system_note_service_spec.rb + - spec/support/helpers/import_spec_helper.rb + - spec/support/helpers/login_helpers.rb + - spec/support/helpers/repo_helpers.rb + - spec/tooling/rspec_flaky/flaky_example_spec.rb + - tooling/rspec_flaky/flaky_example.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index e69cc72348f..efd54c94ed4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 14.5.1 (2021-12-01) + +### Fixed (4 changes) + +- [Check validation for license only if new record](gitlab-org/gitlab@3e34c2dc431a2b1c1828f5154a4d2be350359b16) ([merge request](gitlab-org/gitlab!75498)) **GitLab Enterprise Edition** +- [Fix for hexadecimal branch deletion](gitlab-org/gitlab@eb74cd44edac0c16c44aa11d710b742586c31741) ([merge request](gitlab-org/gitlab!75498)) +- [Fix the SSL_CERT_DIR logging on git operations](gitlab-org/gitlab@6ef3b63ad5e58baa0e0e0a922fe43a2fb4494508) ([merge request](gitlab-org/gitlab!75498)) +- [Support Action Cable on GCP Memorystore](gitlab-org/gitlab@d62aa5bcbad5851209a9d248ca267d0c46d1e7c9) ([merge request](gitlab-org/gitlab!75498)) + ## 14.5.0 (2021-11-19) ### Added (113 changes) diff --git a/app/assets/javascripts/admin/users/components/actions/approve.vue b/app/assets/javascripts/admin/users/components/actions/approve.vue index ff1ac5a0995..5a8c675822d 100644 --- a/app/assets/javascripts/admin/users/components/actions/approve.vue +++ b/app/assets/javascripts/admin/users/components/actions/approve.vue @@ -46,7 +46,6 @@ export default { attributes: [{ variant: 'confirm', 'data-qa-selector': 'approve_user_confirm_button' }], }, messageHtml, - 'data-qa-selector': 'approve_user_button', }, }); }, @@ -55,7 +54,7 @@ export default { diff --git a/app/assets/javascripts/behaviors/shortcuts/shortcuts_issuable.js b/app/assets/javascripts/behaviors/shortcuts/shortcuts_issuable.js index c2908133fd0..e4e04123ebc 100644 --- a/app/assets/javascripts/behaviors/shortcuts/shortcuts_issuable.js +++ b/app/assets/javascripts/behaviors/shortcuts/shortcuts_issuable.js @@ -3,6 +3,7 @@ import Mousetrap from 'mousetrap'; import { clickCopyToClipboardButton } from '~/behaviors/copy_to_clipboard'; import { getSelectedFragment } from '~/lib/utils/common_utils'; import { isElementVisible } from '~/lib/utils/dom_utils'; +import { DEBOUNCE_DROPDOWN_DELAY } from '~/vue_shared/components/sidebar/labels_select_widget/constants'; import Sidebar from '../../right_sidebar'; import { CopyAsGFM } from '../markdown/copy_as_gfm'; import { @@ -114,6 +115,11 @@ export default class ShortcutsIssuable extends Shortcuts { static openSidebarDropdown(name) { Sidebar.instance.openDropdown(name); + // Wait for the sidebar to trigger('click') open + // so it doesn't cause our dropdown to close preemptively + setTimeout(() => { + document.querySelector(`.block.${name} .shortcut-sidebar-dropdown-toggle`).click(); + }, DEBOUNCE_DROPDOWN_DELAY); return false; } diff --git a/app/assets/javascripts/boards/components/board_content_sidebar.vue b/app/assets/javascripts/boards/components/board_content_sidebar.vue index 54668c9e88e..f89f8e5feb8 100644 --- a/app/assets/javascripts/boards/components/board_content_sidebar.vue +++ b/app/assets/javascripts/boards/components/board_content_sidebar.vue @@ -4,7 +4,6 @@ import { MountingPortal } from 'portal-vue'; import { mapState, mapActions, mapGetters } from 'vuex'; import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdown_widget.vue'; import { __, sprintf } from '~/locale'; -import BoardSidebarLabelsSelect from '~/boards/components/sidebar/board_sidebar_labels_select.vue'; import BoardSidebarTimeTracker from '~/boards/components/sidebar/board_sidebar_time_tracker.vue'; import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue'; import { ISSUABLE } from '~/boards/constants'; @@ -26,7 +25,6 @@ export default { SidebarDateWidget, SidebarConfidentialityWidget, BoardSidebarTimeTracker, - BoardSidebarLabelsSelect, SidebarLabelsWidget, SidebarSubscriptionsWidget, SidebarDropdownWidget, @@ -210,7 +208,6 @@ export default { data-testid="sidebar-due-date" /> {{ __('None') }} - { const { activeBoardItem } = getters; - if (!gon.features?.labelsWidget) { - const { data } = await gqlClient.mutate({ - mutation: issueSetLabelsMutation, - variables: { - input: { - iid: input.iid || String(activeBoardItem.iid), - labelIds: input.labelsId ?? undefined, - addLabelIds: input.addLabelIds ?? [], - removeLabelIds: input.removeLabelIds ?? [], - projectPath: input.projectPath, - }, - }, - }); - - if (data.updateIssue?.errors?.length > 0) { - throw new Error(data.updateIssue.errors); - } - - commit(types.UPDATE_BOARD_ITEM_BY_ID, { - itemId: data.updateIssue?.issue?.id || activeBoardItem.id, - prop: 'labels', - value: data.updateIssue?.issue?.labels.nodes, - }); - - return; - } - let labels = input?.labels || []; if (input.removeLabelIds) { labels = activeBoardItem.labels.filter( diff --git a/app/assets/javascripts/flash.js b/app/assets/javascripts/flash.js index 1287a7ed746..f71c896d82f 100644 --- a/app/assets/javascripts/flash.js +++ b/app/assets/javascripts/flash.js @@ -130,7 +130,6 @@ const createFlash = function createFlash({ export { createFlash as default, - createFlashEl, createAction, hideFlash, removeFlashClickListener, diff --git a/app/assets/javascripts/ide/lib/themes/none.js b/app/assets/javascripts/ide/lib/themes/none.js index 8e722c4ff88..0842bc04cff 100644 --- a/app/assets/javascripts/ide/lib/themes/none.js +++ b/app/assets/javascripts/ide/lib/themes/none.js @@ -13,5 +13,6 @@ export default { 'diffEditor.insertedTextBackground': '#a0f5b420', 'diffEditor.removedTextBackground': '#f9d7dc20', 'editorIndentGuide.activeBackground': '#cccccc', + 'editorSuggestWidget.focusHighlightForeground': '#96D8FD', }, }; diff --git a/app/assets/javascripts/ide/lib/themes/white.js b/app/assets/javascripts/ide/lib/themes/white.js index f06458d8a16..69c63c82021 100644 --- a/app/assets/javascripts/ide/lib/themes/white.js +++ b/app/assets/javascripts/ide/lib/themes/white.js @@ -142,5 +142,6 @@ export default { 'diffEditor.insertedTextBackground': '#a0f5b420', 'diffEditor.removedTextBackground': '#f9d7dc20', 'editorIndentGuide.activeBackground': '#cccccc', + 'editorSuggestWidget.focusHighlightForeground': '#96D8FD', }, }; diff --git a/app/assets/javascripts/init_confirm_danger.js b/app/assets/javascripts/init_confirm_danger.js index d3d32c8be54..a8833a17467 100644 --- a/app/assets/javascripts/init_confirm_danger.js +++ b/app/assets/javascripts/init_confirm_danger.js @@ -10,6 +10,7 @@ export default () => { removeFormId = null, phrase, buttonText, + buttonClass = '', buttonTestid = null, confirmDangerMessage, disabled = false, @@ -25,6 +26,7 @@ export default () => { props: { phrase, buttonText, + buttonClass, buttonTestid, disabled: parseBoolean(disabled), }, diff --git a/app/assets/javascripts/notes/components/noteable_discussion.vue b/app/assets/javascripts/notes/components/noteable_discussion.vue index 77f796fe8b0..de9c695de2e 100644 --- a/app/assets/javascripts/notes/components/noteable_discussion.vue +++ b/app/assets/javascripts/notes/components/noteable_discussion.vue @@ -280,6 +280,7 @@ export default { v-if="showDraft(discussion.reply_id)" :key="`draft_${discussion.id}`" :draft="draftForDiscussion(discussion.reply_id)" + :line="line" />
{ - if (!gon.features?.labelsWidget && !$block.hasClass('labels-select-wrapper')) { - $block.find('.js-sidebar-dropdown-toggle').trigger('click'); - } - }, DEBOUNCE_DROPDOWN_DELAY); }; Sidebar.prototype.setCollapseAfterUpdate = function ($block) { diff --git a/app/assets/javascripts/sidebar/components/labels/sidebar_labels.vue b/app/assets/javascripts/sidebar/components/labels/sidebar_labels.vue index 5cd4a1a5192..29e8cabac30 100644 --- a/app/assets/javascripts/sidebar/components/labels/sidebar_labels.vue +++ b/app/assets/javascripts/sidebar/components/labels/sidebar_labels.vue @@ -1,152 +1,24 @@ diff --git a/app/assets/javascripts/vue_shared/components/confirm_danger/confirm_danger.vue b/app/assets/javascripts/vue_shared/components/confirm_danger/confirm_danger.vue index 4c07cf44fed..f93415ced45 100644 --- a/app/assets/javascripts/vue_shared/components/confirm_danger/confirm_danger.vue +++ b/app/assets/javascripts/vue_shared/components/confirm_danger/confirm_danger.vue @@ -26,6 +26,11 @@ export default { type: String, required: true, }, + buttonClass: { + type: String, + required: false, + default: '', + }, buttonTestid: { type: String, required: false, @@ -39,7 +44,7 @@ export default {
diff --git a/app/controllers/groups/boards_controller.rb b/app/controllers/groups/boards_controller.rb index 3152c4d733f..3fbcb2fd7aa 100644 --- a/app/controllers/groups/boards_controller.rb +++ b/app/controllers/groups/boards_controller.rb @@ -11,7 +11,6 @@ class Groups::BoardsController < Groups::ApplicationController push_frontend_feature_flag(:board_multi_select, group, default_enabled: :yaml) push_frontend_feature_flag(:swimlanes_buffered_rendering, group, default_enabled: :yaml) push_frontend_feature_flag(:iteration_cadences, group, default_enabled: :yaml) - push_frontend_feature_flag(:labels_widget, group, default_enabled: :yaml) experiment(:prominent_create_board_btn, subject: current_user) do |e| e.use { } e.try { } diff --git a/app/controllers/projects/boards_controller.rb b/app/controllers/projects/boards_controller.rb index 7354c2c71ac..81ad6243efe 100644 --- a/app/controllers/projects/boards_controller.rb +++ b/app/controllers/projects/boards_controller.rb @@ -11,7 +11,6 @@ class Projects::BoardsController < Projects::ApplicationController push_frontend_feature_flag(:issue_boards_filtered_search, project, default_enabled: :yaml) push_frontend_feature_flag(:board_multi_select, project, default_enabled: :yaml) push_frontend_feature_flag(:iteration_cadences, project&.group, default_enabled: :yaml) - push_frontend_feature_flag(:labels_widget, project, default_enabled: :yaml) experiment(:prominent_create_board_btn, subject: current_user) do |e| e.use { } e.try { } diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 853e9c7ccdd..345e4434f4d 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -51,7 +51,6 @@ class Projects::IssuesController < Projects::ApplicationController push_frontend_feature_flag(:real_time_issue_sidebar, @project, default_enabled: :yaml) push_frontend_feature_flag(:confidential_notes, @project, default_enabled: :yaml) push_frontend_feature_flag(:issue_assignees_widget, @project, default_enabled: :yaml) - push_frontend_feature_flag(:labels_widget, @project, default_enabled: :yaml) push_frontend_feature_flag(:paginated_issue_discussions, @project, default_enabled: :yaml) experiment(:invite_members_in_comment, namespace: @project.root_ancestor) do |experiment_instance| diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 6c5a8aa0610..aca556b18cb 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -42,7 +42,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo push_frontend_feature_flag(:restructured_mr_widget, project, default_enabled: :yaml) push_frontend_feature_flag(:mr_changes_fluid_layout, project, default_enabled: :yaml) push_frontend_feature_flag(:mr_attention_requests, project, default_enabled: :yaml) - push_frontend_feature_flag(:labels_widget, project, default_enabled: :yaml) # Usage data feature flags push_frontend_feature_flag(:users_expanding_widgets_usage_data, @project, default_enabled: :yaml) diff --git a/config/feature_flags/development/labels_widget.yml b/config/feature_flags/development/log_implicit_sidekiq_status_calls.yml similarity index 61% rename from config/feature_flags/development/labels_widget.yml rename to config/feature_flags/development/log_implicit_sidekiq_status_calls.yml index 07045a13c30..1aeb768b3dd 100644 --- a/config/feature_flags/development/labels_widget.yml +++ b/config/feature_flags/development/log_implicit_sidekiq_status_calls.yml @@ -1,8 +1,8 @@ --- -name: labels_widget -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62898 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/332327 -milestone: '14.0' +name: log_implicit_sidekiq_status_calls +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74815 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/343964 +milestone: '14.6' type: development -group: group::project management +group: group::scalability default_enabled: false diff --git a/db/post_migrate/20211130201100_track_deletions_in_namespaces.rb b/db/post_migrate/20211130201100_track_deletions_in_namespaces.rb new file mode 100644 index 00000000000..e688e0b467d --- /dev/null +++ b/db/post_migrate/20211130201100_track_deletions_in_namespaces.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class TrackDeletionsInNamespaces < Gitlab::Database::Migration[1.0] + include Gitlab::Database::MigrationHelpers::LooseForeignKeyHelpers + + enable_lock_retries! + + def up + track_record_deletions(:namespaces) + end + + def down + untrack_record_deletions(:namespaces) + end +end diff --git a/db/post_migrate/20211130201101_track_deletions_in_projects.rb b/db/post_migrate/20211130201101_track_deletions_in_projects.rb new file mode 100644 index 00000000000..dfe7ab4c037 --- /dev/null +++ b/db/post_migrate/20211130201101_track_deletions_in_projects.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class TrackDeletionsInProjects < Gitlab::Database::Migration[1.0] + include Gitlab::Database::MigrationHelpers::LooseForeignKeyHelpers + + enable_lock_retries! + + def up + track_record_deletions(:projects) + end + + def down + untrack_record_deletions(:projects) + end +end diff --git a/db/schema_migrations/20211130201100 b/db/schema_migrations/20211130201100 new file mode 100644 index 00000000000..80c2d68671b --- /dev/null +++ b/db/schema_migrations/20211130201100 @@ -0,0 +1 @@ +cc0146769929c9fbb0b7b6788826d2e188c8664a14e1015563ba4f9e65397c4e \ No newline at end of file diff --git a/db/schema_migrations/20211130201101 b/db/schema_migrations/20211130201101 new file mode 100644 index 00000000000..ef1178c10c5 --- /dev/null +++ b/db/schema_migrations/20211130201101 @@ -0,0 +1 @@ +b0215ac45031593ca98de4f8858d21f1c29af03742a422bffd83598e39a6871c \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index b8c75e33e7b..a932ea30de5 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -28729,6 +28729,10 @@ CREATE TRIGGER ci_pipelines_loose_fk_trigger AFTER DELETE ON ci_pipelines REFERE CREATE TRIGGER ci_runners_loose_fk_trigger AFTER DELETE ON ci_runners REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records(); +CREATE TRIGGER namespaces_loose_fk_trigger AFTER DELETE ON namespaces REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records(); + +CREATE TRIGGER projects_loose_fk_trigger AFTER DELETE ON projects REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records(); + CREATE TRIGGER trigger_delete_project_namespace_on_project_delete AFTER DELETE ON projects FOR EACH ROW WHEN ((old.project_namespace_id IS NOT NULL)) EXECUTE FUNCTION delete_associated_project_namespace(); CREATE TRIGGER trigger_has_external_issue_tracker_on_delete AFTER DELETE ON integrations FOR EACH ROW WHEN ((((old.category)::text = 'issue_tracker'::text) AND (old.active = true) AND (old.project_id IS NOT NULL))) EXECUTE FUNCTION set_has_external_issue_tracker(); diff --git a/doc/development/contributing/style_guides.md b/doc/development/contributing/style_guides.md index 754e6c7aec6..e3b8f7372b9 100644 --- a/doc/development/contributing/style_guides.md +++ b/doc/development/contributing/style_guides.md @@ -171,7 +171,10 @@ we should track our progress through the exception list. When auto-generating the `.rubocop_todo.yml` exception list for a particular Cop, and more than 15 files are affected, we should add the exception list to -a different file, `.rubocop_manual_todo.yml`. +a different file within `.rubocop_todo/` directory. + +For example, the configuration for the cop `Gitlab/NamespacedClass` is located +in `.rubocop_todo/gitlab/namespaced_class.yml`. This ensures that our list isn't mistakenly removed by another auto generation of the `.rubocop_todo.yml`. This also allows us greater visibility into the exceptions @@ -184,19 +187,19 @@ bundle exec rake rubocop:todo:generate ``` You can then move the list from the freshly generated `.rubocop_todo.yml` for the Cop being actively -resolved and place it in the `.rubocop_manual_todo.yml`. In this scenario, do not commit auto generated -changes to the `.rubocop_todo.yml` as an `exclude limit` that is higher than 15 will make the -`.rubocop_todo.yml` hard to parse. +resolved and place it in the directory `.rubocop_todo/`. In this scenario, do not commit +auto-generated changes to the `.rubocop_todo.yml`, as an `exclude limit` that is higher than 15 +makes the `.rubocop_todo.yml` hard to parse. ### Reveal existing RuboCop exceptions To reveal existing RuboCop exceptions in the code that have been excluded via `.rubocop_todo.yml` and -`.rubocop_manual_todo.yml`, set the environment variable `REVEAL_RUBOCOP_TODO` to `1`. +`.rubocop_todo/**/*.yml`, set the environment variable `REVEAL_RUBOCOP_TODO` to `1`. This allows you to reveal existing RuboCop exceptions during your daily work cycle and fix them along the way. NOTE: -Permanent `Exclude`s should be defined in `.rubocop.yml` instead of `.rubocop_manual_todo.yml`. +Define permanent `Exclude`s in `.rubocop.yml` instead of `.rubocop_todo/**/*.yml`. ## Database migrations diff --git a/doc/development/testing_guide/review_apps.md b/doc/development/testing_guide/review_apps.md index 2c536c441e4..cfdb3ad0d62 100644 --- a/doc/development/testing_guide/review_apps.md +++ b/doc/development/testing_guide/review_apps.md @@ -36,6 +36,12 @@ On every [pipeline](https://gitlab.com/gitlab-org/gitlab/pipelines/125315730) in browser performance testing using a [Sitespeed.io Container](../../user/project/merge_requests/browser_performance_testing.md). +## Sample Data for Review Apps + +Upon deployment of a review app, project data is created from the [`sample-gitlab-project`](https://gitlab.com/gitlab-org/sample-data-templates/sample-gitlab-project) template project. This aims to provide projects with prepopulated resources to facilitate manual and exploratory testing. + +The sample projects will be created in the `root` user namespace and can be accessed from the personal projects list for that user. + ## How to ### Redeploy Review App from a clean slate diff --git a/doc/user/project/merge_requests/creating_merge_requests.md b/doc/user/project/merge_requests/creating_merge_requests.md index e15874d2df8..220049d9a88 100644 --- a/doc/user/project/merge_requests/creating_merge_requests.md +++ b/doc/user/project/merge_requests/creating_merge_requests.md @@ -159,6 +159,8 @@ branch already exists, the patches are applied on top of it. ## Set the default target project +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58093) in GitLab 13.11. + Merge requests have a source and a target project that are the same, unless forking is involved. Creating a fork of the project can cause either of these scenarios when you create a new merge request: diff --git a/lib/api/entities/project_import_failed_relation.rb b/lib/api/entities/project_import_failed_relation.rb index b8f842c1646..26cfae7260c 100644 --- a/lib/api/entities/project_import_failed_relation.rb +++ b/lib/api/entities/project_import_failed_relation.rb @@ -10,6 +10,7 @@ module API end expose :relation_key, as: :relation_name + expose :relation_index, as: :line_number end end end diff --git a/lib/api/entities/project_import_status.rb b/lib/api/entities/project_import_status.rb index e79c1cdf1a2..b6bcac16ff3 100644 --- a/lib/api/entities/project_import_status.rb +++ b/lib/api/entities/project_import_status.rb @@ -4,6 +4,7 @@ module API module Entities class ProjectImportStatus < ProjectIdentity expose :import_status + expose :import_type expose :correlation_id do |project, _options| project.import_state&.correlation_id end diff --git a/lib/api/project_import.rb b/lib/api/project_import.rb index e7c532e2483..56b4f4c6598 100644 --- a/lib/api/project_import.rb +++ b/lib/api/project_import.rb @@ -107,7 +107,7 @@ module API params do requires :id, type: String, desc: 'The ID of a project' end - desc 'Get a project export status' do + desc 'Get a project import status' do detail 'This feature was introduced in GitLab 10.6.' success Entities::ProjectImportStatus end diff --git a/lib/gitlab/sidekiq_status.rb b/lib/gitlab/sidekiq_status.rb index fbf2718d718..120d18f63f2 100644 --- a/lib/gitlab/sidekiq_status.rb +++ b/lib/gitlab/sidekiq_status.rb @@ -29,13 +29,16 @@ module Gitlab # for most jobs. DEFAULT_EXPIRATION = 30.minutes.to_i + DEFAULT_VALUE = 1 + DEFAULT_VALUE_MESSAGE = 'Keys using the default value for SidekiqStatus detected' + # Starts tracking of the given job. # # jid - The Sidekiq job ID # expire - The expiration time of the Redis key. - def self.set(jid, expire = DEFAULT_EXPIRATION) + def self.set(jid, expire = DEFAULT_EXPIRATION, value: DEFAULT_VALUE) Sidekiq.redis do |redis| - redis.set(key_for(jid), 1, ex: expire) + redis.set(key_for(jid), value, ex: expire) end end @@ -88,13 +91,20 @@ module Gitlab # true = job is still running or enqueued # false = job completed def self.job_status(job_ids) - keys = job_ids.map { |jid| key_for(jid) } + return [] if job_ids.empty? - Sidekiq.redis do |redis| - redis.pipelined do - keys.each { |key| redis.exists(key) } - end + keys = job_ids.map { |jid| key_for(jid) } + results = Sidekiq.redis { |redis| redis.mget(*keys) } + + if Feature.enabled?(:log_implicit_sidekiq_status_calls, default_enabled: :yaml) + to_log = keys.zip(results).select do |_key, result| + result == DEFAULT_VALUE.to_s + end.map(&:first) + + Sidekiq.logger.info(message: DEFAULT_VALUE_MESSAGE, keys: to_log) if to_log.any? end + + results.map { |result| !result.nil? } end # Returns the JIDs that are completed diff --git a/lib/gitlab/sidekiq_status/client_middleware.rb b/lib/gitlab/sidekiq_status/client_middleware.rb index bfd5038557d..cee7270f2fb 100644 --- a/lib/gitlab/sidekiq_status/client_middleware.rb +++ b/lib/gitlab/sidekiq_status/client_middleware.rb @@ -5,8 +5,9 @@ module Gitlab class ClientMiddleware def call(_, job, _, _) status_expiration = job['status_expiration'] || Gitlab::SidekiqStatus::DEFAULT_EXPIRATION + value = job['status_expiration'] ? 2 : Gitlab::SidekiqStatus::DEFAULT_VALUE - Gitlab::SidekiqStatus.set(job['jid'], status_expiration) + Gitlab::SidekiqStatus.set(job['jid'], status_expiration, value: value) yield end end diff --git a/qa/qa/page/component/issuable/sidebar.rb b/qa/qa/page/component/issuable/sidebar.rb index 77962570aed..cdfd7fbdad9 100644 --- a/qa/qa/page/component/issuable/sidebar.rb +++ b/qa/qa/page/component/issuable/sidebar.rb @@ -124,15 +124,6 @@ module QA click_element(:more_assignees_link) end - # When the labels_widget feature flag is enabled, wait until the labels widget appears - def wait_for_labels_widget_feature_flag - Support::Retrier.retry_until(max_duration: 60, reload_page: page, retry_on_exception: true, sleep_interval: 5) do - within_element(:labels_block) do - find_element(:edit_link) - end - end - end - private def wait_assignees_block_finish_loading diff --git a/spec/factories/import_failures.rb b/spec/factories/import_failures.rb index 376b2ff39e2..df0793664f4 100644 --- a/spec/factories/import_failures.rb +++ b/spec/factories/import_failures.rb @@ -10,6 +10,8 @@ FactoryBot.define do exception_class { 'RuntimeError' } exception_message { 'Something went wrong' } source { 'method_call' } + relation_key { 'issues' } + relation_index { 1 } correlation_id_value { SecureRandom.uuid } trait :hard_failure do diff --git a/spec/features/issues/user_edits_issue_spec.rb b/spec/features/issues/user_edits_issue_spec.rb index b2e7ac9cb0b..10b0082f65a 100644 --- a/spec/features/issues/user_edits_issue_spec.rb +++ b/spec/features/issues/user_edits_issue_spec.rb @@ -15,7 +15,6 @@ RSpec.describe "Issues > User edits issue", :js do context 'with authorized user' do before do - stub_feature_flags(labels_widget: false) project.add_developer(user) project_with_milestones.add_developer(user) sign_in(user) @@ -151,7 +150,7 @@ RSpec.describe "Issues > User edits issue", :js do page.within '.block.labels' do # Remove `verisimilitude` label within '.gl-label' do - click_button + click_button 'Remove label' end expect(page).to have_text('syzygy') diff --git a/spec/features/labels_hierarchy_spec.rb b/spec/features/labels_hierarchy_spec.rb index 25c315f2d16..b5f414e39e4 100644 --- a/spec/features/labels_hierarchy_spec.rb +++ b/spec/features/labels_hierarchy_spec.rb @@ -17,7 +17,6 @@ RSpec.describe 'Labels Hierarchy', :js do let!(:project_label_1) { create(:label, project: project_1, title: 'Label_4') } before do - stub_feature_flags(labels_widget: false) grandparent.add_owner(user) sign_in(user) @@ -28,16 +27,15 @@ RSpec.describe 'Labels Hierarchy', :js do [grandparent_group_label, parent_group_label, project_label_1].each do |label| page.within('.block.labels') do click_on 'Edit' + + wait_for_requests + + click_on label.title + click_on 'Close' end wait_for_requests - find('a.label-item', text: label.title).click - wait_for_requests - click_on 'Close' - - wait_for_requests - expect(page).to have_selector('.gl-label', text: label.title) end end diff --git a/spec/frontend/boards/components/board_content_sidebar_spec.js b/spec/frontend/boards/components/board_content_sidebar_spec.js index 8a8250205d0..7b176cea2a3 100644 --- a/spec/frontend/boards/components/board_content_sidebar_spec.js +++ b/spec/frontend/boards/components/board_content_sidebar_spec.js @@ -1,18 +1,20 @@ import { GlDrawer } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; import { MountingPortal } from 'portal-vue'; +import Vue from 'vue'; import Vuex from 'vuex'; import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdown_widget.vue'; import { stubComponent } from 'helpers/stub_component'; import BoardContentSidebar from '~/boards/components/board_content_sidebar.vue'; -import BoardSidebarLabelsSelect from '~/boards/components/sidebar/board_sidebar_labels_select.vue'; import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue'; import { ISSUABLE } from '~/boards/constants'; import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue'; import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue'; import SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue'; +import SidebarLabelsWidget from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue'; import { mockActiveIssue, mockIssue, mockIssueGroupPath, mockIssueProjectPath } from '../mock_data'; +Vue.use(Vuex); describe('BoardContentSidebar', () => { let wrapper; let store; @@ -32,6 +34,7 @@ describe('BoardContentSidebar', () => { groupPathForActiveIssue: () => mockIssueGroupPath, projectPathForActiveIssue: () => mockIssueProjectPath, isSidebarOpen: () => true, + isGroupBoard: () => false, ...mockGetters, }, actions: mockActions, @@ -115,8 +118,8 @@ describe('BoardContentSidebar', () => { expect(wrapper.findComponent(SidebarTodoWidget).exists()).toBe(true); }); - it('renders BoardSidebarLabelsSelect', () => { - expect(wrapper.findComponent(BoardSidebarLabelsSelect).exists()).toBe(true); + it('renders SidebarLabelsWidget', () => { + expect(wrapper.findComponent(SidebarLabelsWidget).exists()).toBe(true); }); it('renders BoardSidebarTitle', () => { diff --git a/spec/frontend/boards/stores/actions_spec.js b/spec/frontend/boards/stores/actions_spec.js index e245325b956..f580469b072 100644 --- a/spec/frontend/boards/stores/actions_spec.js +++ b/spec/frontend/boards/stores/actions_spec.js @@ -1570,7 +1570,7 @@ describe('addListNewIssue', () => { describe('setActiveIssueLabels', () => { const state = { boardItems: { [mockIssue.id]: mockIssue } }; - const getters = { activeBoardItem: mockIssue }; + const getters = { activeBoardItem: { ...mockIssue, labels } }; const testLabelIds = labels.map((label) => label.id); const input = { labelIds: testLabelIds, @@ -1579,11 +1579,7 @@ describe('setActiveIssueLabels', () => { labels, }; - it('should assign labels on success', (done) => { - jest - .spyOn(gqlClient, 'mutate') - .mockResolvedValue({ data: { updateIssue: { issue: { labels: { nodes: labels } } } } }); - + it('should assign labels', () => { const payload = { itemId: getters.activeBoardItem.id, prop: 'labels', @@ -1601,74 +1597,28 @@ describe('setActiveIssueLabels', () => { }, ], [], - done, ); }); - it('throws error if fails', async () => { - jest - .spyOn(gqlClient, 'mutate') - .mockResolvedValue({ data: { updateIssue: { errors: ['failed mutation'] } } }); + it('should remove label', () => { + const payload = { + itemId: getters.activeBoardItem.id, + prop: 'labels', + value: [labels[1]], + }; - await expect(actions.setActiveIssueLabels({ getters }, input)).rejects.toThrow(Error); - }); - - describe('labels_widget FF on', () => { - beforeEach(() => { - window.gon = { - features: { labelsWidget: true }, - }; - - getters.activeBoardItem = { ...mockIssue, labels }; - }); - - afterEach(() => { - window.gon = { - features: {}, - }; - }); - - it('should assign labels', () => { - const payload = { - itemId: getters.activeBoardItem.id, - prop: 'labels', - value: labels, - }; - - testAction( - actions.setActiveIssueLabels, - input, - { ...state, ...getters }, - [ - { - type: types.UPDATE_BOARD_ITEM_BY_ID, - payload, - }, - ], - [], - ); - }); - - it('should remove label', () => { - const payload = { - itemId: getters.activeBoardItem.id, - prop: 'labels', - value: [labels[1]], - }; - - testAction( - actions.setActiveIssueLabels, - { ...input, removeLabelIds: [getIdFromGraphQLId(labels[0].id)] }, - { ...state, ...getters }, - [ - { - type: types.UPDATE_BOARD_ITEM_BY_ID, - payload, - }, - ], - [], - ); - }); + testAction( + actions.setActiveIssueLabels, + { ...input, removeLabelIds: [getIdFromGraphQLId(labels[0].id)] }, + { ...state, ...getters }, + [ + { + type: types.UPDATE_BOARD_ITEM_BY_ID, + payload, + }, + ], + [], + ); }); }); diff --git a/spec/frontend/flash_spec.js b/spec/frontend/flash_spec.js index f7bde8d2f16..6cccdd2989f 100644 --- a/spec/frontend/flash_spec.js +++ b/spec/frontend/flash_spec.js @@ -1,38 +1,12 @@ import createFlash, { - createFlashEl, createAction, hideFlash, removeFlashClickListener, + FLASH_TYPES, FLASH_CLOSED_EVENT, } from '~/flash'; describe('Flash', () => { - describe('createFlashEl', () => { - let el; - - beforeEach(() => { - el = document.createElement('div'); - }); - - afterEach(() => { - el.innerHTML = ''; - }); - - it('creates flash element with type', () => { - el.innerHTML = createFlashEl('testing', 'alert'); - - expect(el.querySelector('.flash-alert')).not.toBeNull(); - }); - - it('escapes text', () => { - el.innerHTML = createFlashEl('', 'alert'); - - expect(el.querySelector('.flash-text').textContent.trim()).toBe( - '', - ); - }); - }); - describe('hideFlash', () => { let el; @@ -137,14 +111,10 @@ describe('Flash', () => { describe('createFlash', () => { const message = 'test'; - const type = 'alert'; - const parent = document; const fadeTransition = false; const addBodyClass = true; const defaultParams = { message, - type, - parent, actionConfig: null, fadeTransition, addBodyClass, @@ -171,14 +141,28 @@ describe('Flash', () => { document.querySelector('.js-content-wrapper').remove(); }); - it('adds flash element into container', () => { + it('adds flash alert element into the document by default', () => { createFlash({ ...defaultParams }); - expect(document.querySelector('.flash-alert')).not.toBeNull(); - + expect(document.querySelector('.flash-container .flash-alert')).not.toBeNull(); expect(document.body.className).toContain('flash-shown'); }); + it('adds flash of a warning type', () => { + createFlash({ ...defaultParams, type: FLASH_TYPES.WARNING }); + + expect(document.querySelector('.flash-container .flash-warning')).not.toBeNull(); + expect(document.body.className).toContain('flash-shown'); + }); + + it('escapes text', () => { + createFlash({ ...defaultParams, message: '' }); + + expect(document.querySelector('.flash-text').textContent.trim()).toBe( + '', + ); + }); + it('adds flash into specified parent', () => { createFlash({ ...defaultParams, parent: document.querySelector('.content-wrapper') }); diff --git a/spec/frontend/sidebar/sidebar_labels_spec.js b/spec/frontend/sidebar/sidebar_labels_spec.js index 8437ee1b723..825a930100b 100644 --- a/spec/frontend/sidebar/sidebar_labels_spec.js +++ b/spec/frontend/sidebar/sidebar_labels_spec.js @@ -1,60 +1,22 @@ import { shallowMount } from '@vue/test-utils'; -import { - mockLabels, - mockRegularLabel, -} from 'jest/vue_shared/components/sidebar/labels_select_vue/mock_data'; -import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql'; -import { MutationOperationMode } from '~/graphql_shared/utils'; -import { IssuableType } from '~/issue_show/constants'; import SidebarLabels from '~/sidebar/components/labels/sidebar_labels.vue'; -import updateMergeRequestLabelsMutation from '~/sidebar/queries/update_merge_request_labels.mutation.graphql'; -import { toLabelGid } from '~/sidebar/utils'; -import { DropdownVariant } from '~/vue_shared/components/sidebar/labels_select_vue/constants'; -import LabelsSelect from '~/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue'; +import { + DropdownVariant, + LabelType, +} from '~/vue_shared/components/sidebar/labels_select_widget/constants'; +import LabelsSelect from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue'; describe('sidebar labels', () => { let wrapper; const defaultProps = { - allowLabelCreate: true, allowLabelEdit: true, - allowScopedLabels: true, - canEdit: true, iid: '1', - initiallySelectedLabels: mockLabels, issuableType: 'issue', - labelsFetchPath: '/gitlab-org/gitlab-test/-/labels.json?include_ancestor_groups=true', - labelsManagePath: '/gitlab-org/gitlab-test/-/labels', projectIssuesPath: '/gitlab-org/gitlab-test/-/issues', - projectPath: 'gitlab-org/gitlab-test', fullPath: 'gitlab-org/gitlab-test', }; - const $apollo = { - mutate: jest.fn().mockResolvedValue(), - }; - - const userUpdatedLabels = [ - { - ...mockRegularLabel, - set: false, - }, - { - id: 40, - title: 'Security', - color: '#ddd', - text_color: '#fff', - set: true, - }, - { - id: 55, - title: 'Tooling', - color: '#ddd', - text_color: '#fff', - set: false, - }, - ]; - const findLabelsSelect = () => wrapper.find(LabelsSelect); const mountComponent = (props = {}) => { @@ -63,9 +25,6 @@ describe('sidebar labels', () => { ...defaultProps, ...props, }, - mocks: { - $apollo, - }, }); }; @@ -75,115 +34,31 @@ describe('sidebar labels', () => { }); describe('LabelsSelect props', () => { - beforeEach(() => { - mountComponent(); - }); - - it('are as expected', () => { - expect(findLabelsSelect().props()).toMatchObject({ - allowLabelCreate: defaultProps.allowLabelCreate, - allowLabelEdit: defaultProps.allowLabelEdit, - allowMultiselect: true, - allowScopedLabels: defaultProps.allowScopedLabels, - footerCreateLabelTitle: 'Create project label', - footerManageLabelTitle: 'Manage project labels', - labelsCreateTitle: 'Create project label', - labelsFetchPath: defaultProps.labelsFetchPath, - labelsFilterBasePath: defaultProps.projectIssuesPath, - labelsManagePath: defaultProps.labelsManagePath, - labelsSelectInProgress: false, - selectedLabels: defaultProps.initiallySelectedLabels, - variant: DropdownVariant.Sidebar, + describe.each` + issuableType + ${'issue'} + ${'merge_request'} + `('issuableType $issuableType', ({ issuableType }) => { + beforeEach(() => { + mountComponent({ issuableType }); }); - }); - }); - describe('when type is issue', () => { - beforeEach(() => { - mountComponent({ issuableType: IssuableType.Issue }); - }); - - describe('when labels are updated', () => { - it('invokes a mutation', () => { - findLabelsSelect().vm.$emit('updateSelectedLabels', userUpdatedLabels); - - const expected = { - mutation: updateIssueLabelsMutation, - variables: { - input: { - iid: defaultProps.iid, - projectPath: defaultProps.projectPath, - labelIds: [toLabelGid(29), toLabelGid(28), toLabelGid(27), toLabelGid(40)], - }, - }, - }; - - expect($apollo.mutate).toHaveBeenCalledWith(expected); - }); - }); - - describe('when label `x` is clicked', () => { - it('invokes a mutation', () => { - findLabelsSelect().vm.$emit('onLabelRemove', 27); - - const expected = { - mutation: updateIssueLabelsMutation, - variables: { - input: { - iid: defaultProps.iid, - projectPath: defaultProps.projectPath, - removeLabelIds: [27], - }, - }, - }; - - expect($apollo.mutate).toHaveBeenCalledWith(expected); - }); - }); - }); - - describe('when type is merge_request', () => { - beforeEach(() => { - mountComponent({ issuableType: IssuableType.MergeRequest }); - }); - - describe('when labels are updated', () => { - it('invokes a mutation', () => { - findLabelsSelect().vm.$emit('updateSelectedLabels', userUpdatedLabels); - - const expected = { - mutation: updateMergeRequestLabelsMutation, - variables: { - input: { - iid: defaultProps.iid, - labelIds: [toLabelGid(29), toLabelGid(28), toLabelGid(27), toLabelGid(40)], - operationMode: MutationOperationMode.Replace, - projectPath: defaultProps.projectPath, - }, - }, - }; - - expect($apollo.mutate).toHaveBeenCalledWith(expected); - }); - }); - - describe('when label `x` is clicked', () => { - it('invokes a mutation', () => { - findLabelsSelect().vm.$emit('onLabelRemove', 27); - - const expected = { - mutation: updateMergeRequestLabelsMutation, - variables: { - input: { - iid: defaultProps.iid, - labelIds: [toLabelGid(27)], - operationMode: MutationOperationMode.Remove, - projectPath: defaultProps.projectPath, - }, - }, - }; - - expect($apollo.mutate).toHaveBeenCalledWith(expected); + it('has expected props', () => { + expect(findLabelsSelect().props()).toMatchObject({ + iid: defaultProps.iid, + fullPath: defaultProps.fullPath, + allowLabelRemove: defaultProps.allowLabelEdit, + allowMultiselect: true, + footerCreateLabelTitle: 'Create project label', + footerManageLabelTitle: 'Manage project labels', + labelsCreateTitle: 'Create project label', + labelsFilterBasePath: defaultProps.projectIssuesPath, + variant: DropdownVariant.Sidebar, + issuableType, + workspaceType: 'project', + attrWorkspacePath: defaultProps.fullPath, + labelCreateType: LabelType.project, + }); }); }); }); diff --git a/spec/frontend/vue_shared/components/confirm_danger/confirm_danger_spec.js b/spec/frontend/vue_shared/components/confirm_danger/confirm_danger_spec.js index 220f897c035..af7f85769aa 100644 --- a/spec/frontend/vue_shared/components/confirm_danger/confirm_danger_spec.js +++ b/spec/frontend/vue_shared/components/confirm_danger/confirm_danger_spec.js @@ -9,6 +9,7 @@ describe('Confirm Danger Modal', () => { const phrase = 'En Taro Adun'; const buttonText = 'Click me!'; + const buttonClass = 'gl-w-full'; const modalId = CONFIRM_DANGER_MODAL_ID; const findBtn = () => wrapper.findComponent(GlButton); @@ -19,6 +20,7 @@ describe('Confirm Danger Modal', () => { shallowMountExtended(ConfirmDanger, { propsData: { buttonText, + buttonClass, phrase, ...props, }, @@ -51,6 +53,10 @@ describe('Confirm Danger Modal', () => { expect(findBtn().attributes('disabled')).toBe('true'); }); + it('passes `buttonClass` prop to button', () => { + expect(findBtn().classes()).toContain(buttonClass); + }); + it('will emit `confirm` when the modal confirms', () => { expect(wrapper.emitted('confirm')).toBeUndefined(); diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js index d4203528874..7c3b7ae0ff5 100644 --- a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js +++ b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js @@ -1,5 +1,5 @@ -import { shallowMount, createLocalVue } from '@vue/test-utils'; -import { nextTick } from 'vue'; +import { shallowMount } from '@vue/test-utils'; +import Vue, { nextTick } from 'vue'; import VueApollo from 'vue-apollo'; import createMockApollo from 'helpers/mock_apollo_helper'; import waitForPromises from 'helpers/wait_for_promises'; @@ -8,14 +8,14 @@ import { IssuableType } from '~/issue_show/constants'; import SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue'; import DropdownContents from '~/vue_shared/components/sidebar/labels_select_widget/dropdown_contents.vue'; import DropdownValue from '~/vue_shared/components/sidebar/labels_select_widget/dropdown_value.vue'; +import DropdownValueCollapsed from '~/vue_shared/components/sidebar/labels_select_widget/dropdown_value_collapsed.vue'; import issueLabelsQuery from '~/vue_shared/components/sidebar/labels_select_widget/graphql/issue_labels.query.graphql'; import LabelsSelectRoot from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue'; import { mockConfig, issuableLabelsQueryResponse } from './mock_data'; jest.mock('~/flash'); -const localVue = createLocalVue(); -localVue.use(VueApollo); +Vue.use(VueApollo); const successfulQueryHandler = jest.fn().mockResolvedValue(issuableLabelsQueryResponse); const errorQueryHandler = jest.fn().mockRejectedValue('Houston, we have a problem'); @@ -25,6 +25,7 @@ describe('LabelsSelectRoot', () => { const findSidebarEditableItem = () => wrapper.findComponent(SidebarEditableItem); const findDropdownValue = () => wrapper.findComponent(DropdownValue); + const findDropdownValueCollapsed = () => wrapper.findComponent(DropdownValueCollapsed); const findDropdownContents = () => wrapper.findComponent(DropdownContents); const createComponent = ({ @@ -37,7 +38,6 @@ describe('LabelsSelectRoot', () => { wrapper = shallowMount(LabelsSelectRoot, { slots, apolloProvider: mockApollo, - localVue, propsData: { ...config, issuableType: IssuableType.Issue, @@ -107,6 +107,9 @@ describe('LabelsSelectRoot', () => { expect(findDropdownValue().props('selectedLabels')).toEqual( issuableLabelsQueryResponse.data.workspace.issuable.labels.nodes, ); + expect(findDropdownValueCollapsed().props('labels')).toEqual( + issuableLabelsQueryResponse.data.workspace.issuable.labels.nodes, + ); }); it('emits `onLabelRemove` event on dropdown value label remove event', () => { diff --git a/spec/lib/api/entities/project_import_failed_relation_spec.rb b/spec/lib/api/entities/project_import_failed_relation_spec.rb index d3c24f6fce3..d6143915ecb 100644 --- a/spec/lib/api/entities/project_import_failed_relation_spec.rb +++ b/spec/lib/api/entities/project_import_failed_relation_spec.rb @@ -16,7 +16,8 @@ RSpec.describe API::Entities::ProjectImportFailedRelation do exception_class: import_failure.exception_class, exception_message: nil, relation_name: import_failure.relation_key, - source: import_failure.source + source: import_failure.source, + line_number: import_failure.relation_index ) end end diff --git a/spec/lib/api/entities/project_import_status_spec.rb b/spec/lib/api/entities/project_import_status_spec.rb index 5eda613a6a6..f2cfaa25721 100644 --- a/spec/lib/api/entities/project_import_status_spec.rb +++ b/spec/lib/api/entities/project_import_status_spec.rb @@ -2,17 +2,18 @@ require 'spec_helper' -RSpec.describe API::Entities::ProjectImportStatus do +RSpec.describe API::Entities::ProjectImportStatus, :aggregate_failures do describe '#as_json' do subject { entity.as_json } let(:correlation_id) { 'cid' } context 'when no import state exists' do - let(:entity) { described_class.new(build(:project)) } + let(:entity) { described_class.new(build(:project, import_type: 'import_type')) } it 'includes basic fields and no failures' do expect(subject[:import_status]).to eq('none') + expect(subject[:import_type]).to eq('import_type') expect(subject[:correlation_id]).to be_nil expect(subject[:import_error]).to be_nil expect(subject[:failed_relations]).to eq([]) @@ -20,11 +21,12 @@ RSpec.describe API::Entities::ProjectImportStatus do end context 'when import has not finished yet' do - let(:project) { create(:project, :import_scheduled, import_correlation_id: correlation_id) } - let(:entity) { described_class.new(project) } + let(:project) { create(:project, :import_scheduled, import_type: 'import_type', import_correlation_id: correlation_id) } + let(:entity) { described_class.new(project, import_type: 'import_type') } - it 'includes basic fields and no failures', :aggregate_failures do + it 'includes basic fields and no failures' do expect(subject[:import_status]).to eq('scheduled') + expect(subject[:import_type]).to eq('import_type') expect(subject[:correlation_id]).to eq(correlation_id) expect(subject[:import_error]).to be_nil expect(subject[:failed_relations]).to eq([]) @@ -32,25 +34,43 @@ RSpec.describe API::Entities::ProjectImportStatus do end context 'when import has finished with failed relations' do - let(:project) { create(:project, :import_finished, import_correlation_id: correlation_id) } + let(:project) { create(:project, :import_finished, import_type: 'import_type', import_correlation_id: correlation_id) } let(:entity) { described_class.new(project) } - it 'includes basic fields with failed relations', :aggregate_failures do - create(:import_failure, :hard_failure, project: project, correlation_id_value: correlation_id) + it 'includes basic fields with failed relations' do + create( + :import_failure, + :hard_failure, + project: project, + correlation_id_value: correlation_id, + relation_key: 'issues', + relation_index: 1 + ) + + # Doesn't show soft failures + create(:import_failure, :soft_failure) expect(subject[:import_status]).to eq('finished') + expect(subject[:import_type]).to eq('import_type') expect(subject[:correlation_id]).to eq(correlation_id) expect(subject[:import_error]).to be_nil - expect(subject[:failed_relations]).not_to be_empty + expect(subject[:failed_relations].length).to eq(1) + + failure = subject[:failed_relations].last + expect(failure[:exception_class]).to eq('RuntimeError') + expect(failure[:source]).to eq('method_call') + expect(failure[:relation_name]).to eq('issues') + expect(failure[:line_number]).to eq(1) end end context 'when import has failed' do - let(:project) { create(:project, :import_failed, import_correlation_id: correlation_id, import_last_error: 'error') } + let(:project) { create(:project, :import_failed, import_type: 'import_type', import_correlation_id: correlation_id, import_last_error: 'error') } let(:entity) { described_class.new(project) } - it 'includes basic fields with import error', :aggregate_failures do + it 'includes basic fields with import error' do expect(subject[:import_status]).to eq('failed') + expect(subject[:import_type]).to eq('import_type') expect(subject[:correlation_id]).to eq(correlation_id) expect(subject[:import_error]).to eq('error') expect(subject[:failed_relations]).to eq([]) diff --git a/spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb b/spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb index 0cf05fb0a5c..2f2499753b9 100644 --- a/spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb +++ b/spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb @@ -1,14 +1,25 @@ # frozen_string_literal: true -require 'spec_helper' +require 'fast_spec_helper' RSpec.describe Gitlab::SidekiqStatus::ClientMiddleware do describe '#call' do - it 'tracks the job in Redis' do - expect(Gitlab::SidekiqStatus).to receive(:set).with('123', Gitlab::SidekiqStatus::DEFAULT_EXPIRATION) + context 'when the job has status_expiration set' do + it 'tracks the job in Redis with a value of 2' do + expect(Gitlab::SidekiqStatus).to receive(:set).with('123', 1.hour.to_i, value: 2) - described_class.new - .call('Foo', { 'jid' => '123' }, double(:queue), double(:pool)) { nil } + described_class.new + .call('Foo', { 'jid' => '123', 'status_expiration' => 1.hour.to_i }, double(:queue), double(:pool)) { nil } + end + end + + context 'when the job does not have status_expiration set' do + it 'tracks the job in Redis with a value of 1' do + expect(Gitlab::SidekiqStatus).to receive(:set).with('123', Gitlab::SidekiqStatus::DEFAULT_EXPIRATION, value: 1) + + described_class.new + .call('Foo', { 'jid' => '123' }, double(:queue), double(:pool)) { nil } + end end end end diff --git a/spec/lib/gitlab/sidekiq_status_spec.rb b/spec/lib/gitlab/sidekiq_status_spec.rb index fc2ac29a1f9..1e7b52471b0 100644 --- a/spec/lib/gitlab/sidekiq_status_spec.rb +++ b/spec/lib/gitlab/sidekiq_status_spec.rb @@ -12,6 +12,31 @@ RSpec.describe Gitlab::SidekiqStatus, :clean_gitlab_redis_queues, :clean_gitlab_ Sidekiq.redis do |redis| expect(redis.exists(key)).to eq(true) expect(redis.ttl(key) > 0).to eq(true) + expect(redis.get(key)).to eq(described_class::DEFAULT_VALUE.to_s) + end + end + + it 'allows overriding the expiration time' do + described_class.set('123', described_class::DEFAULT_EXPIRATION * 2) + + key = described_class.key_for('123') + + Sidekiq.redis do |redis| + expect(redis.exists(key)).to eq(true) + expect(redis.ttl(key) > described_class::DEFAULT_EXPIRATION).to eq(true) + expect(redis.get(key)).to eq(described_class::DEFAULT_VALUE.to_s) + end + end + + it 'allows overriding the default value' do + described_class.set('123', value: 2) + + key = described_class.key_for('123') + + Sidekiq.redis do |redis| + expect(redis.exists(key)).to eq(true) + expect(redis.ttl(key) > 0).to eq(true) + expect(redis.get(key)).to eq('2') end end end @@ -88,7 +113,7 @@ RSpec.describe Gitlab::SidekiqStatus, :clean_gitlab_redis_queues, :clean_gitlab_ end end - describe 'completed' do + describe '.completed_jids' do it 'returns the completed job' do expect(described_class.completed_jids(%w(123))).to eq(['123']) end @@ -100,4 +125,46 @@ RSpec.describe Gitlab::SidekiqStatus, :clean_gitlab_redis_queues, :clean_gitlab_ expect(described_class.completed_jids(%w(123 456 789))).to eq(['789']) end end + + describe '.job_status' do + it 'returns an array of boolean values' do + described_class.set('123') + described_class.set('456') + described_class.unset('123') + + expect(described_class.job_status(%w(123 456 789))).to eq([false, true, false]) + end + + it 'handles an empty array' do + expect(described_class.job_status([])).to eq([]) + end + + context 'when log_implicit_sidekiq_status_calls is enabled' do + it 'logs keys that contained the default value' do + described_class.set('123', value: 2) + described_class.set('456') + described_class.set('012') + + expect(Sidekiq.logger).to receive(:info).with(message: described_class::DEFAULT_VALUE_MESSAGE, + keys: [described_class.key_for('456'), described_class.key_for('012')]) + + expect(described_class.job_status(%w(123 456 789 012))).to eq([true, true, false, true]) + end + end + + context 'when log_implicit_sidekiq_status_calls is disabled' do + before do + stub_feature_flags(log_implicit_sidekiq_status_calls: false) + end + + it 'does not perform any logging' do + described_class.set('123', value: 2) + described_class.set('456') + + expect(Sidekiq.logger).not_to receive(:info) + + expect(described_class.job_status(%w(123 456 789))).to eq([true, true, false]) + end + end + end end diff --git a/spec/tooling/danger/project_helper_spec.rb b/spec/tooling/danger/project_helper_spec.rb index ec475df6d83..68d75d06af6 100644 --- a/spec/tooling/danger/project_helper_spec.rb +++ b/spec/tooling/danger/project_helper_spec.rb @@ -86,7 +86,7 @@ RSpec.describe Tooling::Danger::ProjectHelper do 'rubocop/foo' | [:backend] '.rubocop.yml' | [:backend] '.rubocop_todo.yml' | [:backend] - '.rubocop_manual_todo.yml' | [:backend] + '.rubocop_todo/cop/name.yml' | [:backend] 'spec/foo' | [:backend] 'spec/foo/bar' | [:backend] @@ -192,6 +192,7 @@ RSpec.describe Tooling::Danger::ProjectHelper do 'spec/frontend/tracking_spec.js' | [:frontend, :product_intelligence] 'lib/gitlab/usage_database/foo.rb' | [:backend] 'config/metrics/counts_7d/test_metric.yml' | [:product_intelligence] + 'config/events/snowplow_event.yml' | [:product_intelligence] 'config/metrics/schema.json' | [:product_intelligence] 'doc/api/usage_data.md' | [:product_intelligence] 'spec/lib/gitlab/usage_data_spec.rb' | [:product_intelligence] diff --git a/tooling/danger/project_helper.rb b/tooling/danger/project_helper.rb index 5d338393f90..7eaf6eb25ea 100644 --- a/tooling/danger/project_helper.rb +++ b/tooling/danger/project_helper.rb @@ -127,7 +127,7 @@ module Tooling %r{\A((spec/)?lib/generators/gitlab/usage_metric_)} => [:product_intelligence], %r{\A((ee|jh)/)?lib/gitlab/usage_data_counters/.*\.yml\z} => [:product_intelligence], - %r{\A((ee|jh)/)?config/metrics/((.*\.yml)|(schema\.json))\z} => [:product_intelligence], + %r{\A((ee|jh)/)?config/(events|metrics)/((.*\.yml)|(schema\.json))\z} => [:product_intelligence], %r{\A((ee|jh)/)?lib/gitlab/usage_data(_counters)?(/|\.rb)} => [:backend, :product_intelligence], %r{\A( lib/gitlab/tracking\.rb | @@ -151,7 +151,8 @@ module Tooling %r{\A((ee|jh)/)?vendor/} => :backend, %r{\A(Gemfile|Gemfile.lock|Rakefile)\z} => :backend, %r{\A[A-Z_]+_VERSION\z} => :backend, - %r{\A\.rubocop((_manual)?_todo)?\.yml\z} => :backend, + %r{\A\.rubocop(_todo)?\.yml\z} => :backend, + %r{\A\.rubocop_todo/.*\.yml\z} => :backend, %r{\Afile_hooks/} => :backend, %r{\A((ee|jh)/)?qa/} => :qa,