Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-09-21 18:10:44 +00:00
parent e87220d9c1
commit 136ec65df5
98 changed files with 1290 additions and 1022 deletions

View File

@ -1,7 +1,19 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
# on 2021-04-01 00:00:00 +0000 using Haml-Lint version 0.36.0.
# on 2022-09-15 12:13:31 +0000 using Haml-Lint version 0.40.1.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again.
linters:
# Offense count: 11
RuboCop:
exclude:
- "app/views/layouts/_page.html.haml"
- "app/views/layouts/header/_default.html.haml"
- "app/views/projects/merge_requests/dropdowns/_branch.html.haml"
- "app/views/projects/merge_requests/dropdowns/_project.html.haml"
- "app/views/shared/_flash_user_callout.html.haml"
- "app/views/shared/_label.html.haml"

View File

@ -40,11 +40,14 @@ AllCops:
- 'plugins/**/*'
- 'file_hooks/**/*'
- 'workhorse/**/*'
- 'shared/packages/**/*'
- 'spec/support/*.git/**/*' # e.g. spec/support/gitlab-git-test.git
- 'db/ci_migrate/*.rb' # since the `db/ci_migrate` is a symlinked to `db/migrate`
# Use absolute path to avoid orphan directories with changed workspace root.
CacheRootDirectory: <%= Dir.getwd %>/tmp
MaxFilesInCache: 35000
NewCops: disable
SuggestExtensions: false
Metrics/ParameterLists:
Exclude:
@ -690,7 +693,7 @@ Gitlab/RailsLogger:
- 'ee/spec/**/*.rb'
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606
FactoryBot/InlineAssociation:
RSpec/FactoryBot/InlineAssociation:
Include:
- 'spec/factories/**/*.rb'
- 'ee/spec/factories/**/*.rb'
@ -775,3 +778,7 @@ Fips/OpenSSL:
Gemspec/AvoidExecutingGit:
Enabled: false
Lint/BinaryOperatorWithIdenticalOperands:
Exclude:
- '{,ee/,qa/}spec/**/*_{spec,shared_examples,shared_context}.rb'

View File

@ -1,5 +1,5 @@
---
Capybara/VisibilityMatcher:
RSpec/Capybara/VisibilityMatcher:
Exclude:
- 'ee/spec/features/boards/sidebar_spec.rb'
- 'ee/spec/features/epics/epic_show_spec.rb'

View File

@ -0,0 +1,6 @@
---
# Cop supports --auto-correct.
Layout/ClosingParenthesisIndentation:
Exclude:
- 'app/presenters/project_presenter.rb'
- 'spec/requests/api/internal/base_spec.rb'

View File

@ -0,0 +1,8 @@
---
# Cop supports --auto-correct.
Layout/EmptyLineBetweenDefs:
Exclude:
- 'db/post_migrate/20220202105733_delete_service_template_records.rb'
- 'ee/lib/ee/gitlab/background_migration/populate_resolved_on_default_branch_column.rb'
- 'lib/gitlab/import_export/remote_stream_upload.rb'
- 'lib/gitlab/redis/multi_store.rb'

View File

@ -1,11 +1,13 @@
---
# Cop supports --auto-correct.
Layout/FirstArrayElementIndentation:
Details: grace period
Exclude:
- 'lib/gitlab/email/message/in_product_marketing/trial.rb'
- 'qa/qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb'
- 'spec/controllers/concerns/send_file_upload_spec.rb'
- 'spec/graphql/types/packages/tag_type_spec.rb'
- 'spec/lib/gitlab/ci/config/external/mapper_spec.rb'
- 'spec/lib/gitlab/ci/parsers/security/common_spec.rb'
- 'spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb'
- 'spec/lib/gitlab/ci/reports/codequality_reports_spec.rb'
@ -83,7 +85,6 @@ Layout/FirstArrayElementIndentation:
- 'spec/models/concerns/noteable_spec.rb'
- 'spec/models/diff_note_spec.rb'
- 'spec/models/discussion_spec.rb'
- 'spec/models/group_group_link_spec.rb'
- 'spec/models/group_spec.rb'
- 'spec/models/integration_spec.rb'
- 'spec/models/integrations/chat_message/issue_message_spec.rb'
@ -138,7 +139,6 @@ Layout/FirstArrayElementIndentation:
- 'spec/services/repositories/changelog_service_spec.rb'
- 'spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb'
- 'spec/services/security/merge_reports_service_spec.rb'
- 'spec/services/users/destroy_service_spec.rb'
- 'spec/simplecov_env.rb'
- 'spec/support/atlassian/jira_connect/schemata.rb'
- 'spec/support/capybara.rb'

View File

@ -0,0 +1,6 @@
---
# Cop supports --auto-correct.
Layout/LeadingCommentSpace:
Exclude:
- 'config/initializers/kaminari_active_record_relation_methods_with_limit.rb'
- 'lib/uploaded_file.rb'

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
---
# Cop supports --auto-correct.
Layout/SpaceAroundOperators:
Exclude:
- 'lib/gitlab/utils/strong_memoize.rb'

View File

@ -0,0 +1,5 @@
---
# Cop supports --auto-correct.
Layout/SpaceBeforeBlockBraces:
Exclude:
- 'app/helpers/colors_helper.rb'

View File

@ -0,0 +1,5 @@
---
# Cop supports --auto-correct.
Layout/SpaceInsideBlockBraces:
Exclude:
- 'spec/requests/api/groups_spec.rb'

View File

@ -0,0 +1,16 @@
---
# Cop supports --auto-correct.
Layout/TrailingWhitespace:
Details: grace period
Exclude:
- 'app/models/concerns/analytics/cycle_analytics/stage_event_model.rb'
- 'db/migrate/20210611100359_rebuild_index_for_cadence_iterations_automation.rb'
- 'db/migrate/20220913082728_drop_index_cadence_create_iterations_automation.rb'
- 'db/post_migrate/20220816163444_update_start_date_for_iterations_cadences.rb'
- 'lib/gitlab/background_migration/fix_duplicate_project_name_and_path.rb'
- 'lib/gitlab/background_migration/populate_topics_non_private_projects_count.rb'
- 'lib/gitlab/pagination/keyset/sql_type_missing_error.rb'
- 'qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb'
- 'spec/lib/banzai/filter/front_matter_filter_spec.rb'
- 'spec/services/suggestions/apply_service_spec.rb'
- 'spec/support/helpers/x509_helpers.rb'

View File

@ -1,15 +0,0 @@
---
Lint/BinaryOperatorWithIdenticalOperands:
Exclude:
- 'ee/spec/lib/ee/gitlab/application_context_spec.rb'
- 'spec/helpers/visibility_level_helper_spec.rb'
- 'spec/lib/gitlab/conan_token_spec.rb'
- 'spec/lib/gitlab/git/conflict/parser_spec.rb'
- 'spec/lib/gitlab/graphql/lazy_spec.rb'
- 'spec/models/ci/build_trace_chunk_spec.rb'
- 'spec/models/clusters/platforms/kubernetes_spec.rb'
- 'spec/models/concerns/where_composite_spec.rb'
- 'spec/models/metrics/dashboard/annotation_spec.rb'
- 'spec/models/repository_spec.rb'
- 'spec/models/ssh_host_key_spec.rb'
- 'spec/tooling/danger/sidekiq_queues_spec.rb'

View File

@ -0,0 +1,4 @@
---
Lint/DuplicateCaseCondition:
Exclude:
- 'app/helpers/icons_helper.rb'

View File

@ -0,0 +1,9 @@
---
Metrics/ParameterLists:
Exclude:
- 'app/helpers/avatars_helper.rb'
- 'app/helpers/blob_helper.rb'
- 'app/models/packages/sem_ver.rb'
- 'app/models/repository.rb'
- 'lib/gitlab/git/tree.rb'
- 'lib/gitlab/version_info.rb'

View File

@ -0,0 +1,10 @@
---
# Cop supports --auto-correct.
Performance/BindCall:
Exclude:
- 'app/services/metrics/dashboard/grafana_metric_embed_service.rb'
- 'ee/spec/features/issues/form_spec.rb'
- 'lib/gitlab/patch/prependable.rb'
- 'spec/features/issues/form_spec.rb'
- 'spec/mailers/notify_spec.rb'
- 'spec/support/patches/rspec_mocks_prepended_methods.rb'

View File

@ -0,0 +1,12 @@
---
# Cop supports --auto-correct.
Performance/RedundantBlockCall:
Exclude:
- 'ee/app/models/gitlab_subscription.rb'
- 'ee/lib/ee/gitlab/auth/ldap/sync/proxy.rb'
- 'lib/gitlab/auth/ldap/access.rb'
- 'lib/gitlab/auth/ldap/adapter.rb'
- 'lib/gitlab/database/bulk_update.rb'
- 'lib/gitlab/http.rb'
- 'lib/gitlab/safe_request_store.rb'
- 'lib/gitlab/timeless.rb'

View File

@ -0,0 +1,9 @@
---
# Cop supports --auto-correct.
Rails/HttpStatus:
Exclude:
- 'app/controllers/concerns/invisible_captcha_on_signup.rb'
- 'app/controllers/projects/runner_projects_controller.rb'
- 'app/controllers/projects/service_ping_controller.rb'
- 'app/controllers/repositories/lfs_storage_controller.rb'
- 'ee/app/controllers/trials_controller.rb'

View File

@ -19,7 +19,6 @@ Rails/TimeZone:
- 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/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

View File

@ -1,11 +1,13 @@
---
# Cop supports --auto-correct.
RSpec/ExpectChange:
Details: grace period
Exclude:
- 'ee/spec/controllers/admin/applications_controller_spec.rb'
- 'ee/spec/controllers/ee/groups_controller_spec.rb'
- 'ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb'
- 'ee/spec/controllers/ee/registrations_controller_spec.rb'
- 'ee/spec/controllers/groups/analytics/cycle_analytics/value_streams_controller_spec.rb'
- 'ee/spec/controllers/groups/epic_issues_controller_spec.rb'
- 'ee/spec/controllers/groups/epics/notes_controller_spec.rb'
- 'ee/spec/controllers/groups/epics_controller_spec.rb'
@ -21,19 +23,25 @@ RSpec/ExpectChange:
- 'ee/spec/controllers/projects/protected_environments_controller_spec.rb'
- 'ee/spec/controllers/projects/repositories_controller_spec.rb'
- 'ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb'
- 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb'
- 'ee/spec/controllers/projects_controller_spec.rb'
- 'ee/spec/controllers/trials_controller_spec.rb'
- 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb'
- 'ee/spec/elastic/migrate/20220512150000_pause_indexing_for_unsupported_es_versions_spec.rb'
- 'ee/spec/features/groups/group_settings_spec.rb'
- 'ee/spec/features/projects_spec.rb'
- 'ee/spec/features/signup_spec.rb'
- 'ee/spec/features/users/login_spec.rb'
- 'ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb'
- 'ee/spec/graphql/mutations/boards/epics/create_spec.rb'
- 'ee/spec/graphql/mutations/compliance_management/frameworks/destroy_spec.rb'
- 'ee/spec/graphql/mutations/compliance_management/frameworks/update_spec.rb'
- 'ee/spec/graphql/mutations/dast/profiles/delete_spec.rb'
- 'ee/spec/graphql/mutations/dast_scanner_profiles/delete_spec.rb'
- 'ee/spec/graphql/mutations/dast_site_profiles/delete_spec.rb'
- 'ee/spec/graphql/mutations/dast_site_validations/revoke_spec.rb'
- 'ee/spec/graphql/types/dast_scanner_profile_type_spec.rb'
- 'ee/spec/graphql/types/dast_site_profile_type_spec.rb'
- 'ee/spec/helpers/paid_feature_callout_helper_spec.rb'
- 'ee/spec/lib/audit/changes_spec.rb'
- 'ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb'
@ -53,12 +61,14 @@ RSpec/ExpectChange:
- 'ee/spec/lib/ee/gitlab/background_migration/drop_invalid_remediations_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb'
- 'ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb'
- 'ee/spec/lib/ee/gitlab/elastic/helper_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb'
- 'ee/spec/lib/ee/gitlab/issuable/clone/copy_resource_events_service_spec.rb'
- 'ee/spec/lib/ee/gitlab/scim/deprovision_service_spec.rb'
- 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb'
- 'ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb'
- 'ee/spec/lib/gitlab/audit/auditor_spec.rb'
- 'ee/spec/lib/gitlab/auth/group_saml/identity_linker_spec.rb'
- 'ee/spec/lib/gitlab/auth/group_saml/user_spec.rb'
@ -66,13 +76,17 @@ RSpec/ExpectChange:
- 'ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb'
- 'ee/spec/lib/gitlab/auth/smartcard/ldap_certificate_spec.rb'
- 'ee/spec/lib/gitlab/background_migration/migrate_requirements_to_work_items_spec.rb'
- 'ee/spec/lib/gitlab/cache_spec.rb'
- 'ee/spec/lib/gitlab/geo/replicator_spec.rb'
- 'ee/spec/lib/gitlab/mirror_spec.rb'
- 'ee/spec/migrations/20220411173544_cleanup_orphans_approval_project_rules_spec.rb'
- 'ee/spec/models/ci/bridge_spec.rb'
- 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb'
- 'ee/spec/models/ci/minutes/project_monthly_usage_spec.rb'
- 'ee/spec/models/concerns/geo/eventable_spec.rb'
- 'ee/spec/models/concerns/geo/replicable_model_spec.rb'
- 'ee/spec/models/concerns/geo/verification_state_spec.rb'
- 'ee/spec/models/container_registry/event_spec.rb'
- 'ee/spec/models/dast/profile_schedule_spec.rb'
- 'ee/spec/models/dast_site_spec.rb'
- 'ee/spec/models/ee/ci/job_artifact_spec.rb'
@ -85,15 +99,20 @@ RSpec/ExpectChange:
- 'ee/spec/models/epic_spec.rb'
- 'ee/spec/models/geo/project_registry_spec.rb'
- 'ee/spec/models/geo/secondary_usage_data_spec.rb'
- 'ee/spec/models/gitlab_subscription_spec.rb'
- 'ee/spec/models/issue_spec.rb'
- 'ee/spec/models/project_import_state_spec.rb'
- 'ee/spec/models/project_member_spec.rb'
- 'ee/spec/models/project_spec.rb'
- 'ee/spec/models/repository_spec.rb'
- 'ee/spec/models/requirements_management/requirement_spec.rb'
- 'ee/spec/models/requirements_management/test_report_spec.rb'
- 'ee/spec/models/status_page/published_incident_spec.rb'
- 'ee/spec/models/vulnerabilities/export_spec.rb'
- 'ee/spec/models/vulnerabilities/read_spec.rb'
- 'ee/spec/models/vulnerabilities/statistic_spec.rb'
- 'ee/spec/replicators/geo/pipeline_replicator_spec.rb'
- 'ee/spec/requests/api/ci/pipelines_spec.rb'
- 'ee/spec/requests/api/deployments_spec.rb'
- 'ee/spec/requests/api/epic_issues_spec.rb'
- 'ee/spec/requests/api/epics_spec.rb'
- 'ee/spec/requests/api/geo_spec.rb'
@ -101,8 +120,12 @@ RSpec/ExpectChange:
- 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/destroy_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/dast/profiles/create_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb'
@ -110,6 +133,8 @@ RSpec/ExpectChange:
- 'ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/requirements_management/update_requirement_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/security_policy/create_security_policy_project_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/work_items/update_spec.rb'
- 'ee/spec/requests/api/group_push_rule_spec.rb'
- 'ee/spec/requests/api/groups_spec.rb'
@ -121,19 +146,30 @@ RSpec/ExpectChange:
- 'ee/spec/requests/api/projects_spec.rb'
- 'ee/spec/requests/api/releases_spec.rb'
- 'ee/spec/requests/api/repositories_spec.rb'
- 'ee/spec/requests/api/status_checks_spec.rb'
- 'ee/spec/requests/api/todos_spec.rb'
- 'ee/spec/requests/api/users_spec.rb'
- 'ee/spec/requests/ee/projects/deploy_tokens_controller_spec.rb'
- 'ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb'
- 'ee/spec/requests/groups/protected_environments_controller_spec.rb'
- 'ee/spec/requests/groups_controller_spec.rb'
- 'ee/spec/requests/smartcard_controller_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb'
- 'ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb'
- 'ee/spec/services/analytics/devops_adoption/enabled_namespaces/find_or_create_service_spec.rb'
- 'ee/spec/services/app_sec/dast/profiles/create_service_spec.rb'
- 'ee/spec/services/app_sec/dast/profiles/destroy_service_spec.rb'
- 'ee/spec/services/app_sec/dast/profiles/update_service_spec.rb'
- 'ee/spec/services/app_sec/dast/scanner_profiles/destroy_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_profile_secret_variables/destroy_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_validations/revoke_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb'
- 'ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb'
- 'ee/spec/services/application_settings/update_service_spec.rb'
- 'ee/spec/services/approval_rules/finalize_service_spec.rb'
- 'ee/spec/services/approval_rules/project_rule_destroy_service_spec.rb'
@ -144,18 +180,27 @@ RSpec/ExpectChange:
- 'ee/spec/services/audit_events/streaming/headers/update_service_spec.rb'
- 'ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb'
- 'ee/spec/services/auto_merge/merge_train_service_spec.rb'
- 'ee/spec/services/boards/epic_user_preferences/update_service_spec.rb'
- 'ee/spec/services/boards/epics/create_service_spec.rb'
- 'ee/spec/services/boards/epics/move_service_spec.rb'
- 'ee/spec/services/boards/epics/position_create_service_spec.rb'
- 'ee/spec/services/ci/destroy_pipeline_service_spec.rb'
- 'ee/spec/services/ci/external_pull_requests/process_github_event_service_spec.rb'
- 'ee/spec/services/ci/minutes/update_build_minutes_service_spec.rb'
- 'ee/spec/services/ci/pipeline_trigger_service_spec.rb'
- 'ee/spec/services/ci/process_build_service_spec.rb'
- 'ee/spec/services/ci/retry_job_service_spec.rb'
- 'ee/spec/services/ci/runners/stale_group_runners_prune_service_spec.rb'
- 'ee/spec/services/ci/subscribe_bridge_service_spec.rb'
- 'ee/spec/services/ci/trigger_downstream_subscription_service_spec.rb'
- 'ee/spec/services/compliance_management/frameworks/create_service_spec.rb'
- 'ee/spec/services/compliance_management/frameworks/destroy_service_spec.rb'
- 'ee/spec/services/compliance_management/frameworks/update_service_spec.rb'
- 'ee/spec/services/deploy_keys/create_service_spec.rb'
- 'ee/spec/services/deployments/approval_service_spec.rb'
- 'ee/spec/services/deployments/auto_rollback_service_spec.rb'
- 'ee/spec/services/ee/ci/job_artifacts/destroy_all_expired_service_spec.rb'
- 'ee/spec/services/ee/ci/job_artifacts/destroy_batch_service_spec.rb'
- 'ee/spec/services/ee/gpg_keys/destroy_service_spec.rb'
- 'ee/spec/services/ee/groups/deploy_tokens/create_service_spec.rb'
- 'ee/spec/services/ee/groups/deploy_tokens/destroy_service_spec.rb'
@ -168,6 +213,7 @@ RSpec/ExpectChange:
- 'ee/spec/services/ee/members/destroy_service_spec.rb'
- 'ee/spec/services/ee/members/invite_service_spec.rb'
- 'ee/spec/services/ee/members/update_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/create_pipeline_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/projects/deploy_tokens/create_service_spec.rb'
@ -179,6 +225,7 @@ RSpec/ExpectChange:
- 'ee/spec/services/ee/users/reject_service_spec.rb'
- 'ee/spec/services/ee/users/update_service_spec.rb'
- 'ee/spec/services/elastic/indexing_control_service_spec.rb'
- 'ee/spec/services/elastic/process_initial_bookkeeping_service_spec.rb'
- 'ee/spec/services/emails/create_service_spec.rb'
- 'ee/spec/services/emails/destroy_service_spec.rb'
- 'ee/spec/services/epic_issues/create_service_spec.rb'
@ -193,16 +240,21 @@ RSpec/ExpectChange:
- 'ee/spec/services/geo/blob_download_service_spec.rb'
- 'ee/spec/services/geo/metrics_update_service_spec.rb'
- 'ee/spec/services/geo/project_housekeeping_service_spec.rb'
- 'ee/spec/services/geo/prune_event_log_service_spec.rb'
- 'ee/spec/services/geo/registry_consistency_service_spec.rb'
- 'ee/spec/services/geo/repository_registry_removal_service_spec.rb'
- 'ee/spec/services/geo/repository_sync_service_spec.rb'
- 'ee/spec/services/group_saml/group_managed_accounts/transfer_membership_service_spec.rb'
- 'ee/spec/services/group_saml/identity/destroy_service_spec.rb'
- 'ee/spec/services/group_saml/sign_up_service_spec.rb'
- 'ee/spec/services/groups/destroy_service_spec.rb'
- 'ee/spec/services/groups/mark_for_deletion_service_spec.rb'
- 'ee/spec/services/groups/restore_service_spec.rb'
- 'ee/spec/services/groups/sync_service_spec.rb'
- 'ee/spec/services/incident_management/issuable_resource_links/create_service_spec.rb'
- 'ee/spec/services/incident_management/oncall_rotations/edit_service_spec.rb'
- 'ee/spec/services/incident_management/pending_escalations/create_service_spec.rb'
- 'ee/spec/services/iterations/cadences/create_service_spec.rb'
- 'ee/spec/services/iterations/update_service_spec.rb'
- 'ee/spec/services/keys/create_service_spec.rb'
- 'ee/spec/services/lfs/lock_file_service_spec.rb'
@ -210,56 +262,101 @@ RSpec/ExpectChange:
- 'ee/spec/services/members/activate_service_spec.rb'
- 'ee/spec/services/merge_request_approval_settings/update_service_spec.rb'
- 'ee/spec/services/merge_requests/update_blocks_service_spec.rb'
- 'ee/spec/services/namespaces/free_user_cap/update_prevent_sharing_outside_hierarchy_service_spec.rb'
- 'ee/spec/services/projects/destroy_service_spec.rb'
- 'ee/spec/services/projects/disable_deploy_key_service_spec.rb'
- 'ee/spec/services/projects/enable_deploy_key_service_spec.rb'
- 'ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb'
- 'ee/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb'
- 'ee/spec/services/projects/import_service_spec.rb'
- 'ee/spec/services/projects/mark_for_deletion_service_spec.rb'
- 'ee/spec/services/projects/restore_service_spec.rb'
- 'ee/spec/services/projects/transfer_service_spec.rb'
- 'ee/spec/services/projects/update_service_spec.rb'
- 'ee/spec/services/protected_environments/destroy_service_spec.rb'
- 'ee/spec/services/protected_environments/update_service_spec.rb'
- 'ee/spec/services/push_rules/create_or_update_service_spec.rb'
- 'ee/spec/services/requirements_management/create_requirement_service_spec.rb'
- 'ee/spec/services/requirements_management/process_test_reports_service_spec.rb'
- 'ee/spec/services/resource_access_tokens/create_service_spec.rb'
- 'ee/spec/services/resource_access_tokens/revoke_service_spec.rb'
- 'ee/spec/services/resource_events/change_weight_service_spec.rb'
- 'ee/spec/services/security/ingestion/finding_map_spec.rb'
- 'ee/spec/services/security/ingestion/ingest_report_service_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_finding_evidence_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_finding_links_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_finding_signatures_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_findings_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities_spec.rb'
- 'ee/spec/services/security/orchestration/assign_service_spec.rb'
- 'ee/spec/services/security/override_uuids_service_spec.rb'
- 'ee/spec/services/security/security_orchestration_policies/sync_opened_merge_requests_service_spec.rb'
- 'ee/spec/services/security/store_findings_metadata_service_spec.rb'
- 'ee/spec/services/security/store_scan_service_spec.rb'
- 'ee/spec/services/start_pull_mirroring_service_spec.rb'
- 'ee/spec/services/status_page/mark_for_publication_service_spec.rb'
- 'ee/spec/services/system_notes/epics_service_spec.rb'
- 'ee/spec/services/system_notes/merge_train_service_spec.rb'
- 'ee/spec/services/todo_service_spec.rb'
- 'ee/spec/services/todos/destroy/confidential_epic_service_spec.rb'
- 'ee/spec/services/upcoming_reconciliations/update_service_spec.rb'
- 'ee/spec/services/users_ops_dashboard_projects/destroy_service_spec.rb'
- 'ee/spec/services/vulnerabilities/confirm_service_spec.rb'
- 'ee/spec/services/vulnerabilities/destroy_dismissal_feedback_service_spec.rb'
- 'ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb'
- 'ee/spec/services/vulnerabilities/historical_statistics/deletion_service_spec.rb'
- 'ee/spec/services/vulnerabilities/resolve_service_spec.rb'
- 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb'
- 'ee/spec/services/vulnerabilities/security_finding/create_issue_service_spec.rb'
- 'ee/spec/services/vulnerabilities/starboard_vulnerability_create_service_spec.rb'
- 'ee/spec/services/vulnerabilities/statistics/adjustment_service_spec.rb'
- 'ee/spec/services/vulnerabilities/statistics/update_service_spec.rb'
- 'ee/spec/services/vulnerability_exports/create_service_spec.rb'
- 'ee/spec/services/vulnerability_exports/export_service_spec.rb'
- 'ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb'
- 'ee/spec/services/vulnerability_external_issue_links/destroy_service_spec.rb'
- 'ee/spec/services/vulnerability_feedback/create_service_spec.rb'
- 'ee/spec/services/vulnerability_feedback/destroy_service_spec.rb'
- 'ee/spec/services/vulnerability_issue_links/create_service_spec.rb'
- 'ee/spec/services/vulnerability_issue_links/delete_service_spec.rb'
- 'ee/spec/support/shared_contexts/audit_event_not_licensed_shared_context.rb'
- 'ee/spec/support/shared_examples/graphql/mutations/update_health_status_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/concerns/replicable_model_with_separate_table_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/concerns/repository_replicator_strategy_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/concerns/verifiable_replicator_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb'
- 'ee/spec/support/shared_examples/services/group_saml/saml_provider/base_service_shared_examples.rb'
- 'ee/spec/support/shared_examples/services/update_issuable_health_status_shared_examples.rb'
- 'ee/spec/support/shared_examples/services/vulnerabilities/removes_dismissal_feedback_from_associated_findings_shared_example.rb'
- 'ee/spec/tasks/geo/git_rake_spec.rb'
- 'ee/spec/tasks/gitlab/elastic_rake_spec.rb'
- 'ee/spec/workers/app_sec/dast/scanner_profiles_builds/consistency_worker_spec.rb'
- 'ee/spec/workers/app_sec/dast/scans/consistency_worker_spec.rb'
- 'ee/spec/workers/app_sec/dast/site_profiles_builds/consistency_worker_spec.rb'
- 'ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb'
- 'ee/spec/workers/ci/upstream_projects_subscriptions_cleanup_worker_spec.rb'
- 'ee/spec/workers/ee/projects/inactive_projects_deletion_cron_worker_spec.rb'
- 'ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb'
- 'ee/spec/workers/geo/create_repository_updated_event_worker_spec.rb'
- 'ee/spec/workers/geo/prune_event_log_worker_spec.rb'
- 'ee/spec/workers/geo/verification_state_backfill_service_spec.rb'
- 'ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb'
- 'ee/spec/workers/new_epic_worker_spec.rb'
- 'ee/spec/workers/store_security_reports_worker_spec.rb'
- 'ee/spec/workers/vulnerability_exports/export_deletion_worker_spec.rb'
- 'spec/controllers/admin/applications_controller_spec.rb'
- 'spec/controllers/admin/clusters_controller_spec.rb'
- 'spec/controllers/admin/groups_controller_spec.rb'
- 'spec/controllers/admin/runners_controller_spec.rb'
- 'spec/controllers/admin/spam_logs_controller_spec.rb'
- 'spec/controllers/admin/topics_controller_spec.rb'
- 'spec/controllers/admin/users_controller_spec.rb'
- 'spec/controllers/groups/clusters_controller_spec.rb'
- 'spec/controllers/groups/runners_controller_spec.rb'
- 'spec/controllers/groups/settings/applications_controller_spec.rb'
- 'spec/controllers/groups_controller_spec.rb'
- 'spec/controllers/import/bitbucket_controller_spec.rb'
- 'spec/controllers/import/gitlab_controller_spec.rb'
@ -268,38 +365,71 @@ RSpec/ExpectChange:
- 'spec/controllers/omniauth_callbacks_controller_spec.rb'
- 'spec/controllers/profiles/gpg_keys_controller_spec.rb'
- 'spec/controllers/profiles/keys_controller_spec.rb'
- 'spec/controllers/projects/artifacts_controller_spec.rb'
- 'spec/controllers/projects/clusters_controller_spec.rb'
- 'spec/controllers/projects/deploy_keys_controller_spec.rb'
- 'spec/controllers/projects/feature_flags_controller_spec.rb'
- 'spec/controllers/projects/issues_controller_spec.rb'
- 'spec/controllers/projects/jobs_controller_spec.rb'
- 'spec/controllers/projects/merge_requests/creations_controller_spec.rb'
- 'spec/controllers/projects/merge_requests/drafts_controller_spec.rb'
- 'spec/controllers/projects/merge_requests_controller_spec.rb'
- 'spec/controllers/projects/mirrors_controller_spec.rb'
- 'spec/controllers/projects/notes_controller_spec.rb'
- 'spec/controllers/projects/pages_domains_controller_spec.rb'
- 'spec/controllers/projects/pipeline_schedules_controller_spec.rb'
- 'spec/controllers/projects/pipelines_controller_spec.rb'
- 'spec/controllers/projects/raw_controller_spec.rb'
- 'spec/controllers/projects/runners_controller_spec.rb'
- 'spec/controllers/projects/settings/ci_cd_controller_spec.rb'
- 'spec/controllers/projects_controller_spec.rb'
- 'spec/controllers/repositories/lfs_storage_controller_spec.rb'
- 'spec/controllers/sessions_controller_spec.rb'
- 'spec/controllers/snippets/notes_controller_spec.rb'
- 'spec/controllers/uploads_controller_spec.rb'
- 'spec/controllers/users/callouts_controller_spec.rb'
- 'spec/features/admin/users/users_spec.rb'
- 'spec/features/file_uploads/attachment_spec.rb'
- 'spec/features/file_uploads/ci_artifact_spec.rb'
- 'spec/features/file_uploads/git_lfs_spec.rb'
- 'spec/features/file_uploads/graphql_add_design_spec.rb'
- 'spec/features/file_uploads/group_import_spec.rb'
- 'spec/features/file_uploads/maven_package_spec.rb'
- 'spec/features/file_uploads/nuget_package_spec.rb'
- 'spec/features/file_uploads/project_import_spec.rb'
- 'spec/features/file_uploads/rubygem_package_spec.rb'
- 'spec/features/groups/import_export/import_file_spec.rb'
- 'spec/features/groups_spec.rb'
- 'spec/features/invites_spec.rb'
- 'spec/features/projects/environments/environment_spec.rb'
- 'spec/features/projects/environments/environments_spec.rb'
- 'spec/features/projects/import_export/import_file_spec.rb'
- 'spec/features/projects/pipelines/legacy_pipelines_spec.rb'
- 'spec/features/projects/pipelines/pipelines_spec.rb'
- 'spec/features/projects_spec.rb'
- 'spec/features/users/signup_spec.rb'
- 'spec/finders/environments/environments_by_deployments_finder_spec.rb'
- 'spec/graphql/mutations/ci/job_token_scope/add_project_spec.rb'
- 'spec/graphql/mutations/ci/job_token_scope/remove_project_spec.rb'
- 'spec/graphql/mutations/ci/runner/bulk_delete_spec.rb'
- 'spec/graphql/mutations/ci/runner/delete_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/container_repositories/destroy_spec.rb'
- 'spec/graphql/mutations/container_repositories/destroy_tags_spec.rb'
- 'spec/graphql/mutations/dependency_proxy/image_ttl_group_policy/update_spec.rb'
- 'spec/graphql/mutations/issues/set_severity_spec.rb'
- 'spec/graphql/mutations/releases/delete_spec.rb'
- 'spec/graphql/mutations/timelogs/delete_spec.rb'
- 'spec/helpers/markup_helper_spec.rb'
- 'spec/helpers/projects_helper_spec.rb'
- 'spec/initializers/active_record_locking_spec.rb'
- 'spec/lib/api/helpers_spec.rb'
- 'spec/lib/banzai/filter/repository_link_filter_spec.rb'
- 'spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb'
- 'spec/lib/declarative_enum_spec.rb'
- 'spec/lib/gitaly/server_spec.rb'
- 'spec/lib/gitlab/auth/ldap/access_spec.rb'
- 'spec/lib/gitlab/auth/ldap/user_spec.rb'
- 'spec/lib/gitlab/auth/o_auth/identity_linker_spec.rb'
@ -315,16 +445,21 @@ RSpec/ExpectChange:
- 'spec/lib/gitlab/background_task_spec.rb'
- 'spec/lib/gitlab/bitbucket_import/importer_spec.rb'
- 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb'
- 'spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb'
- 'spec/lib/gitlab/checks/matching_merge_request_spec.rb'
- 'spec/lib/gitlab/ci/ansi2json/line_spec.rb'
- 'spec/lib/gitlab/ci/config/external/context_spec.rb'
- 'spec/lib/gitlab/ci/parsers/security/common_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/chain/create_deployments_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/seed/environment_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb'
- 'spec/lib/gitlab/ci/reports/security/report_spec.rb'
- 'spec/lib/gitlab/ci/status/factory_spec.rb'
- 'spec/lib/gitlab/ci/trace/archive_spec.rb'
- 'spec/lib/gitlab/ci/trace/chunked_io_spec.rb'
- 'spec/lib/gitlab/composer/cache_spec.rb'
- 'spec/lib/gitlab/config/entry/validatable_spec.rb'
- 'spec/lib/gitlab/daemon_spec.rb'
- 'spec/lib/gitlab/database/async_indexes/index_creator_spec.rb'
@ -333,12 +468,20 @@ RSpec/ExpectChange:
- 'spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb'
- 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb'
- 'spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb'
- 'spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb'
- 'spec/lib/gitlab/database/migration_helpers_spec.rb'
- 'spec/lib/gitlab/database/migrations/background_migration_helpers_spec.rb'
- 'spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb'
- 'spec/lib/gitlab/database/migrations/observers/query_log_spec.rb'
- 'spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb'
- 'spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb'
- 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb'
- 'spec/lib/gitlab/database/partitioning_spec.rb'
- 'spec/lib/gitlab/database/reindexing/reindex_action_spec.rb'
- 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb'
- 'spec/lib/gitlab/fogbugz_import/importer_spec.rb'
- 'spec/lib/gitlab/git/commit_spec.rb'
- 'spec/lib/gitlab/git/tag_spec.rb'
- 'spec/lib/gitlab/git_access_project_spec.rb'
- 'spec/lib/gitlab/github_import/importer/events/changed_assignee_spec.rb'
- 'spec/lib/gitlab/github_import/importer/events/renamed_spec.rb'
@ -360,6 +503,7 @@ RSpec/ExpectChange:
- 'spec/lib/gitlab/process_supervisor_spec.rb'
- 'spec/lib/gitlab/query_limiting_spec.rb'
- 'spec/lib/gitlab/reference_counter_spec.rb'
- 'spec/lib/gitlab/seeders/ci/daily_build_group_report_result_spec.rb'
- 'spec/lib/gitlab/slash_commands/issue_move_spec.rb'
- 'spec/lib/gitlab/word_diff/positions_counter_spec.rb'
- 'spec/migrations/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers_spec.rb'
@ -371,11 +515,14 @@ RSpec/ExpectChange:
- 'spec/migrations/20220202105733_delete_service_template_records_spec.rb'
- 'spec/migrations/20220222192525_remove_null_releases_spec.rb'
- 'spec/migrations/20220629184402_unset_escalation_policies_for_alert_incidents_spec.rb'
- 'spec/migrations/add_new_trail_plans_spec.rb'
- 'spec/migrations/add_open_source_plan_spec.rb'
- 'spec/migrations/backfill_cycle_analytics_aggregations_spec.rb'
- 'spec/migrations/bulk_insert_cluster_enabled_grants_spec.rb'
- 'spec/migrations/cleanup_after_add_primary_email_to_emails_if_user_confirmed_spec.rb'
- 'spec/migrations/cleanup_after_fixing_issue_when_admin_changed_primary_email_spec.rb'
- 'spec/migrations/cleanup_after_fixing_regression_with_new_users_emails_spec.rb'
- 'spec/migrations/delete_security_findings_without_uuid_spec.rb'
- 'spec/migrations/populate_audit_event_streaming_verification_token_spec.rb'
- 'spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb'
- 'spec/migrations/remove_wiki_notes_spec.rb'
@ -389,11 +536,14 @@ RSpec/ExpectChange:
- 'spec/models/ci/build_spec.rb'
- 'spec/models/ci/deleted_object_spec.rb'
- 'spec/models/ci/namespace_mirror_spec.rb'
- 'spec/models/ci/pipeline_artifact_spec.rb'
- 'spec/models/ci/pipeline_schedule_spec.rb'
- 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/ci/processable_spec.rb'
- 'spec/models/ci/project_mirror_spec.rb'
- 'spec/models/ci/ref_spec.rb'
- 'spec/models/ci/runner_spec.rb'
- 'spec/models/clusters/applications/runner_spec.rb'
- 'spec/models/clusters/cluster_spec.rb'
- 'spec/models/commit_status_spec.rb'
- 'spec/models/concerns/atomic_internal_id_spec.rb'
@ -410,6 +560,7 @@ RSpec/ExpectChange:
- 'spec/models/container_repository_spec.rb'
- 'spec/models/customer_relations/issue_contact_spec.rb'
- 'spec/models/design_management/version_spec.rb'
- 'spec/models/error_tracking/project_error_tracking_setting_spec.rb'
- 'spec/models/event_spec.rb'
- 'spec/models/experiment_spec.rb'
- 'spec/models/group_spec.rb'
@ -423,6 +574,7 @@ RSpec/ExpectChange:
- 'spec/models/member_spec.rb'
- 'spec/models/merge_request_spec.rb'
- 'spec/models/packages/package_file_spec.rb'
- 'spec/models/packages/package_spec.rb'
- 'spec/models/pages_domain_spec.rb'
- 'spec/models/plan_spec.rb'
- 'spec/models/project_auto_devops_spec.rb'
@ -437,6 +589,7 @@ RSpec/ExpectChange:
- 'spec/models/route_spec.rb'
- 'spec/models/sent_notification_spec.rb'
- 'spec/models/snippet_spec.rb'
- 'spec/models/terraform/state_spec.rb'
- 'spec/models/upload_spec.rb'
- 'spec/models/user_interacted_project_spec.rb'
- 'spec/models/user_spec.rb'
@ -444,18 +597,33 @@ RSpec/ExpectChange:
- 'spec/models/x509_certificate_spec.rb'
- 'spec/models/x509_issuer_spec.rb'
- 'spec/requests/abuse_reports_controller_spec.rb'
- 'spec/requests/api/admin/ci/variables_spec.rb'
- 'spec/requests/api/applications_spec.rb'
- 'spec/requests/api/broadcast_messages_spec.rb'
- 'spec/requests/api/ci/pipeline_schedules_spec.rb'
- 'spec/requests/api/ci/pipelines_spec.rb'
- 'spec/requests/api/ci/runner/jobs_trace_spec.rb'
- 'spec/requests/api/commit_statuses_spec.rb'
- 'spec/requests/api/deploy_keys_spec.rb'
- 'spec/requests/api/deploy_tokens_spec.rb'
- 'spec/requests/api/error_tracking/collector_spec.rb'
- 'spec/requests/api/feature_flags_spec.rb'
- 'spec/requests/api/freeze_periods_spec.rb'
- 'spec/requests/api/generic_packages_spec.rb'
- 'spec/requests/api/graphql/mutations/award_emojis/add_spec.rb'
- 'spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb'
- 'spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb'
- 'spec/requests/api/graphql/mutations/boards/destroy_spec.rb'
- 'spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb'
- 'spec/requests/api/graphql/mutations/clusters/agents/create_spec.rb'
- 'spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb'
- 'spec/requests/api/graphql/mutations/container_repository/destroy_spec.rb'
- 'spec/requests/api/graphql/mutations/container_repository/destroy_tags_spec.rb'
- 'spec/requests/api/graphql/mutations/labels/create_spec.rb'
- 'spec/requests/api/graphql/mutations/metrics/dashboard/annotations/create_spec.rb'
- 'spec/requests/api/graphql/mutations/metrics/dashboard/annotations/delete_spec.rb'
- 'spec/requests/api/graphql/mutations/notes/destroy_spec.rb'
- 'spec/requests/api/graphql/mutations/packages/cleanup/policy/update_spec.rb'
- 'spec/requests/api/graphql/mutations/releases/delete_spec.rb'
- 'spec/requests/api/graphql/mutations/snippets/create_spec.rb'
- 'spec/requests/api/graphql/mutations/snippets/destroy_spec.rb'
@ -463,21 +631,35 @@ RSpec/ExpectChange:
- 'spec/requests/api/group_import_spec.rb'
- 'spec/requests/api/groups_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/notes_spec.rb'
- 'spec/requests/api/npm_project_packages_spec.rb'
- 'spec/requests/api/project_snippets_spec.rb'
- 'spec/requests/api/projects_spec.rb'
- 'spec/requests/api/pypi_packages_spec.rb'
- 'spec/requests/api/release/links_spec.rb'
- 'spec/requests/api/releases_spec.rb'
- 'spec/requests/api/rubygem_packages_spec.rb'
- 'spec/requests/api/snippets_spec.rb'
- 'spec/requests/api/terraform/modules/v1/packages_spec.rb'
- 'spec/requests/api/terraform/state_spec.rb'
- 'spec/requests/api/terraform/state_version_spec.rb'
- 'spec/requests/api/users_spec.rb'
- 'spec/requests/groups/settings/access_tokens_controller_spec.rb'
- 'spec/requests/import/gitlab_groups_controller_spec.rb'
- 'spec/requests/oauth_tokens_spec.rb'
- 'spec/requests/product_analytics/collector_app_spec.rb'
- 'spec/requests/projects/issue_links_controller_spec.rb'
- 'spec/requests/projects/merge_requests_discussions_spec.rb'
- 'spec/requests/projects/settings/access_tokens_controller_spec.rb'
- 'spec/requests/users/group_callouts_spec.rb'
- 'spec/requests/users/namespace_callouts_spec.rb'
- 'spec/requests/users/project_callouts_spec.rb'
- 'spec/services/alert_management/alerts/todo/create_service_spec.rb'
- 'spec/services/alert_management/alerts/update_service_spec.rb'
- 'spec/services/application_settings/update_service_spec.rb'
- 'spec/services/applications/create_service_spec.rb'
- 'spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb'
- 'spec/services/authorized_project_update/project_recalculate_service_spec.rb'
- 'spec/services/award_emojis/add_service_spec.rb'
@ -486,18 +668,39 @@ RSpec/ExpectChange:
- 'spec/services/award_emojis/toggle_service_spec.rb'
- 'spec/services/bulk_imports/create_service_spec.rb'
- 'spec/services/bulk_imports/relation_export_service_spec.rb'
- 'spec/services/ci/build_report_result_service_spec.rb'
- 'spec/services/ci/create_downstream_pipeline_service_spec.rb'
- 'spec/services/ci/create_pipeline_service_spec.rb'
- 'spec/services/ci/daily_build_group_report_result_service_spec.rb'
- 'spec/services/ci/delete_objects_service_spec.rb'
- 'spec/services/ci/destroy_pipeline_service_spec.rb'
- 'spec/services/ci/ensure_stage_service_spec.rb'
- 'spec/services/ci/job_artifacts/create_service_spec.rb'
- 'spec/services/ci/job_artifacts/delete_service_spec.rb'
- 'spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb'
- 'spec/services/ci/job_artifacts/destroy_associations_service_spec.rb'
- 'spec/services/ci/job_artifacts/destroy_batch_service_spec.rb'
- 'spec/services/ci/job_artifacts/update_unknown_locked_status_service_spec.rb'
- 'spec/services/ci/job_token_scope/add_project_service_spec.rb'
- 'spec/services/ci/job_token_scope/remove_project_service_spec.rb'
- 'spec/services/ci/pipeline_artifacts/coverage_report_service_spec.rb'
- 'spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb'
- 'spec/services/ci/pipeline_artifacts/destroy_all_expired_service_spec.rb'
- 'spec/services/ci/pipeline_trigger_service_spec.rb'
- 'spec/services/ci/play_build_service_spec.rb'
- 'spec/services/ci/process_build_service_spec.rb'
- 'spec/services/ci/retry_job_service_spec.rb'
- 'spec/services/ci/retry_pipeline_service_spec.rb'
- 'spec/services/ci/run_scheduled_build_service_spec.rb'
- 'spec/services/ci/runners/bulk_delete_runners_service_spec.rb'
- 'spec/services/ci/runners/unregister_runner_service_spec.rb'
- 'spec/services/ci/update_build_queue_service_spec.rb'
- 'spec/services/ci/update_build_state_service_spec.rb'
- 'spec/services/ci/update_instance_variables_service_spec.rb'
- 'spec/services/clusters/agent_tokens/create_service_spec.rb'
- 'spec/services/clusters/agents/create_service_spec.rb'
- 'spec/services/clusters/agents/delete_service_spec.rb'
- 'spec/services/clusters/create_service_spec.rb'
- 'spec/services/clusters/destroy_service_spec.rb'
- 'spec/services/container_expiration_policies/cleanup_service_spec.rb'
- 'spec/services/deployments/create_for_build_service_spec.rb'
@ -509,17 +712,21 @@ RSpec/ExpectChange:
- 'spec/services/draft_notes/destroy_service_spec.rb'
- 'spec/services/draft_notes/publish_service_spec.rb'
- 'spec/services/emails/create_service_spec.rb'
- 'spec/services/error_tracking/collect_error_service_spec.rb'
- 'spec/services/error_tracking/list_projects_service_spec.rb'
- 'spec/services/event_create_service_spec.rb'
- 'spec/services/feature_flags/create_service_spec.rb'
- 'spec/services/feature_flags/destroy_service_spec.rb'
- 'spec/services/feature_flags/update_service_spec.rb'
- 'spec/services/git/branch_push_service_spec.rb'
- 'spec/services/git/process_ref_changes_service_spec.rb'
- 'spec/services/git/tag_hooks_service_spec.rb'
- 'spec/services/groups/create_service_spec.rb'
- 'spec/services/groups/import_export/import_service_spec.rb'
- 'spec/services/groups/transfer_service_spec.rb'
- 'spec/services/groups/update_service_spec.rb'
- 'spec/services/groups/update_statistics_service_spec.rb'
- 'spec/services/incident_management/timeline_events/create_service_spec.rb'
- 'spec/services/incident_management/timeline_events/update_service_spec.rb'
- 'spec/services/issuable/common_system_notes_service_spec.rb'
- 'spec/services/issues/close_service_spec.rb'
@ -533,6 +740,7 @@ RSpec/ExpectChange:
- 'spec/services/lfs/lock_file_service_spec.rb'
- 'spec/services/merge_requests/add_spent_time_service_spec.rb'
- 'spec/services/merge_requests/close_service_spec.rb'
- 'spec/services/merge_requests/create_pipeline_service_spec.rb'
- 'spec/services/merge_requests/create_service_spec.rb'
- 'spec/services/merge_requests/ff_merge_service_spec.rb'
- 'spec/services/merge_requests/merge_service_spec.rb'
@ -544,24 +752,48 @@ RSpec/ExpectChange:
- 'spec/services/merge_requests/update_service_spec.rb'
- 'spec/services/milestones/destroy_service_spec.rb'
- 'spec/services/namespace_settings/update_service_spec.rb'
- 'spec/services/namespaces/in_product_marketing_emails_service_spec.rb'
- 'spec/services/notes/create_service_spec.rb'
- 'spec/services/notes/destroy_service_spec.rb'
- 'spec/services/notes/quick_actions_service_spec.rb'
- 'spec/services/packages/cleanup/update_policy_service_spec.rb'
- 'spec/services/packages/composer/create_package_service_spec.rb'
- 'spec/services/packages/create_dependency_service_spec.rb'
- 'spec/services/packages/create_event_service_spec.rb'
- 'spec/services/packages/create_temporary_package_service_spec.rb'
- 'spec/services/packages/debian/find_or_create_package_service_spec.rb'
- 'spec/services/packages/debian/process_changes_service_spec.rb'
- 'spec/services/packages/generic/create_package_file_service_spec.rb'
- 'spec/services/packages/go/create_package_service_spec.rb'
- 'spec/services/packages/helm/process_file_service_spec.rb'
- 'spec/services/packages/mark_package_for_destruction_service_spec.rb'
- 'spec/services/packages/maven/find_or_create_package_service_spec.rb'
- 'spec/services/packages/npm/create_package_service_spec.rb'
- 'spec/services/packages/npm/create_tag_service_spec.rb'
- 'spec/services/packages/nuget/create_dependency_service_spec.rb'
- 'spec/services/packages/nuget/sync_metadatum_service_spec.rb'
- 'spec/services/packages/nuget/update_package_from_metadata_service_spec.rb'
- 'spec/services/packages/pypi/create_package_service_spec.rb'
- 'spec/services/packages/remove_tag_service_spec.rb'
- 'spec/services/packages/rubygems/create_dependencies_service_spec.rb'
- 'spec/services/packages/rubygems/metadata_extraction_service_spec.rb'
- 'spec/services/packages/terraform_module/create_package_service_spec.rb'
- 'spec/services/packages/update_package_file_service_spec.rb'
- 'spec/services/packages/update_tags_service_spec.rb'
- 'spec/services/pages/delete_service_spec.rb'
- 'spec/services/pages/destroy_deployments_service_spec.rb'
- 'spec/services/pages_domains/retry_acme_order_service_spec.rb'
- 'spec/services/personal_access_tokens/last_used_service_spec.rb'
- 'spec/services/projects/auto_devops/disable_service_spec.rb'
- 'spec/services/projects/destroy_service_spec.rb'
- 'spec/services/projects/fetch_statistics_increment_service_spec.rb'
- 'spec/services/projects/hashed_storage/migration_service_spec.rb'
- 'spec/services/projects/hashed_storage/rollback_repository_service_spec.rb'
- 'spec/services/projects/hashed_storage/rollback_service_spec.rb'
- 'spec/services/projects/in_product_marketing_campaign_emails_service_spec.rb'
- 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb'
- 'spec/services/projects/record_target_platforms_service_spec.rb'
- 'spec/services/projects/transfer_service_spec.rb'
- 'spec/services/projects/update_pages_service_spec.rb'
- 'spec/services/projects/update_service_spec.rb'
- 'spec/services/quick_actions/interpret_service_spec.rb'
@ -594,14 +826,17 @@ RSpec/ExpectChange:
- 'spec/services/users/update_service_spec.rb'
- 'spec/services/verify_pages_domain_service_spec.rb'
- 'spec/services/work_items/parent_links/create_service_spec.rb'
- 'spec/support/services/clusters/create_service_shared.rb'
- 'spec/support/services/deploy_token_shared_examples.rb'
- 'spec/support/services/issuable_import_csv_service_shared_examples.rb'
- 'spec/support/shared_contexts/email_shared_context.rb'
- 'spec/support/shared_examples/controllers/clusters_controller_shared_examples.rb'
- 'spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb'
- 'spec/support/shared_examples/controllers/variables_shared_examples.rb'
- 'spec/support/shared_examples/graphql/mutations/boards_create_shared_examples.rb'
- 'spec/support/shared_examples/graphql/notes_creation_shared_examples.rb'
- 'spec/support/shared_examples/incident_management/issuable_escalation_statuses/build_examples.rb'
- 'spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb'
- 'spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb'
- 'spec/support/shared_examples/models/commit_signature_shared_examples.rb'
- 'spec/support/shared_examples/models/concerns/bulk_insert_safe_shared_examples.rb'
@ -610,17 +845,29 @@ RSpec/ExpectChange:
- 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb'
- 'spec/support/shared_examples/models/concerns/limitable_shared_examples.rb'
- 'spec/support/shared_examples/models/concerns/repository_storage_movable_shared_examples.rb'
- 'spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb'
- 'spec/support/shared_examples/models/member_shared_examples.rb'
- 'spec/support/shared_examples/models/packages/debian/component_file_shared_example.rb'
- 'spec/support/shared_examples/models/with_uploads_shared_examples.rb'
- 'spec/support/shared_examples/requests/access_tokens_controller_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/conan_packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/graphql/mutations/destroy_list_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/graphql/read_only_instance_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/helm_packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/npm_packages_tags_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/terraform/modules/v1/packages_shared_examples.rb'
- 'spec/support/shared_examples/services/common_system_notes_shared_examples.rb'
- 'spec/support/shared_examples/services/container_expiration_policy_shared_examples.rb'
- 'spec/support/shared_examples/services/container_registry_auth_service_shared_examples.rb'
- 'spec/support/shared_examples/services/dependency_proxy_ttl_policies_shared_examples.rb'
- 'spec/support/shared_examples/services/issuable_links/create_links_shared_examples.rb'
- 'spec/support/shared_examples/services/merge_request_shared_examples.rb'
- 'spec/support/shared_examples/services/namespace_package_settings_shared_examples.rb'
- 'spec/support/shared_examples/services/packages_shared_examples.rb'
- 'spec/support/shared_examples/services/rate_limited_service_shared_examples.rb'
- 'spec/support/shared_examples/services/repositories/housekeeping_shared_examples.rb'
- 'spec/support/shared_examples/services/updating_mentions_shared_examples.rb'
@ -633,14 +880,26 @@ RSpec/ExpectChange:
- 'spec/tooling/rspec_flaky/listener_spec.rb'
- 'spec/uploaders/file_uploader_spec.rb'
- 'spec/uploaders/records_uploads_spec.rb'
- 'spec/workers/analytics/usage_trends/counter_job_worker_spec.rb'
- 'spec/workers/destroy_pages_deployments_worker_spec.rb'
- 'spec/workers/environments/auto_delete_cron_worker_spec.rb'
- 'spec/workers/gitlab/phabricator_import/base_worker_spec.rb'
- 'spec/workers/gitlab_service_ping_worker_spec.rb'
- 'spec/workers/group_import_worker_spec.rb'
- 'spec/workers/incident_management/process_alert_worker_v2_spec.rb'
- 'spec/workers/namespaces/root_statistics_worker_spec.rb'
- 'spec/workers/namespaces/schedule_aggregation_worker_spec.rb'
- 'spec/workers/new_issue_worker_spec.rb'
- 'spec/workers/new_merge_request_worker_spec.rb'
- 'spec/workers/packages/cleanup_package_file_worker_spec.rb'
- 'spec/workers/packages/composer/cache_cleanup_worker_spec.rb'
- 'spec/workers/packages/composer/cache_update_worker_spec.rb'
- 'spec/workers/packages/debian/process_changes_worker_spec.rb'
- 'spec/workers/packages/go/sync_packages_worker_spec.rb'
- 'spec/workers/packages/helm/extraction_worker_spec.rb'
- 'spec/workers/packages/maven/metadata/sync_worker_spec.rb'
- 'spec/workers/packages/nuget/extraction_worker_spec.rb'
- 'spec/workers/packages/rubygems/extraction_worker_spec.rb'
- 'spec/workers/pages_domain_removal_cron_worker_spec.rb'
- 'spec/workers/projects/post_creation_worker_spec.rb'
- 'spec/workers/prune_old_events_worker_spec.rb'

View File

@ -0,0 +1,65 @@
---
RSpec/FilePath:
Details: grace period
Exclude:
- 'ee/spec/frontend/fixtures/analytics/charts.rb'
- 'ee/spec/frontend/fixtures/analytics/devops_reports/devops_adoption/enabled_namespaces.rb'
- 'ee/spec/frontend/fixtures/analytics/metrics.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams_code_stage.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams_issue_stage.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams_plan_stage.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams_review_stage.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams_staging_stage.rb'
- 'ee/spec/frontend/fixtures/analytics/value_streams_test_stage.rb'
- 'ee/spec/frontend/fixtures/dora/metrics.rb'
- 'ee/spec/models/merge_request/blocking_spec.rb'
- 'ee/spec/requests/api/ci/runner/jobs_put_spec.rb'
- 'ee/spec/requests/api/ci/runner/jobs_trace_spec.rb'
- 'ee/spec/services/ci/create_pipeline_service/compliance_spec.rb'
- 'ee/spec/services/ci/create_pipeline_service/cross_needs_artifacts_spec.rb'
- 'ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb'
- 'ee/spec/services/ci/create_pipeline_service/needs_spec.rb'
- 'ee/spec/services/ci/create_pipeline_service/runnable_builds_spec.rb'
- 'spec/benchmarks/banzai_benchmark.rb'
- 'spec/docs_screenshots/container_registry_docs.rb'
- 'spec/docs_screenshots/wiki_docs.rb'
- 'spec/lib/error_tracking/sentry_client/event_spec.rb'
- 'spec/lib/gitlab/import_export/import_export_equivalence_spec.rb'
- 'spec/lib/gitlab/import_export/import_export_spec.rb'
- 'spec/lib/gitlab/mail_room/mail_room_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_reset_spec.rb'
- 'spec/requests/api/ci/runner/runners_verify_post_spec.rb'
- 'spec/requests/api/issues/get_group_issues_spec.rb'
- 'spec/requests/api/issues/get_project_issues_spec.rb'
- 'spec/requests/api/issues/issues_spec.rb'
- 'spec/requests/api/issues/post_projects_issues_spec.rb'
- 'spec/requests/api/issues/put_projects_issues_spec.rb'
- 'spec/requests/api/pages/pages_spec.rb'
- 'spec/services/ci/create_pipeline_service/artifacts_spec.rb'
- 'spec/services/ci/create_pipeline_service/cache_spec.rb'
- 'spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb'
- 'spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb'
- 'spec/services/ci/create_pipeline_service/custom_config_content_spec.rb'
- 'spec/services/ci/create_pipeline_service/custom_yaml_tags_spec.rb'
- 'spec/services/ci/create_pipeline_service/dry_run_spec.rb'
- 'spec/services/ci/create_pipeline_service/environment_spec.rb'
- 'spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb'
- 'spec/services/ci/create_pipeline_service/include_spec.rb'
- 'spec/services/ci/create_pipeline_service/logger_spec.rb'
- 'spec/services/ci/create_pipeline_service/merge_requests_spec.rb'
- 'spec/services/ci/create_pipeline_service/needs_spec.rb'
- 'spec/services/ci/create_pipeline_service/parallel_spec.rb'
- 'spec/services/ci/create_pipeline_service/parameter_content_spec.rb'
- 'spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb'
- 'spec/services/ci/create_pipeline_service/partitioning_spec.rb'
- 'spec/services/ci/create_pipeline_service/pre_post_stages_spec.rb'
- 'spec/services/ci/create_pipeline_service/rate_limit_spec.rb'
- 'spec/services/ci/create_pipeline_service/rules_spec.rb'
- 'spec/services/ci/create_pipeline_service/tags_spec.rb'

View File

@ -0,0 +1,17 @@
---
# Cop supports --auto-correct.
RSpec/LetBeforeExamples:
Exclude:
- 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb'
- 'ee/spec/models/resource_weight_event_spec.rb'
- 'ee/spec/models/vulnerabilities/feedback_spec.rb'
- 'ee/spec/requests/api/internal/kubernetes_spec.rb'
- 'ee/spec/requests/api/scim_spec.rb'
- 'spec/graphql/types/ci/detailed_status_type_spec.rb'
- 'spec/graphql/types/merge_request_type_spec.rb'
- 'spec/graphql/types/snippets/blob_type_spec.rb'
- 'spec/models/ci/job_token/project_scope_link_spec.rb'
- 'spec/models/ci/runner_version_spec.rb'
- 'spec/models/group_deploy_key_spec.rb'
- 'spec/models/snippet_repository_spec.rb'
- 'spec/requests/api/issue_links_spec.rb'

View File

@ -1,9 +1,38 @@
---
RSpec/MultipleMemoizedHelpers:
Details: grace period
Exclude:
- spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb
- spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb
- spec/requests/api/ci/runner/jobs_artifacts_spec.rb
- ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb
- ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb
- ee/spec/services/ee/boards/issues/move_service_spec.rb
- 'ee/spec/features/boards/swimlanes/epics_swimlanes_filtering_spec.rb'
- 'ee/spec/finders/epics_finder_spec.rb'
- 'ee/spec/finders/incident_management/oncall_users_finder_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb'
- 'ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb'
- 'ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb'
- 'ee/spec/services/ee/boards/issues/list_service_spec.rb'
- 'ee/spec/services/ee/boards/issues/move_service_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb'
- 'spec/features/boards/boards_spec.rb'
- 'spec/finders/ci/runners_finder_spec.rb'
- 'spec/finders/labels_finder_spec.rb'
- 'spec/finders/user_recent_events_finder_spec.rb'
- 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb'
- 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb'
- 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb'
- 'spec/models/event_spec.rb'
- 'spec/models/milestone_spec.rb'
- 'spec/models/packages/package_file_spec.rb'
- 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb'
- 'spec/requests/api/issues/get_group_issues_spec.rb'
- 'spec/requests/api/issues/get_project_issues_spec.rb'
- 'spec/requests/api/issues/issues_spec.rb'
- 'spec/requests/api/issues/put_projects_issues_spec.rb'
- 'spec/requests/api/maven_packages_spec.rb'
- 'spec/services/boards/issues/list_service_spec.rb'
- 'spec/services/labels/promote_service_spec.rb'
- 'spec/services/merge_requests/push_options_handler_service_spec.rb'
- 'spec/services/packages/cleanup/execute_policy_service_spec.rb'
- 'spec/services/todo_service_spec.rb'
- 'spec/services/todos/destroy/entity_leave_service_spec.rb'
- 'spec/support/shared_contexts/policies/project_policy_shared_context.rb'
- 'spec/support/shared_contexts/requests/api/debian_repository_shared_context.rb'

View File

@ -0,0 +1,17 @@
---
RSpec/OverwritingSetup:
Exclude:
- 'ee/spec/features/groups/analytics/ci_cd_analytics_spec.rb'
- 'ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb'
- 'ee/spec/models/ee/iteration_spec.rb'
- 'ee/spec/requests/api/namespaces_spec.rb'
- 'ee/spec/services/epics/descendant_count_service_spec.rb'
- 'spec/finders/packages/helm/packages_finder_spec.rb'
- 'spec/finders/packages/npm/package_finder_spec.rb'
- 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb'
- 'spec/models/packages/package_file_spec.rb'
- 'spec/models/todo_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/policies/ci/build_policy_spec.rb'
- 'spec/services/packages/nuget/search_service_spec.rb'
- 'spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb'

View File

@ -1,123 +1,145 @@
---
# Cop supports --auto-correct.
RSpec/ScatteredLet:
Details: grace period
Exclude:
- 'ee/spec/features/boards/user_visits_board_spec.rb'
- 'ee/spec/features/groups/group_roadmap_spec.rb'
- 'ee/spec/features/merge_trains/two_merge_requests_on_train_spec.rb'
- 'ee/spec/features/milestones/user_views_milestone_spec.rb'
- 'ee/spec/finders/analytics/devops_adoption/enabled_namespaces_finder_spec.rb'
- 'ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb'
- 'ee/spec/finders/issues_finder_spec.rb'
- 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb'
- 'ee/spec/finders/security/vulnerability_reads_finder_spec.rb'
- 'ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb'
- 'ee/spec/frontend/fixtures/runner.rb'
- 'ee/spec/graphql/ee/types/clusters/agent_type_spec.rb'
- 'ee/spec/graphql/mutations/boards/epics/create_spec.rb'
- 'ee/spec/graphql/mutations/dast_site_profiles/create_spec.rb'
- 'ee/spec/graphql/mutations/merge_requests/accept_spec.rb'
- 'ee/spec/graphql/mutations/releases/update_spec.rb'
- 'ee/spec/graphql/resolvers/analytics/devops_adoption/enabled_namespaces_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/clusters/agents_resolver_spec.rb'
- 'ee/spec/graphql/resolvers/security_orchestration/scan_execution_policy_resolver_spec.rb'
- 'ee/spec/graphql/types/asset_type_spec.rb'
- 'ee/spec/graphql/types/boards/board_epic_type_spec.rb'
- 'ee/spec/graphql/types/instance_security_dashboard_type_spec.rb'
- 'ee/spec/graphql/types/vulnerability_evidence_source_type_spec.rb'
- 'ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb'
- 'ee/spec/graphql/types/vulnerability_evidence_type_spec.rb'
- 'ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb'
- 'ee/spec/graphql/types/vulnerability_request_type_spec.rb'
- 'ee/spec/graphql/types/vulnerability_response_type_spec.rb'
- 'ee/spec/helpers/ee/integrations_helper_spec.rb'
- 'ee/spec/helpers/ee/subscribable_banner_helper_spec.rb'
- 'ee/spec/helpers/trial_status_widget_helper_spec.rb'
- 'ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb'
- 'ee/spec/lib/ee/api/helpers/members_helpers_spec.rb'
- 'ee/spec/lib/ee/audit/compliance_framework_changes_auditor_spec.rb'
- 'ee/spec/lib/ee/gitlab/ci/config_spec.rb'
- 'ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb'
- 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb'
- 'ee/spec/lib/gitlab/background_migration/migrate_requirements_to_work_items_spec.rb'
- 'ee/spec/lib/gitlab/ci/parsers/security/dast_spec.rb'
- 'ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb'
- 'ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb'
- 'ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb'
- 'ee/spec/lib/gitlab/code_owners/loader_spec.rb'
- 'ee/spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb'
- 'ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb'
- 'ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_event_spec.rb'
- 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb'
- 'ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb'
- 'ee/spec/lib/gitlab/git_access_spec.rb'
- 'ee/spec/lib/gitlab/graphql/aggregations/security_orchestration_policies/lazy_dast_profile_aggregate_spec.rb'
- 'ee/spec/lib/gitlab/graphql/aggregations/vulnerability_statistics/lazy_aggregate_spec.rb'
- 'ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb'
- 'ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb'
- 'ee/spec/lib/gitlab/usage/metrics/instrumentations/approval_project_rules_with_user_metric_spec.rb'
- 'ee/spec/lib/gitlab/usage_data_metrics_spec.rb'
- 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb'
- 'ee/spec/models/approval_wrapped_any_approver_rule_spec.rb'
- 'ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb'
- 'ee/spec/models/ci/minutes/notification_spec.rb'
- 'ee/spec/models/ci/pipeline_spec.rb'
- 'ee/spec/models/dast_site_validation_spec.rb'
- 'ee/spec/models/ee/ci/build_dependencies_spec.rb'
- 'ee/spec/models/label_note_spec.rb'
- 'ee/spec/models/sca/license_compliance_spec.rb'
- 'ee/spec/policies/merge_request_policy_spec.rb'
- 'ee/spec/models/ee/iteration_spec.rb'
- 'ee/spec/models/ee/user_spec.rb'
- 'ee/spec/models/epic_spec.rb'
- 'ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb'
- 'ee/spec/models/vulnerabilities/historical_statistic_spec.rb'
- 'ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb'
- 'ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb'
- 'ee/spec/requests/api/graphql/group/ci_cd_settings_spec.rb'
- 'ee/spec/requests/api/graphql/group/epic/notes_spec.rb'
- 'ee/spec/requests/api/graphql/group_query_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb'
- 'ee/spec/requests/api/graphql/instance_security_dashboard_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb'
- 'ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/security/finding/create_issue_spec.rb'
- 'ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb'
- 'ee/spec/requests/api/graphql/project/environments_spec.rb'
- 'ee/spec/requests/api/graphql/project/pipeline/dast_profile_spec.rb'
- 'ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb'
- 'ee/spec/requests/api/graphql/project/pipeline/security_report_summary_spec.rb'
- 'ee/spec/requests/api/graphql/project/pipelines/dast_profile_spec.rb'
- 'ee/spec/requests/api/internal/base_spec.rb'
- 'ee/spec/requests/api/projects_spec.rb'
- 'ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb'
- 'ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb'
- 'ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb'
- 'ee/spec/requests/api/group_boards_spec.rb'
- 'ee/spec/requests/api/project_push_rule_spec.rb'
- 'ee/spec/requests/api/settings_spec.rb'
- 'ee/spec/requests/api/vulnerability_findings_spec.rb'
- 'ee/spec/requests/git_http_geo_spec.rb'
- 'ee/spec/serializers/license_compliance/collapsed_comparer_entity_spec.rb'
- 'ee/spec/serializers/status_page/incident_serializer_spec.rb'
- 'ee/spec/services/analytics/devops_adoption/snapshots/calculate_and_save_service_spec.rb'
- 'ee/spec/services/app_sec/dast/scan_configs/fetch_service_spec.rb'
- 'ee/spec/services/app_sec/dast/scanner_profiles/update_service_spec.rb'
- 'ee/spec/services/arkose/blocked_users_report_service_spec.rb'
- 'ee/spec/services/arkose/user_verification_service_spec.rb'
- 'ee/spec/services/audit_event_service_spec.rb'
- 'ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb'
- 'ee/spec/services/boards/epics/move_service_spec.rb'
- 'ee/spec/services/compliance_management/frameworks/create_service_spec.rb'
- 'ee/spec/services/compliance_management/frameworks/update_service_spec.rb'
- 'ee/spec/services/concerns/epics/related_epic_links/usage_data_helper_spec.rb'
- 'ee/spec/services/ee/issue_links/create_service_spec.rb'
- 'ee/spec/services/ee/issues/create_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/base_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/update_assignees_service_spec.rb'
- 'ee/spec/services/ee/merge_requests/update_reviewers_service_spec.rb'
- 'ee/spec/services/epic_issues/create_service_spec.rb'
- 'ee/spec/services/epics/issue_promote_service_spec.rb'
- 'ee/spec/services/gitlab_subscriptions/activate_service_spec.rb'
- 'ee/spec/services/geo/metrics_update_service_spec.rb'
- 'ee/spec/services/group_saml/saml_provider/create_service_spec.rb'
- 'ee/spec/services/group_saml/saml_provider/update_service_spec.rb'
- 'ee/spec/services/groups/memberships/export_service_spec.rb'
- 'ee/spec/services/incident_management/escalation_policies/create_service_spec.rb'
- 'ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb'
- 'ee/spec/services/merge_request_approval_settings/update_service_spec.rb'
- 'ee/spec/services/merge_trains/refresh_service_spec.rb'
- 'ee/spec/services/projects/destroy_service_spec.rb'
- 'ee/spec/services/projects/prometheus/alerts/notify_service_spec.rb'
- 'ee/spec/services/quality_management/test_cases/create_service_spec.rb'
- 'ee/spec/services/quick_actions/interpret_service_spec.rb'
- 'ee/spec/services/requirements_management/update_requirement_service_spec.rb'
- 'ee/spec/services/search/group_service_spec.rb'
- 'ee/spec/services/search/project_service_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb'
- 'ee/spec/services/todo_service_spec.rb'
- 'ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb'
- 'ee/spec/services/members/activate_service_spec.rb'
- 'ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb'
- 'ee/spec/services/security/report_summary_service_spec.rb'
- 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb'
- 'ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb'
- 'ee/spec/services/vulnerabilities/security_finding/create_issue_service_spec.rb'
- 'ee/spec/views/subscriptions/groups/edit.html.haml_spec.rb'
- 'ee/spec/workers/compliance_management/merge_requests/compliance_violations_worker_spec.rb'
- 'ee/spec/workers/concerns/update_orchestration_policy_configuration_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_audit_logs_1_spec.rb'
- 'spec/controllers/projects/artifacts_controller_spec.rb'
- 'spec/controllers/concerns/metrics_dashboard_spec.rb'
- 'spec/controllers/import/bitbucket_server_controller_spec.rb'
- 'spec/controllers/projects/deploy_keys_controller_spec.rb'
- 'spec/controllers/projects/environments_controller_spec.rb'
- 'spec/controllers/projects/issues_controller_spec.rb'
- 'spec/controllers/projects/releases/evidences_controller_spec.rb'
- 'spec/controllers/projects/releases_controller_spec.rb'
- 'spec/finders/ci/daily_build_group_report_results_finder_spec.rb'
- 'spec/controllers/projects/jobs_controller_spec.rb'
- 'spec/features/boards/user_visits_board_spec.rb'
- 'spec/features/groups/dependency_proxy_for_containers_spec.rb'
- 'spec/features/issues/user_filters_issues_spec.rb'
- 'spec/finders/concerns/finder_with_cross_project_access_spec.rb'
- 'spec/finders/concerns/finder_with_group_hierarchy_spec.rb'
- 'spec/finders/events_finder_spec.rb'
- 'spec/finders/group_projects_finder_spec.rb'
- 'spec/finders/groups/user_groups_finder_spec.rb'
- 'spec/finders/license_template_finder_spec.rb'
- 'spec/frontend/fixtures/pipelines.rb'
- 'spec/graphql/resolvers/commit_pipelines_resolver_spec.rb'
- 'spec/finders/projects/groups_finder_spec.rb'
- 'spec/frontend/fixtures/jobs.rb'
- 'spec/graphql/resolvers/clusters/agents_resolver_spec.rb'
- 'spec/graphql/resolvers/concerns/looks_ahead_spec.rb'
- 'spec/graphql/resolvers/concerns/resolves_project_spec.rb'
- 'spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb'
- 'spec/graphql/resolvers/design_management/versions_resolver_spec.rb'
- 'spec/graphql/resolvers/group_milestones_resolver_spec.rb'
- 'spec/graphql/resolvers/users/groups_resolver_spec.rb'
- 'spec/graphql/types/base_object_spec.rb'
- 'spec/graphql/types/ci/job_token_scope_type_spec.rb'
- 'spec/graphql/types/environment_type_spec.rb'
- 'spec/graphql/types/merge_request_type_spec.rb'
- 'spec/graphql/types/project_type_spec.rb'
- 'spec/graphql/types/terraform/state_version_type_spec.rb'
- 'spec/graphql/types/user_type_spec.rb'
- 'spec/helpers/blob_helper_spec.rb'
- 'spec/helpers/merge_requests_helper_spec.rb'
- 'spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb'
- 'spec/lib/banzai/filter/references/project_reference_filter_spec.rb'
- 'spec/lib/banzai/filter/references/user_reference_filter_spec.rb'
- 'spec/lib/banzai/filter/upload_link_filter_spec.rb'
- 'spec/lib/banzai/reference_parser/alert_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/commit_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/commit_range_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/design_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/external_issue_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/label_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/merge_request_parser_spec.rb'
@ -125,32 +147,29 @@ RSpec/ScatteredLet:
- 'spec/lib/banzai/reference_parser/project_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/snippet_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/user_parser_spec.rb'
- 'spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb'
- 'spec/lib/bulk_imports/pipeline/runner_spec.rb'
- 'spec/lib/bulk_imports/projects/pipelines/snippets_repository_pipeline_spec.rb'
- 'spec/lib/gitlab/asciidoc/include_processor_spec.rb'
- 'spec/lib/gitlab/auth/ldap/person_spec.rb'
- 'spec/lib/gitlab/auth/saml/auth_hash_spec.rb'
- 'spec/lib/gitlab/background_migration/backfill_imported_issue_search_data_spec.rb'
- 'spec/lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans_spec.rb'
- 'spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_inactive_public_projects_spec.rb'
- 'spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb'
- 'spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb'
- 'spec/lib/gitlab/background_migration/nullify_orphan_runner_id_on_ci_builds_spec.rb'
- 'spec/lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports_spec.rb'
- 'spec/lib/gitlab/background_migration/set_legacy_open_source_license_available_for_non_public_projects_spec.rb'
- 'spec/lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url_spec.rb'
- 'spec/lib/gitlab/checks/matching_merge_request_spec.rb'
- 'spec/lib/gitlab/ci/config/external/file/artifact_spec.rb'
- 'spec/lib/gitlab/ci/config_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/chain/helpers_spec.rb'
- 'spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb'
- 'spec/lib/gitlab/ci/status/stage/factory_spec.rb'
- 'spec/lib/gitlab/ci/variables/builder/group_spec.rb'
- 'spec/lib/gitlab/ci/variables/builder/project_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
- 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb'
- 'spec/lib/gitlab/database/background_migration/batched_migration_wrapper_spec.rb'
- 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb'
- 'spec/lib/gitlab/database/migrations/test_batched_background_runner_spec.rb'
- 'spec/lib/gitlab/database/partitioning/partition_manager_spec.rb'
- 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb'
- 'spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb'
- 'spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb'
- 'spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb'
@ -160,41 +179,42 @@ RSpec/ScatteredLet:
- 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb'
- 'spec/lib/gitlab/diff/suggestion_diff_spec.rb'
- 'spec/lib/gitlab/diff/suggestion_spec.rb'
- 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb'
- 'spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb'
- 'spec/lib/gitlab/error_tracking_spec.rb'
- 'spec/lib/gitlab/git/blame_spec.rb'
- 'spec/lib/gitlab/git/diff_collection_spec.rb'
- 'spec/lib/gitlab/git_access_spec.rb'
- 'spec/lib/gitlab/github_import/importer/single_endpoint_issue_events_importer_spec.rb'
- 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb'
- 'spec/lib/gitlab/import_export/group/relation_tree_restorer_spec.rb'
- 'spec/lib/gitlab/import_export/project/export_task_spec.rb'
- 'spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb'
- 'spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb'
- 'spec/lib/gitlab/jira_import/issue_serializer_spec.rb'
- 'spec/lib/gitlab/lets_encrypt/client_spec.rb'
- 'spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb'
- 'spec/lib/gitlab/metrics/subscribers/external_http_spec.rb'
- 'spec/lib/gitlab/middleware/memory_report_spec.rb'
- 'spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/page_spec.rb'
- 'spec/lib/gitlab/pagination/offset_pagination_spec.rb'
- 'spec/lib/gitlab/patch/database_config_spec.rb'
- 'spec/lib/gitlab/path_regex_spec.rb'
- 'spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb'
- 'spec/lib/gitlab/redis/multi_store_spec.rb'
- 'spec/lib/gitlab/relative_positioning/item_context_spec.rb'
- 'spec/lib/gitlab/relative_positioning/mover_spec.rb'
- 'spec/lib/gitlab/serializer/pagination_spec.rb'
- 'spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb'
- 'spec/lib/gitlab/sidekiq_middleware/size_limiter/validator_spec.rb'
- 'spec/lib/gitlab/spamcheck/client_spec.rb'
- 'spec/lib/gitlab/template/finders/global_template_finder_spec.rb'
- 'spec/lib/gitlab/tree_summary_spec.rb'
- 'spec/lib/gitlab/usage_data_metrics_spec.rb'
- 'spec/lib/gitlab/usage_data_spec.rb'
- 'spec/lib/gitlab/utils/measuring_spec.rb'
- 'spec/lib/gitlab/zentao/client_spec.rb'
- 'spec/lib/peek/views/external_http_spec.rb'
- 'spec/mailers/emails/in_product_marketing_spec.rb'
- 'spec/migrations/20210421163509_schedule_update_jira_tracker_data_deployment_type_based_on_url_spec.rb'
- 'spec/mailers/notify_spec.rb'
- 'spec/mailers/previews_spec.rb'
- 'spec/migrations/20220329175119_remove_leftover_ci_job_artifact_deletions_spec.rb'
- 'spec/models/application_record_spec.rb'
- 'spec/models/ci/bridge_spec.rb'
- 'spec/models/ci/build_dependencies_spec.rb'
- 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/concerns/issuable_spec.rb'
@ -203,68 +223,61 @@ RSpec/ScatteredLet:
- 'spec/models/deploy_keys_project_spec.rb'
- 'spec/models/design_management/design_at_version_spec.rb'
- 'spec/models/diff_note_spec.rb'
- 'spec/models/environment_spec.rb'
- 'spec/models/integration_spec.rb'
- 'spec/models/merge_request_diff_spec.rb'
- 'spec/models/merge_request_spec.rb'
- 'spec/models/milestone_spec.rb'
- 'spec/models/push_event_spec.rb'
- 'spec/models/snippet_repository_spec.rb'
- 'spec/models/ssh_host_key_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/models/users/credit_card_validation_spec.rb'
- 'spec/models/wiki_page_spec.rb'
- 'spec/policies/ci/build_policy_spec.rb'
- 'spec/policies/design_management/design_policy_spec.rb'
- 'spec/policies/group_member_policy_spec.rb'
- 'spec/requests/admin/background_migrations_controller_spec.rb'
- 'spec/requests/api/ci/jobs_spec.rb'
- 'spec/requests/api/ci/pipeline_schedules_spec.rb'
- 'spec/requests/api/ci/pipelines_spec.rb'
- 'spec/requests/api/commit_statuses_spec.rb'
- 'spec/requests/api/graphql/ci/groups_spec.rb'
- 'spec/requests/api/graphql/ci/pipelines_spec.rb'
- 'spec/requests/api/graphql/ci/runners_spec.rb'
- 'spec/requests/api/graphql/group/work_item_types_spec.rb'
- 'spec/requests/api/graphql/milestone_spec.rb'
- 'spec/requests/api/graphql/mutations/boards/create_spec.rb'
- 'spec/requests/api/graphql/mutations/work_items/delete_task_spec.rb'
- 'spec/requests/api/graphql/namespace/projects_spec.rb'
- 'spec/requests/api/graphql/project/deployment_spec.rb'
- 'spec/requests/api/graphql/project/environments_spec.rb'
- 'spec/requests/api/graphql/project/issue/design_collection/version_spec.rb'
- 'spec/requests/api/graphql/project/issue/design_collection/versions_spec.rb'
- 'spec/requests/api/graphql/project/issue_spec.rb'
- 'spec/requests/api/graphql/project/jira_projects_spec.rb'
- 'spec/requests/api/graphql/project/merge_request/diff_notes_spec.rb'
- 'spec/requests/api/graphql/project/milestones_spec.rb'
- 'spec/requests/api/graphql/project/pipeline_spec.rb'
- 'spec/requests/api/graphql/project/release_spec.rb'
- 'spec/requests/api/graphql/user/starred_projects_query_spec.rb'
- 'spec/requests/api/graphql/project/work_item_types_spec.rb'
- 'spec/requests/api/graphql/todo_query_spec.rb'
- 'spec/requests/api/group_boards_spec.rb'
- 'spec/requests/api/issues/get_group_issues_spec.rb'
- 'spec/requests/api/issues/get_project_issues_spec.rb'
- 'spec/requests/api/issues/post_projects_issues_spec.rb'
- 'spec/requests/api/issues/put_projects_issues_spec.rb'
- 'spec/requests/api/merge_requests_spec.rb'
- 'spec/requests/api/notes_spec.rb'
- 'spec/requests/api/project_clusters_spec.rb'
- 'spec/requests/api/project_export_spec.rb'
- 'spec/requests/api/rubygem_packages_spec.rb'
- 'spec/requests/jira_routing_spec.rb'
- 'spec/requests/projects/releases_controller_spec.rb'
- 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb'
- 'spec/scripts/pipeline_test_report_builder_spec.rb'
- 'spec/serializers/build_details_entity_spec.rb'
- 'spec/serializers/ci/job_entity_spec.rb'
- 'spec/serializers/merge_requests/pipeline_entity_spec.rb'
- 'spec/services/ci/change_variable_service_spec.rb'
- 'spec/services/ci/change_variables_service_spec.rb'
- 'spec/services/ci/create_downstream_pipeline_service_spec.rb'
- 'spec/services/ci/create_pipeline_service/include_spec.rb'
- 'spec/services/ci/create_pipeline_service/logger_spec.rb'
- 'spec/services/ci/create_pipeline_service/rules_spec.rb'
- 'spec/services/ci/create_pipeline_service_spec.rb'
- 'spec/services/ci/destroy_pipeline_service_spec.rb'
- 'spec/services/ci/find_exposed_artifacts_service_spec.rb'
- 'spec/services/ci/pipeline_bridge_status_service_spec.rb'
- 'spec/services/commits/cherry_pick_service_spec.rb'
- 'spec/services/design_management/delete_designs_service_spec.rb'
- 'spec/services/design_management/save_designs_service_spec.rb'
- 'spec/services/discussions/capture_diff_note_positions_service_spec.rb'
- 'spec/services/events/destroy_service_spec.rb'
- 'spec/services/git/base_hooks_service_spec.rb'
- 'spec/services/groups/group_links/update_service_spec.rb'
- 'spec/services/jira_import/cloud_users_mapper_service_spec.rb'
- 'spec/services/jira_import/server_users_mapper_service_spec.rb'
- 'spec/services/lfs/push_service_spec.rb'
- 'spec/services/issues/create_service_spec.rb'
- 'spec/services/merge_requests/mergeability/logger_spec.rb'
- 'spec/services/merge_requests/update_assignees_service_spec.rb'
- 'spec/services/merge_requests/update_reviewers_service_spec.rb'
- 'spec/services/metrics/dashboard/custom_metric_embed_service_spec.rb'
- 'spec/services/metrics/dashboard/dynamic_embed_service_spec.rb'
- 'spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb'
@ -272,19 +285,18 @@ RSpec/ScatteredLet:
- 'spec/services/notification_service_spec.rb'
- 'spec/services/packages/composer/create_package_service_spec.rb'
- 'spec/services/packages/conan/create_package_file_service_spec.rb'
- 'spec/services/packages/debian/create_distribution_service_spec.rb'
- 'spec/services/packages/debian/create_package_file_service_spec.rb'
- 'spec/services/packages/debian/generate_distribution_key_service_spec.rb'
- 'spec/services/packages/debian/update_distribution_service_spec.rb'
- 'spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb'
- 'spec/services/snippets/create_service_spec.rb'
- 'spec/services/spam/spam_verdict_service_spec.rb'
- 'spec/services/suggestions/create_service_spec.rb'
- 'spec/services/system_notes/design_management_service_spec.rb'
- 'spec/services/system_notes/merge_requests_service_spec.rb'
- 'spec/services/system_notes/time_tracking_service_spec.rb'
- 'spec/services/todo_service_spec.rb'
- 'spec/services/web_hook_service_spec.rb'
- 'spec/services/work_items/update_service_spec.rb'
- 'spec/support/shared_examples/graphql/sorted_paginated_query_shared_examples.rb'
- 'spec/tasks/gitlab/artifacts/migrate_rake_spec.rb'
- 'spec/workers/concerns/gitlab/github_import/object_importer_spec.rb'
- 'spec/workers/environments/auto_stop_worker_spec.rb'
- 'spec/workers/packages/debian/generate_distribution_worker_spec.rb'

View File

@ -0,0 +1,6 @@
---
# Cop supports --auto-correct.
RSpec/VariableDefinition:
Exclude:
- 'spec/lib/gitlab/usage_data_spec.rb'
- 'spec/presenters/packages/npm/package_presenter_spec.rb'

View File

@ -0,0 +1,4 @@
---
RSpec/VariableName:
Exclude:
- 'spec/models/user_spec.rb'

View File

@ -67,7 +67,6 @@ RSpec/VerifiedDoubles:
- ee/spec/lib/gitlab/authority_analyzer_spec.rb
- ee/spec/lib/gitlab/cache_spec.rb
- ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb
- ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb
- ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb
- ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb
- ee/spec/lib/gitlab/code_owners/users_loader_spec.rb

View File

@ -0,0 +1,4 @@
---
Security/Open:
Exclude:
- 'scripts/lib/glfm/update_specification.rb'

View File

@ -0,0 +1,5 @@
---
# Cop supports --auto-correct.
Style/ConditionalAssignment:
Exclude:
- 'app/helpers/icons_helper.rb'

View File

@ -0,0 +1,6 @@
---
# Cop supports --auto-correct.
Style/EachForSimpleLoop:
Exclude:
- 'ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb'
- 'spec/services/members/invitation_reminder_email_service_spec.rb'

View File

@ -34,7 +34,6 @@ Style/IfUnlessModifier:
- 'app/controllers/import/github_controller.rb'
- 'app/controllers/import/gitlab_controller.rb'
- 'app/controllers/import/manifest_controller.rb'
- 'app/controllers/jwt_controller.rb'
- 'app/controllers/omniauth_callbacks_controller.rb'
- 'app/controllers/profiles/emails_controller.rb'
- 'app/controllers/profiles/two_factor_auths_controller.rb'
@ -47,7 +46,6 @@ Style/IfUnlessModifier:
- 'app/controllers/projects/deploy_keys_controller.rb'
- 'app/controllers/projects/design_management/designs_controller.rb'
- 'app/controllers/projects/imports_controller.rb'
- 'app/controllers/projects/integrations/shimos_controller.rb'
- 'app/controllers/projects/issues_controller.rb'
- 'app/controllers/projects/merge_requests/diffs_controller.rb'
- 'app/controllers/projects/merge_requests_controller.rb'
@ -94,13 +92,9 @@ Style/IfUnlessModifier:
- 'app/graphql/mutations/release_asset_links/update.rb'
- 'app/graphql/mutations/todos/mark_all_done.rb'
- 'app/graphql/resolvers/blobs_resolver.rb'
- 'app/graphql/resolvers/ci/runner_jobs_resolver.rb'
- 'app/graphql/resolvers/concerns/board_item_filterable.rb'
- 'app/graphql/resolvers/concerns/issue_resolver_arguments.rb'
- 'app/graphql/resolvers/concerns/time_frame_arguments.rb'
- 'app/graphql/resolvers/group_packages_resolver.rb'
- 'app/graphql/resolvers/package_details_resolver.rb'
- 'app/graphql/resolvers/project_jobs_resolver.rb'
- 'app/graphql/resolvers/project_pipeline_resolver.rb'
- 'app/graphql/resolvers/timelog_resolver.rb'
- 'app/graphql/types/ci/job_type.rb'
@ -133,7 +127,6 @@ Style/IfUnlessModifier:
- 'app/helpers/selects_helper.rb'
- 'app/helpers/snippets_helper.rb'
- 'app/helpers/sorting_helper.rb'
- 'app/helpers/storage_helper.rb'
- 'app/helpers/submodule_helper.rb'
- 'app/helpers/tab_helper.rb'
- 'app/helpers/timeboxes_helper.rb'
@ -168,7 +161,6 @@ Style/IfUnlessModifier:
- 'app/models/concerns/bulk_users_by_email_load.rb'
- 'app/models/concerns/cache_markdown_field.rb'
- 'app/models/concerns/ci/artifactable.rb'
- 'app/models/concerns/counter_attribute.rb'
- 'app/models/concerns/deprecated_assignee.rb'
- 'app/models/concerns/group_descendant.rb'
- 'app/models/concerns/has_wiki_page_meta_attributes.rb'
@ -272,7 +264,6 @@ Style/IfUnlessModifier:
- 'app/services/ci/job_token_scope/remove_project_service.rb'
- 'app/services/ci/parse_dotenv_artifact_service.rb'
- 'app/services/ci/pipeline_processing/atomic_processing_service.rb'
- 'app/services/ci/pipelines/add_job_service.rb'
- 'app/services/ci/register_job_service.rb'
- 'app/services/ci/retry_job_service.rb'
- 'app/services/ci/run_scheduled_build_service.rb'
@ -322,14 +313,11 @@ Style/IfUnlessModifier:
- 'app/services/merge_requests/add_context_service.rb'
- 'app/services/merge_requests/base_service.rb'
- 'app/services/merge_requests/build_service.rb'
- 'app/services/merge_requests/handle_assignees_change_service.rb'
- 'app/services/merge_requests/merge_base_service.rb'
- 'app/services/merge_requests/mergeability_check_service.rb'
- 'app/services/merge_requests/push_options_handler_service.rb'
- 'app/services/merge_requests/refresh_service.rb'
- 'app/services/merge_requests/request_attention_service.rb'
- 'app/services/merge_requests/squash_service.rb'
- 'app/services/merge_requests/toggle_attention_requested_service.rb'
- 'app/services/merge_requests/update_service.rb'
- 'app/services/metrics/dashboard/clone_dashboard_service.rb'
- 'app/services/metrics/dashboard/update_dashboard_service.rb'
@ -354,7 +342,6 @@ Style/IfUnlessModifier:
- 'app/services/packages/maven/find_or_create_package_service.rb'
- 'app/services/packages/nuget/update_package_from_metadata_service.rb'
- 'app/services/packages/pypi/create_package_service.rb'
- 'app/services/packages/rubygems/dependency_resolver_service.rb'
- 'app/services/pages/migrate_legacy_storage_to_deployment_service.rb'
- 'app/services/post_receive_service.rb'
- 'app/services/projects/container_repository/gitlab/delete_tags_service.rb'
@ -375,7 +362,6 @@ Style/IfUnlessModifier:
- 'app/services/projects/update_repository_storage_service.rb'
- 'app/services/protected_branches/cache_service.rb'
- 'app/services/resource_access_tokens/create_service.rb'
- 'app/services/resource_events/change_labels_service.rb'
- 'app/services/snippets/create_service.rb'
- 'app/services/snippets/destroy_service.rb'
- 'app/services/snippets/repository_validation_service.rb'
@ -422,8 +408,6 @@ Style/IfUnlessModifier:
- 'app/workers/google_cloud/create_cloudsql_instance_worker.rb'
- 'app/workers/issues/rebalancing_worker.rb'
- 'app/workers/merge_request_mergeability_check_worker.rb'
- 'app/workers/object_storage/migrate_uploads_worker.rb'
- 'app/workers/process_commit_worker.rb'
- 'app/workers/projects/import_export/relation_export_worker.rb'
- 'app/workers/remove_expired_members_worker.rb'
- 'app/workers/repository_fork_worker.rb'
@ -450,8 +434,6 @@ Style/IfUnlessModifier:
- 'config/initializers/sidekiq.rb'
- 'config/initializers/stackprof.rb'
- 'config/initializers/validate_database_config.rb'
- 'config/initializers/wikicloth_redos_patch.rb'
- 'config/initializers/zz_metrics.rb'
- 'config/initializers_before_autoloader/002_sidekiq.rb'
- 'config/routes.rb'
- 'danger/database/Dangerfile'
@ -603,6 +585,7 @@ Style/IfUnlessModifier:
- 'ee/app/services/ee/protected_branches/create_service.rb'
- 'ee/app/services/ee/todo_service.rb'
- 'ee/app/services/ee/users/update_service.rb'
- 'ee/app/services/elastic/cluster_reindexing_service.rb'
- 'ee/app/services/elastic/indexing_control_service.rb'
- 'ee/app/services/elastic/process_bookkeeping_service.rb'
- 'ee/app/services/epics/base_service.rb'
@ -652,7 +635,6 @@ Style/IfUnlessModifier:
- 'ee/app/services/vulnerability_feedback/create_service.rb'
- 'ee/app/services/vulnerability_feedback/destroy_service.rb'
- 'ee/app/services/vulnerability_feedback_module/update_service.rb'
- 'ee/app/services/elastic/cluster_reindexing_service.rb'
- 'ee/app/validators/host_validator.rb'
- 'ee/app/validators/password/complexity_validator.rb'
- 'ee/app/workers/app_sec/dast/profile_schedule_worker.rb'
@ -889,7 +871,6 @@ Style/IfUnlessModifier:
- 'lib/gitlab/ci/config/normalizer.rb'
- 'lib/gitlab/ci/parsers/coverage/sax_document.rb'
- 'lib/gitlab/ci/parsers/security/common.rb'
- 'lib/gitlab/ci/parsers/security/validators/schema_validator.rb'
- 'lib/gitlab/ci/pipeline/chain/populate.rb'
- 'lib/gitlab/ci/pipeline/chain/seed.rb'
- 'lib/gitlab/ci/pipeline/chain/validate/abilities.rb'
@ -991,7 +972,6 @@ Style/IfUnlessModifier:
- 'lib/gitlab/import_export/project/relation_factory.rb'
- 'lib/gitlab/import_export/project/tree_restorer.rb'
- 'lib/gitlab/instrumentation/rate_limiting_gates.rb'
- 'lib/gitlab/instrumentation/redis_interceptor.rb'
- 'lib/gitlab/jira_import.rb'
- 'lib/gitlab/jira_import/base_importer.rb'
- 'lib/gitlab/legacy_github_import/client.rb'
@ -1034,7 +1014,6 @@ Style/IfUnlessModifier:
- 'lib/gitlab/search/params.rb'
- 'lib/gitlab/search_context.rb'
- 'lib/gitlab/search_results.rb'
- 'lib/gitlab/shell.rb'
- 'lib/gitlab/sidekiq_config.rb'
- 'lib/gitlab/sidekiq_config/cli_methods.rb'
- 'lib/gitlab/sidekiq_config/worker_router.rb'
@ -1063,7 +1042,6 @@ Style/IfUnlessModifier:
- 'lib/sidebars/projects/menus/packages_registries_menu.rb'
- 'lib/sidebars/projects/menus/security_compliance_menu.rb'
- 'lib/sidebars/projects/menus/settings_menu.rb'
- 'lib/sidebars/projects/panel.rb'
- 'lib/system_check/app/systemd_unit_files_or_init_script_up_to_date_check.rb'
- 'lib/system_check/init_helpers.rb'
- 'lib/tasks/cleanup.rake'
@ -1078,7 +1056,6 @@ Style/IfUnlessModifier:
- 'lib/tasks/gitlab/snippets.rake'
- 'lib/tasks/gitlab/storage.rake'
- 'lib/tasks/gitlab/update_templates.rake'
- 'qa/qa/ee/page/merge_request/show.rb'
- 'qa/qa/ee/resource/settings/elasticsearch.rb'
- 'qa/qa/flow/sign_up.rb'
- 'qa/qa/page/component/select2.rb'
@ -1099,21 +1076,10 @@ Style/IfUnlessModifier:
- 'qa/qa/runtime/ip_address.rb'
- 'qa/qa/scenario/bootable.rb'
- 'qa/qa/service/praefect_manager.rb'
- 'qa/qa/specs/features/api/3_create/gitaly/distributed_reads_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/merge_when_pipeline_succeeds_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/web_ide/web_terminal_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/advanced_global_advanced_syntax_search_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/elasticsearch_api_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/commit_index/commit_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/issues_index/issue_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/main_index/blob_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/notes_index/note_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/nightly_elasticsearch_test_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/12_geo/geo_replication_maven_package_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_ldap_sync_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/9_enablement/elasticsearch/elasticsearch_reindexing_spec.rb'
- 'qa/qa/specs/helpers/context_selector.rb'
- 'qa/qa/specs/parallel_runner.rb'
- 'qa/qa/support/loglinking.rb'
@ -1123,7 +1089,6 @@ Style/IfUnlessModifier:
- 'rubocop/cop/api/grape_array_missing_coerce.rb'
- 'rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers.rb'
- 'rubocop/cop/gitlab/event_store_subscriber.rb'
- 'rubocop/cop/gitlab/keys_first_and_values_first.rb'
- 'rubocop/cop/gitlab/mark_used_feature_flags.rb'
- 'rubocop/cop/gitlab/policy_rule_boolean.rb'
- 'rubocop/cop/ignored_columns.rb'
@ -1131,8 +1096,6 @@ Style/IfUnlessModifier:
- 'rubocop/cop/migration/add_reference.rb'
- 'rubocop/cop/migration/remove_column.rb'
- 'rubocop/cop/migration/sidekiq_queue_migrate.rb'
- 'rubocop/cop/performance/ar_exists_and_present_blank.rb'
- 'rubocop/cop/rspec/web_mock_enable.rb'
- 'rubocop/routes_under_scope.rb'
- 'scripts/pipeline_test_report_builder.rb'
- 'scripts/review_apps/automated_cleanup.rb'
@ -1187,6 +1150,7 @@ Style/IfUnlessModifier:
- 'spec/requests/api/integrations_spec.rb'
- 'spec/requests/users_controller_spec.rb'
- 'spec/routing/import_routing_spec.rb'
- 'spec/rubocop_spec_helper.rb'
- 'spec/serializers/issue_sidebar_basic_entity_spec.rb'
- 'spec/services/application_settings/update_service_spec.rb'
- 'spec/services/clusters/applications/create_service_spec.rb'
@ -1197,7 +1161,6 @@ Style/IfUnlessModifier:
- 'spec/services/packages/maven/find_or_create_package_service_spec.rb'
- 'spec/services/packages/maven/metadata/append_package_file_service_spec.rb'
- 'spec/services/packages/maven/metadata/sync_service_spec.rb'
- 'spec/services/projects/container_repository/cleanup_tags_service_spec.rb'
- 'spec/services/projects/create_service_spec.rb'
- 'spec/spec_helper.rb'
- 'spec/support/capybara.rb'

View File

@ -0,0 +1,57 @@
---
# Cop supports --auto-correct.
Style/RedundantBegin:
Details: grace period
Exclude:
- 'app/controllers/concerns/membership_actions.rb'
- 'app/controllers/concerns/metrics_dashboard.rb'
- 'app/controllers/concerns/renders_ldap_servers.rb'
- 'app/helpers/auth_helper.rb'
- 'app/models/event.rb'
- 'app/models/integrations/asana.rb'
- 'app/models/integrations/jira.rb'
- 'app/models/user.rb'
- 'app/services/ci/register_job_service.rb'
- 'app/services/design_management/generate_image_versions_service.rb'
- 'app/services/error_tracking/list_projects_service.rb'
- 'app/services/issue_links/create_service.rb'
- 'app/services/merge_requests/assign_issues_service.rb'
- 'app/services/projects/batch_forks_count_service.rb'
- 'app/services/projects/batch_open_issues_count_service.rb'
- 'app/services/projects/lfs_pointers/lfs_object_download_list_service.rb'
- 'app/services/users/update_highest_member_role_service.rb'
- 'ee/app/controllers/groups/sso_controller.rb'
- 'ee/app/finders/security/findings_finder.rb'
- 'ee/app/services/epics/epic_links/create_service.rb'
- 'ee/app/services/epics/related_epic_links/create_service.rb'
- 'ee/app/services/geo/container_repository_sync_service.rb'
- 'ee/app/validators/ee/json_schema_validator.rb'
- 'ee/lib/ee/api/helpers/award_emoji.rb'
- 'ee/lib/gem_extensions/elasticsearch/model/adapter/multiple/records.rb'
- 'ee/lib/gitlab/ci/parsers/security/dast.rb'
- 'ee/lib/omni_auth/strategies/group_saml.rb'
- 'ee/lib/system_check/geo/authorized_keys_check.rb'
- 'lib/api/helpers/award_emoji.rb'
- 'lib/api/time_tracking_endpoints.rb'
- 'lib/atlassian/jira_connect/serializers/build_entity.rb'
- 'lib/backup/manager.rb'
- 'lib/banzai/pipeline/wiki_pipeline.rb'
- 'lib/gem_extensions/active_record/association.rb'
- 'lib/gitlab.rb'
- 'lib/gitlab/changes_list.rb'
- 'lib/gitlab/color.rb'
- 'lib/gitlab/database/migration_helpers.rb'
- 'lib/gitlab/database/schema_cache_with_renamed_table.rb'
- 'lib/gitlab/favicon.rb'
- 'lib/gitlab/import_export/base/relation_factory.rb'
- 'lib/gitlab/import_export/members_mapper.rb'
- 'lib/gitlab/import_export/project/tree_saver.rb'
- 'lib/gitlab/instrumentation/redis_interceptor.rb'
- 'lib/gitlab/metrics/dashboard/importers/prometheus_metrics.rb'
- 'lib/gitlab/phabricator_import/project_creator.rb'
- 'lib/gitlab/project_search_results.rb'
- 'lib/gitlab/shell.rb'
- 'lib/gitlab/usage/metrics/aggregates/sources/calculations/intersection.rb'
- 'lib/sidebars/menu.rb'
- 'qa/qa/resource/api_fabricator.rb'
- 'qa/qa/runtime/api/client.rb'

View File

@ -0,0 +1,6 @@
---
# Cop supports --auto-correct.
Style/RedundantCondition:
Exclude:
- 'ee/app/models/license.rb'
- 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb'

View File

@ -0,0 +1,6 @@
---
# Cop supports --auto-correct.
Style/RedundantParentheses:
Exclude:
- 'lib/gitlab/database/tables_truncate.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/utilization/billing_seats_usage_data_spec.rb'

View File

@ -70,8 +70,6 @@ Style/SymbolProc:
- 'app/services/clusters/agents/delete_expired_events_service.rb'
- 'app/services/feature_flags/update_service.rb'
- 'app/services/merge_requests/base_service.rb'
- 'app/services/merge_requests/bulk_remove_attention_requested_service.rb'
- 'app/services/merge_requests/reopen_service.rb'
- 'app/services/notes/destroy_service.rb'
- 'app/services/packages/debian/generate_distribution_service.rb'
- 'app/services/resource_events/synthetic_label_notes_builder_service.rb'
@ -87,7 +85,6 @@ Style/SymbolProc:
- 'config/initializers/01_active_record_database_tasks_configuration_flag.rb'
- 'config/initializers/doorkeeper_openid_connect.rb'
- 'config/initializers/mail_encoding_patch.rb'
- 'config/initializers/wikicloth_redos_patch.rb'
- 'config/settings.rb'
- 'db/migrate/20210318134427_delete_security_findings_without_uuid.rb'
- 'db/migrate/20210503105845_add_project_value_stream_id_to_project_stages.rb'
@ -136,7 +133,6 @@ Style/SymbolProc:
- 'ee/spec/helpers/ee/registrations_helper_spec.rb'
- 'ee/spec/lib/ee/gitlab/search_results_spec.rb'
- 'ee/spec/lib/gitlab/elastic/document_reference_spec.rb'
- 'ee/spec/models/ee/iterations/cadence_spec.rb'
- 'ee/spec/services/groups/participants_service_spec.rb'
- 'ee/spec/support/helpers/subscription_portal_helpers.rb'
- 'ee/spec/support/shared_examples/lib/gitlab/graphql/issuables_lazy_links_aggregate_shared_examples.rb'
@ -205,17 +201,13 @@ Style/SymbolProc:
- 'qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb'
- 'qa/qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/12_geo/attachment_replication_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/12_geo/http_push_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/12_geo/rename_replication_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/12_geo/ssh_push_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/12_geo/wiki_http_push_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_status_on_operation_dashboard_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb'
- 'rubocop/cop/gitlab/mark_used_feature_flags.rb'
- 'rubocop/cop/gitlab/namespaced_class.rb'
- 'scripts/qa/testcases-check'
- 'scripts/static-analysis'
- 'spec/controllers/concerns/product_analytics_tracking_spec.rb'
@ -245,7 +237,6 @@ Style/SymbolProc:
- 'spec/lib/gitlab/database/loose_foreign_keys_spec.rb'
- 'spec/lib/gitlab/database/migration_helpers/loose_foreign_key_helpers_spec.rb'
- 'spec/lib/gitlab/git/commit_spec.rb'
- 'spec/lib/gitlab/git/repository_spec.rb'
- 'spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb'
- 'spec/lib/gitlab/graphql/lazy_spec.rb'
- 'spec/lib/gitlab/graphql/markdown_field_spec.rb'
@ -272,7 +263,6 @@ Style/SymbolProc:
- 'spec/services/merge_requests/conflicts/list_service_spec.rb'
- 'spec/services/notification_recipients/builder/default_spec.rb'
- 'spec/services/packages/go/create_package_service_spec.rb'
- 'spec/services/suggestions/apply_service_spec.rb'
- 'spec/spec_helper.rb'
- 'spec/support/generate-seed-repo-rb'
- 'spec/support/helpers/filter_spec_helper.rb'

View File

@ -0,0 +1,8 @@
---
# Cop supports --auto-correct.
Style/WordArray:
Exclude:
- 'ee/spec/features/protected_branches_spec.rb'
- 'qa/qa/page/project/settings/mirroring_repositories.rb'
- 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb'
- 'spec/features/protected_branches_spec.rb'

View File

@ -381,7 +381,7 @@ group :development, :test do
gem 'spring', '~> 2.1.0'
gem 'spring-commands-rspec', '~> 1.0.4'
gem 'gitlab-styles', '~> 8.0.0', require: false
gem 'gitlab-styles', '~> 9.0.0', require: false
gem 'haml_lint', '~> 0.40.0', require: false
gem 'bundler-audit', '~> 0.7.0.1', require: false

View File

@ -585,13 +585,13 @@ GEM
openid_connect (~> 1.2)
gitlab-sidekiq-fetcher (0.8.0)
sidekiq (~> 6.1)
gitlab-styles (8.0.0)
rubocop (~> 0.91, >= 0.91.1)
gitlab-styles (9.0.0)
rubocop (~> 1.36.0)
rubocop-gitlab-security (~> 0.1.1)
rubocop-graphql (~> 0.10)
rubocop-performance (~> 1.9.2)
rubocop-rails (~> 2.9)
rubocop-rspec (~> 1.44)
rubocop-graphql (~> 0.14)
rubocop-performance (~> 1.14)
rubocop-rails (~> 2.15)
rubocop-rspec (~> 2.12)
gitlab_chronic_duration (0.10.6.2)
numerizer (~> 0.2)
gitlab_omniauth-ldap (2.2.0)
@ -1209,31 +1209,31 @@ GEM
pg
rails
sqlite3
rubocop (0.93.1)
rubocop (1.36.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 2.7.1.5)
parser (>= 3.1.2.1)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8)
rexml
rubocop-ast (>= 0.6.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.20.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.21.0)
parser (>= 3.1.1.0)
rubocop-gitlab-security (0.1.1)
rubocop (>= 0.51)
rubocop-graphql (0.14.6)
rubocop (>= 0.87, < 2)
rubocop-performance (1.9.2)
rubocop (>= 0.90.0, < 2.0)
rubocop-performance (1.14.3)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-rails (2.9.1)
rubocop-rails (2.15.2)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 0.90.0, < 2.0)
rubocop-rspec (1.44.1)
rubocop (~> 0.87)
rubocop-ast (>= 0.7.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-rspec (2.12.1)
rubocop (~> 1.31)
ruby-fogbugz (0.2.1)
crack (~> 0.4)
ruby-magic (0.5.4)
@ -1619,7 +1619,7 @@ DEPENDENCIES
gitlab-net-dns (~> 0.9.1)
gitlab-omniauth-openid-connect (~> 0.10.0)
gitlab-sidekiq-fetcher (= 0.8.0)
gitlab-styles (~> 8.0.0)
gitlab-styles (~> 9.0.0)
gitlab_chronic_duration (~> 0.10.6.2)
gitlab_omniauth-ldap (~> 2.2.0)
gon (~> 6.4.0)

View File

@ -26,6 +26,7 @@ module Ci
Gitlab::Ci::Pipeline::Chain::AssignPartition,
Gitlab::Ci::Pipeline::Chain::Seed,
Gitlab::Ci::Pipeline::Chain::Limit::Size,
Gitlab::Ci::Pipeline::Chain::Limit::ActiveJobs,
Gitlab::Ci::Pipeline::Chain::Limit::Deployments,
Gitlab::Ci::Pipeline::Chain::Validate::External,
Gitlab::Ci::Pipeline::Chain::Populate,
@ -36,7 +37,7 @@ module Ci
Gitlab::Ci::Pipeline::Chain::CreateDeployments,
Gitlab::Ci::Pipeline::Chain::CreateCrossDatabaseAssociations,
Gitlab::Ci::Pipeline::Chain::Limit::Activity,
Gitlab::Ci::Pipeline::Chain::Limit::JobActivity,
Gitlab::Ci::Pipeline::Chain::Limit::JobActivity, # deprecated in favour of Limit::ActiveJobs
Gitlab::Ci::Pipeline::Chain::CancelPendingPipelines,
Gitlab::Ci::Pipeline::Chain::Metrics,
Gitlab::Ci::Pipeline::Chain::TemplateUsage,

View File

@ -1,12 +1,12 @@
- content_for :merge_access_levels do
.merge_access_levels-container
= dropdown_tag('Select',
= dropdown_tag(_('Select'),
options: { toggle_class: 'js-allowed-to-merge wide',
dropdown_class: 'dropdown-menu-selectable capitalize-header', dropdown_qa_selector: 'allowed_to_merge_dropdown_content', dropdown_testid: 'allowed-to-merge-dropdown',
data: { field_name: 'protected_branch[merge_access_levels_attributes][0][access_level]', input_id: 'merge_access_levels_attributes', qa_selector: 'allowed_to_merge_dropdown' }})
- content_for :push_access_levels do
.push_access_levels-container
= dropdown_tag('Select',
= dropdown_tag(_('Select'),
options: { toggle_class: "js-allowed-to-push js-multiselect wide",
dropdown_class: 'dropdown-menu-selectable capitalize-header', dropdown_qa_selector: 'allowed_to_push_dropdown_content' , dropdown_testid: 'allowed-to-push-dropdown',
data: { field_name: 'protected_branch[push_access_levels_attributes][0][access_level]', input_id: 'push_access_levels_attributes', qa_selector: 'allowed_to_push_dropdown' }})

View File

@ -2,11 +2,11 @@
= f.hidden_field(:name)
= dropdown_tag('Select branch or create wildcard',
= dropdown_tag(_('Select branch or create wildcard'),
options: { toggle_class: "js-protected-branch-select js-filter-submit wide monospace qa-protected-branch-select #{toggle_classes}",
filter: true,
dropdown_class: "dropdown-menu-selectable git-revision-dropdown qa-protected-branch-dropdown",
placeholder: "Search protected branches",
placeholder: _("Search protected branches"),
footer_content: true,
data: { show_no: true, show_any: true, show_upcoming: true,
selected: params[:protected_branch_name],
@ -14,6 +14,6 @@
%ul.dropdown-footer-list
%li
%button{ class: "dropdown-create-new-item-button js-dropdown-create-new-item", title: "New Protected Branch" }
Create wildcard
%button{ class: "dropdown-create-new-item-button js-dropdown-create-new-item", title: _("New Protected Branch") }
= _('Create wildcard')
%code

View File

@ -1,5 +1,5 @@
- viewing_issues = controller.controller_name == 'issues' || controller.action_name == 'issues'
- viewing_merge_requests = controller.controller_name == 'merge_requests'
- viewing_merge_requests = controller.controller_name == 'merge_requests' || controller.action_name == 'merge_requests'
- items = issuable_sort_options(viewing_issues, viewing_merge_requests)
- selected = issuable_sort_option_overrides[@sort] || @sort

View File

@ -1,8 +0,0 @@
---
name: ci_variables_refactoring_to_variable
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95390
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371559
milestone: '15.4'
type: development
group: group::pipeline authoring
default_enabled: false

View File

@ -0,0 +1,16 @@
# frozen_string_literal: true
class AddIndexIdPartitionIdToCiBuildsMetadata < Gitlab::Database::Migration[2.0]
disable_ddl_transaction!
TABLE_NAME = :ci_builds_metadata
INDEX_NAME = :index_ci_builds_metadata_on_id_partition_id_unique
def up
add_concurrent_index(TABLE_NAME, %i[id partition_id], unique: true, name: INDEX_NAME)
end
def down
remove_concurrent_index_by_name(TABLE_NAME, INDEX_NAME)
end
end

View File

@ -0,0 +1,16 @@
# frozen_string_literal: true
class AddIndexBuildIdPartitionIdToCiBuildMetadata < Gitlab::Database::Migration[2.0]
disable_ddl_transaction!
TABLE_NAME = :ci_builds_metadata
INDEX_NAME = :index_ci_builds_metadata_on_build_id_partition_id_unique
def up
add_concurrent_index(TABLE_NAME, %i[build_id partition_id], unique: true, name: INDEX_NAME)
end
def down
remove_concurrent_index_by_name(TABLE_NAME, INDEX_NAME)
end
end

View File

@ -1,5 +0,0 @@
# Disabled in favour of structure.sql
# Please refer to https://gitlab.com/gitlab-org/gitlab/-/issues/211487 for details
raise 'schema.rb should not be used anymore, use structure.sql instead'

View File

@ -0,0 +1 @@
2950f1826c77539072f66fcc46fefb77dcbcafe4cc8e5d0bdc090b19fc1600c7

View File

@ -0,0 +1 @@
e63bd78b80b7a5a475f0246fb8d2dcb1164f410705dfae44579dce5579655841

View File

@ -28034,6 +28034,10 @@ CREATE INDEX index_ci_builds_metadata_on_build_id_and_has_exposed_artifacts ON c
CREATE INDEX index_ci_builds_metadata_on_build_id_and_id_and_interruptible ON ci_builds_metadata USING btree (build_id) INCLUDE (id) WHERE (interruptible = true);
CREATE UNIQUE INDEX index_ci_builds_metadata_on_build_id_partition_id_unique ON ci_builds_metadata USING btree (build_id, partition_id);
CREATE UNIQUE INDEX index_ci_builds_metadata_on_id_partition_id_unique ON ci_builds_metadata USING btree (id, partition_id);
CREATE INDEX index_ci_builds_metadata_on_project_id ON ci_builds_metadata USING btree (project_id);
CREATE INDEX index_ci_builds_on_auto_canceled_by_id ON ci_builds USING btree (auto_canceled_by_id);

View File

@ -884,10 +884,41 @@ point to the correct registry URL and copy the `registry.key` file to each Sidek
information, see the [Sidekiq configuration](../sidekiq.md)
page.
To reduce the amount of [Container Registry disk space used by a given project](../troubleshooting/gitlab_rails_cheat_sheet.md#registry-disk-space-usage-by-project),
To reduce the amount of [Container Registry disk space used by a given project](#registry-disk-space-usage-by-project),
administrators can clean up image tags
and [run garbage collection](#container-registry-garbage-collection).
### Registry Disk Space Usage by Project
To find the disk space used by each project, run the following in the
[GitLab Rails console](../operations/rails_console.md#starting-a-rails-console-session):
```ruby
projects_and_size = [["project_id", "creator_id", "registry_size_bytes", "project path"]]
# You need to specify the projects that you want to look through. You can get these in any manner.
projects = Project.last(100)
projects.each do |p|
project_total_size = 0
container_repositories = p.container_repositories
container_repositories.each do |c|
c.tags.each do |t|
project_total_size = project_total_size + t.total_size unless t.total_size.nil?
end
end
if project_total_size > 0
projects_and_size << [p.project_id, p.creator.id, project_total_size, p.full_path]
end
end
# print it as comma separated output
projects_and_size.each do |ps|
puts "%s,%s,%s,%s" % ps
end
```
To remove image tags by running the cleanup policy, run the following commands in the
[GitLab Rails console](../operations/rails_console.md):

View File

@ -17,7 +17,7 @@ In addition to this page, the following resources can help you craft and contrib
- [Doc contribution guidelines](../index.md)
- [Recommended word list](word_list.md)
- [Doc style and consistency testing](../testing.md)
- [UI text guidelines](https://design.gitlab.com/content/error-messages/)
- [Guidelines for UI error messages](https://design.gitlab.com/content/error-messages/)
- [GitLab Handbook style guidelines](https://about.gitlab.com/handbook/communication/#writing-style-guidelines)
- [Microsoft Style Guide](https://docs.microsoft.com/en-us/style-guide/welcome/)
- [Google Developer Documentation Style Guide](https://developers.google.com/style)
@ -841,6 +841,28 @@ To open group settings:
1. Expand **General pipelines**.
```
To open either project or group settings:
```markdown
1. On the top bar, select **Main menu**, and:
- For a project, select ***Projects** and find your project.
- For a group, select **Groups** and find your group.
1. On the left sidebar, select **Settings > CI/CD**.
1. Expand **General pipelines**.
```
To create a project:
```markdown
1. On the top bar, select **Create new... > New project**.
```
To create a group:
```markdown
1. On the top bar, select **Create new... > New group**.
```
To open the Admin Area:
```markdown

View File

@ -6,28 +6,61 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# GitLab Flavored Markdown (GLFM) Specification Guide **(FREE)**
## Summary
- _GitLab_ Flavored Markdown (GLFM) is based on
[_GitHub_ Flavored Markdown](https://github.github.com/gfm/) (GFM),
which is based on [CommonMark](https://spec.commonmark.org/current/).
- GLFM is divided into two "sets" of Markdown syntax:
- An "[official specification](#official-specifications)",
which is not dependent upon any specific
implementation or environment, and can be supported in any editor.
- "[Internal extensions](#internal-extensions)", which may be
dependent upon the GitLab environment and metadata.
- Everything in each of these sets of syntax is specified by
[special Markdown files](#input-specification-files)
based on the [CommonMark specification syntax](https://spec.commonmark.org/0.30/#about-this-document),
which contain side-by-side "examples" of Markdown and the corresponding
generated HTML, and associated documentation describing each example.
- There are also [YAML metadata files](#input-specification-files), which
may contain additional information on how individual Markdown/HTML examples
should be processed and rendered.
- These Markdown/YAML files and the examples they contain serve multiple goals:
- They are the canonical "source of truth" for how GLFM should be rendered.
- They support rendering a [formatted HTML document](#spechtml) containing all
of the examples and associated documentation, as the
[GFM and CommonMark specs](#various-markdown-specifications) also do.
- They support running standard CommonMark [conformance testing](#markdown-conformance-testing)
against the official specification.
- They support [snapshot testing](#markdown-snapshot-testing) of GitLab
internal GLFM processing logic. This is accomplished by automatically
generating YAML ["example snapshot files"](#example-snapshot-files)
which are used as fixtures to drive automated testing within the GitLab app.
- There are [various scripts and logic](#scripts)
which are used to accomplish the above goals.
## Introduction
GitLab supports Markdown in various places. The Markdown dialect we use is called
GitLab Flavored Markdown, or GLFM.
The specification for the GLFM dialect is based on the
[GitHub Flavored Markdown (GFM) specification](https://github.github.com/gfm/),
which is in turn based on the [CommonMark specification](https://spec.commonmark.org/current/).
The GLFM specification includes
[several extensions](../../../user/markdown.md#differences-between-gitlab-flavored-markdown-and-standard-markdown)
to the GFM specification.
See the [section on acronyms](#acronyms-glfm-ghfm-gfm-commonmark) for a
detailed explanation of the various acronyms used in this document.
This guide is a developer-facing document that describes the various terms and
definitions, goals, tools, and implementations related to the GLFM specification.
It is intended to support and augment the [user-facing documentation](../../../user/markdown.md)
for GitLab Flavored Markdown.
GitLab Flavored Markdown (GLFM).
NOTE:
In this document, _GFM_ refers to _GitHub_ Flavored Markdown, not _GitLab_ Flavored Markdown.
Refer to the [section on acronyms](#acronyms-glfm-ghfm-gfm-commonmark)
for a detailed explanation of the various acronyms used in this document.
The specification for the GLFM dialect is based on the
[GitHub Flavored Markdown (GFM) specification](https://github.github.com/gfm/),
which is in turn based on the [CommonMark specification](https://spec.commonmark.org/current/).
The GLFM specification includes
[many additions](../../../user/markdown.md#differences-between-gitlab-flavored-markdown-and-standard-markdown)
compared to the GFM specification.
This guide is a developer-facing document that describes the various terms and
definitions, goals, tools, and implementations related to the GLFM specification.
It is intended to support and augment the [user-facing documentation](../../../user/markdown.md)
for GitLab Flavored Markdown.
NOTE:
This guide and the implementation and files described in it are still a work in
progress. As the work progresses, rewrites and consolidation

View File

@ -16,10 +16,10 @@ and running quickly.
| Topic | Description | Good for beginners |
|-------|-------------|--------------------|
| <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Introduction to GitLab](https://youtu.be/_4SmIyQ5eis?t=90) (59m 51s) | Walk through recommended processes and example workflows for using GitLab. | **{star}** |
| [GitLab 101](https://gitlab.edcast.com/pathways/ECL-ce65e759-d9e7-459f-83d0-1765459395d2) | Learn the basics of GitLab in this certification course. | **{star}** |
| [GitLab 101](https://levelup.gitlab.com/learn/course/gitlab101) | Learn the basics of GitLab in this certification course. | **{star}** |
| <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Use GitLab for DevOps](https://www.youtube.com/watch?v=7q9Y1Cv-ib0) (12m 34s) | Use GitLab through the entire DevOps lifecycle, from planning to monitoring. | **{star}** |
| [Use Markdown at GitLab](../user/markdown.md) | GitLab Flavored Markdown (GLFM) is used in many areas of GitLab, for example, in merge requests. | **{star}** |
| [GitLab 201](https://gitlab.edcast.com/pathways/ECL-44010cf6-7a9c-4b9b-b684-fa08508a3252) | Go beyond the basics to learn more about using GitLab for your work. | |
| [GitLab 201](https://levelup.gitlab.com/learn/course/gitlab-201-certification) | Go beyond the basics to learn more about using GitLab for your work. | |
| <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Learn GitLab project walkthrough](https://www.youtube.com/watch?v=-oaI2WEKdI4&list=PL05JrBw4t0KofkHq4GZJ05FnNGa11PQ4d) (59m 2s) | Step through the tutorial-style issues in the **Learn GitLab** project. If you don't have this project, download [the export file](https://gitlab.com/gitlab-org/gitlab/-/blob/master/vendor/project_templates/learn_gitlab_ultimate.tar.gz) and [import it to a new project](../user/project/settings/import_export.md#import-a-project-and-its-data). | |
| [Productivity tips](https://about.gitlab.com/blog/2021/02/18/improve-your-gitlab-productivity-with-these-10-tips/) | Get tips to help make you a productive GitLab user. | |
| <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Structure a multi-team organization](https://www.youtube.com/watch?v=KmASFwSap7c) (37m 37s) | Learn to use issues, milestones, epics, labels, and more to plan and manage your work. | |

View File

@ -96,7 +96,7 @@ GitLab supports the following types of CRON syntax for the `cadence` field:
- A daily cadence of once per hour at a specified hour, for example: `0 18 * * *`
- A weekly cadence of once per week on a specified day and at a specified hour, for example: `0 13 * * 0`
It is possible that other elements of the CRON syntax will work in the cadence field, however, GitLab does not officially test or support them.
Other elements of the CRON syntax may work in the cadence field, however, GitLab does not officially test or support them. The CRON expression is evaluated in UTC by default. If you have a self-managed GitLab instance and have [changed the server timezone](../../../administration/timezone.md), the CRON expression is evaluated with the new timezone.
## `scan` action type

View File

@ -2,7 +2,7 @@
stage: Monitor
group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
remove_date: '2022-18-10'
remove_date: '2022-10-18'
redirect_to: '../../clusters/agent/index.md'
---

View File

@ -1,49 +0,0 @@
# frozen_string_literal: true
module Gitlab
module Ci
class Config
module Entry
##
# Entry that represents CI/CD variables.
# The class will be renamed to `Variables` when removing the FF `ci_variables_refactoring_to_variable`.
#
class CurrentVariables < ::Gitlab::Config::Entry::ComposableHash
include ::Gitlab::Config::Entry::Validatable
validations do
validates :config, type: Hash
end
# Enable these lines when removing the FF `ci_variables_refactoring_to_variable`
# and renaming this class to `Variables`.
# def self.default(**)
# {}
# end
def value
@entries.to_h do |key, entry|
[key.to_s, entry.value]
end
end
def value_with_data
@entries.to_h do |key, entry|
[key.to_s, entry.value_with_data]
end
end
private
def composable_class(_name, _config)
Entry::Variable
end
def composable_metadata
{ allowed_value_data: opt(:allowed_value_data) }
end
end
end
end
end
end

View File

@ -1,46 +0,0 @@
# frozen_string_literal: true
module Gitlab
module Ci
class Config
module Entry
##
# Entry that represents environment variables.
# This is legacy implementation and will be removed with the FF `ci_variables_refactoring_to_variable`.
#
class LegacyVariables < ::Gitlab::Config::Entry::Node
include ::Gitlab::Config::Entry::Validatable
ALLOWED_VALUE_DATA = %i[value description].freeze
validations do
validates :config, variables: { allowed_value_data: ALLOWED_VALUE_DATA }, if: :use_value_data?
validates :config, variables: true, unless: :use_value_data?
end
def value
@config.to_h { |key, value| [key.to_s, expand_value(value)[:value]] }
end
def value_with_data
@config.to_h { |key, value| [key.to_s, expand_value(value)] }
end
def use_value_data?
opt(:use_value_data)
end
private
def expand_value(value)
if value.is_a?(Hash)
{ value: value[:value].to_s, description: value[:description] }.compact
else
{ value: value.to_s }
end
end
end
end
end
end
end

View File

@ -48,10 +48,9 @@ module Gitlab
description: 'Script that will be executed after each job.',
reserved: true
# use_value_data will be removed with the FF ci_variables_refactoring_to_variable
entry :variables, Entry::Variables,
description: 'Environment variables that will be used.',
metadata: { use_value_data: true, allowed_value_data: %i[value description] },
metadata: { allowed_value_data: %i[value description] },
reserved: true
entry :stages, Entry::Stages,

View File

@ -6,20 +6,38 @@ module Gitlab
module Entry
##
# Entry that represents CI/CD variables.
# CurrentVariables will be renamed to this class when removing the FF `ci_variables_refactoring_to_variable`.
#
class Variables
def self.new(...)
if YamlProcessor::FeatureFlags.enabled?(:ci_variables_refactoring_to_variable)
CurrentVariables.new(...)
else
LegacyVariables.new(...)
end
class Variables < ::Gitlab::Config::Entry::ComposableHash
include ::Gitlab::Config::Entry::Validatable
validations do
validates :config, type: Hash
end
def self.default(**)
{}
end
def value
@entries.to_h do |key, entry|
[key.to_s, entry.value]
end
end
def value_with_data
@entries.to_h do |key, entry|
[key.to_s, entry.value_with_data]
end
end
private
def composable_class(_name, _config)
Entry::Variable
end
def composable_metadata
{ allowed_value_data: opt(:allowed_value_data) }
end
end
end
end

View File

@ -121,7 +121,7 @@ module Gitlab
end
def observe_jobs_count_in_alive_pipelines
jobs_count = if Feature.enabled?(:ci_limit_active_jobs_early, project)
jobs_count = if limit_active_jobs_early?
project.all_pipelines.jobs_count_in_alive_pipelines
else
project.all_pipelines.builds_count_in_alive_pipelines
@ -136,6 +136,12 @@ module Gitlab
.increment(reason: (reason || :unknown_failure).to_s)
end
def limit_active_jobs_early?
strong_memoize(:limit_active_jobs_early) do
Feature.enabled?(:ci_limit_active_jobs_early, project)
end
end
private
# Verifies that origin_ref is a fully qualified tag reference (refs/tags/<tag-name>)

View File

@ -0,0 +1,66 @@
# frozen_string_literal: true
module Gitlab
module Ci
module Pipeline
module Chain
module Limit
class ActiveJobs < Chain::Base
include ::Gitlab::Utils::StrongMemoize
include ::Gitlab::Ci::Pipeline::Chain::Helpers
LIMIT_NAME = :ci_active_jobs
MESSAGE = "Project exceeded the allowed number of jobs in active pipelines. Retry later."
def perform!
return unless command.limit_active_jobs_early?
return unless limits.exceeded?(LIMIT_NAME, count_jobs_in_alive_pipelines)
error(MESSAGE, drop_reason: :job_activity_limit_exceeded)
Gitlab::AppLogger.info(
class: self.class.name,
message: MESSAGE,
project_id: project.id,
plan: project.actual_plan_name)
end
def break?
return unless command.limit_active_jobs_early?
pipeline.errors.any?
end
private
def namespace
strong_memoize(:namespace) do
project.namespace
end
end
def limits
strong_memoize(:limits) do
namespace.actual_limits
end
end
def count_jobs_in_alive_pipelines
strong_memoize(:count_jobs_in_alive_pipelines) do
count_persisted_jobs_in_all_alive_pipelines + count_current_pipeline_jobs
end
end
def count_current_pipeline_jobs
command.pipeline_seed.size
end
def count_persisted_jobs_in_all_alive_pipelines
project.all_pipelines.jobs_count_in_alive_pipelines
end
end
end
end
end
end
end

View File

@ -50,12 +50,6 @@ module Gitlab
variables.values.flatten(1).all?(&method(:validate_alphanumeric))
end
def validate_string_or_hash_value_variables(variables, allowed_value_data)
variables.is_a?(Hash) &&
variables.keys.all?(&method(:validate_alphanumeric)) &&
variables.values.all? { |value| validate_string_or_hash_value_variable(value, allowed_value_data) }
end
def validate_alphanumeric(value)
validate_string(value) || validate_integer(value)
end
@ -68,14 +62,6 @@ module Gitlab
value.is_a?(String) || value.is_a?(Symbol)
end
def validate_string_or_hash_value_variable(value, allowed_value_data)
if value.is_a?(Hash)
(value.keys - allowed_value_data).empty? && value.values.all?(&method(:validate_alphanumeric))
else
validate_alphanumeric(value)
end
end
def validate_regexp(value)
Gitlab::UntrustedRegexp::RubySyntax.valid?(value)
end

View File

@ -304,15 +304,12 @@ module Gitlab
end
end
# This will be removed with the FF `ci_variables_refactoring_to_variable`.
class VariablesValidator < ActiveModel::EachValidator
include LegacyValidationHelpers
def validate_each(record, attribute, value)
if options[:array_values]
validate_key_array_values(record, attribute, value)
elsif options[:allowed_value_data]
validate_key_hash_values(record, attribute, value, options[:allowed_value_data])
else
validate_key_values(record, attribute, value)
end
@ -329,12 +326,6 @@ module Gitlab
record.errors.add(attribute, 'should be a hash of key value pairs, value can be an array')
end
end
def validate_key_hash_values(record, attribute, value, allowed_value_data)
unless validate_string_or_hash_value_variables(value, allowed_value_data)
record.errors.add(attribute, 'should be a hash of key value pairs, value can be a hash')
end
end
end
class AlphanumericValidator < ActiveModel::EachValidator

View File

@ -11138,6 +11138,9 @@ msgstr ""
msgid "Create user"
msgstr ""
msgid "Create wildcard"
msgstr ""
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@ -26321,6 +26324,9 @@ msgstr ""
msgid "New Project"
msgstr ""
msgid "New Protected Branch"
msgstr ""
msgid "New Requirement"
msgstr ""
@ -32296,6 +32302,9 @@ msgstr ""
msgid "ProtectedBranch|What are protected branches?"
msgstr ""
msgid "ProtectedBranch|You can add only groups that have this project shared. %{learn_more_link}"
msgstr ""
msgid "ProtectedBranch|default"
msgstr ""
@ -35127,6 +35136,9 @@ msgstr ""
msgid "Search projects..."
msgstr ""
msgid "Search protected branches"
msgstr ""
msgid "Search rate limits"
msgstr ""
@ -36256,6 +36268,9 @@ msgstr ""
msgid "Select branch"
msgstr ""
msgid "Select branch or create wildcard"
msgstr ""
msgid "Select branches"
msgstr ""

View File

@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'rubocop/rspec/top_level_describe'
require 'rubocop/cop/rspec/base'
require 'rubocop/cop/rspec/mixin/top_level_group'
module RuboCop
module Cop
@ -19,17 +20,17 @@ module RuboCop
# # good, spec for EE only code
# ee/spec/controllers/my_spec.rb # describe MyClass
#
class DuplicateSpecLocation < RuboCop::Cop::Cop
include RuboCop::RSpec::TopLevelDescribe
class DuplicateSpecLocation < RuboCop::Cop::RSpec::Base
include RuboCop::Cop::RSpec::TopLevelGroup
MSG = 'Duplicate spec location in `%<path>s`.'
def on_top_level_describe(node, _args)
path = file_path_for_node(node).sub(%r{\A#{rails_root}/}, '')
def on_top_level_group(node)
path = file_path_for_node(node.send_node).sub(%r{\A#{rails_root}/}, '')
duplicate_path = find_duplicate_path(path)
if duplicate_path && File.exist?(File.join(rails_root, duplicate_path))
add_offense(node, message: format(MSG, path: duplicate_path))
add_offense(node.send_node, message: format(MSG, path: duplicate_path))
end
end

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true
require 'rack/utils'
require 'rubocop-rspec'
module RuboCop
module Cop

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'rack/utils'
require 'rubocop-rspec'
module RuboCop
module Cop

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,21 +1,20 @@
# frozen_string_literal: true
require 'rubocop/rspec/top_level_describe'
require 'rubocop/cop/rspec/base'
require 'rubocop/cop/rspec/mixin/top_level_group'
module RuboCop
module Cop
module RSpec
class TopLevelDescribePath < RuboCop::Cop::Cop
include RuboCop::RSpec::TopLevelDescribe
class TopLevelDescribePath < RuboCop::Cop::RSpec::Base
include RuboCop::Cop::RSpec::TopLevelGroup
MESSAGE = 'A file with a top-level `describe` must end in _spec.rb.'
SHARED_EXAMPLES = %i[shared_examples shared_examples_for].freeze
def on_top_level_describe(node, args)
def on_top_level_example_group(node)
return if acceptable_file_path?(processed_source.buffer.name)
return if shared_example?(node)
add_offense(node, message: MESSAGE)
add_offense(node.send_node, message: MESSAGE)
end
private
@ -23,12 +22,6 @@ module RuboCop
def acceptable_file_path?(path)
File.fnmatch?('*_spec.rb', path) || File.fnmatch?('*/frontend/fixtures/*', path) || File.fnmatch?('*/docs_screenshots/*_docs.rb', path)
end
def shared_example?(node)
node.ancestors.any? do |node|
node.respond_to?(:method_name) && SHARED_EXAMPLES.include?(node.method_name)
end
end
end
end
end

View File

@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'rubocop-rspec'
module RuboCop
module Cop
module RSpec

View File

@ -1,7 +1,8 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'yaml'
require_relative '../config/bundler_setup'
require 'rubocop'
MINIMUM_MAX_FILES_IN_CACHE_MARGIN = 1.05
RECOMMENDED_MAX_FILES_IN_CACHE_MARGIN = 1.25
@ -14,7 +15,7 @@ rubocop_target_files_count = `#{RUBOCOP_LIST_TARGET_FILES_COMMAND}`.strip.to_i
raise Error, "#{RUBOCOP_LIST_TARGET_FILES_COMMAND} failed with status #{$?}!" if rubocop_target_files_count == 0
rubocop_target_files_count = rubocop_target_files_count.to_i
rubocop_current_max_files_in_cache = YAML.load_file(File.expand_path('../.rubocop.yml', __dir__)).dig('AllCops', 'MaxFilesInCache').to_i
rubocop_current_max_files_in_cache = RuboCop::ConfigLoader.load_yaml_configuration(File.expand_path('../.rubocop.yml', __dir__)).dig('AllCops', 'MaxFilesInCache').to_i
minimum_max_files_in_cache = (rubocop_target_files_count * MINIMUM_MAX_FILES_IN_CACHE_MARGIN).round(-3)
# We want AllCops.MaxFilesInCache to be at least 5% above the actual files count at any time to give us enough time to increase it accordingly

View File

@ -26,10 +26,10 @@ FactoryBot.define do
factory :wiki_page_event do
action { :created }
# rubocop: disable FactoryBot/InlineAssociation
# rubocop: disable RSpec/FactoryBot/InlineAssociation
# A persistent project is needed to have a wiki page being created properly.
project { @overrides[:wiki_page]&.container || create(:project, :wiki_repo) }
# rubocop: enable FactoryBot/InlineAssociation
# rubocop: enable RSpec/FactoryBot/InlineAssociation
target { association(:wiki_page_meta, :for_wiki_page, wiki_page: wiki_page) }
transient do

View File

@ -7,12 +7,12 @@ FactoryBot.define do
transient do
files { { 'foo.txt' => 'content' } }
message { 'Message' }
# rubocop: disable FactoryBot/InlineAssociation
# rubocop: disable RSpec/FactoryBot/InlineAssociation
# We need a persisted project so we can create commits and tags
# in `commit` otherwise linting this factory with `build` strategy
# will fail.
project { create(:project, :repository) }
# rubocop: enable FactoryBot/InlineAssociation
# rubocop: enable RSpec/FactoryBot/InlineAssociation
service do
Files::MultiService.new(

View File

@ -253,7 +253,7 @@ FactoryBot.define do
end
trait(:without_loaded_metadatum) do
conan_metadatum { build(:conan_metadatum, package: nil) } # rubocop:disable FactoryBot/InlineAssociation
conan_metadatum { build(:conan_metadatum, package: nil) } # rubocop:disable RSpec/FactoryBot/InlineAssociation
end
end

View File

@ -1,173 +0,0 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Gitlab::Ci::Config::Entry::LegacyVariables do
let(:config) { {} }
let(:metadata) { {} }
subject(:entry) { described_class.new(config, **metadata) }
before do
entry.compose!
end
shared_examples 'valid config' do
describe '#value' do
it 'returns hash with key value strings' do
expect(entry.value).to eq result
end
end
describe '#errors' do
it 'does not append errors' do
expect(entry.errors).to be_empty
end
end
describe '#valid?' do
it 'is valid' do
expect(entry).to be_valid
end
end
end
shared_examples 'invalid config' do |error_message|
describe '#valid?' do
it 'is not valid' do
expect(entry).not_to be_valid
end
end
describe '#errors' do
it 'saves errors' do
expect(entry.errors)
.to include(error_message)
end
end
end
context 'when entry config value has key-value pairs' do
let(:config) do
{ 'VARIABLE_1' => 'value 1', 'VARIABLE_2' => 'value 2' }
end
let(:result) do
{ 'VARIABLE_1' => 'value 1', 'VARIABLE_2' => 'value 2' }
end
it_behaves_like 'valid config'
describe '#value_with_data' do
it 'returns variable with data' do
expect(entry.value_with_data).to eq(
'VARIABLE_1' => { value: 'value 1' },
'VARIABLE_2' => { value: 'value 2' }
)
end
end
end
context 'with numeric keys and values in the config' do
let(:config) { { 10 => 20 } }
let(:result) do
{ '10' => '20' }
end
it_behaves_like 'valid config'
end
context 'when key is an array' do
let(:config) { { ['VAR1'] => 'val1' } }
let(:result) do
{ 'VAR1' => 'val1' }
end
it_behaves_like 'invalid config', /should be a hash of key value pairs/
end
context 'when value is a symbol' do
let(:config) { { 'VAR1' => :val1 } }
let(:result) do
{ 'VAR1' => 'val1' }
end
it_behaves_like 'valid config'
end
context 'when value is a boolean' do
let(:config) { { 'VAR1' => true } }
let(:result) do
{ 'VAR1' => 'val1' }
end
it_behaves_like 'invalid config', /should be a hash of key value pairs/
end
context 'when entry config value has key-value pair and hash' do
let(:config) do
{ 'VARIABLE_1' => { value: 'value 1', description: 'variable 1' },
'VARIABLE_2' => 'value 2' }
end
it_behaves_like 'invalid config', /should be a hash of key value pairs/
context 'when metadata has use_value_data: true' do
let(:metadata) { { use_value_data: true } }
let(:result) do
{ 'VARIABLE_1' => 'value 1', 'VARIABLE_2' => 'value 2' }
end
it_behaves_like 'valid config'
describe '#value_with_data' do
it 'returns variable with data' do
expect(entry.value_with_data).to eq(
'VARIABLE_1' => { value: 'value 1', description: 'variable 1' },
'VARIABLE_2' => { value: 'value 2' }
)
end
end
end
end
context 'when entry value is an array' do
let(:config) { [:VAR, 'test'] }
it_behaves_like 'invalid config', /should be a hash of key value pairs/
end
context 'when metadata has use_value_data: true' do
let(:metadata) { { use_value_data: true } }
context 'when entry value has hash with other key-pairs' do
let(:config) do
{ 'VARIABLE_1' => { value: 'value 1', hello: 'variable 1' },
'VARIABLE_2' => 'value 2' }
end
it_behaves_like 'invalid config', /should be a hash of key value pairs, value can be a hash/
end
context 'when entry config value has hash with nil description' do
let(:config) do
{ 'VARIABLE_1' => { value: 'value 1', description: nil } }
end
it_behaves_like 'invalid config', /should be a hash of key value pairs, value can be a hash/
end
context 'when entry config value has hash without description' do
let(:config) do
{ 'VARIABLE_1' => { value: 'value 1' } }
end
let(:result) do
{ 'VARIABLE_1' => 'value 1' }
end
it_behaves_like 'valid config'
end
end
end

View File

@ -210,20 +210,6 @@ RSpec.describe Gitlab::Ci::Config::Entry::Processable do
expect(entry.errors)
.to include 'variables:var2 config must be a string'
end
context 'when the FF ci_variables_refactoring_to_variable is disabled' do
let(:entry_without_ff) { node_class.new(config, name: :rspec) }
before do
stub_feature_flags(ci_variables_refactoring_to_variable: false)
entry_without_ff.compose!
end
it 'reports error about variable' do
expect(entry_without_ff.errors)
.to include /config should be a hash of key value pairs/
end
end
end
end
end

View File

@ -361,20 +361,6 @@ RSpec.describe Gitlab::Ci::Config::Entry::Root do
expect(root.errors)
.to include /var1 config uses invalid data keys: invalid/
end
context 'when the FF ci_variables_refactoring_to_variable is disabled' do
let(:root_without_ff) { described_class.new(hash, user: user, project: project) }
before do
stub_feature_flags(ci_variables_refactoring_to_variable: false)
root_without_ff.compose!
end
it 'reports errors about the invalid variable' do
expect(root_without_ff.errors)
.to include /variables config should be a hash of key value pairs, value can be a hash/
end
end
end
end
end

View File

@ -364,19 +364,6 @@ RSpec.describe Gitlab::Ci::Config::Entry::Rules::Rule do
it 'returns an error about invalid variables:' do
expect(subject.errors).to include(/variables config should be a hash/)
end
context 'when the FF ci_variables_refactoring_to_variable is disabled' do
let(:entry_without_ff) { factory.create! }
before do
stub_feature_flags(ci_variables_refactoring_to_variable: false)
entry_without_ff.compose!
end
it 'returns an error about invalid variables:' do
expect(subject.errors).to include(/variables config should be a hash/)
end
end
end
end

View File

@ -0,0 +1,99 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe ::Gitlab::Ci::Pipeline::Chain::Limit::ActiveJobs do
let_it_be(:namespace) { create(:namespace) }
let_it_be(:project) { create(:project, namespace: namespace) }
let_it_be(:user) { create(:user) }
let_it_be(:default_plan) { create(:default_plan) }
let(:command) do
instance_double(
::Gitlab::Ci::Pipeline::Chain::Command,
project: project,
current_user: user,
limit_active_jobs_early?: feature_flag_enabled,
save_incompleted: true,
pipeline_seed: pipeline_seed_double
)
end
let(:pipeline_seed_double) do
instance_double(::Gitlab::Ci::Pipeline::Seed::Pipeline, size: 5)
end
let(:pipeline) do
create(:ci_pipeline, project: project)
end
let(:existing_pipeline) { create(:ci_pipeline, project: project) }
let(:step) { described_class.new(pipeline, command) }
let(:feature_flag_enabled) { true }
let(:limit) { 10 }
subject { step.perform! }
before do
create(:plan_limits, plan: default_plan, ci_active_jobs: limit)
namespace.clear_memoization(:actual_plan)
end
shared_examples 'successful step' do
it 'doest not fail the pipeline and does not interrupt the chain' do
subject
expect(pipeline).not_to be_failed
expect(step).not_to be_break
end
end
context 'when active jobs limit is exceeded' do
before do
create_list(:ci_build, 3, pipeline: existing_pipeline)
create_list(:ci_bridge, 3, pipeline: existing_pipeline)
end
it 'fails the pipeline with an error', :aggregate_failures do
subject
expect(pipeline).to be_failed
expect(pipeline).to be_job_activity_limit_exceeded
expect(pipeline.errors.full_messages).to include(described_class::MESSAGE)
end
it 'logs the failure' do
allow(Gitlab::AppLogger).to receive(:info)
subject
expect(Gitlab::AppLogger).to have_received(:info).with(
class: described_class.name,
message: described_class::MESSAGE,
project_id: project.id,
plan: default_plan.name
)
end
it 'breaks the chain' do
subject
expect(step).to be_break
end
context 'when active jobs limit not enabled' do
let(:limit) { 0 }
it_behaves_like 'successful step'
end
end
context 'when active jobs limit is not exceeded' do
before do
create_list(:ci_build, 3, pipeline: existing_pipeline)
create_list(:ci_bridge, 1, pipeline: existing_pipeline)
end
it_behaves_like 'successful step'
end
end

View File

@ -1033,8 +1033,7 @@ module Gitlab
end
end
# Change this to a `describe` block when removing the FF ci_variables_refactoring_to_variable
shared_examples 'Variables' do
describe 'Variables' do
subject(:execute) { described_class.new(config).execute }
let(:build) { execute.builds.first }
@ -1163,18 +1162,6 @@ module Gitlab
end
end
context 'when ci_variables_refactoring_to_variable is enabled' do
it_behaves_like 'Variables'
end
context 'when ci_variables_refactoring_to_variable is disabled' do
before do
stub_feature_flags(ci_variables_refactoring_to_variable: false)
end
it_behaves_like 'Variables'
end
context 'when using `extends`' do
let(:config_processor) { Gitlab::Ci::YamlProcessor.new(config).execute }

View File

@ -150,29 +150,6 @@ RSpec.describe Gitlab::WebIde::Config::Entry::Terminal do
}
)
end
context 'when the FF ci_variables_refactoring_to_variable is disabled' do
let(:entry_without_ff) { described_class.new(config, with_image_ports: true) }
before do
stub_feature_flags(ci_variables_refactoring_to_variable: false)
entry_without_ff.compose!
end
it 'returns correct value' do
expect(entry_without_ff.value)
.to eq(
tag_list: ['webide'],
job_variables: [{ key: 'KEY', value: 'value', public: true }],
options: {
image: { name: "image:1.0" },
services: [{ name: "mysql" }],
before_script: %w[ls pwd],
script: ['sleep 100']
}
)
end
end
end
end
end

View File

@ -4,7 +4,7 @@ require 'rubocop_spec_helper'
require_relative '../../../../rubocop/cop/gitlab/duplicate_spec_location'
RSpec.describe RuboCop::Cop::Gitlab::DuplicateSpecLocation do
RSpec.describe RuboCop::Cop::Gitlab::DuplicateSpecLocation, type: :rubocop_rspec do
let(:rails_root) { '../../../../' }
def full_path(path)

View File

@ -22,6 +22,19 @@ RSpec.describe RuboCop::Cop::RSpec::TopLevelDescribePath do
end
end
context 'when the describe is in a shared context' do
context 'with shared_context' do
it 'registers no offenses' do
expect_no_offenses(<<~SOURCE, 'spec/foo.rb')
shared_context 'Foo' do
describe '#bar' do
end
end
SOURCE
end
end
end
context 'when the describe is in a shared example' do
context 'with shared_examples' do
it 'registers no offenses' do

View File

@ -2,7 +2,8 @@
require 'fast_spec_helper'
require 'rspec-parameterized'
require 'rubocop/rspec/shared_contexts'
require 'rubocop'
require 'rubocop/rspec/support'
require 'stringio'
require_relative '../../../rubocop/formatter/graceful_formatter'
@ -225,14 +226,14 @@ RSpec.describe RuboCop::Formatter::GracefulFormatter, :isolated_environment do
cop_name: cop_name,
corrected?: false,
correctable?: false,
severity: double(:severity, name: 'convention', code: :C),
severity: double(:severity, name: :convention, code: :C),
line: 5,
column: 23,
real_column: 23,
corrected_with_todo?: false,
message: "#{cop_name} message",
location: double(:location, source_line: 'line', first_line: 1, last_line: 2),
highlighted_area: double(:highlighted_area, begin_pos: 1, size: 2)
location: double(:location, source_line: 'line', first_line: 1, last_line: 1, single_line?: true),
highlighted_area: double(:highlighted_area, begin_pos: 1, size: 2, source_buffer: 'line', source: 'i')
)
# rubocop:enable RSpec/VerifiedDoubles
end

View File

@ -8,13 +8,23 @@ require 'fast_spec_helper'
require 'rubocop'
require 'rubocop/rspec/support'
RSpec.configure do |config|
config.include RuboCop::RSpec::ExpectOffense, type: :rubocop
require_relative './support/shared_contexts/rubocop_default_rspec_language_config_context'
RSpec.configure do |config|
config.define_derived_metadata(file_path: %r{spec/rubocop}) do |metadata|
metadata[:type] = :rubocop
# TODO: move DuplicateSpecLocation cop to RSpec::DuplicateSpecLocation
unless metadata[:type] == :rubocop_rspec
metadata[:type] = :rubocop
end
end
# Include config shared context for all cop specs.
config.define_derived_metadata(file_path: %r{spec/rubocop/cop/rspec}) do |metadata|
metadata[:type] = :rubocop_rspec
end
config.include RuboCop::RSpec::ExpectOffense, type: :rubocop
config.include RuboCop::RSpec::ExpectOffense, type: :rubocop_rspec
config.include_context 'config', type: :rubocop
config.include_context 'with default RSpec/Language config', type: :rubocop_rspec
end

View File

@ -0,0 +1,53 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Ci::CreatePipelineService, :yaml_processor_feature_flag_corectness do
let_it_be(:project) { create(:project, :repository) }
let_it_be(:user) { project.first_owner }
let_it_be(:existing_pipeline) { create(:ci_pipeline, project: project) }
let(:service) { described_class.new(project, user, ref: 'refs/heads/master') }
subject(:pipeline) { service.execute(:push).payload }
before do
create_list(:ci_build, 8, pipeline: existing_pipeline)
create_list(:ci_bridge, 1, pipeline: existing_pipeline)
stub_ci_pipeline_yaml_file(<<~YAML)
job1:
script: echo
job3:
trigger:
project: org/my-project
job4:
script: echo
only: [tags]
YAML
end
context 'when project has exceeded the active jobs limit' do
before do
project.namespace.actual_limits.update!(ci_active_jobs: 10)
end
it 'fails the pipeline before populating it' do
expect(pipeline).to be_failed
expect(pipeline).to be_job_activity_limit_exceeded
expect(pipeline.errors.full_messages)
.to include("Project exceeded the allowed number of jobs in active pipelines. Retry later.")
expect(pipeline.statuses).to be_empty
end
end
context 'when project has not exceeded the active jobs limit' do
before do
project.namespace.actual_limits.update!(ci_active_jobs: 20)
end
it 'creates the pipeline successfully' do
expect(pipeline).to be_created
end
end
end

View File

@ -0,0 +1,32 @@
# frozen_string_literal: true
# From https://github.com/rubocop/rubocop-rspec/blob/master/spec/shared/default_rspec_language_config_context.rb
# This can be removed once we have https://github.com/rubocop/rubocop-rspec/pull/1377
RSpec.shared_context 'with default RSpec/Language config' do
include_context 'config'
# Deep duplication is needed to prevent config leakage between examples
let(:other_cops) do
default_language = RuboCop::ConfigLoader
.default_configuration['RSpec']['Language']
default_include = RuboCop::ConfigLoader
.default_configuration['RSpec']['Include']
{ 'RSpec' =>
{
'Include' => default_include,
'Language' => deep_dup(default_language)
} }
end
def deep_dup(object)
case object
when Array
object.map { |item| deep_dup(item) }
when Hash
object.transform_values { |value| deep_dup(value) }
else
object # only collections undergo modifications and need duping
end
end
end

View File

@ -5,7 +5,7 @@ go 1.17
require (
github.com/Azure/azure-storage-blob-go v0.14.0
github.com/BurntSushi/toml v1.2.0
github.com/FZambia/sentinel v1.1.0
github.com/FZambia/sentinel v1.1.1
github.com/alecthomas/chroma/v2 v2.2.0
github.com/aws/aws-sdk-go v1.43.31
github.com/disintegration/imaging v1.6.2

View File

@ -134,8 +134,8 @@ github.com/DataDog/datadog-go v4.4.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3
github.com/DataDog/gostackparse v0.5.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM=
github.com/DataDog/sketches-go v1.0.0 h1:chm5KSXO7kO+ywGWJ0Zs6tdmWU8PBXSbywFVciL6BG4=
github.com/DataDog/sketches-go v1.0.0/go.mod h1:O+XkJHWk9w4hDwY2ZUDU31ZC9sNYlYo8DiFsxjYeo1k=
github.com/FZambia/sentinel v1.1.0 h1:qrCBfxc8SvJihYNjBWgwUI93ZCvFe/PJIPTHKmlp8a8=
github.com/FZambia/sentinel v1.1.0/go.mod h1:ytL1Am/RLlAoAXG6Kj5LNuw/TRRQrv2rt2FT26vP5gI=
github.com/FZambia/sentinel v1.1.1 h1:0ovTimlR7Ldm+wR15GgO+8C2dt7kkn+tm3PQS+Qk3Ek=
github.com/FZambia/sentinel v1.1.1/go.mod h1:ytL1Am/RLlAoAXG6Kj5LNuw/TRRQrv2rt2FT26vP5gI=
github.com/GoogleCloudPlatform/cloudsql-proxy v1.29.0/go.mod h1:spvB9eLJH9dutlbPSRmHvSXXHOwGRyeXh1jVdquA2G8=
github.com/HdrHistogram/hdrhistogram-go v1.1.1 h1:cJXY5VLMHgejurPjZH6Fo9rIwRGLefBGdiaENZALqrg=
github.com/HdrHistogram/hdrhistogram-go v1.1.1/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=