New upstream version 15.5.4+ds1

This commit is contained in:
Pirate Praveen 2022-11-25 23:54:43 +05:30
parent 095190ed6e
commit 54117d12b7
6109 changed files with 247172 additions and 205892 deletions

1
.gitattributes vendored
View file

@ -1,5 +1,4 @@
VERSION merge=ours VERSION merge=ours
Dangerfile gitlab-language=ruby Dangerfile gitlab-language=ruby
*.pdf filter=lfs diff=lfs merge=lfs -text
*.rb diff=ruby *.rb diff=ruby
workhorse/testdata/*.pdf -filter -diff -merge workhorse/testdata/*.pdf -filter -diff -merge

View file

@ -49,8 +49,23 @@ workflow:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "maintenance"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "maintenance"'
variables: variables:
CRYSTALBALL: "true" CRYSTALBALL: "true"
NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken"
# Run pipelines for ruby3 branch
- if: '$CI_COMMIT_BRANCH == "ruby3"'
variables:
RUBY_VERSION: "3.0"
NOTIFY_PIPELINE_FAILURE_CHANNEL: "f_ruby3"
OMNIBUS_GITLAB_RUBY3_BUILD: "true"
OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3"
# This work around https://gitlab.com/gitlab-org/gitlab/-/issues/332411 whichs prevents usage of dependency proxy
# when pipeline is triggered by a project access token.
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $GITLAB_USER_LOGIN =~ /project_\d+_bot\d*/'
variables:
GITLAB_DEPENDENCY_PROXY_ADDRESS: ""
# For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.). # For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.).
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
variables:
NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken"
# For tags, create a pipeline. # For tags, create a pipeline.
- if: '$CI_COMMIT_TAG' - if: '$CI_COMMIT_TAG'
# If `$GITLAB_INTERNAL` isn't set, don't create a pipeline. # If `$GITLAB_INTERNAL` isn't set, don't create a pipeline.
@ -63,7 +78,10 @@ workflow:
variables: variables:
PG_VERSION: "12" PG_VERSION: "12"
DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}.patched-golang-1.17-node-16.14-postgresql-${PG_VERSION}:rubygems-3.2-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36" DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}.patched-golang-${GO_VERSION}-node-16.14-postgresql-${PG_VERSION}:rubygems-3.2-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36"
# We set $GITLAB_DEPENDENCY_PROXY to another variable (since it's set at the group level and has higher precedence than .gitlab-ci.yml)
# so that we can override $GITLAB_DEPENDENCY_PROXY_ADDRESS in workflow rules.
GITLAB_DEPENDENCY_PROXY_ADDRESS: "${GITLAB_DEPENDENCY_PROXY}"
RAILS_ENV: "test" RAILS_ENV: "test"
NODE_ENV: "test" NODE_ENV: "test"
BUNDLE_WITHOUT: "production:development" BUNDLE_WITHOUT: "production:development"
@ -80,6 +98,7 @@ variables:
CHROME_VERSION: "103" CHROME_VERSION: "103"
DOCKER_VERSION: "20.10.14" DOCKER_VERSION: "20.10.14"
RUBY_VERSION: "2.7" RUBY_VERSION: "2.7"
GO_VERSION: "1.18"
TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests"
GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse"
@ -92,7 +111,9 @@ variables:
FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json
RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt
RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt
RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt
RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt
RSPEC_FOSS_IMPACT_PIPELINE_YML: rspec-foss-impact-pipeline.yml
JUNIT_RESULT_FILE: rspec/junit_rspec.xml JUNIT_RESULT_FILE: rspec/junit_rspec.xml
JUNIT_RETRY_FILE: rspec/junit_rspec-retry.xml JUNIT_RETRY_FILE: rspec/junit_rspec-retry.xml

View file

@ -2,11 +2,11 @@
# project here: https://gitlab.com/gitlab-org/gitlab/-/project_members # project here: https://gitlab.com/gitlab-org/gitlab/-/project_members
# As described in https://docs.gitlab.com/ee/user/project/code_owners.html # As described in https://docs.gitlab.com/ee/user/project/code_owners.html
* @gitlab-org/maintainers/rails-backend @gitlab-org/maintainers/frontend @gitlab-org/maintainers/database @gl-quality/qe-maintainers @gitlab-org/delivery @gitlab-org/maintainers/cicd-templates @kwiebers @nolith @jacobvosmaer-gitlab * @gitlab-org/maintainers/rails-backend @gitlab-org/maintainers/frontend @gitlab-org/maintainers/database @gl-quality/qe-maintainers @gitlab-org/delivery @gitlab-org/maintainers/cicd-templates @kwiebers @nolith @jacobvosmaer-gitlab @gitlab-org/tw-leadership
CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership
docs/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn docs/CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership
.gitlab/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn .gitlab/CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership
## Allows release tooling to update the Gitaly Version ## Allows release tooling to update the Gitaly Version
GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend @gitlab-org/delivery GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend @gitlab-org/delivery
@ -20,6 +20,14 @@ GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend
/data/deprecations/*.yml /data/deprecations/*.yml
/data/removals/*.yml /data/removals/*.yml
## Technical writing files that do need approval
/data/deprecations/templates/ @marcel.amirault @gitlab-org/tw-leadership @sarahgerman
/data/removals/templates/ @marcel.amirault @gitlab-org/tw-leadership @sarahgerman
.markdownlint.yml @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership
/doc/.markdownlint/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership
/doc/.vale/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership
/lib/tasks/gitlab/tw/codeowners.rake @aqualls @gitlab-org/tw-leadership
^[Backend] ^[Backend]
*.rb @gitlab-org/maintainers/rails-backend *.rb @gitlab-org/maintainers/rails-backend
*.rake @gitlab-org/maintainers/rails-backend *.rake @gitlab-org/maintainers/rails-backend
@ -140,17 +148,18 @@ Dangerfile @gl-quality/eng-prod
/ee/app/workers/clear_shared_runners_minutes_worker.rb @gitlab-org/maintainers/cicd-verify /ee/app/workers/clear_shared_runners_minutes_worker.rb @gitlab-org/maintainers/cicd-verify
/ee/lib/**/ci/ @gitlab-org/maintainers/cicd-verify /ee/lib/**/ci/ @gitlab-org/maintainers/cicd-verify
/ee/lib/ee/api/entities/merge_train.rb @gitlab-org/maintainers/cicd-verify /ee/lib/ee/api/entities/merge_train.rb @gitlab-org/maintainers/cicd-verify
/**/javascripts/jobs/ @pburdette @jivanvl /**/javascripts/jobs/ @gitlab-org/ci-cd/verify/frontend
/**/javascripts/pipelines/ @pburdette @f_caplette @jivanvl @mfluharty @bsandlin @mgandres /**/javascripts/pipelines/ @gitlab-org/ci-cd/verify/frontend
/app/assets/javascripts/pipeline_new/ @pburdette @f_caplette @jivanvl @mfluharty @bsandlin @mgandres /app/assets/javascripts/pipeline_new/ @gitlab-org/ci-cd/verify/frontend
/app/assets/javascripts/ci_lint/ @f_caplette @bsandlin @mgandres /app/assets/javascripts/ci_lint/ @gitlab-org/ci-cd/verify/frontend
/app/assets/javascripts/ci_variable_list/ @pburdette @f_caplette @jivanvl @mfluharty @bsandlin @mgandres /app/assets/javascripts/ci_variable_list/ @gitlab-org/ci-cd/verify/frontend
/app/assets/javascripts/pipeline_schedules/ @pburdette @jivanvl /app/assets/javascripts/pipeline_schedules/ @gitlab-org/ci-cd/verify/frontend
/app/assets/javascripts/pipeline_editor/ @f_caplette @bsandlin @mgandres /app/assets/javascripts/pipeline_editor/ @gitlab-org/ci-cd/verify/frontend
/ee/app/assets/javascripts/ci_minutes_usage/ @pburdette @jivanvl /app/assets/javascripts/runner/ @gitlab-org/ci-cd/verify/frontend
/ee/app/assets/javascripts/usage_quotas/ci_minutes_usage/ @pburdette @jivanvl /ee/app/assets/javascripts/ci_minutes_usage/ @gitlab-org/ci-cd/verify/frontend
/ee/app/assets/javascripts/usage_quotas/pipelines/ @pburdette @jivanvl /ee/app/assets/javascripts/usage_quotas/ci_minutes_usage/ @gitlab-org/ci-cd/verify/frontend
/ee/app/assets/javascripts/reports/ @mfluharty /ee/app/assets/javascripts/usage_quotas/pipelines/ @gitlab-org/ci-cd/verify/frontend
/ee/app/assets/javascripts/reports/ @gitlab-org/ci-cd/verify/frontend
^[Templates] ^[Templates]
/lib/gitlab/ci/templates/ @gitlab-org/maintainers/cicd-templates /lib/gitlab/ci/templates/ @gitlab-org/maintainers/cicd-templates
@ -333,19 +342,18 @@ ee/lib/ee/gitlab/checks/** @proglottis @toon @zj-gitlab
lib/gitlab/checks/** @proglottis @toon @zj-gitlab lib/gitlab/checks/** @proglottis @toon @zj-gitlab
^[Documentation Directories] ^[Documentation Directories]
.markdownlint.yml @marcel.amirault @eread @aqualls @dianalogan @kpaizee
/doc/ @gl-docsteam /doc/ @gl-docsteam
/doc/.markdownlint/ @marcel.amirault @eread @aqualls @dianalogan @kpaizee /data/deprecations/ @gl-docsteam
/doc/.vale/ @marcel.amirault @eread @aqualls @dianalogan @kpaizee /data/removals/ @gl-docsteam
^[Documentation Pages] ^[Documentation Pages]
/doc/administration/application_settings_cache.md @sselhorn /doc/administration/application_settings_cache.md @sselhorn
/doc/administration/audit_event_streaming.md @eread /doc/administration/audit_event_streaming.md @eread
/doc/administration/audit_events.md @eread /doc/administration/audit_events.md @eread
/doc/administration/audit_reports.md @eread /doc/administration/audit_reports.md @eread
/doc/administration/auditor_users.md @eread /doc/administration/auditor_users.md @jglassman1
/doc/administration/auth/ @eread /doc/administration/auth/ @jglassman1
/doc/administration/auth/ldap/ @eread /doc/administration/auth/ldap/ @jglassman1
/doc/administration/cicd.md @marcel.amirault /doc/administration/cicd.md @marcel.amirault
/doc/administration/clusters/ @phillipwells /doc/administration/clusters/ @phillipwells
/doc/administration/compliance.md @eread /doc/administration/compliance.md @eread
@ -374,7 +382,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/administration/integration/kroki.md @msedlakjakubowski /doc/administration/integration/kroki.md @msedlakjakubowski
/doc/administration/integration/mailgun.md @msedlakjakubowski /doc/administration/integration/mailgun.md @msedlakjakubowski
/doc/administration/integration/plantuml.md @aqualls /doc/administration/integration/plantuml.md @aqualls
/doc/administration/integration/terminal.md @ashrafkhamis /doc/administration/integration/terminal.md @phillipwells
/doc/administration/invalidate_markdown_cache.md @msedlakjakubowski /doc/administration/invalidate_markdown_cache.md @msedlakjakubowski
/doc/administration/issue_closing_pattern.md @aqualls /doc/administration/issue_closing_pattern.md @aqualls
/doc/administration/job_artifacts.md @marcel.amirault /doc/administration/job_artifacts.md @marcel.amirault
@ -382,11 +390,10 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/administration/lfs/ @aqualls /doc/administration/lfs/ @aqualls
/doc/administration/libravatar.md @axil /doc/administration/libravatar.md @axil
/doc/administration/load_balancer.md @axil /doc/administration/load_balancer.md @axil
/doc/administration/logs/ @axil
/doc/administration/logs/index.md @msedlakjakubowski /doc/administration/logs/index.md @msedlakjakubowski
/doc/administration/logs/log_parsing.md @axil
/doc/administration/logs/tracing_correlation_id.md @axil
/doc/administration/maintenance_mode/ @axil /doc/administration/maintenance_mode/ @axil
/doc/administration/merge_request_diffs.md @aqualls /doc/administration/merge_request_diffs.md @ashrafkhamis
/doc/administration/monitoring/ @msedlakjakubowski /doc/administration/monitoring/ @msedlakjakubowski
/doc/administration/monitoring/gitlab_self_monitoring_project/ @msedlakjakubowski /doc/administration/monitoring/gitlab_self_monitoring_project/ @msedlakjakubowski
/doc/administration/monitoring/ip_allowlist.md @sselhorn /doc/administration/monitoring/ip_allowlist.md @sselhorn
@ -401,12 +408,13 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/administration/operations/moving_repositories.md @eread /doc/administration/operations/moving_repositories.md @eread
/doc/administration/package_information/ @axil /doc/administration/package_information/ @axil
/doc/administration/packages/ @claytoncornell /doc/administration/packages/ @claytoncornell
/doc/administration/pages/ @aqualls /doc/administration/pages/ @ashrafkhamis
/doc/administration/polling.md @axil /doc/administration/polling.md @axil
/doc/administration/postgresql/ @aqualls /doc/administration/postgresql/ @aqualls
/doc/administration/raketasks/ @axil /doc/administration/raketasks/ @axil
/doc/administration/raketasks/ldap.md @eread /doc/administration/raketasks/ldap.md @jglassman1
/doc/administration/raketasks/praefect.md @eread /doc/administration/raketasks/praefect.md @eread
/doc/administration/raketasks/uploads/ @axil
/doc/administration/read_only_gitlab.md @axil /doc/administration/read_only_gitlab.md @axil
/doc/administration/redis/ @axil /doc/administration/redis/ @axil
/doc/administration/reference_architectures/ @axil /doc/administration/reference_architectures/ @axil
@ -418,25 +426,26 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/administration/restart_gitlab.md @axil /doc/administration/restart_gitlab.md @axil
/doc/administration/server_hooks.md @eread /doc/administration/server_hooks.md @eread
/doc/administration/sidekiq/ @axil /doc/administration/sidekiq/ @axil
/doc/administration/sidekiq/sidekiq_memory_killer.md @sselhorn
/doc/administration/smime_signing_email.md @axil /doc/administration/smime_signing_email.md @axil
/doc/administration/snippets/ @aqualls /doc/administration/snippets/ @ashrafkhamis
/doc/administration/static_objects_external_storage.md @aqualls /doc/administration/static_objects_external_storage.md @ashrafkhamis
/doc/administration/system_hooks.md @ashrafkhamis /doc/administration/system_hooks.md @ashrafkhamis
/doc/administration/terraform_state.md @phillipwells /doc/administration/terraform_state.md @phillipwells
/doc/administration/timezone.md @axil /doc/administration/timezone.md @axil
/doc/administration/troubleshooting/ @axil /doc/administration/troubleshooting/ @axil
/doc/administration/troubleshooting/postgresql.md @aqualls /doc/administration/troubleshooting/postgresql.md @aqualls
/doc/administration/uploads.md @axil /doc/administration/uploads.md @axil
/doc/administration/user_settings.md @eread /doc/administration/user_settings.md @jglassman1
/doc/administration/wikis/ @aqualls /doc/administration/wikis/ @ashrafkhamis
/doc/api/access_requests.md @eread /doc/api/access_requests.md @jglassman1
/doc/api/admin_sidekiq_queues.md @axil /doc/api/admin_sidekiq_queues.md @axil
/doc/api/alert_management_alerts.md @msedlakjakubowski /doc/api/alert_management_alerts.md @msedlakjakubowski
/doc/api/api_resources.md @ashrafkhamis /doc/api/api_resources.md @ashrafkhamis
/doc/api/appearance.md @eread /doc/api/appearance.md @jglassman1
/doc/api/applications.md @eread /doc/api/applications.md @jglassman1
/doc/api/audit_events.md @eread /doc/api/audit_events.md @eread
/doc/api/avatar.md @eread /doc/api/avatar.md @jglassman1
/doc/api/award_emoji.md @msedlakjakubowski /doc/api/award_emoji.md @msedlakjakubowski
/doc/api/boards.md @msedlakjakubowski /doc/api/boards.md @msedlakjakubowski
/doc/api/branches.md @aqualls /doc/api/branches.md @aqualls
@ -445,7 +454,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/cluster_agents.md @phillipwells /doc/api/cluster_agents.md @phillipwells
/doc/api/commits.md @aqualls /doc/api/commits.md @aqualls
/doc/api/container_registry.md @claytoncornell /doc/api/container_registry.md @claytoncornell
/doc/api/custom_attributes.md @ashrafkhamis /doc/api/custom_attributes.md @msedlakjakubowski
/doc/api/dependencies.md @rdickenson /doc/api/dependencies.md @rdickenson
/doc/api/dependency_proxy.md @claytoncornell /doc/api/dependency_proxy.md @claytoncornell
/doc/api/deploy_keys.md @rdickenson /doc/api/deploy_keys.md @rdickenson
@ -466,10 +475,15 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/features.md @rdickenson /doc/api/features.md @rdickenson
/doc/api/freeze_periods.md @rdickenson /doc/api/freeze_periods.md @rdickenson
/doc/api/geo_nodes.md @axil /doc/api/geo_nodes.md @axil
/doc/api/graphql/ @ashrafkhamis /doc/api/graphql/audit_report.md @eread
/doc/api/graphql/custom_emoji.md @msedlakjakubowski /doc/api/graphql/custom_emoji.md @msedlakjakubowski
/doc/api/graphql/getting_started.md @ashrafkhamis
/doc/api/graphql/index.md @ashrafkhamis
/doc/api/graphql/reference/ @ashrafkhamis
/doc/api/graphql/removed_items.md @ashrafkhamis
/doc/api/graphql/sample_issue_boards.md @msedlakjakubowski /doc/api/graphql/sample_issue_boards.md @msedlakjakubowski
/doc/api/group_access_tokens.md @eread /doc/api/graphql/users_example.md @jglassman1
/doc/api/group_access_tokens.md @jglassman1
/doc/api/group_activity_analytics.md @fneill /doc/api/group_activity_analytics.md @fneill
/doc/api/group_badges.md @fneill /doc/api/group_badges.md @fneill
/doc/api/group_boards.md @msedlakjakubowski /doc/api/group_boards.md @msedlakjakubowski
@ -482,8 +496,8 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/group_protected_environments.md @rdickenson /doc/api/group_protected_environments.md @rdickenson
/doc/api/group_relations_export.md @eread /doc/api/group_relations_export.md @eread
/doc/api/group_releases.md @rdickenson /doc/api/group_releases.md @rdickenson
/doc/api/group_repository_storage_moves.md @aqualls /doc/api/group_repository_storage_moves.md @ashrafkhamis
/doc/api/group_wikis.md @aqualls /doc/api/group_wikis.md @ashrafkhamis
/doc/api/groups.md @fneill /doc/api/groups.md @fneill
/doc/api/import.md @eread /doc/api/import.md @eread
/doc/api/index.md @ashrafkhamis /doc/api/index.md @ashrafkhamis
@ -504,30 +518,31 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/lint.md @marcel.amirault /doc/api/lint.md @marcel.amirault
/doc/api/managed_licenses.md @fneill /doc/api/managed_licenses.md @fneill
/doc/api/markdown.md @msedlakjakubowski /doc/api/markdown.md @msedlakjakubowski
/doc/api/members.md @eread /doc/api/members.md @jglassman1
/doc/api/merge_request_approvals.md @aqualls /doc/api/merge_request_approvals.md @aqualls
/doc/api/merge_request_context_commits.md @aqualls /doc/api/merge_request_context_commits.md @aqualls
/doc/api/merge_requests.md @aqualls /doc/api/merge_requests.md @aqualls
/doc/api/merge_trains.md @marcel.amirault /doc/api/merge_trains.md @marcel.amirault
/doc/api/metadata.md @ashrafkhamis /doc/api/metadata.md @phillipwells
/doc/api/metrics_dashboard_annotations.md @msedlakjakubowski /doc/api/metrics_dashboard_annotations.md @msedlakjakubowski
/doc/api/metrics_user_starred_dashboards.md @msedlakjakubowski /doc/api/metrics_user_starred_dashboards.md @msedlakjakubowski
/doc/api/milestones.md @msedlakjakubowski /doc/api/milestones.md @msedlakjakubowski
/doc/api/namespaces.md @eread /doc/api/namespaces.md @jglassman1
/doc/api/notes.md @msedlakjakubowski /doc/api/notes.md @msedlakjakubowski
/doc/api/notification_settings.md @msedlakjakubowski /doc/api/notification_settings.md @msedlakjakubowski
/doc/api/oauth2.md @eread /doc/api/oauth2.md @jglassman1
/doc/api/openapi/ @ashrafkhamis /doc/api/openapi/ @ashrafkhamis
/doc/api/packages.md @claytoncornell /doc/api/packages.md @claytoncornell
/doc/api/packages/ @claytoncornell /doc/api/packages/ @claytoncornell
/doc/api/pages.md @aqualls /doc/api/pages.md @ashrafkhamis
/doc/api/pages_domains.md @aqualls /doc/api/pages_domains.md @ashrafkhamis
/doc/api/personal_access_tokens.md @eread /doc/api/personal_access_tokens.md @eread
/doc/api/pipeline_schedules.md @marcel.amirault /doc/api/pipeline_schedules.md @marcel.amirault
/doc/api/pipeline_triggers.md @marcel.amirault /doc/api/pipeline_triggers.md @marcel.amirault
/doc/api/pipelines.md @marcel.amirault /doc/api/pipelines.md @marcel.amirault
/doc/api/plan_limits.md @eread /doc/api/plan_limits.md @jglassman1
/doc/api/project_access_tokens.md @eread /doc/api/product_analytics.md @lciutacu
/doc/api/project_access_tokens.md @jglassman1
/doc/api/project_aliases.md @aqualls /doc/api/project_aliases.md @aqualls
/doc/api/project_badges.md @aqualls /doc/api/project_badges.md @aqualls
/doc/api/project_clusters.md @phillipwells /doc/api/project_clusters.md @phillipwells
@ -535,7 +550,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/project_level_variables.md @marcel.amirault /doc/api/project_level_variables.md @marcel.amirault
/doc/api/project_relations_export.md @eread /doc/api/project_relations_export.md @eread
/doc/api/project_repository_storage_moves.md @eread /doc/api/project_repository_storage_moves.md @eread
/doc/api/project_snippets.md @aqualls /doc/api/project_snippets.md @ashrafkhamis
/doc/api/project_statistics.md @aqualls /doc/api/project_statistics.md @aqualls
/doc/api/project_templates.md @aqualls /doc/api/project_templates.md @aqualls
/doc/api/project_vulnerabilities.md @aqualls /doc/api/project_vulnerabilities.md @aqualls
@ -555,14 +570,15 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/resource_state_events.md @msedlakjakubowski /doc/api/resource_state_events.md @msedlakjakubowski
/doc/api/resource_weight_events.md @msedlakjakubowski /doc/api/resource_weight_events.md @msedlakjakubowski
/doc/api/runners.md @sselhorn /doc/api/runners.md @sselhorn
/doc/api/scim.md @eread /doc/api/saml.md @jglassman1
/doc/api/search.md @aqualls /doc/api/scim.md @jglassman1
/doc/api/search.md @ashrafkhamis
/doc/api/secure_files.md @marcel.amirault /doc/api/secure_files.md @marcel.amirault
/doc/api/settings.md @eread /doc/api/settings.md @jglassman1
/doc/api/sidekiq_metrics.md @axil /doc/api/sidekiq_metrics.md @axil
/doc/api/snippet_repository_storage_moves.md @aqualls /doc/api/snippet_repository_storage_moves.md @ashrafkhamis
/doc/api/snippets.md @aqualls /doc/api/snippets.md @ashrafkhamis
/doc/api/statistics.md @eread /doc/api/statistics.md @jglassman1
/doc/api/status_checks.md @eread /doc/api/status_checks.md @eread
/doc/api/suggestions.md @aqualls /doc/api/suggestions.md @aqualls
/doc/api/system_hooks.md @ashrafkhamis /doc/api/system_hooks.md @ashrafkhamis
@ -574,17 +590,19 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/api/todos.md @msedlakjakubowski /doc/api/todos.md @msedlakjakubowski
/doc/api/topics.md @fneill /doc/api/topics.md @fneill
/doc/api/usage_data.md @claytoncornell /doc/api/usage_data.md @claytoncornell
/doc/api/users.md @eread /doc/api/users.md @jglassman1
/doc/api/version.md @ashrafkhamis /doc/api/version.md @phillipwells
/doc/api/visual_review_discussions.md @marcel.amirault /doc/api/visual_review_discussions.md @marcel.amirault
/doc/api/vulnerabilities.md @claytoncornell /doc/api/vulnerabilities.md @claytoncornell
/doc/api/vulnerability_exports.md @claytoncornell /doc/api/vulnerability_exports.md @claytoncornell
/doc/api/vulnerability_findings.md @claytoncornell /doc/api/vulnerability_findings.md @claytoncornell
/doc/api/wikis.md @aqualls /doc/api/wikis.md @ashrafkhamis
/doc/architecture/blueprints/ci_pipeline_components/ @marcel.amirault
/doc/architecture/blueprints/container_registry_metadata_database/ @claytoncornell /doc/architecture/blueprints/container_registry_metadata_database/ @claytoncornell
/doc/architecture/blueprints/database/scalability/patterns/ @aqualls /doc/architecture/blueprints/database/scalability/patterns/ @aqualls
/doc/architecture/blueprints/database_scaling/ @aqualls /doc/architecture/blueprints/database_scaling/ @aqualls
/doc/architecture/blueprints/gitlab_to_kubernetes_communication/ @phillipwells /doc/architecture/blueprints/gitlab_to_kubernetes_communication/ @phillipwells
/doc/architecture/blueprints/work_items/ @msedlakjakubowski
/doc/ci/ @marcel.amirault /doc/ci/ @marcel.amirault
/doc/ci/caching/ @marcel.amirault /doc/ci/caching/ @marcel.amirault
/doc/ci/chatops/ @phillipwells /doc/ci/chatops/ @phillipwells
@ -596,17 +614,14 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/ci/cloud_services/azure/ @marcel.amirault /doc/ci/cloud_services/azure/ @marcel.amirault
/doc/ci/cloud_services/google_cloud/ @marcel.amirault /doc/ci/cloud_services/google_cloud/ @marcel.amirault
/doc/ci/directed_acyclic_graph/ @marcel.amirault /doc/ci/directed_acyclic_graph/ @marcel.amirault
/doc/ci/docker/index.md @marcel.amirault /doc/ci/docker/ @marcel.amirault
/doc/ci/docker/using_docker_build.md @marcel.amirault
/doc/ci/docker/using_docker_images.md @sselhorn /doc/ci/docker/using_docker_images.md @sselhorn
/doc/ci/docker/using_kaniko.md @marcel.amirault
/doc/ci/environments/ @rdickenson /doc/ci/environments/ @rdickenson
/doc/ci/examples/ @marcel.amirault
/doc/ci/examples/authenticating-with-hashicorp-vault/ @marcel.amirault /doc/ci/examples/authenticating-with-hashicorp-vault/ @marcel.amirault
/doc/ci/examples/deployment/ @rdickenson /doc/ci/examples/deployment/ @rdickenson
/doc/ci/examples/end_to_end_testing_webdriverio/ @marcel.amirault /doc/ci/examples/end_to_end_testing_webdriverio/ @marcel.amirault
/doc/ci/examples/index.md @marcel.amirault
/doc/ci/examples/laravel_with_gitlab_and_envoy/ @marcel.amirault /doc/ci/examples/laravel_with_gitlab_and_envoy/ @marcel.amirault
/doc/ci/examples/php.md @marcel.amirault
/doc/ci/examples/semantic-release.md @claytoncornell /doc/ci/examples/semantic-release.md @claytoncornell
/doc/ci/interactive_web_terminal/ @sselhorn /doc/ci/interactive_web_terminal/ @sselhorn
/doc/ci/introduction/ @marcel.amirault /doc/ci/introduction/ @marcel.amirault
@ -640,7 +655,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/development/build_test_package.md @axil /doc/development/build_test_package.md @axil
/doc/development/bulk_import.md @eread /doc/development/bulk_import.md @eread
/doc/development/cached_queries.md @sselhorn /doc/development/cached_queries.md @sselhorn
/doc/development/cascading_settings.md @eread /doc/development/cascading_settings.md @jglassman1
/doc/development/chatops_on_gitlabcom.md @phillipwells /doc/development/chatops_on_gitlabcom.md @phillipwells
/doc/development/cicd/ @marcel.amirault /doc/development/cicd/ @marcel.amirault
/doc/development/code_intelligence/ @aqualls /doc/development/code_intelligence/ @aqualls
@ -659,11 +674,12 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/development/elasticsearch.md @ashrafkhamis /doc/development/elasticsearch.md @ashrafkhamis
/doc/development/experiment_guide/ @phillipwells /doc/development/experiment_guide/ @phillipwells
/doc/development/export_csv.md @eread /doc/development/export_csv.md @eread
/doc/development/fe_guide/content_editor.md @aqualls /doc/development/fe_guide/content_editor.md @ashrafkhamis
/doc/development/fe_guide/customizable_dashboards.md @lciutacu
/doc/development/fe_guide/dark_mode.md @sselhorn /doc/development/fe_guide/dark_mode.md @sselhorn
/doc/development/fe_guide/graphql.md @sselhorn /doc/development/fe_guide/graphql.md @sselhorn
/doc/development/fe_guide/merge_request_widget_extensions.md @aqualls /doc/development/fe_guide/merge_request_widget_extensions.md @aqualls
/doc/development/fe_guide/source_editor.md @aqualls /doc/development/fe_guide/source_editor.md @ashrafkhamis
/doc/development/fe_guide/view_component.md @rdickenson /doc/development/fe_guide/view_component.md @rdickenson
/doc/development/feature_categorization/ @sselhorn /doc/development/feature_categorization/ @sselhorn
/doc/development/feature_development.md @sselhorn /doc/development/feature_development.md @sselhorn
@ -673,19 +689,19 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/development/geo/ @axil /doc/development/geo/ @axil
/doc/development/git_object_deduplication.md @eread /doc/development/git_object_deduplication.md @eread
/doc/development/gitaly.md @eread /doc/development/gitaly.md @eread
/doc/development/gitlab_flavored_markdown/ @aqualls /doc/development/gitlab_flavored_markdown/ @ashrafkhamis
/doc/development/gitlab_flavored_markdown/specification_guide/ @aqualls /doc/development/gitlab_flavored_markdown/specification_guide/ @ashrafkhamis
/doc/development/graphql_guide/ @ashrafkhamis
/doc/development/graphql_guide/batchloader.md @aqualls /doc/development/graphql_guide/batchloader.md @aqualls
/doc/development/graphql_guide/graphql_pro.md @ashrafkhamis
/doc/development/graphql_guide/index.md @ashrafkhamis
/doc/development/graphql_guide/monitoring.md @ashrafkhamis
/doc/development/graphql_guide/pagination.md @ashrafkhamis
/doc/development/i18n/ @eread /doc/development/i18n/ @eread
/doc/development/image_scaling.md @sselhorn /doc/development/image_scaling.md @sselhorn
/doc/development/import_export.md @eread /doc/development/import_export.md @eread
/doc/development/index.md @sselhorn /doc/development/index.md @sselhorn
/doc/development/integrations/ @ashrafkhamis /doc/development/integrations/codesandbox.md @sselhorn
/doc/development/integrations/secure.md @claytoncornell /doc/development/integrations/index.md @ashrafkhamis
/doc/development/integrations/jenkins.md @ashrafkhamis
/doc/development/integrations/jira_connect.md @ashrafkhamis
/doc/development/integrations/secure.md @rdickenson
/doc/development/integrations/secure_partner_integration.md @rdickenson /doc/development/integrations/secure_partner_integration.md @rdickenson
/doc/development/internal_api/ @aqualls /doc/development/internal_api/ @aqualls
/doc/development/internal_users.md @sselhorn /doc/development/internal_users.md @sselhorn
@ -698,9 +714,9 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/development/merge_request_concepts/ @aqualls /doc/development/merge_request_concepts/ @aqualls
/doc/development/omnibus.md @axil /doc/development/omnibus.md @axil
/doc/development/packages/ @claytoncornell /doc/development/packages/ @claytoncornell
/doc/development/pages/ @aqualls /doc/development/pages/ @ashrafkhamis
/doc/development/permissions.md @eread /doc/development/permissions.md @jglassman1
/doc/development/policies.md @eread /doc/development/policies.md @jglassman1
/doc/development/product_qualified_lead_guide/ @phillipwells /doc/development/product_qualified_lead_guide/ @phillipwells
/doc/development/project_templates.md @fneill /doc/development/project_templates.md @fneill
/doc/development/prometheus_metrics.md @msedlakjakubowski /doc/development/prometheus_metrics.md @msedlakjakubowski
@ -709,14 +725,14 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/development/secure_coding_guidelines.md @sselhorn /doc/development/secure_coding_guidelines.md @sselhorn
/doc/development/service_ping/ @claytoncornell /doc/development/service_ping/ @claytoncornell
/doc/development/snowplow/ @claytoncornell /doc/development/snowplow/ @claytoncornell
/doc/development/spam_protection_and_captcha/ @eread /doc/development/spam_protection_and_captcha/ @jglassman1
/doc/development/sql.md @aqualls /doc/development/sql.md @aqualls
/doc/development/testing_guide/ @sselhorn /doc/development/testing_guide/ @sselhorn
/doc/development/testing_guide/contract/ @sselhorn /doc/development/testing_guide/contract/ @sselhorn
/doc/development/testing_guide/end_to_end/ @sselhorn /doc/development/testing_guide/end_to_end/ @sselhorn
/doc/development/value_stream_analytics.md @fneill /doc/development/value_stream_analytics.md @fneill
/doc/development/value_stream_analytics/ @fneill /doc/development/value_stream_analytics/ @fneill
/doc/development/wikis.md @aqualls /doc/development/wikis.md @ashrafkhamis
/doc/development/work_items.md @msedlakjakubowski /doc/development/work_items.md @msedlakjakubowski
/doc/development/work_items_widgets.md @msedlakjakubowski /doc/development/work_items_widgets.md @msedlakjakubowski
/doc/development/workhorse/ @aqualls /doc/development/workhorse/ @aqualls
@ -727,43 +743,25 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/install/ @axil /doc/install/ @axil
/doc/install/aws/ @axil /doc/install/aws/ @axil
/doc/install/azure/ @axil /doc/install/azure/ @axil
/doc/install/cloud_native/ @axil
/doc/install/google_cloud_platform/ @axil /doc/install/google_cloud_platform/ @axil
/doc/install/migrate/ @axil
/doc/install/openshift_and_gitlab/ @axil /doc/install/openshift_and_gitlab/ @axil
/doc/integration/ @jglassman1
/doc/integration/advanced_search/ @ashrafkhamis /doc/integration/advanced_search/ @ashrafkhamis
/doc/integration/akismet.md @ashrafkhamis /doc/integration/akismet.md @phillipwells
/doc/integration/alicloud.md @eread
/doc/integration/arkose.md @phillipwells /doc/integration/arkose.md @phillipwells
/doc/integration/auth0.md @eread
/doc/integration/azure.md @eread
/doc/integration/bitbucket.md @eread
/doc/integration/cas.md @eread
/doc/integration/datadog.md @ashrafkhamis /doc/integration/datadog.md @ashrafkhamis
/doc/integration/ding_talk.md @eread
/doc/integration/external-issue-tracker.md @ashrafkhamis /doc/integration/external-issue-tracker.md @ashrafkhamis
/doc/integration/facebook.md @eread /doc/integration/gitpod.md @ashrafkhamis
/doc/integration/github.md @eread
/doc/integration/gitlab.md @eread
/doc/integration/gitpod.md @aqualls
/doc/integration/gmail_action_buttons_for_gitlab.md @ashrafkhamis /doc/integration/gmail_action_buttons_for_gitlab.md @ashrafkhamis
/doc/integration/google.md @eread
/doc/integration/index.md @ashrafkhamis /doc/integration/index.md @ashrafkhamis
/doc/integration/jenkins.md @ashrafkhamis /doc/integration/jenkins.md @ashrafkhamis
/doc/integration/jira/ @ashrafkhamis /doc/integration/jira/ @ashrafkhamis
/doc/integration/kerberos.md @eread
/doc/integration/mattermost/ @axil /doc/integration/mattermost/ @axil
/doc/integration/oauth2_generic.md @eread
/doc/integration/oauth_provider.md @eread
/doc/integration/omniauth.md @eread
/doc/integration/openid_connect_provider.md @eread
/doc/integration/recaptcha.md @ashrafkhamis
/doc/integration/salesforce.md @eread
/doc/integration/saml.md @eread
/doc/integration/security_partners/ @rdickenson /doc/integration/security_partners/ @rdickenson
/doc/integration/slash_commands.md @ashrafkhamis /doc/integration/slash_commands.md @ashrafkhamis
/doc/integration/sourcegraph.md @aqualls /doc/integration/sourcegraph.md @aqualls
/doc/integration/trello_power_up.md @ashrafkhamis /doc/integration/trello_power_up.md @ashrafkhamis
/doc/integration/twitter.md @eread
/doc/integration/vault.md @phillipwells /doc/integration/vault.md @phillipwells
/doc/operations/error_tracking.md msedlakjakubowski /doc/operations/error_tracking.md msedlakjakubowski
/doc/operations/feature_flags.md @rdickenson /doc/operations/feature_flags.md @rdickenson
@ -771,22 +769,23 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/operations/index.md @msedlakjakubowski /doc/operations/index.md @msedlakjakubowski
/doc/operations/metrics/ @msedlakjakubowski /doc/operations/metrics/ @msedlakjakubowski
/doc/operations/metrics/dashboards/ @msedlakjakubowski /doc/operations/metrics/dashboards/ @msedlakjakubowski
/doc/operations/product_analytics.md @claytoncornell /doc/operations/product_analytics.md @lciutacu
/doc/operations/tracing.md @msedlakjakubowski /doc/operations/tracing.md @msedlakjakubowski
/doc/policy/ @axil /doc/policy/ @axil
/doc/raketasks/ @axil /doc/raketasks/ @axil
/doc/raketasks/generate_sample_prometheus_data.md @msedlakjakubowski /doc/raketasks/generate_sample_prometheus_data.md @msedlakjakubowski
/doc/raketasks/migrate_snippets.md @aqualls /doc/raketasks/migrate_snippets.md @ashrafkhamis
/doc/raketasks/spdx.md @rdickenson /doc/raketasks/spdx.md @rdickenson
/doc/raketasks/x509_signatures.md @aqualls /doc/raketasks/x509_signatures.md @aqualls
/doc/security/ @eread /doc/security/ @jglassman1
/doc/subscriptions/ @fneill /doc/subscriptions/ @fneill
/doc/subscriptions/gitlab_com/ @fneill /doc/subscriptions/gitlab_com/ @fneill
/doc/subscriptions/gitlab_dedicated/ @axil /doc/subscriptions/gitlab_dedicated/ @axil
/doc/subscriptions/self_managed/ @fneill /doc/subscriptions/self_managed/ @fneill
/doc/topics/authentication/ @eread /doc/topics/authentication/ @jglassman1
/doc/topics/autodevops/ @phillipwells /doc/topics/autodevops/ @phillipwells
/doc/topics/autodevops/cloud_deployments/ @phillipwells /doc/topics/autodevops/cloud_deployments/ @phillipwells
/doc/topics/awesome_co.md @rdickenson
/doc/topics/git/ @aqualls /doc/topics/git/ @aqualls
/doc/topics/git/how_to_install_git/ @aqualls /doc/topics/git/how_to_install_git/ @aqualls
/doc/topics/git/lfs/ @aqualls /doc/topics/git/lfs/ @aqualls
@ -801,7 +800,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/update/upgrading_postgresql_using_slony.md @aqualls /doc/update/upgrading_postgresql_using_slony.md @aqualls
/doc/user/admin_area/analytics/ @fneill /doc/user/admin_area/analytics/ @fneill
/doc/user/admin_area/broadcast_messages.md @phillipwells /doc/user/admin_area/broadcast_messages.md @phillipwells
/doc/user/admin_area/credentials_inventory.md @eread /doc/user/admin_area/credentials_inventory.md @jglassman1
/doc/user/admin_area/custom_project_templates.md @eread /doc/user/admin_area/custom_project_templates.md @eread
/doc/user/admin_area/diff_limits.md @aqualls /doc/user/admin_area/diff_limits.md @aqualls
/doc/user/admin_area/geo_sites.md @axil /doc/user/admin_area/geo_sites.md @axil
@ -809,17 +808,17 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/user/admin_area/license.md @fneill /doc/user/admin_area/license.md @fneill
/doc/user/admin_area/license_file.md @fneill /doc/user/admin_area/license_file.md @fneill
/doc/user/admin_area/merge_requests_approvals.md @aqualls /doc/user/admin_area/merge_requests_approvals.md @aqualls
/doc/user/admin_area/moderate_users.md @eread /doc/user/admin_area/moderate_users.md @jglassman1
/doc/user/admin_area/monitoring/background_migrations.md @aqualls /doc/user/admin_area/monitoring/background_migrations.md @aqualls
/doc/user/admin_area/monitoring/health_check.md @msedlakjakubowski /doc/user/admin_area/monitoring/health_check.md @msedlakjakubowski
/doc/user/admin_area/reporting/git_abuse_rate_limit.md @phillipwells /doc/user/admin_area/reporting/git_abuse_rate_limit.md @phillipwells
/doc/user/admin_area/reporting/spamcheck.md @axil /doc/user/admin_area/reporting/spamcheck.md @axil
/doc/user/admin_area/review_abuse_reports.md @eread /doc/user/admin_area/review_abuse_reports.md @jglassman1
/doc/user/admin_area/settings/account_and_limit_settings.md @aqualls /doc/user/admin_area/settings/account_and_limit_settings.md @aqualls
/doc/user/admin_area/settings/continuous_integration.md @marcel.amirault /doc/user/admin_area/settings/continuous_integration.md @marcel.amirault
/doc/user/admin_area/settings/deprecated_api_rate_limits.md @aqualls /doc/user/admin_area/settings/deprecated_api_rate_limits.md @aqualls
/doc/user/admin_area/settings/email.md @msedlakjakubowski /doc/user/admin_area/settings/email.md @msedlakjakubowski
/doc/user/admin_area/settings/external_authorization.md @eread /doc/user/admin_area/settings/external_authorization.md @jglassman1
/doc/user/admin_area/settings/files_api_rate_limits.md @aqualls /doc/user/admin_area/settings/files_api_rate_limits.md @aqualls
/doc/user/admin_area/settings/git_lfs_rate_limits.md @aqualls /doc/user/admin_area/settings/git_lfs_rate_limits.md @aqualls
/doc/user/admin_area/settings/gitaly_timeouts.md @eread /doc/user/admin_area/settings/gitaly_timeouts.md @eread
@ -833,15 +832,15 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/user/admin_area/settings/rate_limit_on_issues_creation.md @msedlakjakubowski /doc/user/admin_area/settings/rate_limit_on_issues_creation.md @msedlakjakubowski
/doc/user/admin_area/settings/rate_limit_on_notes_creation.md @msedlakjakubowski /doc/user/admin_area/settings/rate_limit_on_notes_creation.md @msedlakjakubowski
/doc/user/admin_area/settings/rate_limit_on_pipelines_creation.md @marcel.amirault /doc/user/admin_area/settings/rate_limit_on_pipelines_creation.md @marcel.amirault
/doc/user/admin_area/settings/rate_limit_on_users_api.md @eread /doc/user/admin_area/settings/rate_limit_on_users_api.md @jglassman1
/doc/user/admin_area/settings/third_party_offers.md @fneill /doc/user/admin_area/settings/third_party_offers.md @fneill
/doc/user/admin_area/settings/usage_statistics.md @claytoncornell /doc/user/admin_area/settings/usage_statistics.md @claytoncornell
/doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls /doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls
/doc/user/analytics/ci_cd_analytics.md @rdickenson
/doc/user/analytics/ @fneill /doc/user/analytics/ @fneill
/doc/user/analytics/ci_cd_analytics.md @rdickenson
/doc/user/application_security/api_fuzzing/ @rdickenson /doc/user/application_security/api_fuzzing/ @rdickenson
/doc/user/application_security/configuration/ @rdickenson /doc/user/application_security/configuration/ @rdickenson
/doc/user/application_security/container_scanning/ @claytoncornell /doc/user/application_security/container_scanning/ @rdickenson
/doc/user/application_security/coverage_fuzzing/ @rdickenson /doc/user/application_security/coverage_fuzzing/ @rdickenson
/doc/user/application_security/cve_id_request.md @claytoncornell /doc/user/application_security/cve_id_request.md @claytoncornell
/doc/user/application_security/dast/ @rdickenson /doc/user/application_security/dast/ @rdickenson
@ -874,23 +873,22 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/user/discussions/ @aqualls /doc/user/discussions/ @aqualls
/doc/user/feature_flags.md @sselhorn /doc/user/feature_flags.md @sselhorn
/doc/user/free_user_limit.md @phillipwells /doc/user/free_user_limit.md @phillipwells
/doc/user/group/access_and_permissions.md @fneill /doc/user/group/ @fneill
/doc/user/group/clusters/ @phillipwells /doc/user/group/clusters/ @phillipwells
/doc/user/group/contribution_analytics/ @fneill /doc/user/group/contribution_analytics/ @fneill
/doc/user/group/custom_project_templates.md @eread /doc/user/group/custom_project_templates.md @eread
/doc/user/group/devops_adoption/ @fneill /doc/user/group/devops_adoption/ @fneill
/doc/user/group/epics/ @msedlakjakubowski /doc/user/group/epics/ @msedlakjakubowski
/doc/user/group/import/ @eread /doc/user/group/import/ @eread
/doc/user/group/index.md @fneill
/doc/user/group/insights/ @fneill /doc/user/group/insights/ @fneill
/doc/user/group/issues_analytics/ @msedlakjakubowski /doc/user/group/issues_analytics/ @msedlakjakubowski
/doc/user/group/iterations/ @msedlakjakubowski /doc/user/group/iterations/ @msedlakjakubowski
/doc/user/group/manage.md @fneill
/doc/user/group/planning_hierarchy/ @msedlakjakubowski /doc/user/group/planning_hierarchy/ @msedlakjakubowski
/doc/user/group/repositories_analytics/ @marcel.amirault /doc/user/group/repositories_analytics/ @marcel.amirault
/doc/user/group/roadmap/ @msedlakjakubowski /doc/user/group/roadmap/ @msedlakjakubowski
/doc/user/group/saml_sso/ @eread /doc/user/group/saml_sso/ @jglassman1
/doc/user/group/settings/ @eread /doc/user/group/settings/group_access_tokens.md @jglassman1
/doc/user/group/settings/import_export.md @eread
/doc/user/group/subgroups/ @fneill /doc/user/group/subgroups/ @fneill
/doc/user/group/value_stream_analytics/ @fneill /doc/user/group/value_stream_analytics/ @fneill
/doc/user/infrastructure/ @phillipwells /doc/user/infrastructure/ @phillipwells
@ -898,10 +896,8 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/user/infrastructure/clusters/connect/ @phillipwells /doc/user/infrastructure/clusters/connect/ @phillipwells
/doc/user/infrastructure/clusters/deploy/ @phillipwells /doc/user/infrastructure/clusters/deploy/ @phillipwells
/doc/user/infrastructure/clusters/manage/ @phillipwells /doc/user/infrastructure/clusters/manage/ @phillipwells
/doc/user/infrastructure/clusters/manage/management_project_applications/certmanager.md @phillipwells /doc/user/infrastructure/clusters/manage/management_project_applications/ @phillipwells
/doc/user/infrastructure/clusters/manage/management_project_applications/ingress.md @phillipwells
/doc/user/infrastructure/clusters/manage/management_project_applications/runner.md @sselhorn /doc/user/infrastructure/clusters/manage/management_project_applications/runner.md @sselhorn
/doc/user/infrastructure/clusters/manage/management_project_applications/vault.md @phillipwells
/doc/user/infrastructure/iac/ @phillipwells /doc/user/infrastructure/iac/ @phillipwells
/doc/user/markdown.md @aqualls /doc/user/markdown.md @aqualls
/doc/user/namespace/ @fneill /doc/user/namespace/ @fneill
@ -913,6 +909,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/user/packages/dependency_proxy/ @claytoncornell /doc/user/packages/dependency_proxy/ @claytoncornell
/doc/user/packages/generic_packages/ @claytoncornell /doc/user/packages/generic_packages/ @claytoncornell
/doc/user/packages/go_proxy/ @claytoncornell /doc/user/packages/go_proxy/ @claytoncornell
/doc/user/packages/harbor_container_registry/ @claytoncornell
/doc/user/packages/helm_repository/ @claytoncornell /doc/user/packages/helm_repository/ @claytoncornell
/doc/user/packages/infrastructure_registry/ @phillipwells /doc/user/packages/infrastructure_registry/ @phillipwells
/doc/user/packages/maven_repository/ @claytoncornell /doc/user/packages/maven_repository/ @claytoncornell
@ -923,68 +920,67 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab
/doc/user/packages/rubygems_registry/ @claytoncornell /doc/user/packages/rubygems_registry/ @claytoncornell
/doc/user/packages/terraform_module_registry/ @phillipwells /doc/user/packages/terraform_module_registry/ @phillipwells
/doc/user/packages/workflows/ @claytoncornell /doc/user/packages/workflows/ @claytoncornell
/doc/user/permissions.md @eread /doc/user/permissions.md @jglassman1
/doc/user/profile/account/ @eread /doc/user/profile/ @jglassman1
/doc/user/profile/index.md @eread /doc/user/profile/account/ @jglassman1
/doc/user/profile/notifications.md @msedlakjakubowski /doc/user/profile/notifications.md @msedlakjakubowski
/doc/user/profile/personal_access_tokens.md @eread /doc/user/project/ @aqualls
/doc/user/profile/unknown_sign_in_notification.md @eread
/doc/user/project/autocomplete_characters.md @aqualls
/doc/user/project/badges.md @aqualls
/doc/user/project/clusters/ @phillipwells /doc/user/project/clusters/ @phillipwells
/doc/user/project/clusters/runbooks/ @phillipwells /doc/user/project/clusters/runbooks/ @phillipwells
/doc/user/project/code_intelligence.md @aqualls
/doc/user/project/code_owners.md @aqualls
/doc/user/project/deploy_boards.md @rdickenson /doc/user/project/deploy_boards.md @rdickenson
/doc/user/project/deploy_keys/ @rdickenson /doc/user/project/deploy_keys/ @rdickenson
/doc/user/project/deploy_tokens/ @rdickenson /doc/user/project/deploy_tokens/ @rdickenson
/doc/user/project/description_templates.md @msedlakjakubowski /doc/user/project/description_templates.md @msedlakjakubowski
/doc/user/project/file_lock.md @aqualls
/doc/user/project/git_attributes.md @aqualls
/doc/user/project/highlighting.md @aqualls
/doc/user/project/import/ @eread /doc/user/project/import/ @eread
/doc/user/project/import/jira.md @msedlakjakubowski /doc/user/project/import/jira.md @msedlakjakubowski
/doc/user/project/index.md @fneill /doc/user/project/index.md @fneill
/doc/user/project/insights/ @fneill
/doc/user/project/integrations/ @ashrafkhamis /doc/user/project/integrations/ @ashrafkhamis
/doc/user/project/integrations/prometheus.md @msedlakjakubowski /doc/user/project/integrations/prometheus.md @msedlakjakubowski
/doc/user/project/integrations/prometheus_library/ @msedlakjakubowski /doc/user/project/integrations/prometheus_library/ @msedlakjakubowski
/doc/user/project/issue_board.md @msedlakjakubowski /doc/user/project/issue_board.md @msedlakjakubowski
/doc/user/project/issues/ @msedlakjakubowski /doc/user/project/issues/ @msedlakjakubowski
/doc/user/project/issues/csv_import.md @eread /doc/user/project/issues/csv_import.md @eread
/doc/user/project/labels.md @msedlakjakubowski
/doc/user/project/members/ @fneill /doc/user/project/members/ @fneill
/doc/user/project/merge_requests/ @aqualls /doc/user/project/merge_requests/ @aqualls
/doc/user/project/merge_requests/approvals/ @aqualls /doc/user/project/merge_requests/approvals/ @aqualls
/doc/user/project/merge_requests/csv_export.md @eread /doc/user/project/merge_requests/csv_export.md @eread
/doc/user/project/merge_requests/methods/ @aqualls
/doc/user/project/merge_requests/reviews/ @aqualls
/doc/user/project/merge_requests/status_checks.md @eread /doc/user/project/merge_requests/status_checks.md @eread
/doc/user/project/milestones/ @msedlakjakubowski /doc/user/project/milestones/ @msedlakjakubowski
/doc/user/project/pages/ @aqualls /doc/user/project/pages/ @ashrafkhamis
/doc/user/project/pages/custom_domains_ssl_tls_certification/ @aqualls /doc/user/project/pages/custom_domains_ssl_tls_certification/ @ashrafkhamis
/doc/user/project/pages/getting_started/ @aqualls /doc/user/project/pages/getting_started/ @ashrafkhamis
/doc/user/project/protected_branches.md @aqualls
/doc/user/project/protected_tags.md @aqualls
/doc/user/project/push_options.md @aqualls
/doc/user/project/quick_actions.md @msedlakjakubowski /doc/user/project/quick_actions.md @msedlakjakubowski
/doc/user/project/releases/ @rdickenson /doc/user/project/releases/ @rdickenson
/doc/user/project/repository/ @aqualls /doc/user/project/repository/ @aqualls
/doc/user/project/repository/branches/ @aqualls /doc/user/project/repository/branches/ @aqualls
/doc/user/project/repository/file_finder.md @ashrafkhamis
/doc/user/project/repository/gpg_signed_commits/ @aqualls
/doc/user/project/repository/jupyter_notebooks/ @aqualls
/doc/user/project/repository/managing_large_repositories.md @axil /doc/user/project/repository/managing_large_repositories.md @axil
/doc/user/project/repository/mirror/ @aqualls
/doc/user/project/repository/reducing_the_repo_size_using_git.md @eread /doc/user/project/repository/reducing_the_repo_size_using_git.md @eread
/doc/user/project/repository/web_editor.md @ashrafkhamis
/doc/user/project/repository/x509_signed_commits/ @aqualls
/doc/user/project/requirements/ @msedlakjakubowski /doc/user/project/requirements/ @msedlakjakubowski
/doc/user/project/service_desk.md @msedlakjakubowski /doc/user/project/service_desk.md @msedlakjakubowski
/doc/user/project/settings/import_export.md @eread /doc/user/project/settings/import_export.md @eread
/doc/user/project/settings/index.md @fneill /doc/user/project/settings/index.md @fneill
/doc/user/project/settings/project_access_tokens.md @eread /doc/user/project/settings/project_access_tokens.md @jglassman1
/doc/user/project/time_tracking.md @msedlakjakubowski /doc/user/project/time_tracking.md @msedlakjakubowski
/doc/user/project/web_ide/ @aqualls /doc/user/project/web_ide/ @ashrafkhamis
/doc/user/project/wiki/ @aqualls /doc/user/project/wiki/ @ashrafkhamis
/doc/user/project/working_with_projects.md @fneill /doc/user/project/working_with_projects.md @fneill
/doc/user/public_access.md @fneill /doc/user/public_access.md @fneill
/doc/user/reserved_names.md @fneill /doc/user/reserved_names.md @fneill
/doc/user/search/ @ashrafkhamis /doc/user/search/ @ashrafkhamis
/doc/user/search/global_search/ @ashrafkhamis /doc/user/search/global_search/ @ashrafkhamis
/doc/user/shortcuts.md @aqualls /doc/user/shortcuts.md @ashrafkhamis
/doc/user/snippets.md @aqualls /doc/user/snippets.md @ashrafkhamis
/doc/user/ssh.md @eread /doc/user/ssh.md @jglassman1
/doc/user/tasks.md @msedlakjakubowski /doc/user/tasks.md @msedlakjakubowski
/doc/user/todos.md @msedlakjakubowski /doc/user/todos.md @msedlakjakubowski
/doc/user/usage_quotas.md @fneill /doc/user/usage_quotas.md @fneill

View file

@ -1,7 +1,7 @@
# no-op pipeline template for skipping whole child pipeline execution # no-op pipeline template for skipping whole child pipeline execution
no-op: no-op:
image: ${GITLAB_DEPENDENCY_PROXY}alpine:latest image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:latest
stage: test stage: test
variables: variables:
GIT_STRATEGY: none GIT_STRATEGY: none

View file

@ -15,27 +15,7 @@ build-qa-image:
stage: build-images stage: build-images
needs: [] needs: []
script: script:
# Tag with commit SHA by default - ./scripts/build_qa_image
- export QA_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}"
# For branches, tag with slugified branch name. For tags, use the tag directly
- export QA_IMAGE_BRANCH="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_TAG:-$CI_COMMIT_REF_SLUG}"
# Auto-deploy tag format uses first 12 letters of commit SHA. Tag with that
# reference also
- export QA_IMAGE_FOR_AUTO_DEPLOY="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA:0:11}"
- echo $QA_IMAGE
- echo $QA_IMAGE_BRANCH
- echo $QA_IMAGE_FOR_AUTO_DEPLOY
- |
/kaniko/executor \
--context=${CI_PROJECT_DIR} \
--dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile \
--destination=${QA_IMAGE} \
--destination=${QA_IMAGE_BRANCH} \
--destination=${QA_IMAGE_FOR_AUTO_DEPLOY} \
--build-arg=CHROME_VERSION=${CHROME_VERSION} \
--build-arg=DOCKER_VERSION=${DOCKER_VERSION} \
--build-arg=QA_BUILD_TARGET=${QA_BUILD_TARGET:-qa} \
--cache=true
# This image is used by: # This image is used by:
# - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335 # - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335

View file

@ -0,0 +1,65 @@
cache-workhorse:
extends:
- .default-retry
- .default-before_script
- .rails-cache
- .setup-test-env-cache
- .caching:rules:cache-workhorse
stage: prepare
variables:
SETUP_DB: "false"
script:
- source scripts/gitlab_component_helpers.sh
- 'gitlab_workhorse_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }'
- run_timed_command "scripts/setup-test-env"
- run_timed_command "select_gitlab_workhorse_essentials"
- run_timed_command "create_gitlab_workhorse_package"
- run_timed_command "upload_gitlab_workhorse_package"
artifacts:
expire_in: 7d
paths:
- ${TMP_TEST_GITLAB_WORKHORSE_PATH}/
.cache-assets-base:
extends:
- .compile-assets-base
- .assets-compile-cache
- .caching:rules:cache-assets
stage: prepare
variables:
WEBPACK_REPORT: "false"
script:
- yarn_install_script
- export GITLAB_ASSETS_HASH=$(bundle exec rake gitlab:assets:hash_sum)
- source scripts/gitlab_component_helpers.sh
- 'gitlab_assets_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }'
- assets_compile_script
- echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt"
- run_timed_command "create_gitlab_assets_package"
- run_timed_command "upload_gitlab_assets_package"
cache-assets:test:
extends: .cache-assets-base
cache-assets:test as-if-foss:
extends:
- .cache-assets-base
- .as-if-foss
cache-assets:production:
extends: .cache-assets-base
variables:
NODE_ENV: "production"
RAILS_ENV: "production"
packages-cleanup:
extends:
- .default-retry
- .caching:rules:packages-cleanup
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}
stage: prepare
before_script:
- source scripts/utils.sh
- install_gitlab_gem
script:
- scripts/packages/automated_cleanup.rb

View file

@ -2,7 +2,7 @@
extends: extends:
- .default-retry - .default-retry
- .docs:rules:review-docs - .docs:rules:review-docs
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-alpine
stage: review stage: review
needs: [] needs: []
variables: variables:

View file

@ -1,11 +1,3 @@
.yarn-install: &yarn-install
- source scripts/utils.sh
- run_timed_command "retry yarn install --frozen-lockfile"
.storybook-yarn-install: &storybook-yarn-install
- source scripts/utils.sh
- run_timed_command "retry yarn run storybook:install --frozen-lockfile"
.compile-assets-base: .compile-assets-base:
extends: extends:
- .default-retry - .default-retry
@ -21,9 +13,16 @@
WEBPACK_COMPILE_LOG_PATH: "tmp/webpack-output.log" WEBPACK_COMPILE_LOG_PATH: "tmp/webpack-output.log"
stage: prepare stage: prepare
script: script:
- *yarn-install - yarn_install_script
- run_timed_command "bin/rake gitlab:assets:compile" - export GITLAB_ASSETS_HASH=$(bin/rake gitlab:assets:hash_sum)
- run_timed_command "scripts/clean-old-cached-assets" - 'echo "CACHE_ASSETS_AS_PACKAGE: ${CACHE_ASSETS_AS_PACKAGE}"'
# The new strategy to cache assets as generic packages is experimental and can be disabled by removing the `CACHE_ASSETS_AS_PACKAGE` variable
- |
if [[ "${CACHE_ASSETS_AS_PACKAGE}" == "true" ]]; then
source scripts/gitlab_component_helpers.sh
gitlab_assets_archive_doesnt_exist || run_timed_command "download_and_extract_gitlab_assets"
fi
- assets_compile_script
compile-production-assets: compile-production-assets:
extends: extends:
@ -42,8 +41,6 @@ compile-production-assets:
- public/assets/ - public/assets/
- "${WEBPACK_COMPILE_LOG_PATH}" - "${WEBPACK_COMPILE_LOG_PATH}"
when: always when: always
before_script:
- !reference [.default-before_script, before_script]
after_script: after_script:
- rm -f /etc/apt/sources.list.d/google*.list # We don't need to update Chrome here - rm -f /etc/apt/sources.list.d/google*.list # We don't need to update Chrome here
@ -71,6 +68,9 @@ update-assets-compile-production-cache:
- .assets-compile-cache-push - .assets-compile-cache-push
- .shared:rules:update-cache - .shared:rules:update-cache
stage: prepare stage: prepare
script:
- !reference [compile-production-assets, script]
- echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt"
artifacts: {} # This job's purpose is only to update the cache. artifacts: {} # This job's purpose is only to update the cache.
update-assets-compile-test-cache: update-assets-compile-test-cache:
@ -79,25 +79,31 @@ update-assets-compile-test-cache:
- .assets-compile-cache-push - .assets-compile-cache-push
- .shared:rules:update-cache - .shared:rules:update-cache
stage: prepare stage: prepare
script:
- !reference [compile-test-assets, script]
- echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt"
artifacts: {} # This job's purpose is only to update the cache. artifacts: {} # This job's purpose is only to update the cache.
# TODO: Remove this as it's duplicating update-assets-compile-*-cache
update-yarn-cache: update-yarn-cache:
extends: extends:
- .default-retry - .default-retry
- .default-utils-before_script
- .yarn-cache-push - .yarn-cache-push
- .shared:rules:update-cache - .shared:rules:update-cache
stage: prepare stage: prepare
script: script:
- *yarn-install - yarn_install_script
update-storybook-yarn-cache: update-storybook-yarn-cache:
extends: extends:
- .default-retry - .default-retry
- .default-utils-before_script
- .storybook-yarn-cache-push - .storybook-yarn-cache-push
- .shared:rules:update-cache - .shared:rules:update-cache
stage: prepare stage: prepare
script: script:
- *storybook-yarn-install - yarn_install_script
.frontend-fixtures-base: .frontend-fixtures-base:
extends: extends:
@ -180,7 +186,7 @@ graphql-schema-dump as-if-foss:
SETUP_DB: "false" SETUP_DB: "false"
before_script: before_script:
- !reference [.default-before_script, before_script] - !reference [.default-before_script, before_script]
- *yarn-install - yarn_install_script
stage: test stage: test
.jest-base: .jest-base:
@ -247,6 +253,7 @@ jest-integration:
coverage-frontend: coverage-frontend:
extends: extends:
- .default-retry - .default-retry
- .default-utils-before_script
- .yarn-cache - .yarn-cache
- .frontend:rules:coverage-frontend - .frontend:rules:coverage-frontend
needs: needs:
@ -255,9 +262,8 @@ coverage-frontend:
- job: "jest minimal" - job: "jest minimal"
optional: true optional: true
stage: post-test stage: post-test
before_script:
- *yarn-install
script: script:
- yarn_install_script
- run_timed_command "yarn node scripts/frontend/merge_coverage_frontend.js" - run_timed_command "yarn node scripts/frontend/merge_coverage_frontend.js"
# Removing the individual coverage results, as we just merged them. # Removing the individual coverage results, as we just merged them.
- if ls coverage-frontend/jest-* > /dev/null 2>&1; then - if ls coverage-frontend/jest-* > /dev/null 2>&1; then
@ -277,31 +283,33 @@ coverage-frontend:
.qa-frontend-node: .qa-frontend-node:
extends: extends:
- .default-retry - .default-retry
- .yarn-cache - .default-utils-before_script
- .qa-frontend-node-cache
- .frontend:rules:qa-frontend-node - .frontend:rules:qa-frontend-node
stage: test stage: test
dependencies: [] needs: []
script: script:
- *yarn-install - yarn_install_script
- run_timed_command "retry yarn run webpack-prod" - run_timed_command "retry yarn run webpack-prod"
qa-frontend-node:14: qa-frontend-node:14:
extends: .qa-frontend-node extends: .qa-frontend-node
image: ${GITLAB_DEPENDENCY_PROXY}node:14 image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}node:14
qa-frontend-node:16: qa-frontend-node:16:
extends: .qa-frontend-node extends: .qa-frontend-node
image: ${GITLAB_DEPENDENCY_PROXY}node:16 image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}node:16
qa-frontend-node:latest: qa-frontend-node:latest:
extends: extends:
- .qa-frontend-node - .qa-frontend-node
- .frontend:rules:qa-frontend-node-latest - .frontend:rules:qa-frontend-node-latest
image: ${GITLAB_DEPENDENCY_PROXY}node:latest image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}node:latest
webpack-dev-server: webpack-dev-server:
extends: extends:
- .default-retry - .default-retry
- .default-utils-before_script
- .yarn-cache - .yarn-cache
- .frontend:rules:default-frontend-jobs - .frontend:rules:default-frontend-jobs
stage: test stage: test
@ -310,7 +318,7 @@ webpack-dev-server:
WEBPACK_MEMORY_TEST: "true" WEBPACK_MEMORY_TEST: "true"
WEBPACK_VENDOR_DLL: "true" WEBPACK_VENDOR_DLL: "true"
script: script:
- *yarn-install - yarn_install_script
- run_timed_command "retry yarn webpack-vendor" - run_timed_command "retry yarn webpack-vendor"
- run_timed_command "node --expose-gc node_modules/.bin/webpack-dev-server --config config/webpack.config.js" - run_timed_command "node --expose-gc node_modules/.bin/webpack-dev-server --config config/webpack.config.js"
artifacts: artifacts:
@ -322,13 +330,14 @@ webpack-dev-server:
bundle-size-review: bundle-size-review:
extends: extends:
- .default-retry - .default-retry
- .default-utils-before_script
- .assets-compile-cache - .assets-compile-cache
- .frontend:rules:bundle-size-review - .frontend:rules:bundle-size-review
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:danger image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:danger
stage: test stage: test
needs: [] needs: []
script: script:
- *yarn-install - yarn_install_script
- scripts/bundle_size_review - scripts/bundle_size_review
artifacts: artifacts:
when: always when: always
@ -366,8 +375,8 @@ startup-css-check as-if-foss:
- .frontend-test-base - .frontend-test-base
- .storybook-yarn-cache - .storybook-yarn-cache
script: script:
- *storybook-yarn-install - run_timed_command "retry yarn run storybook:install --frozen-lockfile"
- yarn run storybook:build - run_timed_command "yarn run storybook:build"
needs: ["graphql-schema-dump"] needs: ["graphql-schema-dump"]
compile-storybook: compile-storybook:

View file

@ -8,13 +8,17 @@
- job_execution_timeout - job_execution_timeout
- stuck_or_timeout_failure - stuck_or_timeout_failure
.default-before_script: .default-utils-before_script:
before_script: before_script:
- echo $FOSS_ONLY - echo $FOSS_ONLY
- '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb' - '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
- export GOPATH=$CI_PROJECT_DIR/.go - export GOPATH=$CI_PROJECT_DIR/.go
- mkdir -p $GOPATH - mkdir -p $GOPATH
- source scripts/utils.sh - source scripts/utils.sh
.default-before_script:
before_script:
- !reference [.default-utils-before_script, before_script]
- source scripts/prepare_build.sh - source scripts/prepare_build.sh
.ruby-gems-cache: &ruby-gems-cache .ruby-gems-cache: &ruby-gems-cache
@ -79,19 +83,30 @@
policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
.assets-cache: &assets-cache .assets-cache: &assets-cache
key: "assets-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}-v2" key: "assets-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}-v5"
# This list should match GITLAB_ASSETS_PATHS_LIST from scripts/gitlab_component_helpers.sh
paths: paths:
- assets-hash.txt - cached-assets-hash.txt
- public/assets/webpack/ - app/assets/javascripts/locale/**/app.js
- tmp/cache/assets/sprockets/ - public/assets/
- tmp/cache/babel-loader/
- tmp/cache/vue-loader/
policy: pull policy: pull
.assets-cache-push: &assets-cache-push .assets-cache-push: &assets-cache-push
<<: *assets-cache <<: *assets-cache
policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
.assets-tmp-cache: &assets-tmp-cache
key: "assets-tmp-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}-v1"
paths:
- tmp/cache/assets/sprockets/
- tmp/cache/babel-loader/
- tmp/cache/vue-loader/
policy: pull
.assets-tmp-cache-push: &assets-tmp-cache-push
<<: *assets-tmp-cache
policy: push # We want to rebuild the cache from scratch to ensure we don't pile up outdated cache files.
.storybook-node-modules-cache: &storybook-node-modules-cache .storybook-node-modules-cache: &storybook-node-modules-cache
key: "storybook-node-modules-${DEBIAN_VERSION}-${NODE_ENV}" key: "storybook-node-modules-${DEBIAN_VERSION}-${NODE_ENV}"
paths: paths:
@ -174,7 +189,7 @@
cache: cache:
- *ruby-gems-cache - *ruby-gems-cache
.danger-review-cache: .ruby-node-cache:
cache: cache:
- *ruby-gems-cache - *ruby-gems-cache
- *node-modules-cache - *node-modules-cache
@ -199,6 +214,12 @@
cache: cache:
- *node-modules-cache - *node-modules-cache
.qa-frontend-node-cache:
cache:
- *node-modules-cache
- *assets-tmp-cache
# TODO: Remove this as it's duplicating .assets-compile-cache-push
.yarn-cache-push: .yarn-cache-push:
cache: cache:
- *node-modules-cache-push - *node-modules-cache-push
@ -208,12 +229,14 @@
- *ruby-gems-cache - *ruby-gems-cache
- *node-modules-cache - *node-modules-cache
- *assets-cache - *assets-cache
- *assets-tmp-cache
.assets-compile-cache-push: .assets-compile-cache-push:
cache: cache:
- *ruby-gems-cache # We don't push this cache as it's already rebuilt by `update-setup-test-env-cache` - *ruby-gems-cache # We don't push this cache as it's already rebuilt by `update-setup-test-env-cache`
- *node-modules-cache-push - *node-modules-cache-push
- *assets-cache-push - *assets-cache-push
- *assets-tmp-cache-push
.storybook-yarn-cache: .storybook-yarn-cache:
cache: cache:
@ -323,7 +346,7 @@
FOSS_ONLY: '1' FOSS_ONLY: '1'
.use-docker-in-docker: .use-docker-in-docker:
image: ${GITLAB_DEPENDENCY_PROXY}docker:${DOCKER_VERSION} image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}docker:${DOCKER_VERSION}
services: services:
- docker:${DOCKER_VERSION}-dind - docker:${DOCKER_VERSION}-dind
variables: variables:

View file

@ -1,12 +1,12 @@
.notify-slack: .notify-slack:
image: ${GITLAB_DEPENDENCY_PROXY}alpine image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine/curl
stage: notify stage: notify
dependencies: [] dependencies: []
cache: {} cache: {}
variables: variables:
MERGE_REQUEST_URL: ${CI_MERGE_REQUEST_PROJECT_URL}/-/merge_requests/${CI_MERGE_REQUEST_IID} MERGE_REQUEST_URL: ${CI_MERGE_REQUEST_PROJECT_URL}/-/merge_requests/${CI_MERGE_REQUEST_IID}
before_script: before_script:
- apk update && apk add git curl bash - apk update && apk add git bash
- echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL}" - echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL}"
- echo "CI_PIPELINE_URL is ${CI_PIPELINE_URL}" - echo "CI_PIPELINE_URL is ${CI_PIPELINE_URL}"
@ -34,13 +34,28 @@ notify-security-pipeline:
- scripts/slack ${NOTIFY_CHANNEL} "<!subteam^S0127FU8PDE> ☠️ Pipeline for merged result failed! ☠️ See ${CI_PIPELINE_URL} (triggered from ${MERGE_REQUEST_URL})" ci_failing "GitLab Release Tools Bot" - scripts/slack ${NOTIFY_CHANNEL} "<!subteam^S0127FU8PDE> ☠️ Pipeline for merged result failed! ☠️ See ${CI_PIPELINE_URL} (triggered from ${MERGE_REQUEST_URL})" ci_failing "GitLab Release Tools Bot"
notify-pipeline-failure: notify-pipeline-failure:
extends: extends: .notify-slack
- .notify-slack image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}
rules: rules:
- if: '$NOTIFY_PIPELINE_FAILURE_CHANNEL' # Don't report child pipeline failures
- if: '$CI_PIPELINE_SOURCE == "parent_pipeline"'
when: never
- if: '$CI_SLACK_WEBHOOK_URL && $NOTIFY_PIPELINE_FAILURE_CHANNEL'
when: on_failure when: on_failure
allow_failure: true allow_failure: true
variables: variables:
NOTIFY_CHANNEL: "${NOTIFY_PIPELINE_FAILURE_CHANNEL}" SLACK_CHANNEL: "${NOTIFY_PIPELINE_FAILURE_CHANNEL}"
FAILED_PIPELINE_REPORT_FILE: "failed_pipeline_report.json"
before_script:
- source scripts/utils.sh
- apt-get update && apt-get install -y jq
- install_gitlab_gem
script: script:
- scripts/slack ${NOTIFY_CHANNEL} "❌ \`${CI_COMMIT_REF_NAME}\` pipeline failed! See ${CI_PIPELINE_URL}" ci_failing "notify-pipeline-failure" - scripts/generate-failed-pipeline-slack-message.rb
- |
curl -X POST -H 'Content-Type: application/json' --data @${FAILED_PIPELINE_REPORT_FILE} "$CI_SLACK_WEBHOOK_URL"
artifacts:
paths:
- ${FAILED_PIPELINE_REPORT_FILE}
when: always
expire_in: 2 days

View file

@ -1,11 +1,13 @@
# E2E tests pipeline loaded dynamically by script: scripts/generate-e2e-pipeline # E2E tests pipeline loaded dynamically by script: scripts/generate-e2e-pipeline
default:
interruptible: true
include: include:
- local: .gitlab/ci/global.gitlab-ci.yml
- local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml - local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml
- local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml - local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml
- project: gitlab-org/quality/pipeline-common - project: gitlab-org/quality/pipeline-common
ref: 1.2.1 ref: 1.3.0
file: file:
- /ci/base.gitlab-ci.yml - /ci/base.gitlab-ci.yml
- /ci/allure-report.yml - /ci/allure-report.yml
@ -27,13 +29,12 @@ stages:
.ruby-image: .ruby-image:
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3 image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3
.bundle-install: .qa-install:
variables:
BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES: "true"
BUNDLE_SILENCE_ROOT_WARNING: "true"
extends: extends:
- .gitlab-qa-install - .gitlab-qa-install
- .qa-cache
variables:
RUN_WITH_BUNDLE: "true" # installs and runs gitlab-qa via bundler
QA_PATH: qa
.omnibus-env: .omnibus-env:
variables: variables:
@ -44,6 +45,8 @@ stages:
echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV
echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV
for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done
echo "OMNIBUS_GITLAB_RUBY3_BUILD=${OMNIBUS_GITLAB_RUBY3_BUILD:-false}" >> $BUILD_ENV
echo "OMNIBUS_GITLAB_CACHE_EDITION=${OMNIBUS_GITLAB_CACHE_EDITION:-GITLAB}" >> $BUILD_ENV
echo "Built environment file for omnibus build:" echo "Built environment file for omnibus build:"
cat $BUILD_ENV cat $BUILD_ENV
artifacts: artifacts:
@ -59,14 +62,16 @@ stages:
.qa: .qa:
extends: extends:
- .qa-base - .qa-base
- .bundle-install - .qa-install
- .gitlab-qa-report - .gitlab-qa-report
stage: test stage: test
tags: tags:
- e2e - e2e
needs: needs:
- trigger-omnibus - job: trigger-omnibus
- download-knapsack-report optional: true
- job: download-knapsack-report
artifacts: true
variables: variables:
QA_GENERATE_ALLURE_REPORT: "true" QA_GENERATE_ALLURE_REPORT: "true"
QA_CAN_TEST_PRAEFECT: "false" QA_CAN_TEST_PRAEFECT: "false"
@ -80,14 +85,33 @@ stages:
# ========================================== # ==========================================
# Prepare stage # Prepare stage
# ========================================== # ==========================================
check-release-set:
extends: .rules:prepare
stage: .pre
script:
- |
if [ -z "$RELEASE" ]; then
echo "E2E test pipeline requires omnibus installation docker image to be set via $RELEASE environment variable"
exit 1
else
echo "Omnibus installation image is set to '$RELEASE'"
fi
dont-interrupt-me:
extends: .rules:dont-interrupt
stage: .pre
interruptible: false
script:
- echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible."
trigger-omnibus-env: trigger-omnibus-env:
extends: extends:
- .omnibus-env - .omnibus-env
- .rules:prepare - .rules:omnibus-build
stage: .pre stage: .pre
trigger-omnibus: trigger-omnibus:
extends: .rules:prepare extends: .rules:omnibus-build
stage: .pre stage: .pre
needs: needs:
- trigger-omnibus-env - trigger-omnibus-env
@ -106,6 +130,8 @@ trigger-omnibus:
TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH
SECURITY_SOURCES: $SECURITY_SOURCES SECURITY_SOURCES: $SECURITY_SOURCES
CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE
RUBY3_BUILD: $OMNIBUS_GITLAB_RUBY3_BUILD
CACHE_EDITION: $OMNIBUS_GITLAB_CACHE_EDITION
SKIP_QA_DOCKER: "true" SKIP_QA_DOCKER: "true"
SKIP_QA_TEST: "true" SKIP_QA_TEST: "true"
ee: "true" ee: "true"
@ -115,30 +141,34 @@ trigger-omnibus:
download-knapsack-report: download-knapsack-report:
extends: extends:
- .bundle-install - .gitlab-qa-image
- .ruby-image
- .rules:prepare - .rules:prepare
stage: .pre stage: .pre
variables:
KNAPSACK_DIR: ${CI_PROJECT_DIR}/qa/knapsack
GIT_STRATEGY: none
script: script:
# when using qa-image, code runs in /home/gitlab/qa folder
- bundle exec rake "knapsack:download[test]" - bundle exec rake "knapsack:download[test]"
- mkdir -p "$KNAPSACK_DIR" && cp knapsack/*.json "${KNAPSACK_DIR}/"
allow_failure: true allow_failure: true
artifacts: artifacts:
paths: paths:
- qa/knapsack/ee-*.json - qa/knapsack/*.json
expire_in: 1 day expire_in: 1 day
# e2e test jobs run on separate runner which has separate cache setup
cache-gems: cache-gems:
extends: extends:
- .bundle-install - .qa-install
- .ruby-image - .ruby-image
- .qa-cache-push
- .rules:prepare - .rules:prepare
stage: .pre stage: .pre
tags: tags:
- e2e - e2e
script: script:
- echo "Populated qa cache" - echo "Populated qa cache"
cache:
policy: pull-push
# ========================================== # ==========================================
# Test stage # Test stage
@ -154,11 +184,11 @@ cache-gems:
_ee:quarantine: _ee:quarantine:
extends: extends:
- .qa - .qa
- .rules:test:quarantine - .rules:test:manual
needs: needs:
- trigger-omnibus - job: trigger-omnibus
optional: true
stage: test stage: test
allow_failure: true
variables: variables:
QA_RSPEC_TAGS: --tag quarantine QA_RSPEC_TAGS: --tag quarantine
@ -332,8 +362,9 @@ ee:update-minor:
UPDATE_TYPE: minor UPDATE_TYPE: minor
QA_RSPEC_TAGS: --tag smoke QA_RSPEC_TAGS: --tag smoke
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:update, rules]
- if: $QA_SUITES =~ /Test::Instance::Smoke/ - if: $QA_SUITES =~ /Test::Instance::Smoke/
- !reference [.rules:test:manual, rules]
ee:update-major: ee:update-major:
extends: extends:
@ -343,8 +374,9 @@ ee:update-major:
UPDATE_TYPE: major UPDATE_TYPE: major
QA_RSPEC_TAGS: --tag smoke QA_RSPEC_TAGS: --tag smoke
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:update, rules]
- if: $QA_SUITES =~ /Test::Instance::Smoke/ - if: $QA_SUITES =~ /Test::Instance::Smoke/
- !reference [.rules:test:manual, rules]
ee:gitaly-cluster: ee:gitaly-cluster:
extends: .qa extends: .qa
@ -353,6 +385,7 @@ ee:gitaly-cluster:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::GitalyCluster/ - if: $QA_SUITES =~ /Test::Integration::GitalyCluster/
- !reference [.rules:test:manual, rules]
ee:group-saml: ee:group-saml:
extends: .qa extends: .qa
@ -361,6 +394,7 @@ ee:group-saml:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::GroupSAML/ - if: $QA_SUITES =~ /Test::Integration::GroupSAML/
- !reference [.rules:test:manual, rules]
ee:instance-saml: ee:instance-saml:
extends: .qa extends: .qa
@ -369,6 +403,7 @@ ee:instance-saml:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::InstanceSAML/ - if: $QA_SUITES =~ /Test::Integration::InstanceSAML/
- !reference [.rules:test:manual, rules]
ee:jira: ee:jira:
extends: .qa extends: .qa
@ -379,6 +414,7 @@ ee:jira:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::Jira/ - if: $QA_SUITES =~ /Test::Integration::Jira/
- !reference [.rules:test:manual, rules]
ee:ldap-no-server: ee:ldap-no-server:
extends: .qa extends: .qa
@ -387,6 +423,7 @@ ee:ldap-no-server:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::LDAPNoServer/ - if: $QA_SUITES =~ /Test::Integration::LDAPNoServer/
- !reference [.rules:test:manual, rules]
ee:ldap-tls: ee:ldap-tls:
extends: .qa extends: .qa
@ -395,6 +432,7 @@ ee:ldap-tls:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::LDAPTLS/ - if: $QA_SUITES =~ /Test::Integration::LDAPTLS/
- !reference [.rules:test:manual, rules]
ee:ldap-no-tls: ee:ldap-no-tls:
extends: .qa extends: .qa
@ -403,6 +441,7 @@ ee:ldap-no-tls:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::LDAPNoTLS/ - if: $QA_SUITES =~ /Test::Integration::LDAPNoTLS/
- !reference [.rules:test:manual, rules]
ee:mtls: ee:mtls:
extends: .qa extends: .qa
@ -411,6 +450,7 @@ ee:mtls:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::MTLS/ - if: $QA_SUITES =~ /Test::Integration::MTLS/
- !reference [.rules:test:manual, rules]
ee:mattermost: ee:mattermost:
extends: .qa extends: .qa
@ -419,6 +459,7 @@ ee:mattermost:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::Mattermost/ - if: $QA_SUITES =~ /Test::Integration::Mattermost/
- !reference [.rules:test:manual, rules]
ee:registry: ee:registry:
extends: .qa extends: .qa
@ -427,6 +468,7 @@ ee:registry:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::Registry/ - if: $QA_SUITES =~ /Test::Integration::Registry/
- !reference [.rules:test:manual, rules]
ee:registry-with-cdn: ee:registry-with-cdn:
extends: .qa extends: .qa
@ -443,6 +485,7 @@ ee:registry-with-cdn:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::RegistryWithCDN/ - if: $QA_SUITES =~ /Test::Integration::RegistryWithCDN/
- !reference [.rules:test:manual, rules]
ee:repository-storage: ee:repository-storage:
extends: .qa extends: .qa
@ -451,6 +494,7 @@ ee:repository-storage:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Instance::RepositoryStorage/ - if: $QA_SUITES =~ /Test::Instance::RepositoryStorage/
- !reference [.rules:test:manual, rules]
ee:service-ping-disabled: ee:service-ping-disabled:
extends: .qa extends: .qa
@ -459,6 +503,7 @@ ee:service-ping-disabled:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::ServicePingDisabled/ - if: $QA_SUITES =~ /Test::Integration::ServicePingDisabled/
- !reference [.rules:test:manual, rules]
ee:smtp: ee:smtp:
extends: .qa extends: .qa
@ -467,6 +512,7 @@ ee:smtp:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::SMTP/ - if: $QA_SUITES =~ /Test::Integration::SMTP/
- !reference [.rules:test:manual, rules]
ee:cloud-activation: ee:cloud-activation:
extends: .qa extends: .qa
@ -476,6 +522,7 @@ ee:cloud-activation:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::CloudActivation/ - if: $QA_SUITES =~ /Test::Integration::CloudActivation/
- !reference [.rules:test:manual, rules]
ee:large-setup: ee:large-setup:
extends: .qa extends: .qa
@ -485,6 +532,7 @@ ee:large-setup:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Instance::LargeSetup/ - if: $QA_SUITES =~ /Test::Instance::LargeSetup/
- !reference [.rules:test:manual, rules]
ee:metrics: ee:metrics:
extends: .qa extends: .qa
@ -493,6 +541,7 @@ ee:metrics:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Instance::Metrics/ - if: $QA_SUITES =~ /Test::Instance::Metrics/
- !reference [.rules:test:manual, rules]
ee:elasticsearch: ee:elasticsearch:
extends: .qa extends: .qa
@ -504,6 +553,7 @@ ee:elasticsearch:
rules: rules:
- !reference [.rules:test:qa, rules] - !reference [.rules:test:qa, rules]
- if: $QA_SUITES =~ /Test::Integration::Elasticsearch/ - if: $QA_SUITES =~ /Test::Integration::Elasticsearch/
- !reference [.rules:test:manual, rules]
ee:registry-object-storage-tls: ee:registry-object-storage-tls:
extends: ee:object-storage-aws extends: ee:object-storage-aws
@ -536,7 +586,7 @@ e2e-test-report:
upload-knapsack-report: upload-knapsack-report:
extends: extends:
- .generate-knapsack-report-base - .generate-knapsack-report-base
- .bundle-install - .qa-install
- .ruby-image - .ruby-image
- .rules:report:process-results - .rules:report:process-results
stage: report stage: report
@ -544,7 +594,7 @@ upload-knapsack-report:
relate-test-failures: relate-test-failures:
extends: extends:
- .bundle-install - .qa-install
- .ruby-image - .ruby-image
- .rules:report:process-results - .rules:report:process-results
stage: report stage: report
@ -562,7 +612,7 @@ relate-test-failures:
generate-test-session: generate-test-session:
extends: extends:
- .bundle-install - .qa-install
- .ruby-image - .ruby-image
- .rules:report:process-results - .rules:report:process-results
stage: report stage: report
@ -585,7 +635,7 @@ generate-test-session:
notify-slack: notify-slack:
extends: extends:
- .notify-slack-qa - .notify-slack-qa
- .bundle-install - .qa-install
- .ruby-image - .ruby-image
- .rules:report:process-results - .rules:report:process-results
stage: notify stage: notify
@ -594,6 +644,7 @@ notify-slack:
SLACK_ICON_EMOJI: ci_failing SLACK_ICON_EMOJI: ci_failing
STATUS_SYM: ☠️ STATUS_SYM: ☠️
STATUS: failed STATUS: failed
TYPE: "(package-and-test) "
when: on_failure when: on_failure
script: script:
- bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.xml" # generate summary - bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.xml" # generate summary

View file

@ -41,12 +41,27 @@
rules: rules:
- when: always - when: always
.rules:dont-interrupt:
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
allow_failure: true
- if: $CI_MERGE_REQUEST_IID
when: manual
allow_failure: true
.rules:omnibus-build:
rules:
- if: $SKIP_OMNIBUS_TRIGGER == "true"
when: never
- when: always
# ------------------------------------------ # ------------------------------------------
# Test # Test
# ------------------------------------------ # ------------------------------------------
.rules:test:quarantine: .rules:test:manual:
rules: rules:
- when: manual - when: manual
allow_failure: true
variables: variables:
QA_TESTS: "" QA_TESTS: ""
@ -78,7 +93,10 @@
rules: rules:
- *qa-framework-changes - *qa-framework-changes
- <<: *specific-specs - <<: *specific-specs
when: never when: manual
allow_failure: true
variables:
QA_TESTS: ""
- *feature-flags-set-manual - *feature-flags-set-manual
# general qa job rule for jobs without the need to run in parallel # general qa job rule for jobs without the need to run in parallel
@ -87,11 +105,21 @@
- *qa-framework-changes - *qa-framework-changes
- *feature-flags-set-manual - *feature-flags-set-manual
.rules:test:update:
rules:
# skip upgrade jobs if gitlab version is not provided
# these jobs need gitlab version because we can't reliably detect it from just the image
- if: $GITLAB_VERSION == null
when: never
- !reference [.rules:test:qa, rules]
# ------------------------------------------ # ------------------------------------------
# Report # Report
# ------------------------------------------ # ------------------------------------------
.rules:report:allure-report: .rules:report:allure-report:
rules: rules:
- if: $SKIP_ALLURE_REPORT == "true"
when: never
- when: always - when: always
.rules:report:process-results: .rules:report:process-results:

View file

@ -1,9 +1,10 @@
# Default variables for package-and-test # Default variables for package-and-test
variables: variables:
RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}"
SKIP_REPORT_IN_ISSUES: "true" SKIP_REPORT_IN_ISSUES: "true"
OMNIBUS_GITLAB_CACHE_UPDATE: "false" OMNIBUS_GITLAB_CACHE_UPDATE: "false"
OMNIBUS_GITLAB_RUBY3_BUILD: "false"
OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB"
QA_LOG_LEVEL: "info" QA_LOG_LEVEL: "info"
QA_TESTS: "" QA_TESTS: ""
QA_FEATURE_FLAGS: "" QA_FEATURE_FLAGS: ""

View file

@ -76,8 +76,15 @@ e2e:package-and-test:
- e2e-test-pipeline-generate - e2e-test-pipeline-generate
variables: variables:
SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes! SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes!
RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}"
GITLAB_QA_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_COMMIT_SHA}"
RUN_WITH_BUNDLE: "true" # instructs pipeline to install and run gitlab-qa gem via bundler
QA_PATH: qa # sets the optional path for bundler to run from
trigger: trigger:
strategy: depend strategy: depend
forward:
yaml_variables: true
pipeline_variables: true
include: include:
- artifact: package-and-test-pipeline.yml - artifact: package-and-test-pipeline.yml
job: e2e-test-pipeline-generate job: e2e-test-pipeline-generate

View file

@ -1,160 +1,5 @@
####################### include:
# rspec job base specs - local: .gitlab/ci/rails/shared.gitlab-ci.yml
.rails-job-base:
extends:
- .default-retry
- .default-before_script
- .rails-cache
.base-script:
script:
- source ./scripts/rspec_helpers.sh
# Only install knapsack after bundle install! Otherwise oddly some native
# gems could not be found under some circumstance. No idea why, hours wasted.
- run_timed_command "gem install knapsack --no-document"
- echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"
- run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here
- echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"
.minimal-rspec-tests:
variables:
RSPEC_TESTS_MAPPING_ENABLED: "true"
.single-db:
variables:
DECOMPOSED_DB: "false"
.single-db-rspec:
extends: .single-db
.praefect-with-db:
variables:
GITALY_PRAEFECT_WITH_DB: '1'
.rspec-base:
extends:
- .rails-job-base
- .base-artifacts
stage: test
variables:
RUBY_GC_MALLOC_LIMIT: 67108864
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
RECORD_DEPRECATIONS: "true"
GEO_SECONDARY_PROXY: 0
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
script:
- !reference [.base-script, script]
- rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"
.base-artifacts:
artifacts:
expire_in: 31d
when: always
paths:
- coverage/
- crystalball/
- deprecations/
- knapsack/
- rspec/
- tmp/capybara/
- log/*.log
reports:
junit: ${JUNIT_RESULT_FILE}
.rspec-base-migration:
extends:
- .base-artifacts
- .rails:rules:ee-and-foss-migration
script:
- !reference [.base-script, script]
- rspec_paralellized_job "--tag ~quarantine --tag level:migration"
.rspec-base-pg11:
extends:
- .rspec-base
- .use-pg11
.rspec-base-pg12:
extends:
- .rspec-base
- .use-pg12
.rspec-base-pg12-as-if-foss:
extends:
- .rspec-base
- .as-if-foss
- .use-pg12
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"]
.rspec-base-pg13:
extends:
- .rspec-base
- .use-pg13
.rspec-ee-base-pg11:
extends:
- .rspec-base
- .use-pg11-ee
.rspec-ee-base-pg12:
extends:
- .rspec-base
- .use-pg12-ee
.rspec-ee-base-pg12-es8:
extends:
- .rspec-base
- .use-pg12-es8-ee
- .rails:rules:run-search-tests
.rspec-ee-base-pg12-opensearch1:
extends:
- .rspec-base
- .use-pg12-opensearch1-ee
- .rails:rules:run-search-tests
.rspec-ee-base-pg13:
extends:
- .rspec-base
- .use-pg13-ee
.db-job-base:
extends:
- .rails-job-base
- .rails:rules:ee-and-foss-migration
- .use-pg12
stage: test
needs: ["setup-test-env"]
# rspec job base specs
######################
############################
# rspec job parallel configs
.rspec-migration-parallel:
parallel: 12
.rspec-ee-migration-parallel:
parallel: 4
.rspec-unit-parallel:
parallel: 28
.rspec-ee-unit-parallel:
parallel: 18
.rspec-integration-parallel:
parallel: 12
.rspec-ee-integration-parallel:
parallel: 6
.rspec-system-parallel:
parallel: 28
.rspec-ee-system-parallel:
parallel: 10
# rspec job parallel configs
############################
############################################################### ###############################################################
# EE/FOSS: default refs (MRs, default branch, schedules) jobs # # EE/FOSS: default refs (MRs, default branch, schedules) jobs #
@ -168,7 +13,7 @@ setup-test-env:
SETUP_DB: "false" SETUP_DB: "false"
script: script:
- echo $CI_MERGE_REQUEST_APPROVED - echo $CI_MERGE_REQUEST_APPROVED
- source scripts/gitlab_workhorse_component_helpers.sh - source scripts/gitlab_component_helpers.sh
- run_timed_command "download_and_extract_gitlab_workhorse_package" || true - run_timed_command "download_and_extract_gitlab_workhorse_package" || true
- run_timed_command "scripts/setup-test-env" - run_timed_command "scripts/setup-test-env"
- run_timed_command "select_gitlab_workhorse_essentials" - run_timed_command "select_gitlab_workhorse_essentials"
@ -197,22 +42,6 @@ setup-test-env:
- ${TMP_TEST_GITLAB_WORKHORSE_PATH}/ - ${TMP_TEST_GITLAB_WORKHORSE_PATH}/
when: always when: always
build-components:
extends:
- setup-test-env
- .rails:rules:build-components
script:
- source scripts/gitlab_workhorse_component_helpers.sh
- 'gitlab_workhorse_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }'
- run_timed_command "scripts/setup-test-env"
- run_timed_command "select_gitlab_workhorse_essentials"
- run_timed_command "create_gitlab_workhorse_package"
- run_timed_command "upload_gitlab_workhorse_package"
artifacts:
expire_in: 7d
paths:
- ${TMP_TEST_GITLAB_WORKHORSE_PATH}/
update-setup-test-env-cache: update-setup-test-env-cache:
extends: extends:
- setup-test-env - setup-test-env
@ -407,6 +236,21 @@ db:check-migrations-single-db:
- .single-db - .single-db
- .rails:rules:single-db - .rails:rules:single-db
db:post_deployment_migrations_validator:
extends:
- .db-job-base
- .rails:rules:ee-and-foss-mr-with-migration
script:
- git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME --depth 20
- scripts/post_deployment_migrations_validator
allow_failure: true
db:post_deployment_migrations_validator-single-db:
extends:
- db:post_deployment_migrations_validator
- .single-db
- .rails:rules:single-db
db:migrate-non-superuser: db:migrate-non-superuser:
extends: extends:
- .db-job-base - .db-job-base
@ -943,18 +787,41 @@ rspec fail-fast:
paths: paths:
- tmp/capybara/ - tmp/capybara/
rspec foss-impact: rspec-foss-impact:pipeline-generate:
extends: extends:
- .rspec-base-pg12-as-if-foss
- .rails:rules:rspec-foss-impact - .rails:rules:rspec-foss-impact
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"] stage: prepare
needs: ["detect-tests"]
script: script:
- !reference [.base-script, script] - scripts/generate-rspec-foss-impact-pipeline "${RSPEC_MATCHING_TESTS_FOSS_PATH}" "${RSPEC_FOSS_IMPACT_PIPELINE_YML}"
- rspec_matched_foss_tests "${RSPEC_MATCHING_TESTS_PATH}" "--tag ~quarantine"
artifacts: artifacts:
expire_in: 7d expire_in: 1 day
paths: paths:
- tmp/capybara/ - $RSPEC_FOSS_IMPACT_PIPELINE_YML
rspec-foss-impact:trigger:
extends:
- .rails:rules:rspec-foss-impact
stage: test
needs:
- job: "setup-test-env"
artifacts: false
- job: "retrieve-tests-metadata"
artifacts: false
- job: "compile-test-assets as-if-foss"
artifacts: false
- job: "rspec-foss-impact:pipeline-generate"
artifacts: true
variables:
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
trigger:
strategy: depend
forward:
yaml_variables: true
pipeline_variables: true
include:
- artifact: $RSPEC_FOSS_IMPACT_PIPELINE_YML
job: rspec-foss-impact:pipeline-generate
fail-pipeline-early: fail-pipeline-early:
extends: extends:

View file

@ -0,0 +1,50 @@
# RSpec FOSS impact pipeline loaded dynamically by script: scripts/generate-rspec-foss-impact-pipeline
include:
- local: .gitlab/ci/rails/shared.gitlab-ci.yml
default:
image: $DEFAULT_CI_IMAGE
tags:
- gitlab-org
# Default job timeout set to 90m https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/10520
timeout: 90m
interruptible: true
stages:
- test
dont-interrupt-me:
extends: .rules:dont-interrupt
stage: .pre
interruptible: false
script:
- echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible."
rspec foss-impact:
extends: .rspec-base-pg12-as-if-foss
needs:
- pipeline: $PARENT_PIPELINE_ID
job: detect-tests
- pipeline: $PARENT_PIPELINE_ID
job: setup-test-env
- pipeline: $PARENT_PIPELINE_ID
job: retrieve-tests-metadata
- pipeline: $PARENT_PIPELINE_ID
job: compile-test-assets as-if-foss
rules:
- when: always
variables:
RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_FOSS_PATH}"
RSPEC_TESTS_MAPPING_ENABLED: "true"
<% if Integer(parallel_value) > 1 %>
parallel: <%= parallel_value %>
<% end %>
script:
- !reference [.base-script, script]
- rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"
artifacts:
expire_in: 7d
paths:
- "${RSPEC_MATCHING_TESTS_FOSS_PATH}"
- tmp/capybara/

View file

@ -0,0 +1,172 @@
include:
- local: .gitlab/ci/global.gitlab-ci.yml
- local: .gitlab/ci/rules.gitlab-ci.yml
.rules:dont-interrupt:
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
allow_failure: true
- if: $CI_MERGE_REQUEST_IID
when: manual
allow_failure: true
#######################
# rspec job base specs
.rails-job-base:
extends:
- .default-retry
- .default-before_script
- .rails-cache
.base-script:
script:
- source ./scripts/rspec_helpers.sh
# Only install knapsack after bundle install! Otherwise oddly some native
# gems could not be found under some circumstance. No idea why, hours wasted.
- run_timed_command "gem install knapsack --no-document"
- echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"
- run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here
- echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"
.minimal-rspec-tests:
variables:
RSPEC_TESTS_MAPPING_ENABLED: "true"
.single-db:
variables:
DECOMPOSED_DB: "false"
.single-db-rspec:
extends: .single-db
.praefect-with-db:
variables:
GITALY_PRAEFECT_WITH_DB: '1'
.rspec-base:
extends:
- .rails-job-base
- .base-artifacts
stage: test
variables:
RUBY_GC_MALLOC_LIMIT: 67108864
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
RECORD_DEPRECATIONS: "true"
GEO_SECONDARY_PROXY: 0
RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}"
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
script:
- !reference [.base-script, script]
- rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"
.base-artifacts:
artifacts:
expire_in: 31d
when: always
paths:
- coverage/
- crystalball/
- deprecations/
- knapsack/
- rspec/
- tmp/capybara/
- log/*.log
reports:
junit: ${JUNIT_RESULT_FILE}
.rspec-base-migration:
extends:
- .base-artifacts
- .rails:rules:ee-and-foss-migration
variables:
RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}"
script:
- !reference [.base-script, script]
- rspec_paralellized_job "--tag ~quarantine --tag level:migration"
.rspec-base-pg11:
extends:
- .rspec-base
- .use-pg11
.rspec-base-pg12:
extends:
- .rspec-base
- .use-pg12
.rspec-base-pg12-as-if-foss:
extends:
- .rspec-base
- .as-if-foss
- .use-pg12
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"]
.rspec-base-pg13:
extends:
- .rspec-base
- .use-pg13
.rspec-ee-base-pg11:
extends:
- .rspec-base
- .use-pg11-ee
.rspec-ee-base-pg12:
extends:
- .rspec-base
- .use-pg12-ee
.rspec-ee-base-pg12-es8:
extends:
- .rspec-base
- .use-pg12-es8-ee
- .rails:rules:run-search-tests
.rspec-ee-base-pg12-opensearch1:
extends:
- .rspec-base
- .use-pg12-opensearch1-ee
- .rails:rules:run-search-tests
.rspec-ee-base-pg13:
extends:
- .rspec-base
- .use-pg13-ee
.db-job-base:
extends:
- .rails-job-base
- .rails:rules:ee-and-foss-migration
- .use-pg12
stage: test
needs: ["setup-test-env"]
# rspec job base specs
######################
############################
# rspec job parallel configs
.rspec-migration-parallel:
parallel: 12
.rspec-ee-migration-parallel:
parallel: 4
.rspec-unit-parallel:
parallel: 28
.rspec-ee-unit-parallel:
parallel: 18
.rspec-integration-parallel:
parallel: 12
.rspec-ee-integration-parallel:
parallel: 6
.rspec-system-parallel:
parallel: 28
.rspec-ee-system-parallel:
parallel: 10
# rspec job parallel configs
############################

View file

@ -4,7 +4,7 @@
.merge-train-sync: .merge-train-sync:
# We don't need/want any global before/after commands, so we overwrite these # We don't need/want any global before/after commands, so we overwrite these
# settings. # settings.
image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:edge
stage: sync stage: sync
before_script: before_script:
- apk add --no-cache --update curl bash jq - apk add --no-cache --update curl bash jq

View file

@ -0,0 +1,14 @@
include:
- template: DAST-API.gitlab-ci.yml
dast_api:
variables:
DAST_API_PROFILE: Passive
DAST_API_GRAPHQL: /api/graphql
DAST_API_TARGET_URL: ${CI_ENVIRONMENT_URL}
DAST_API_OVERRIDES_ENV: "{\"headers\":{\"Authorization\":\"Bearer $REVIEW_APPS_ROOT_TOKEN\"}}"
needs: ["review-deploy"]
# Uncomment resource_group if DAST_API_PROFILE is changed to an active scan
# resource_group: dast_api_scan
rules:
- !reference [".reports:rules:schedule-dast", rules]

View file

@ -1,3 +1,6 @@
default:
interruptible: true
stages: stages:
- prepare - prepare
- deploy - deploy
@ -11,17 +14,25 @@ include:
- local: .gitlab/ci/review-apps/rules.gitlab-ci.yml - local: .gitlab/ci/review-apps/rules.gitlab-ci.yml
- local: .gitlab/ci/review-apps/qa.gitlab-ci.yml - local: .gitlab/ci/review-apps/qa.gitlab-ci.yml
- local: .gitlab/ci/review-apps/dast.gitlab-ci.yml - local: .gitlab/ci/review-apps/dast.gitlab-ci.yml
- local: .gitlab/ci/review-apps/dast-api.gitlab-ci.yml
.base-before_script: &base-before_script .base-before_script: &base-before_script
- source ./scripts/utils.sh - source ./scripts/utils.sh
- source ./scripts/review_apps/review-apps.sh - source ./scripts/review_apps/review-apps.sh
- apt-get update && apt-get install -y jq - apt-get update && apt-get install -y jq
dont-interrupt-me:
extends: .rules:dont-interrupt
stage: prepare
interruptible: false
script:
- echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible."
review-build-cng-env: review-build-cng-env:
extends: extends:
- .default-retry - .default-retry
- .review:rules:review-build-cng - .review:rules:review-build-cng
image: ${GITLAB_DEPENDENCY_PROXY}ruby:3.0-alpine3.13 image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:3.0-alpine3.13
stage: prepare stage: prepare
needs: [] needs: []
before_script: before_script:
@ -90,6 +101,10 @@ review-deploy:
- .review:rules:review-deploy - .review:rules:review-deploy
stage: deploy stage: deploy
needs: ["review-build-cng"] needs: ["review-build-cng"]
cache:
key: "review-deploy-dependencies-charts-${GITLAB_HELM_CHART_REF}-v1"
paths:
- "gitlab-${GITLAB_HELM_CHART_REF}"
before_script: before_script:
- export GITLAB_SHELL_VERSION=$(<GITLAB_SHELL_VERSION) - export GITLAB_SHELL_VERSION=$(<GITLAB_SHELL_VERSION)
- export GITALY_VERSION=$(<GITALY_SERVER_VERSION) - export GITALY_VERSION=$(<GITALY_SERVER_VERSION)
@ -100,7 +115,6 @@ review-deploy:
script: script:
- check_kube_domain - check_kube_domain
- download_chart - download_chart
- date
- deploy || (display_deployment_debug && exit 1) - deploy || (display_deployment_debug && exit 1)
- verify_deploy || exit 1 - verify_deploy || exit 1
- disable_sign_ups || (delete_release && exit 1) - disable_sign_ups || (delete_release && exit 1)

View file

@ -1,7 +1,8 @@
include: include:
- project: gitlab-org/quality/pipeline-common - project: gitlab-org/quality/pipeline-common
ref: 1.2.2 ref: 1.3.0
file: file:
- /ci/base.gitlab-ci.yml
- /ci/allure-report.yml - /ci/allure-report.yml
- /ci/knapsack-report.yml - /ci/knapsack-report.yml
@ -58,7 +59,7 @@ include:
download-knapsack-report: download-knapsack-report:
extends: extends:
- .bundle-base - .bundle-base
- .rules:app-or-qa-framework-changes-or-review-scenarios - .rules:prepare-report
stage: prepare stage: prepare
script: script:
- bundle exec rake "knapsack:download[qa]" - bundle exec rake "knapsack:download[qa]"
@ -134,7 +135,7 @@ review-performance:
e2e-test-report: e2e-test-report:
extends: extends:
- .generate-allure-report-base - .generate-allure-report-base
- .rules:app-or-qa-framework-changes-or-review-scenarios - .rules:prepare-report
stage: post-qa stage: post-qa
variables: variables:
ALLURE_JOB_NAME: e2e-review-qa ALLURE_JOB_NAME: e2e-review-qa
@ -162,7 +163,7 @@ upload-knapsack-report:
delete-test-resources: delete-test-resources:
extends: extends:
- .bundle-base - .bundle-base
- .rules:app-or-qa-framework-changes-or-review-scenarios - .rules:prepare-report
stage: post-qa stage: post-qa
variables: variables:
QA_TEST_RESOURCES_FILE_PATTERN: $CI_PROJECT_DIR/qa/tmp/test-resources-*.json QA_TEST_RESOURCES_FILE_PATTERN: $CI_PROJECT_DIR/qa/tmp/test-resources-*.json
@ -172,3 +173,21 @@ delete-test-resources:
- bundle exec rake "test_resources:delete[$QA_TEST_RESOURCES_FILE_PATTERN]" - bundle exec rake "test_resources:delete[$QA_TEST_RESOURCES_FILE_PATTERN]"
allow_failure: true allow_failure: true
when: always when: always
notify-slack:
extends:
- .notify-slack-qa
- .qa-cache
- .rules:notify-slack
stage: post-qa
variables:
RUN_WITH_BUNDLE: "true"
QA_PATH: qa
ALLURE_JOB_NAME: e2e-review-qa
SLACK_ICON_EMOJI: ci_failing
STATUS_SYM: ☠️
STATUS: failed
TYPE: "(review-app) "
script:
- bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/qa/tmp/rspec-*.xml" # generate summary
- !reference [.notify-slack-qa, script]

View file

@ -19,6 +19,15 @@
.qa-framework-changes: &qa-framework-changes .qa-framework-changes: &qa-framework-changes
if: $QA_FRAMEWORK_CHANGES == "true" if: $QA_FRAMEWORK_CHANGES == "true"
.default-branch: &default-branch
if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
.qa-manual: &qa-manual
when: manual
allow_failure: true
variables:
QA_TESTS: ""
.never-when-qa-framework-changes-or-no-specific-specs: .never-when-qa-framework-changes-or-no-specific-specs:
- <<: *qa-framework-changes - <<: *qa-framework-changes
when: never when: never
@ -27,9 +36,23 @@
.never-when-specific-specs-always-when-qa-framework-changes: .never-when-specific-specs-always-when-qa-framework-changes:
- <<: *specific-specs - <<: *specific-specs
when: never when: manual
allow_failure: true
variables:
QA_TESTS: ""
- *qa-framework-changes - *qa-framework-changes
# ------------------------------------------
# Prepare
# ------------------------------------------
.rules:dont-interrupt:
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
allow_failure: true
- if: $CI_MERGE_REQUEST_IID
when: manual
allow_failure: true
# ------------------------------------------ # ------------------------------------------
# Test # Test
# ------------------------------------------ # ------------------------------------------
@ -41,6 +64,7 @@
QA_TESTS: "" # unset QA_TESTS even if specific tests were inferred from stage label QA_TESTS: "" # unset QA_TESTS even if specific tests were inferred from stage label
- *qa-framework-changes - *qa-framework-changes
- if: $QA_SUITES =~ /Test::Instance::Smoke/ - if: $QA_SUITES =~ /Test::Instance::Smoke/
- *qa-manual
.rules:qa-blocking: .rules:qa-blocking:
rules: rules:
@ -70,12 +94,11 @@
# ------------------------------------------ # ------------------------------------------
# Prepare/Report # Prepare/Report
# ------------------------------------------ # ------------------------------------------
# if no rules for test execution are matched, pipeline will not have e2e test jobs .rules:prepare-report:
# so we need to skip knapsack, allure and test resource deletion jobs as well
.rules:app-or-qa-framework-changes-or-review-scenarios:
rules: rules:
- *app-changes - when: always
- *qa-framework-changes
- if: $QA_SUITES =~ /Test::Instance::Smoke/ .rules:notify-slack:
- if: $QA_SUITES =~ /Test::Instance::ReviewBlocking/ rules:
- if: $QA_SUITES =~ /Test::Instance::ReviewNonBlocking/ - <<: *default-branch
when: on_failure

View file

@ -1,6 +1,3 @@
include:
- remote: 'https://gitlab.com/gitlab-org/modelops/applied-ml/review-recommender/ci-templates/-/raw/v0.2.1/recommender/Reviewers.gitlab-ci.yml'
review-cleanup: review-cleanup:
extends: extends:
- .default-retry - .default-retry
@ -20,7 +17,7 @@ review-cleanup:
script: script:
- delete_release - delete_release
- delete_namespace - delete_namespace
- ruby -rrubygems scripts/review_apps/automated_cleanup.rb - scripts/review_apps/automated_cleanup.rb
- gcp_cleanup - gcp_cleanup
start-review-app-pipeline: start-review-app-pipeline:
@ -72,14 +69,14 @@ review-app-test-results:
danger-review: danger-review:
extends: extends:
- .default-retry - .default-retry
- .danger-review-cache - .ruby-node-cache
- .review:rules:danger - .review:rules:danger
stage: test stage: test
needs: [] needs: []
before_script: before_script:
- source scripts/utils.sh - source scripts/utils.sh
- bundle_install_script "--with danger" - bundle_install_script "--with danger"
- run_timed_command "retry yarn install --frozen-lockfile" - yarn_install_script
script: script:
# ${DANGER_DANGERFILE} is used by Jihulab for customizing danger support: https://jihulab.com/gitlab-cn/gitlab/-/blob/main-jh/jh/.gitlab-ci.yml # ${DANGER_DANGERFILE} is used by Jihulab for customizing danger support: https://jihulab.com/gitlab-cn/gitlab/-/blob/main-jh/jh/.gitlab-ci.yml
- > - >
@ -96,12 +93,3 @@ danger-review-local:
- .review:rules:danger-local - .review:rules:danger-local
script: script:
- run_timed_command danger_as_local - run_timed_command danger_as_local
reviewers-recommender:
extends:
- .default-retry
# extends generated values cannot overwrite values from included files
# Use !reference as a workaround here
rules: !reference [".review:rules:reviewers-recommender", rules]
stage: test
needs: []

View file

@ -31,11 +31,14 @@
.if-merge-request: &if-merge-request .if-merge-request: &if-merge-request
if: '$CI_MERGE_REQUEST_IID' if: '$CI_MERGE_REQUEST_IID'
# Once https://gitlab.com/gitlab-org/gitlab/-/issues/373904 is implemented, we should be able to change this back to
# if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVALS_COUNT > 0'
# or any similar condition to check that the MR has *any* approval (not just required approval).
.if-merge-request-approved: &if-merge-request-approved .if-merge-request-approved: &if-merge-request-approved
if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED' if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_LABELS =~ /pipeline:run-full-rspec/'
.if-merge-request-not-approved: &if-merge-request-not-approved .if-merge-request-not-approved: &if-merge-request-not-approved
if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED != "true"' if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_LABELS !~ /pipeline:run-full-rspec/'
.if-automated-merge-request: &if-automated-merge-request .if-automated-merge-request: &if-automated-merge-request
if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "release-tools/update-gitaly" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /stable-ee$/' if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "release-tools/update-gitaly" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /stable-ee$/'
@ -70,9 +73,6 @@
.if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage .if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/' if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/'
.if-merge-request-labels-community-contribution: &if-merge-request-labels-community-contribution
if: '$CI_MERGE_REQUEST_LABELS =~ /Community contribution/'
.if-merge-request-labels-jh-contribution: &if-merge-request-labels-jh-contribution .if-merge-request-labels-jh-contribution: &if-merge-request-labels-jh-contribution
if: '$CI_MERGE_REQUEST_LABELS =~ /JiHu contribution/' if: '$CI_MERGE_REQUEST_LABELS =~ /JiHu contribution/'
@ -130,6 +130,9 @@
.if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag .if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG' if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG'
.if-ruby3-branch: &if-ruby3-branch
if: '$CI_COMMIT_BRANCH == "ruby3"'
# For Security merge requests, the gitlab-release-tools-bot triggers a new # For Security merge requests, the gitlab-release-tools-bot triggers a new
# pipeline for the "Pipelines for merged results" feature. If the pipeline # pipeline for the "Pipelines for merged results" feature. If the pipeline
# fails, we notify release managers. # fails, we notify release managers.
@ -179,6 +182,7 @@
- "GITLAB_WORKHORSE_VERSION" - "GITLAB_WORKHORSE_VERSION"
- "workhorse/**/*" - "workhorse/**/*"
- ".gitlab/ci/workhorse.gitlab-ci.yml" - ".gitlab/ci/workhorse.gitlab-ci.yml"
- "spec/support/gitlab-git-test.git/**/*"
.yaml-lint-patterns: &yaml-lint-patterns .yaml-lint-patterns: &yaml-lint-patterns
- "*.yml" - "*.yml"
@ -246,8 +250,21 @@
- "babel.config.js" - "babel.config.js"
- "config/webpack.config.js" - "config/webpack.config.js"
- "config/**/*.js" - "config/**/*.js"
- "vendor/assets/**/*"
- "{,ee/,jh/}app/assets/**/*" - "{,ee/,jh/}app/assets/**/*"
- "vendor/assets/**/*"
# This list should match the list in Tasks::Gitlab::Assets.assets_impacting_compilation
.assets-compilation-patterns: &assets-compilation-patterns
- "{package.json,yarn.lock}"
- ".browserslistrc"
- "babel.config.js"
- "config/webpack.config.js"
- "*.js"
- "config/**/*.js"
- "locale/**/gitlab.po"
- "{,ee/,jh/}app/assets/**/*"
- "fixtures/emojis/**/*"
- "vendor/assets/**/*"
.frontend-patterns-for-as-if-foss: &frontend-patterns-for-as-if-foss .frontend-patterns-for-as-if-foss: &frontend-patterns-for-as-if-foss
- "{package.json,yarn.lock}" - "{package.json,yarn.lock}"
@ -516,7 +533,7 @@
- "vendor/assets/javascripts/**/*" - "vendor/assets/javascripts/**/*"
.feature-flag-development-config-patterns: &feature-flag-development-config-patterns .feature-flag-development-config-patterns: &feature-flag-development-config-patterns
- "{,ee/}config/feature_flags/{development,ops}/*.yml" - "{,ee/,jh/}config/feature_flags/{development,ops}/*.yml"
################## ##################
# Conditions set # # Conditions set #
@ -532,9 +549,6 @@
rules: rules:
- <<: *if-merge-request-approved - <<: *if-merge-request-approved
when: never when: never
# Temporarily disabled minimal rspec jobs before and after approval because of https://gitlab.com/gitlab-org/gitlab/-/issues/373064.
- <<: *if-merge-request-not-approved
when: never
- <<: *if-automated-merge-request - <<: *if-automated-merge-request
when: never when: never
- <<: *if-security-merge-request - <<: *if-security-merge-request
@ -550,12 +564,12 @@
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request - <<: *if-merge-request
changes: *core-backend-patterns changes: *core-backend-patterns
- <<: *if-merge-request
changes: *ci-patterns
- <<: *if-automated-merge-request - <<: *if-automated-merge-request
changes: *backend-patterns changes: *backend-patterns
- <<: *if-security-merge-request - <<: *if-security-merge-request
changes: *backend-patterns changes: *backend-patterns
- <<: *if-merge-request-not-approved
when: never
.rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules: .rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules:
rules: rules:
@ -579,12 +593,12 @@
changes: *core-backend-patterns changes: *core-backend-patterns
- <<: *if-merge-request - <<: *if-merge-request
changes: *workhorse-patterns changes: *workhorse-patterns
- <<: *if-merge-request
changes: *ci-patterns
- <<: *if-automated-merge-request - <<: *if-automated-merge-request
changes: *code-backstage-patterns changes: *code-backstage-patterns
- <<: *if-security-merge-request - <<: *if-security-merge-request
changes: *code-backstage-patterns changes: *code-backstage-patterns
- <<: *if-merge-request-not-approved
when: never
.rails:rules:system:minimal-default-rules: .rails:rules:system:minimal-default-rules:
rules: rules:
@ -629,8 +643,6 @@
###################### ######################
.build-images:rules:build-qa-image: .build-images:rules:build-qa-image:
rules: rules:
- <<: *if-not-ee
when: never
- <<: *if-not-canonical-namespace - <<: *if-not-canonical-namespace
when: never when: never
- <<: *if-merge-request-targeting-stable-branch - <<: *if-merge-request-targeting-stable-branch
@ -643,6 +655,7 @@
- <<: *if-default-branch-or-tag - <<: *if-default-branch-or-tag
- <<: *if-dot-com-gitlab-org-schedule - <<: *if-dot-com-gitlab-org-schedule
- <<: *if-force-ci - <<: *if-force-ci
- <<: *if-ruby3-branch
.build-images:rules:build-assets-image: .build-images:rules:build-assets-image:
rules: rules:
@ -651,9 +664,60 @@
- <<: *if-merge-request-targeting-stable-branch - <<: *if-merge-request-targeting-stable-branch
- <<: *if-merge-request-labels-run-review-app - <<: *if-merge-request-labels-run-review-app
- <<: *if-auto-deploy-branches - <<: *if-auto-deploy-branches
- <<: *if-ruby3-branch
- changes: *ci-build-images-patterns - changes: *ci-build-images-patterns
- changes: *code-qa-patterns - changes: *code-qa-patterns
#################
# Caching rules #
#################
.caching:rules:cache-workhorse:
rules:
# That would run for any project that has a "maintenance" pipeline schedule
# but in fact, the cache package is only uploaded for gitlab.com/gitlab-org/gitlab and jihulab.com/gitlab-cn/gitlab
- <<: *if-default-branch-schedule-maintenance
- <<: *if-dot-com-gitlab-org-default-branch
changes: ["workhorse/**/*"]
- <<: *if-dot-com-gitlab-org-merge-request
changes:
- ".gitlab/ci/caching.gitlab-ci.yml"
- "scripts/gitlab_component_helpers.sh"
when: manual
allow_failure: true
.caching:rules:cache-assets:
rules:
# The new strategy to cache assets as generic packages is experimental and can be disabled by removing the `CACHE_ASSETS_AS_PACKAGE` variable
- if: '$CACHE_ASSETS_AS_PACKAGE != "true"'
when: never
# That would run for any project that has a "maintenance" pipeline schedule
# but in fact, the cache package is only uploaded for gitlab.com/gitlab-org/gitlab and jihulab.com/gitlab-cn/gitlab
- <<: *if-default-branch-schedule-maintenance
- <<: *if-dot-com-gitlab-org-default-branch
changes: *assets-compilation-patterns
- <<: *if-dot-com-gitlab-org-merge-request
changes:
- ".gitlab/ci/caching.gitlab-ci.yml"
- "scripts/gitlab_component_helpers.sh"
- "lib/tasks/gitlab/assets.rake"
when: manual
allow_failure: true
.caching:rules:packages-cleanup:
rules:
# The new strategy to cache assets as generic packages is experimental and can be disabled by removing the `CACHE_ASSETS_AS_PACKAGE` variable
- if: '$CACHE_ASSETS_AS_PACKAGE != "true"'
when: never
# That would run for any project that has a "maintenance" pipeline schedule
# but in fact, the cache package is only uploaded for gitlab.com/gitlab-org/gitlab and jihulab.com/gitlab-cn/gitlab
- <<: *if-default-branch-schedule-maintenance
- <<: *if-dot-com-gitlab-org-merge-request
changes:
- ".gitlab/ci/caching.gitlab-ci.yml"
- "scripts/packages/automated_cleanup.rb"
when: manual
allow_failure: true
###################### ######################
# CI Templates Rules # # CI Templates Rules #
###################### ######################
@ -768,8 +832,6 @@
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request - <<: *if-merge-request
changes: *startup-css-patterns changes: *startup-css-patterns
- <<: *if-merge-request
changes: *ci-patterns
.frontend:rules:frontend_fixture-as-if-foss: .frontend:rules:frontend_fixture-as-if-foss:
rules: rules:
@ -906,8 +968,6 @@
changes: *code-qa-patterns changes: *code-qa-patterns
- <<: *if-merge-request-labels-as-if-foss - <<: *if-merge-request-labels-as-if-foss
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request
changes: *ci-patterns
.qa:rules:internal-as-if-foss: .qa:rules:internal-as-if-foss:
rules: rules:
@ -928,6 +988,7 @@
allow_failure: true allow_failure: true
- <<: *if-force-ci - <<: *if-force-ci
allow_failure: true allow_failure: true
- <<: *if-ruby3-branch
.qa:rules:package-and-test: .qa:rules:package-and-test:
rules: rules:
@ -939,6 +1000,8 @@
when: never when: never
- <<: *if-merge-request-targeting-stable-branch - <<: *if-merge-request-targeting-stable-branch
allow_failure: true allow_failure: true
- <<: *if-ruby3-branch
allow_failure: true
- <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e - <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e
changes: *feature-flag-development-config-patterns changes: *feature-flag-development-config-patterns
when: manual when: manual
@ -975,16 +1038,6 @@
############### ###############
# Rails rules # # Rails rules #
############### ###############
.rails:rules:build-components:
rules:
- <<: *if-dot-com-ee-schedule
- <<: *if-dot-com-gitlab-org-default-branch
changes:
- "workhorse/**/*"
- <<: *if-dot-com-gitlab-org-merge-request
when: manual
allow_failure: true
.rails:rules:setup-test-env: .rails:rules:setup-test-env:
rules: rules:
- changes: *setup-test-env-patterns - changes: *setup-test-env-patterns
@ -1009,8 +1062,6 @@
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request - <<: *if-merge-request
changes: *core-backend-patterns changes: *core-backend-patterns
- <<: *if-merge-request
changes: *ci-patterns
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
- <<: *if-merge-request - <<: *if-merge-request
@ -1019,6 +1070,8 @@
changes: *db-patterns changes: *db-patterns
- <<: *if-security-merge-request - <<: *if-security-merge-request
changes: *db-patterns changes: *db-patterns
- <<: *if-merge-request-not-approved
when: never
- changes: *db-patterns - changes: *db-patterns
.rails:rules:ee-and-foss-migration:minimal: .rails:rules:ee-and-foss-migration:minimal:
@ -1112,8 +1165,6 @@
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request - <<: *if-merge-request
changes: *core-backend-patterns changes: *core-backend-patterns
- <<: *if-merge-request
changes: *ci-patterns
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
- <<: *if-merge-request - <<: *if-merge-request
@ -1122,6 +1173,8 @@
changes: *db-patterns changes: *db-patterns
- <<: *if-security-merge-request - <<: *if-security-merge-request
changes: *db-patterns changes: *db-patterns
- <<: *if-merge-request-not-approved
when: never
- changes: *db-patterns - changes: *db-patterns
.rails:rules:ee-only-migration:minimal: .rails:rules:ee-only-migration:minimal:
@ -1201,8 +1254,6 @@
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request - <<: *if-merge-request
changes: *core-backend-patterns changes: *core-backend-patterns
- <<: *if-merge-request
changes: *ci-patterns
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
- <<: *if-merge-request-labels-as-if-foss - <<: *if-merge-request-labels-as-if-foss
@ -1211,6 +1262,8 @@
changes: *db-patterns changes: *db-patterns
- <<: *if-security-merge-request - <<: *if-security-merge-request
changes: *db-patterns changes: *db-patterns
- <<: *if-merge-request-not-approved
when: never
.rails:rules:as-if-foss-migration:minimal: .rails:rules:as-if-foss-migration:minimal:
rules: rules:
@ -1416,9 +1469,6 @@
- if: '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"' - if: '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"'
changes: *code-backstage-patterns changes: *code-backstage-patterns
when: always when: always
- if: '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"'
changes: *ci-patterns
when: always
######################### #########################
# Static analysis rules # # Static analysis rules #
@ -1482,6 +1532,12 @@
changes: ["vendor/gems/mail-smtp_pool/**/*"] changes: ["vendor/gems/mail-smtp_pool/**/*"]
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
.vendor:rules:attr_encrypted:
rules:
- <<: *if-merge-request
changes: ["vendor/gems/attr_encrypted/**/*"]
- <<: *if-merge-request-labels-run-all-rspec
.vendor:rules:microsoft_graph_mailer: .vendor:rules:microsoft_graph_mailer:
rules: rules:
- <<: *if-merge-request - <<: *if-merge-request
@ -1518,12 +1574,6 @@
changes: ["vendor/gems/omniauth-gitlab/**/*"] changes: ["vendor/gems/omniauth-gitlab/**/*"]
- <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request-labels-run-all-rspec
.vendor:rules:omniauth-google-oauth2:
rules:
- <<: *if-merge-request
changes: ["vendor/gems/omniauth-google-oauth2/**/*"]
- <<: *if-merge-request-labels-run-all-rspec
.vendor:rules:omniauth-salesforce: .vendor:rules:omniauth-salesforce:
rules: rules:
- <<: *if-merge-request - <<: *if-merge-request
@ -1660,7 +1710,7 @@
rules: rules:
- if: '$LICENSE_MANAGEMENT_DISABLED || $GITLAB_FEATURES !~ /\blicense_scanning\b/' - if: '$LICENSE_MANAGEMENT_DISABLED || $GITLAB_FEATURES !~ /\blicense_scanning\b/'
when: never when: never
- changes: *code-backstage-qa-patterns - changes: *dependency-patterns
################ ################
# Review rules # # Review rules #
@ -1783,14 +1833,6 @@
- <<: *if-merge-request - <<: *if-merge-request
changes: *danger-patterns changes: *danger-patterns
.review:rules:reviewers-recommender:
rules:
- <<: *if-not-canonical-namespace
when: never
- <<: *if-merge-request-labels-community-contribution
when: never
- <<: *if-merge-request
############### ###############
# Setup rules # # Setup rules #
############### ###############

View file

@ -30,7 +30,7 @@ cache gems:
.absolutely-minimal-job: .absolutely-minimal-job:
extends: extends:
- .minimal-job - .minimal-job
image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:edge
variables: variables:
GIT_STRATEGY: none GIT_STRATEGY: none
@ -79,7 +79,7 @@ verify-ruby-2.7:
verify-tests-yml: verify-tests-yml:
extends: extends:
- .setup:rules:verify-tests-yml - .setup:rules:verify-tests-yml
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine3.13 image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-alpine3.13
stage: test stage: test
needs: [] needs: []
script: script:
@ -116,7 +116,7 @@ generate-frontend-fixtures-mapping:
detect-tests: detect-tests:
extends: .rails:rules:detect-tests extends: .rails:rules:detect-tests
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}
needs: [] needs: []
stage: prepare stage: prepare
variables: variables:
@ -134,14 +134,17 @@ detect-tests:
tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH}; tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH};
tooling/bin/find_tests ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH}; tooling/bin/find_tests ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH};
tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH} ${FRONTEND_FIXTURES_MAPPING_PATH}; tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH} ${FRONTEND_FIXTURES_MAPPING_PATH};
echo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)"; filter_rspec_matched_foss_tests ${RSPEC_MATCHING_TESTS_PATH} ${RSPEC_MATCHING_TESTS_FOSS_PATH};
echo "Related rspec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)"; echoinfo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)";
echoinfo "Related RSpec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)";
echoinfo "Related FOSS RSpec tests: $(cat $RSPEC_MATCHING_TESTS_FOSS_PATH)";
fi fi
artifacts: artifacts:
expire_in: 7d expire_in: 7d
paths: paths:
- ${RSPEC_CHANGED_FILES_PATH} - ${RSPEC_CHANGED_FILES_PATH}
- ${RSPEC_MATCHING_TESTS_PATH} - ${RSPEC_MATCHING_TESTS_PATH}
- ${RSPEC_MATCHING_TESTS_FOSS_PATH}
- ${FRONTEND_FIXTURES_MAPPING_PATH} - ${FRONTEND_FIXTURES_MAPPING_PATH}
detect-previous-failed-tests: detect-previous-failed-tests:

View file

@ -31,7 +31,7 @@ static-analysis:
- .static-analysis:rules:static-analysis - .static-analysis:rules:static-analysis
parallel: 2 parallel: 2
script: script:
- run_timed_command "retry yarn install --frozen-lockfile" - yarn_install_script
- scripts/static-analysis - scripts/static-analysis
static-analysis as-if-foss: static-analysis as-if-foss:
@ -84,7 +84,7 @@ eslint:
variables: variables:
USE_BUNDLE_INSTALL: "false" USE_BUNDLE_INSTALL: "false"
script: script:
- run_timed_command "retry yarn install --frozen-lockfile" - yarn_install_script
- run_timed_command "yarn run lint:eslint:all" - run_timed_command "yarn run lint:eslint:all"
eslint as-if-foss: eslint as-if-foss:

View file

@ -1,5 +1,5 @@
.tests-metadata-state: .tests-metadata-state:
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}
before_script: before_script:
- source scripts/utils.sh - source scripts/utils.sh
artifacts: artifacts:

View file

@ -6,6 +6,14 @@ vendor mail-smtp_pool:
include: vendor/gems/mail-smtp_pool/.gitlab-ci.yml include: vendor/gems/mail-smtp_pool/.gitlab-ci.yml
strategy: depend strategy: depend
vendor attr_encrypted:
extends:
- .vendor:rules:attr_encrypted
needs: []
trigger:
include: vendor/gems/attr_encrypted/.gitlab-ci.yml
strategy: depend
vendor microsoft_graph_mailer: vendor microsoft_graph_mailer:
extends: extends:
- .vendor:rules:microsoft_graph_mailer - .vendor:rules:microsoft_graph_mailer
@ -54,14 +62,6 @@ vendor omniauth-gitlab:
include: vendor/gems/omniauth-gitlab/.gitlab-ci.yml include: vendor/gems/omniauth-gitlab/.gitlab-ci.yml
strategy: depend strategy: depend
vendor omniauth-google-oauth2:
extends:
- .vendor:rules:omniauth-google-oauth2
needs: []
trigger:
include: vendor/gems/omniauth-google-oauth2/.gitlab-ci.yml
strategy: depend
vendor omniauth-salesforce: vendor omniauth-salesforce:
extends: extends:
- .vendor:rules:omniauth-salesforce - .vendor:rules:omniauth-salesforce

View file

@ -1,9 +1,10 @@
workhorse:verify: workhorse:verify:
extends: .workhorse:rules:workhorse extends: .workhorse:rules:workhorse
image: ${GITLAB_DEPENDENCY_PROXY}golang:1.17 image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}golang:${GO_VERSION}
stage: test stage: test
needs: [] needs: []
script: script:
- go version
- make -C workhorse # test build - make -C workhorse # test build
- make -C workhorse verify - make -C workhorse verify
@ -12,7 +13,6 @@ workhorse:verify:
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}:git-2.36 image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}:git-2.36
variables: variables:
GITALY_ADDRESS: "tcp://127.0.0.1:8075" GITALY_ADDRESS: "tcp://127.0.0.1:8075"
GO_VERSION: "1.17"
stage: test stage: test
needs: needs:
- setup-test-env - setup-test-env
@ -27,7 +27,7 @@ workhorse:test go:
extends: .workhorse:test extends: .workhorse:test
parallel: parallel:
matrix: matrix:
- GO_VERSION: ["1.17", "1.18"] - GO_VERSION: ["1.17", "1.18", "1.19"]
script: script:
- make -C workhorse test-coverage - make -C workhorse test-coverage
coverage: '/\d+.\d+%/' coverage: '/\d+.\d+%/'

View file

@ -1,4 +1,4 @@
<!-- Actionable insights must recommend an action that needs to take place. An actionable insight both defines the insight and clearly calls out action or next step required to improve based on the result of the research observation or data. Actionable insights are tracked over time and will include follow-up. Please follow the tasks outlined in this issue for best results. Learn more in the handbook here: https://about.gitlab.com/handbook/engineering/ux/ux-research-training/research-insights/#actionable-insights <!-- Actionable insights must recommend an action that needs to take place. An actionable insight both defines the insight and clearly calls out action or next step required to improve based on the result of the research observation or data. Actionable insights are tracked over time and will include follow-up. Please follow the tasks outlined in this issue for best results. Learn more in the handbook here: https://about.gitlab.com/handbook/product/ux/ux-research-training/research-insights/#actionable-insights
This issue template is for an actionable insight that requires further exploration.--> This issue template is for an actionable insight that requires further exploration.-->

View file

@ -1,4 +1,4 @@
<!-- Actionable insights must recommend an action that needs to take place. An actionable insight both defines the insight and clearly calls out action or next step required to improve based on the result of the research observation or data. Actionable insights are tracked over time and will include follow-up. Please follow the tasks outlined in this issue for best results. Learn more in the handbook here: https://about.gitlab.com/handbook/engineering/ux/ux-research-training/research-insights/#actionable-insights <!-- Actionable insights must recommend an action that needs to take place. An actionable insight both defines the insight and clearly calls out action or next step required to improve based on the result of the research observation or data. Actionable insights are tracked over time and will include follow-up. Please follow the tasks outlined in this issue for best results. Learn more in the handbook here: https://about.gitlab.com/handbook/product/ux/ux-research-training/research-insights/#actionable-insights
This issue template is for an actionable insight that requires a change in the product.--> This issue template is for an actionable insight that requires a change in the product.-->

View file

@ -39,7 +39,10 @@ will also determine whether the bug is fixed in a more recent version. -->
### Output of checks ### Output of checks
<!-- If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com --> <!-- If you are reporting a bug on GitLab.com, uncomment below -->
<!-- This bug happens on GitLab.com -->
<!-- /label ~"reproduced on GitLab.com" -->
#### Results of GitLab environment info #### Results of GitLab environment info

View file

@ -1,4 +1,4 @@
For guidance on the overall deprecations, removals and breaking changes workflow, please visit https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features For guidance on the overall deprecations, removals and breaking changes workflow, please visit [Breaking changes, deprecations, and removing features](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features)
<!-- Use this template as a starting point for deprecations. --> <!-- Use this template as a starting point for deprecations. -->
@ -10,6 +10,9 @@ This should contain a brief description of the feature or functionality that is
It is recommended that you link to the documentation. It is recommended that you link to the documentation.
The description of the deprecation should state what actions the user should take to rectify the behavior. If the deprecation is scheduled for an upcoming release, the content should remain in the deprecations documentation page until it has been completed. For example, if a deprecation is announced in 14.9 and scheduled to be completed in 15.0, the same content would be included in the documentation for 14.9, 14.10, and 15.0. The description of the deprecation should state what actions the user should take to rectify the behavior. If the deprecation is scheduled for an upcoming release, the content should remain in the deprecations documentation page until it has been completed. For example, if a deprecation is announced in 14.9 and scheduled to be completed in 15.0, the same content would be included in the documentation for 14.9, 14.10, and 15.0.
**If this issue proposes a breaking change outside a major release XX.0, you need to get approval from your manager and request collaboration from Product Operations on communication. Be sure to follow the guidance [here](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features.)**
--> -->
### Breaking Change ### Breaking Change

View file

@ -82,6 +82,7 @@ _Consider adding links to check for Sentry errors, Production logs for 5xx, 302s
### Preparation before global rollout ### Preparation before global rollout
- [ ] Set a milestone to the rollout issue to signal for enabling and removing the feature flag when it is stable.
- [ ] Check if the feature flag change needs to be accompanied with a - [ ] Check if the feature flag change needs to be accompanied with a
[change management issue](https://about.gitlab.com/handbook/engineering/infrastructure/change-management/#feature-flags-and-the-change-management-process). [change management issue](https://about.gitlab.com/handbook/engineering/infrastructure/change-management/#feature-flags-and-the-change-management-process).
Cross link the issue here if it does. Cross link the issue here if it does.
@ -167,4 +168,11 @@ You can either [create a follow-up issue for Feature Flag Cleanup](https://gitla
/chatops run feature set <feature-flag-name> false /chatops run feature set <feature-flag-name> false
``` ```
/label ~"feature flag" ~"type::feature" ~"feature::addition" <!-- A feature flag can also be used for rolling out a bug fix or a maintenance work.
In this scenario, labels must be related to it, for example; ~"type::feature", ~"type::bug" or ~"type::maintenance".
Please use /copy_metadata to copy the labels from the issue you're rolling out. -->
/label ~group::
/label ~"feature flag"
/assign me
/due in 1 month

View file

@ -37,7 +37,7 @@ Personas are described at https://about.gitlab.com/handbook/marketing/product-ma
<!-- What is the single user experience workflow this problem addresses? <!-- What is the single user experience workflow this problem addresses?
For example, "The user should be able to use the UI/API/.gitlab-ci.yml with GitLab to <perform a specific task>" For example, "The user should be able to use the UI/API/.gitlab-ci.yml with GitLab to <perform a specific task>"
https://about.gitlab.com/handbook/engineering/ux/ux-research-training/user-story-mapping/ --> https://about.gitlab.com/handbook/product/ux/ux-research-training/user-story-mapping/ -->
### Proposal ### Proposal

View file

@ -51,20 +51,16 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org
bin/rails generate migration CreateCoolWidgetRegistry --database geo bin/rails generate migration CreateCoolWidgetRegistry --database geo
``` ```
Geo should continue using `Gitlab::Database::Migration[1.0]` until the `gitlab_geo` schema is supported, and is for the time being exempt from being validated by `Gitlab::Database::Migration[2.0]`. This requires a developer to manually amend the migration file to change from `[2.0]` to `[1.0]` due to the migration defaults being 2.0.
For more information, see the [Enable Geo migrations to use Migration[2.0]](https://gitlab.com/gitlab-org/gitlab/-/issues/363491) issue.
- [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions. - [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions.
```ruby ```ruby
# frozen_string_literal: true # frozen_string_literal: true
class CreateCoolWidgetRegistry < Gitlab::Database::Migration[1.0] class CreateCoolWidgetRegistry < Gitlab::Database::Migration[2.0]
disable_ddl_transaction! disable_ddl_transaction!
def up def up
ApplicationRecord.transaction do Geo::TrackingBase.transaction do
create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t| create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t|
t.bigint :cool_widget_id, null: false t.bigint :cool_widget_id, null: false
t.datetime_with_timezone :created_at, null: false t.datetime_with_timezone :created_at, null: false
@ -105,6 +101,13 @@ For more information, see the [Enable Geo migrations to use Migration[2.0]](http
``` ```
- [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md).
- [ ] Add the new table to the GitLab Schema defined in [`ee/lib/ee/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/gitlab/database/gitlab_schemas.yml).
```yaml
cool_widget_registry: :gitlab_geo
```
- [ ] Run Geo tracking database migrations: - [ ] Run Geo tracking database migrations:
```shell ```shell
@ -141,7 +144,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
t.datetime_with_timezone :verification_started_at t.datetime_with_timezone :verification_started_at
t.datetime_with_timezone :verification_retry_at t.datetime_with_timezone :verification_retry_at
t.datetime_with_timezone :verified_at t.datetime_with_timezone :verified_at
t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade } t.references :cool_widget, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade }
t.integer :verification_state, default: 0, limit: 2, null: false t.integer :verification_state, default: 0, limit: 2, null: false
t.integer :verification_retry_count, limit: 2 t.integer :verification_retry_count, limit: 2
t.binary :verification_checksum, using: 'verification_checksum::bytea' t.binary :verification_checksum, using: 'verification_checksum::bytea'
@ -162,6 +165,12 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
- [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md).
- [ ] Add the new table to the GitLab Schema defined in [`lib/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/gitlab_schemas.yml) with the databases they need to be added to.
```yaml
cool_widget_states: :gitlab_main
```
- [ ] Run database migrations: - [ ] Run database migrations:
```shell ```shell
@ -260,7 +269,6 @@ That's all of the required database changes.
def pool_repository def pool_repository
nil nil
end end
...
def cool_widget_state def cool_widget_state
super || build_cool_widget_state super || build_cool_widget_state
@ -380,14 +388,16 @@ That's all of the required database changes.
```ruby ```ruby
# frozen_string_literal: true # frozen_string_literal: true
class Geo::CoolWidgetRegistry < Geo::BaseRegistry module Geo
include ::Geo::ReplicableRegistry class CoolWidgetRegistry < Geo::BaseRegistry
include ::Geo::VerifiableRegistry include ::Geo::ReplicableRegistry
include ::Geo::VerifiableRegistry
MODEL_CLASS = ::CoolWidget MODEL_CLASS = ::CoolWidget
MODEL_FOREIGN_KEY = :cool_widget_id MODEL_FOREIGN_KEY = :cool_widget_id
belongs_to :cool_widget, class_name: 'CoolWidget' belongs_to :cool_widget, class_name: 'CoolWidget'
end
end end
``` ```
@ -454,13 +464,13 @@ That's all of the required database changes.
- [ ] Add the following to `spec/factories/cool_widgets.rb`: - [ ] Add the following to `spec/factories/cool_widgets.rb`:
```ruby ```ruby
trait(:verification_succeeded) do trait :verification_succeeded do
with_file with_file
verification_checksum { 'abc' } verification_checksum { 'abc' }
verification_state { CoolWidget.verification_state_value(:verification_succeeded) } verification_state { CoolWidget.verification_state_value(:verification_succeeded) }
end end
trait(:verification_failed) do trait :verification_failed do
with_file with_file
verification_failure { 'Could not calculate the checksum' } verification_failure { 'Could not calculate the checksum' }
verification_state { CoolWidget.verification_state_value(:verification_failed) } verification_state { CoolWidget.verification_state_value(:verification_failed) }
@ -498,11 +508,11 @@ That's all of the required database changes.
factory :geo_cool_widget_state, class: 'Geo::CoolWidgetState' do factory :geo_cool_widget_state, class: 'Geo::CoolWidgetState' do
cool_widget cool_widget
trait(:checksummed) do trait :checksummed do
verification_checksum { 'abc' } verification_checksum { 'abc' }
end end
trait(:checksum_failure) do trait :checksum_failure do
verification_failure { 'Could not calculate the checksum' } verification_failure { 'Could not calculate the checksum' }
end end
end end
@ -552,8 +562,9 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir
field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type,
null: true, null: true,
resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver,
description: 'Find Cool Widget registries on this Geo node', description: 'Find Cool Widget registries on this Geo node. '\
feature_flag: :geo_cool_widget_replication 'Ignored if `geo_cool_widget_replication` feature flag is disabled.',
alpha: { milestone: '15.5' } # Update the milestone
``` ```
- [ ] Add the new `cool_widget_registries` field name to the `expected_fields` array in `ee/spec/graphql/types/geo/geo_node_type_spec.rb`. - [ ] Add the new `cool_widget_registries` field name to the `expected_fields` array in `ee/spec/graphql/types/geo/geo_node_type_spec.rb`.
@ -618,13 +629,15 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir
module Geo module Geo
# rubocop:disable Graphql/AuthorizeTypes because it is included # rubocop:disable Graphql/AuthorizeTypes because it is included
class CoolWidgetRegistryType < BaseObject class CoolWidgetRegistryType < BaseObject
graphql_name 'CoolWidgetRegistry'
include ::Types::Geo::RegistryType include ::Types::Geo::RegistryType
graphql_name 'CoolWidgetRegistry'
description 'Represents the Geo replication and verification state of a cool_widget' description 'Represents the Geo replication and verification state of a cool_widget'
field :cool_widget_id, GraphQL::Types::ID, null: false, description: 'ID of the Cool Widget.' field :cool_widget_id, GraphQL::Types::ID, null: false, description: 'ID of the Cool Widget.'
end end
# rubocop:enable Graphql/AuthorizeTypes
end end
end end
``` ```
@ -708,14 +721,15 @@ As illustrated by the above two examples, batch destroy logic cannot be handled
- [ ] Add a step to `Test replication and verification of Cool Widgets on a non-GDK-deployment. For example, using GitLab Environment Toolkit`. - [ ] Add a step to `Test replication and verification of Cool Widgets on a non-GDK-deployment. For example, using GitLab Environment Toolkit`.
- [ ] Add a step to `Ping the Geo PM and EM to coordinate testing`. For example, you might add steps to generate Cool Widgets, and then a Geo engineer may take it from there. - [ ] Add a step to `Ping the Geo PM and EM to coordinate testing`. For example, you might add steps to generate Cool Widgets, and then a Geo engineer may take it from there.
- [ ] In `ee/config/feature_flags/development/geo_cool_widget_replication.yml`, set `default_enabled: true` - [ ] In `ee/config/feature_flags/development/geo_cool_widget_replication.yml`, set `default_enabled: true`
- [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `feature_flag` option for the released type: - [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `alpha` option for the released type:
```ruby ```ruby
field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type,
null: true, null: true,
resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver,
description: 'Find Cool Widget registries on this Geo node', description: 'Find Cool Widget registries on this Geo node. '\
feature_flag: :geo_cool_widget_replication # REMOVE THIS LINE 'Ignored if `geo_cool_widget_replication` feature flag is disabled.',
alpha: { milestone: '15.5' } # Update the milestone
``` ```
- [ ] Run `bundle exec rake gitlab:graphql:compile_docs` after the step above to regenerate the GraphQL docs. - [ ] Run `bundle exec rake gitlab:graphql:compile_docs` after the step above to regenerate the GraphQL docs.

View file

@ -53,20 +53,16 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org
bin/rails generate migration CreateCoolWidgetRegistry --database geo bin/rails generate migration CreateCoolWidgetRegistry --database geo
``` ```
Geo should continue using `Gitlab::Database::Migration[1.0]` until the `gitlab_geo` schema is supported, and is for the time being exempt from being validated by `Gitlab::Database::Migration[2.0]`. This requires a developer to manually amend the migration file to change from `[2.0]` to `[1.0]` due to the migration defaults being 2.0.
For more information, see the [Enable Geo migrations to use Migration[2.0]](https://gitlab.com/gitlab-org/gitlab/-/issues/363491) issue.
- [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions. - [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions.
```ruby ```ruby
# frozen_string_literal: true # frozen_string_literal: true
class CreateCoolWidgetRegistry < Gitlab::Database::Migration[1.0] class CreateCoolWidgetRegistry < Gitlab::Database::Migration[2.0]
disable_ddl_transaction! disable_ddl_transaction!
def up def up
ApplicationRecord.transaction do Geo::TrackingBase.transaction do
create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t| create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t|
t.bigint :cool_widget_id, null: false t.bigint :cool_widget_id, null: false
t.datetime_with_timezone :created_at, null: false t.datetime_with_timezone :created_at, null: false
@ -105,6 +101,13 @@ For more information, see the [Enable Geo migrations to use Migration[2.0]](http
``` ```
- [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md).
- [ ] Add the new table to the GitLab Schema defined in [`ee/lib/ee/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/gitlab/database/gitlab_schemas.yml).
```yaml
cool_widget_registry: :gitlab_geo
```
- [ ] Run Geo tracking database migrations: - [ ] Run Geo tracking database migrations:
```shell ```shell
@ -143,7 +146,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
t.datetime_with_timezone :verification_started_at t.datetime_with_timezone :verification_started_at
t.datetime_with_timezone :verification_retry_at t.datetime_with_timezone :verification_retry_at
t.datetime_with_timezone :verified_at t.datetime_with_timezone :verified_at
t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade } t.references :cool_widget, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade }
t.integer :verification_state, default: 0, limit: 2, null: false t.integer :verification_state, default: 0, limit: 2, null: false
t.integer :verification_retry_count, limit: 2 t.integer :verification_retry_count, limit: 2
t.binary :verification_checksum, using: 'verification_checksum::bytea' t.binary :verification_checksum, using: 'verification_checksum::bytea'
@ -164,6 +167,12 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
- [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md).
- [ ] Add the new table to the GitLab Schema defined in [`lib/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/gitlab_schemas.yml) with the databases they need to be added to.
```yaml
cool_widget_states: :gitlab_main
```
- [ ] Run database migrations: - [ ] Run database migrations:
```shell ```shell
@ -238,7 +247,8 @@ That's all of the required database changes.
# we want to know which records to replicate. This is not easy to automate # we want to know which records to replicate. This is not easy to automate
# because for example: # because for example:
# #
# * The "selective sync" feature allows admins to choose which namespaces # to replicate, per secondary site. Most Models are scoped to a # * The "selective sync" feature allows admins to choose which namespaces
# to replicate, per secondary site. Most Models are scoped to a
# namespace, but the nature of the relationship to a namespace varies # namespace, but the nature of the relationship to a namespace varies
# between Models. # between Models.
# * The "selective sync" feature allows admins to choose which shards to # * The "selective sync" feature allows admins to choose which shards to
@ -256,7 +266,6 @@ That's all of the required database changes.
CoolWidgetState CoolWidgetState
end end
end end
...
def cool_widget_state def cool_widget_state
super || build_cool_widget_state super || build_cool_widget_state
@ -308,7 +317,7 @@ That's all of the required database changes.
end end
``` ```
- [ ] Generate the feature flag definition fileы by running the feature flag commands and following the command prompts: - [ ] Generate the feature flag definition file by running the feature flag commands and following the command prompts:
```shell ```shell
bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo' bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo'
@ -346,14 +355,16 @@ That's all of the required database changes.
```ruby ```ruby
# frozen_string_literal: true # frozen_string_literal: true
class Geo::CoolWidgetRegistry < Geo::BaseRegistry module Geo
include ::Geo::ReplicableRegistry class CoolWidgetRegistry < Geo::BaseRegistry
include ::Geo::VerifiableRegistry include ::Geo::ReplicableRegistry
include ::Geo::VerifiableRegistry
MODEL_CLASS = ::CoolWidget MODEL_CLASS = ::CoolWidget
MODEL_FOREIGN_KEY = :cool_widget_id MODEL_FOREIGN_KEY = :cool_widget_id
belongs_to :cool_widget, class_name: 'CoolWidget' belongs_to :cool_widget, class_name: 'CoolWidget'
end
end end
``` ```
@ -420,13 +431,13 @@ That's all of the required database changes.
- [ ] Add the following to `spec/factories/cool_widgets.rb`: - [ ] Add the following to `spec/factories/cool_widgets.rb`:
```ruby ```ruby
trait(:verification_succeeded) do trait :verification_succeeded do
with_file with_file
verification_checksum { 'abc' } verification_checksum { 'abc' }
verification_state { CoolWidget.verification_state_value(:verification_succeeded) } verification_state { CoolWidget.verification_state_value(:verification_succeeded) }
end end
trait(:verification_failed) do trait :verification_failed do
with_file with_file
verification_failure { 'Could not calculate the checksum' } verification_failure { 'Could not calculate the checksum' }
verification_state { CoolWidget.verification_state_value(:verification_failed) } verification_state { CoolWidget.verification_state_value(:verification_failed) }
@ -438,6 +449,8 @@ That's all of the required database changes.
- [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/ee/geo/cool_widget_state.rb`: - [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/ee/geo/cool_widget_state.rb`:
``` ruby ``` ruby
# frozen_string_literal: true
module Geo module Geo
class CoolWidgetState < ApplicationRecord class CoolWidgetState < ApplicationRecord
include EachBatch include EachBatch
@ -462,11 +475,11 @@ That's all of the required database changes.
factory :geo_cool_widget_state, class: 'Geo::CoolWidgetState' do factory :geo_cool_widget_state, class: 'Geo::CoolWidgetState' do
cool_widget cool_widget
trait(:checksummed) do trait :checksummed do
verification_checksum { 'abc' } verification_checksum { 'abc' }
end end
trait(:checksum_failure) do trait :checksum_failure do
verification_failure { 'Could not calculate the checksum' } verification_failure { 'Could not calculate the checksum' }
end end
end end
@ -516,8 +529,9 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir
field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type,
null: true, null: true,
resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver,
description: 'Find Cool Widget registries on this Geo node', description: 'Find Cool Widget registries on this Geo node. '\
feature_flag: :geo_cool_widget_replication 'Ignored if `geo_cool_widget_replication` feature flag is disabled.',
alpha: { milestone: '15.5' } # Update the milestone
``` ```
- [ ] Add the new `cool_widget_registries` field name to the `expected_fields` array in `ee/spec/graphql/types/geo/geo_node_type_spec.rb`. - [ ] Add the new `cool_widget_registries` field name to the `expected_fields` array in `ee/spec/graphql/types/geo/geo_node_type_spec.rb`.
@ -582,13 +596,15 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir
module Geo module Geo
# rubocop:disable Graphql/AuthorizeTypes because it is included # rubocop:disable Graphql/AuthorizeTypes because it is included
class CoolWidgetRegistryType < BaseObject class CoolWidgetRegistryType < BaseObject
graphql_name 'CoolWidgetRegistry'
include ::Types::Geo::RegistryType include ::Types::Geo::RegistryType
graphql_name 'CoolWidgetRegistry'
description 'Represents the Geo replication and verification state of a cool_widget' description 'Represents the Geo replication and verification state of a cool_widget'
field :cool_widget_id, GraphQL::ID_TYPE, null: false, description: 'ID of the Cool Widget' field :cool_widget_id, GraphQL::Types::ID, null: false, description: 'ID of the Cool Widget.'
end end
# rubocop:enable Graphql/AuthorizeTypes
end end
end end
``` ```
@ -673,14 +689,15 @@ As illustrated by the above two examples, batch destroy logic cannot be handled
- [ ] Add a step to `Test replication and verification of Cool Widgets on a non-GDK-deployment. For example, using GitLab Environment Toolkit`. - [ ] Add a step to `Test replication and verification of Cool Widgets on a non-GDK-deployment. For example, using GitLab Environment Toolkit`.
- [ ] Add a step to `Ping the Geo PM and EM to coordinate testing`. For example, you might add steps to generate Cool Widgets, and then a Geo engineer may take it from there. - [ ] Add a step to `Ping the Geo PM and EM to coordinate testing`. For example, you might add steps to generate Cool Widgets, and then a Geo engineer may take it from there.
- [ ] In `ee/config/feature_flags/development/geo_cool_widget_replication.yml`, set `default_enabled: true` - [ ] In `ee/config/feature_flags/development/geo_cool_widget_replication.yml`, set `default_enabled: true`
- [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `feature_flag` option for the released type: - [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `alpha` option for the released type:
```ruby ```ruby
field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type,
null: true, null: true,
resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver,
description: 'Find Cool Widget registries on this Geo node', description: 'Find Cool Widget registries on this Geo node. '\
feature_flag: :geo_cool_widget_replication # REMOVE THIS LINE 'Ignored if `geo_cool_widget_replication` feature flag is disabled.',
alpha: { milestone: '15.5' } # Update the milestone
``` ```
- [ ] Run `bundle exec rake gitlab:graphql:compile_docs` after the step above to regenerate the GraphQL docs. - [ ] Run `bundle exec rake gitlab:graphql:compile_docs` after the step above to regenerate the GraphQL docs.

View file

@ -56,6 +56,9 @@ If you include multiple screenshots it can be helpful to hide all but the first
<!-- Base labels. --> <!-- Base labels. -->
/label ~Quality ~QA ~test /label ~Quality ~QA ~test
<!-- Work classification type label, please apply ignore type label until the investigation is complete and an [issue type](https://about.gitlab.com/handbook/engineering/metrics/#work-type-classification) is determined.-->
/label ~"type::ignore"
<!-- Test failure type label, please use just one.--> <!-- Test failure type label, please use just one.-->
/label ~"failure::broken-test" ~"failure::flaky-test" ~"failure::stale-test" ~"failure::test-environment" ~"failure::investigating" ~"failure::new" /label ~"failure::broken-test" ~"failure::flaky-test" ~"failure::stale-test" ~"failure::test-environment" ~"failure::investigating" ~"failure::new"

View file

@ -26,7 +26,7 @@
<!-- #### TODO Checklist <!-- #### TODO Checklist
Consider adding a checklist in order to keep track of what stage the research is up to. Some possible checklist templates are here: Consider adding a checklist in order to keep track of what stage the research is up to. Some possible checklist templates are here:
https://about.gitlab.com/handbook/engineering/ux/ux-research-training/templates-resources-for-research-studies/#checklists https://about.gitlab.com/handbook/product/ux/ux-research-training/templates-resources-for-research-studies/#checklists
--> -->
/label ~"workflow::solution validation" /label ~"workflow::solution validation"

View file

@ -1,6 +1,6 @@
<!-- A majority of the work designers do will be on themes in the (Now) Next 1-3 milestone column. These themes are comprised of high-confidence outcomes and validated needs. The UX theme issue is where collaboration should occur, including plans and discussion on subthemes, research, and design feedback. Related issues for design exploration and solution validation should stem from the theme issue. <!-- A majority of the work designers do will be on themes in the (Now) Next 1-3 milestone column. These themes are comprised of high-confidence outcomes and validated needs. The UX theme issue is where collaboration should occur, including plans and discussion on subthemes, research, and design feedback. Related issues for design exploration and solution validation should stem from the theme issue.
One of the advantages of working with UX themes is that it allows us to think and design holistically by designing the theme as a whole as opposed to a single issue at a time trying to piece them together as you go. For more details please refer to this section of the handbook when creating UX Themes: https://about.gitlab.com/handbook/engineering/ux/product-design/ux-roadmaps/#theme-structure --> One of the advantages of working with UX themes is that it allows us to think and design holistically by designing the theme as a whole as opposed to a single issue at a time trying to piece them together as you go. For more details please refer to this section of the handbook when creating UX Themes: https://about.gitlab.com/handbook/product/ux/product-design/ux-roadmaps/#theme-structure -->
### UX Theme ### UX Theme
<!-- A theme is written as a statement that combines the beneficiary, their need, and the expected outcome when the work is delivered. Well-defined statements are concise without sacrificing the substance of the theme so that anyone can understand it at a glance. (For instance; Reduce the effort for security teams to identify and escalate business-critical risks) <!-- A theme is written as a statement that combines the beneficiary, their need, and the expected outcome when the work is delivered. Well-defined statements are concise without sacrificing the substance of the theme so that anyone can understand it at a glance. (For instance; Reduce the effort for security teams to identify and escalate business-critical risks)
@ -37,7 +37,7 @@ One of the advantages of working with UX themes is that it allows us to think an
#### Confidence #### Confidence
<!-- How well do we understand the user's problem and their need? Refer to https://about.gitlab.com/handbook/engineering/ux/product-design/ux-roadmaps/#confidence to assess confidence --> <!-- How well do we understand the user's problem and their need? Refer to https://about.gitlab.com/handbook/product/ux/product-design/ux-roadmaps/#confidence to assess confidence -->
| Confidence | Research | | Confidence | Research |
@ -55,7 +55,7 @@ Note: This is not a backlog. If the subthemes can not be delivered in the theme
Note: if feature issues already exist then you can add them to this table. Keep in mind that subthemes require validation if they are assumptive Note: if feature issues already exist then you can add them to this table. Keep in mind that subthemes require validation if they are assumptive
Refer to https://about.gitlab.com/handbook/engineering/ux/product-designer/#ux-issue-weights for calculating UX weights. Refer to https://about.gitlab.com/handbook/product/ux/product-designer/#ux-issue-weights for calculating UX weights.
--> -->
| Issue | UX Weight | | Issue | UX Weight |

View file

@ -56,7 +56,7 @@ feature for all reviews. Reviewers will then `approve` the MR and remove themsel
- [ ] (Recommended) PMM - [ ] (Recommended) PMM
- [ ] (Optional) Product Designer - [ ] (Optional) Product Designer
- [ ] (Optional) Group Manager or Director - [ ] (Optional) Group Manager or Director
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). - [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
### Tech writer review ### Tech writer review

View file

@ -8,7 +8,7 @@
## Author's checklist ## Author's checklist
- [ ] Optional. Consider taking [the GitLab Technical Writing Fundamentals course](https://about.gitlab.com/handbook/engineering/ux/technical-writing/fundamentals/). - [ ] Optional. Consider taking [the GitLab Technical Writing Fundamentals course](https://about.gitlab.com/handbook/product/ux/technical-writing/fundamentals/).
- [ ] Follow the: - [ ] Follow the:
- [Documentation process](https://docs.gitlab.com/ee/development/documentation/workflow.html). - [Documentation process](https://docs.gitlab.com/ee/development/documentation/workflow.html).
- [Documentation guidelines](https://docs.gitlab.com/ee/development/documentation/). - [Documentation guidelines](https://docs.gitlab.com/ee/development/documentation/).
@ -16,7 +16,7 @@
- [ ] If you're adding or changing the main heading of the page (H1), ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added. - [ ] If you're adding or changing the main heading of the page (H1), ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added.
- [ ] If you are a GitLab team member, [request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-attention-request-feature) based on: - [ ] If you are a GitLab team member, [request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-attention-request-feature) based on:
- The documentation page's [metadata](https://docs.gitlab.com/ee/development/documentation/#metadata). - The documentation page's [metadata](https://docs.gitlab.com/ee/development/documentation/#metadata).
- The [associated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). - The [associated Technical Writer](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
If you are a GitLab team member and only adding documentation, do not add any of the following labels: If you are a GitLab team member and only adding documentation, do not add any of the following labels:
@ -34,7 +34,7 @@ Documentation-related MRs should be reviewed by a Technical Writer for a non-blo
- [ ] If the content requires it, ensure the information is reviewed by a subject matter expert. - [ ] If the content requires it, ensure the information is reviewed by a subject matter expert.
- Technical writer review items: - Technical writer review items:
- [ ] Ensure docs metadata is present and up-to-date. - [ ] Ensure docs metadata is present and up-to-date.
- [ ] Ensure the appropriate [labels](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#labels) are added to this MR. - [ ] Ensure the appropriate [labels](https://about.gitlab.com/handbook/product/ux/technical-writing/workflow/#labels) are added to this MR.
- [ ] Ensure a release milestone is set. - [ ] Ensure a release milestone is set.
- If relevant to this MR, ensure [content topic type](https://docs.gitlab.com/ee/development/documentation/structure.html) principles are in use, including: - If relevant to this MR, ensure [content topic type](https://docs.gitlab.com/ee/development/documentation/structure.html) principles are in use, including:
- [ ] The headings should be something you'd do a Google search for. Instead of `Default behavior`, say something like `Default behavior when you close an issue`. - [ ] The headings should be something you'd do a Google search for. Instead of `Default behavior`, say something like `Default behavior when you close an issue`.

View file

@ -61,7 +61,7 @@ feature for all reviews. Reviewers will `approve` the MR and remove themselves f
- [ ] (Recommended) PMM - [ ] (Recommended) PMM
- [ ] (Optional) Product Designer - [ ] (Optional) Product Designer
- [ ] (Optional) Group Manager or Director - [ ] (Optional) Group Manager or Director
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). - [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
### Tech writer review ### Tech writer review

View file

@ -111,10 +111,10 @@ ports:
vscode: vscode:
extensions: extensions:
- rebornix.ruby@0.28.0 - rebornix.ruby@0.28.1
- wingrunr21.vscode-ruby@0.27.0 - wingrunr21.vscode-ruby@0.28.0
- karunamurti.haml@1.3.1 - karunamurti.haml@1.4.1
- octref.vetur@0.34.1 - octref.vetur@0.36.0
- dbaeumer.vscode-eslint@2.1.8 - dbaeumer.vscode-eslint@2.2.6
- gitlab.gitlab-workflow@3.24.0 - GitLab.gitlab-workflow@3.48.1
- DavidAnson.vscode-markdownlint@0.44.4 - DavidAnson.vscode-markdownlint@0.47.0

View file

@ -101,6 +101,7 @@ linters:
- Style/IfUnlessModifier - Style/IfUnlessModifier
- Style/IndentationWidth - Style/IndentationWidth
- Style/Next - Style/Next
- Style/SoleNestedConditional
- Style/TrailingWhitespace - Style/TrailingWhitespace
- Style/WhileUntilModifier - Style/WhileUntilModifier
- Cop/StaticTranslationDefinition - Cop/StaticTranslationDefinition

View file

@ -1,7 +1,19 @@
# This configuration was generated by # This configuration was generated by
# `haml-lint --auto-gen-config` # `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 # The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base. # one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new # Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again. # 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

@ -1,5 +1,7 @@
{ {
"ee/*": { "type": "ee" }, "ee/*": { "type": "ee" },
"app/*": { "type": "ce" },
"lib/*": { "type": "ce" },
"config/initializers/*.rb": { "config/initializers/*.rb": {
"alternate": "spec/initializers/{}_spec.rb", "alternate": "spec/initializers/{}_spec.rb",
"type": "source" "type": "source"
@ -57,37 +59,40 @@
"type": "source" "type": "source"
}, },
"app/presenters/*.rb": { "app/presenters/*.rb": {
"alternate": "spec/app/presenters/{}_spec.rb",
"related": "ee/app/presenters/ee/{}.rb", "related": "ee/app/presenters/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/serializers/*.rb": { "app/serializers/*.rb": {
"alternate": "spec/app/serializers/{}_spec.rb",
"related": "ee/app/serializers/ee/{}.rb", "related": "ee/app/serializers/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/services/*.rb": { "app/services/*.rb": {
"alternate": "spec/app/services/{}_spec.rb",
"related": "ee/app/services/ee/{}.rb", "related": "ee/app/services/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/uploaders/*.rb": { "app/uploaders/*.rb": {
"alternate": "spec/app/uploaders/{}_spec.rb",
"related": "ee/app/uploaders/ee/{}.rb", "related": "ee/app/uploaders/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/validators/*.rb": { "app/validators/*.rb": {
"alternate": "spec/app/validators/{}_spec.rb",
"related": "ee/app/validators/ee/{}.rb", "related": "ee/app/validators/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/views/*.rb": { "app/views/*.rb": {
"alternate": "spec/app/views/{}_spec.rb",
"related": "ee/app/views/ee/{}.rb", "related": "ee/app/views/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/workers/*.rb": { "app/workers/*.rb": {
"alternate": "spec/app/workers/{}_spec.rb",
"related": "ee/app/workers/ee/{}.rb", "related": "ee/app/workers/ee/{}.rb",
"type": "source" "type": "source"
}, },
"app/*.rb": {
"alternate": "spec/{}_spec.rb",
"type": "source"
},
"spec/*_spec.rb": { "spec/*_spec.rb": {
"alternate": "app/{}.rb", "alternate": "app/{}.rb",
"type": "test" "type": "test"
@ -124,8 +129,79 @@
"alternate": "ee/lib/api/{}.rb", "alternate": "ee/lib/api/{}.rb",
"type": "test" "type": "test"
}, },
"ee/app/controllers/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/controllers/{}.rb",
"type": "source"
},
"ee/app/finders/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/finders/{}.rb",
"type": "source"
},
"ee/app/graphql/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/graphql/{}.rb",
"type": "source"
},
"ee/app/helpers/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/helpers/{}.rb",
"type": "source"
},
"ee/app/mailers/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/mailers/{}.rb",
"type": "source"
},
"ee/app/models/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/models/{}.rb",
"type": "source"
},
"ee/app/policies/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/policies/{}.rb",
"type": "source"
},
"ee/app/presenters/ee/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/presenters/{}.rb",
"type": "source"
},
"ee/app/serializers/ee/*.rb": {
"alternate": "spec/app/serializers/{}_spec.rb",
"related": "app/serializers/{}.rb",
"type": "source"
},
"ee/app/services/ee/*.rb": {
"alternate": "spec/app/services/{}_spec.rb",
"related": "app/services/{}.rb",
"type": "source"
},
"ee/app/uploaders/ee/*.rb": {
"alternate": "spec/app/uploaders/{}_spec.rb",
"related": "app/uploaders/{}.rb",
"type": "source"
},
"ee/app/validators/ee/*.rb": {
"alternate": "spec/app/validators/{}_spec.rb",
"related": "app/validators/{}.rb",
"type": "source"
},
"ee/app/views/ee/*.rb": {
"alternate": "spec/app/views/{}_spec.rb",
"related": "app/views/{}.rb",
"type": "source"
},
"ee/app/workers/ee/*.rb": {
"alternate": "spec/app/workers/{}_spec.rb",
"related": "app/workers/{}.rb",
"type": "source"
},
"ee/app/*.rb": { "ee/app/*.rb": {
"alternate": "ee/spec/{}_spec.rb", "alternate": "ee/spec/{}_spec.rb",
"related": "app/{}.rb",
"type": "source" "type": "source"
}, },
"ee/spec/*_spec.rb": { "ee/spec/*_spec.rb": {
@ -136,6 +212,11 @@
"alternate": "ee/spec/lib/{}_spec.rb", "alternate": "ee/spec/lib/{}_spec.rb",
"type": "source" "type": "source"
}, },
"ee/lib/ee/*.rb": {
"alternate": "ee/spec/lib/{}_spec.rb",
"related": "lib/{}.rb",
"type": "source"
},
"ee/spec/lib/*_spec.rb": { "ee/spec/lib/*_spec.rb": {
"alternate": "ee/lib/{}.rb", "alternate": "ee/lib/{}.rb",
"type": "test" "type": "test"
@ -154,16 +235,18 @@
}, },
"ee/app/assets/javascripts/*.js": { "ee/app/assets/javascripts/*.js": {
"alternate": "ee/spec/frontend/{}_spec.js", "alternate": "ee/spec/frontend/{}_spec.js",
"related": "app/assets/javascripts/{}.js",
"type": "source" "type": "source"
}, },
"ee/app/assets/javascripts/*.vue": { "ee/app/assets/javascripts/*.vue": {
"alternate": "ee/spec/frontend/{}_spec.js", "alternate": "ee/spec/frontend/{}_spec.js",
"related": "app/assets/javascripts/{}.vue",
"type": "source" "type": "source"
}, },
"ee/spec/frontend/*_spec.js": { "ee/spec/frontend/*_spec.js": {
"alternate": ["ee/app/assets/javascripts/{}.vue", "ee/app/assets/javascripts/{}.js"], "alternate": ["ee/app/assets/javascripts/{}.vue", "ee/app/assets/javascripts/{}.js"],
"type": "test" "type": "test"
}, },
"*.rb": {"dispatch": "bundle exec rubocop {file}"}, "*.rb": { "dispatch": "bundle exec rubocop {file}" },
"*_spec.rb": {"dispatch": "bundle exec rspec {file}"} "*_spec.rb": { "dispatch": "bundle exec rspec {file}" }
} }

View file

@ -13,6 +13,9 @@ inherit_from:
<% end %> <% end %>
- '.rubocop_todo.yml' - '.rubocop_todo.yml'
<% end %> <% end %>
<% if RUBY_VERSION[/^\d+\.\d+/, 0] == '3.0' %>
- ./rubocop/rubocop-ruby30.yml
<% end %>
- ./rubocop/rubocop-migrations.yml - ./rubocop/rubocop-migrations.yml
- ./rubocop/rubocop-usage-data.yml - ./rubocop/rubocop-usage-data.yml
- ./rubocop/rubocop-code_reuse.yml - ./rubocop/rubocop-code_reuse.yml
@ -26,7 +29,8 @@ inherit_mode:
- Exclude - Exclude
AllCops: AllCops:
TargetRubyVersion: 2.7 # Target the current Ruby version. For example, "2.7" or "3.0".
TargetRubyVersion: <%= RUBY_VERSION[/^\d+\.\d+/, 0] %>
TargetRailsVersion: 6.0 TargetRailsVersion: 6.0
Exclude: Exclude:
- 'vendor/**/*' - 'vendor/**/*'
@ -40,11 +44,23 @@ AllCops:
- 'plugins/**/*' - 'plugins/**/*'
- 'file_hooks/**/*' - 'file_hooks/**/*'
- 'workhorse/**/*' - 'workhorse/**/*'
- 'shared/packages/**/*'
- 'spec/support/*.git/**/*' # e.g. spec/support/gitlab-git-test.git - '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` - '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. # Use absolute path to avoid orphan directories with changed workspace root.
CacheRootDirectory: <%= Dir.getwd %>/tmp CacheRootDirectory: <%= Dir.getwd %>/tmp
MaxFilesInCache: 35000 MaxFilesInCache: 35000
NewCops: disable
SuggestExtensions: false
RSpec:
Language:
Includes:
Examples:
- run_permission_checks
- run_group_permission_checks
- it_should_email!
- it_should_not_email!
Metrics/ParameterLists: Metrics/ParameterLists:
Exclude: Exclude:
@ -80,7 +96,6 @@ Lint/EmptyFile:
# This cop checks whether some constant value isn't a # This cop checks whether some constant value isn't a
# mutable literal (e.g. array or hash). # mutable literal (e.g. array or hash).
Style/MutableConstant: Style/MutableConstant:
Enabled: true
Exclude: Exclude:
- 'db/migrate/**/*' - 'db/migrate/**/*'
- 'db/post_migrate/**/*' - 'db/post_migrate/**/*'
@ -101,8 +116,7 @@ Style/FrozenStringLiteralComment:
EnforcedStyle: always_true EnforcedStyle: always_true
Style/SpecialGlobalVars: Style/SpecialGlobalVars:
# https://gitlab.com/gitlab-org/gitlab/-/issues/358427 EnforcedStyle: use_builtin_english_names
EnforcedStyle: use_perl_names
RSpec/FilePath: RSpec/FilePath:
Exclude: Exclude:
@ -448,6 +462,12 @@ RSpec/FactoriesInMigrationSpecs:
- 'spec/lib/ee/gitlab/background_migration/**/*.rb' - 'spec/lib/ee/gitlab/background_migration/**/*.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb' - 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb'
RSpec/FactoryBot/AvoidCreate:
Enabled: true
Include:
- 'spec/serializers/**/*.rb'
- 'ee/spec/serializers/**/*.rb'
Cop/IncludeSidekiqWorker: Cop/IncludeSidekiqWorker:
Enabled: true Enabled: true
Exclude: Exclude:
@ -690,7 +710,7 @@ Gitlab/RailsLogger:
- 'ee/spec/**/*.rb' - 'ee/spec/**/*.rb'
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606 # WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606
FactoryBot/InlineAssociation: RSpec/FactoryBot/InlineAssociation:
Include: Include:
- 'spec/factories/**/*.rb' - 'spec/factories/**/*.rb'
- 'ee/spec/factories/**/*.rb' - 'ee/spec/factories/**/*.rb'
@ -775,3 +795,39 @@ Fips/OpenSSL:
Gemspec/AvoidExecutingGit: Gemspec/AvoidExecutingGit:
Enabled: false Enabled: false
Lint/BinaryOperatorWithIdenticalOperands:
Exclude:
- '{,ee/,qa/}spec/**/*_{spec,shared_examples,shared_context}.rb'
Cop/SidekiqRedisCall:
Enabled: true
Exclude:
- '{,ee/,jh/}spec/**/*'
- 'lib/gitlab/database/migration_helpers.rb'
- 'lib/gitlab/sidekiq_migrate_jobs.rb'
- 'lib/gitlab/sidekiq_versioning.rb'
Cop/RedisQueueUsage:
Enabled: true
Exclude:
- '{,ee/,jh/}spec/**/*'
- 'config/initializers/sidekiq.rb'
- 'lib/gitlab/instrumentation/redis.rb'
- 'lib/gitlab/redis.rb'
- 'lib/system_check/app/redis_version_check.rb'
- 'lib/gitlab/mail_room.rb'
Cop/SidekiqApiUsage:
Enabled: true
Exclude:
- '{,ee/,jh/}spec/**/*'
- 'db/post_migrate/**/*'
- 'lib/gitlab/sidekiq_middleware/**/*'
- 'lib/gitlab/background_migration/**/*'
- 'lib/gitlab/hashed_storage/migrator.rb'
- 'lib/api/sidekiq_metrics.rb'
- 'lib/gitlab/sidekiq_config.rb'
- 'lib/gitlab/sidekiq_queue.rb'
- 'config/initializers/sidekiq.rb'
- 'config/initializers/forbid_sidekiq_in_transactions.rb'

View file

@ -1,20 +1,6 @@
--- ---
Cop/StaticTranslationDefinition: Cop/StaticTranslationDefinition:
Exclude: Exclude:
- 'app/models/application_setting.rb'
- 'app/models/diff_viewer/image.rb' - 'app/models/diff_viewer/image.rb'
- 'app/models/diff_viewer/rich.rb' - 'app/models/diff_viewer/rich.rb'
- 'app/models/diff_viewer/simple.rb' - 'app/models/diff_viewer/simple.rb'
- 'app/models/group_group_link.rb'
- 'app/models/jira_import_state.rb'
- 'app/models/member.rb'
- 'app/models/project.rb'
- 'app/models/project_group_link.rb'
- 'app/models/user.rb'
- 'app/models/users/banned_user.rb'
- 'ee/app/models/allowed_email_domain.rb'
- 'ee/app/models/dast/site_profile_secret_variable.rb'
- 'ee/app/models/group_merge_request_approval_setting.rb'
- 'ee/app/models/incident_management/escalation_policy.rb'
- 'ee/app/models/incident_management/escalation_rule.rb'
- 'ee/app/models/vulnerabilities/read.rb'

View file

@ -0,0 +1,19 @@
---
Gitlab/NoCodeCoverageComment:
Details: grace period
Exclude:
- 'app/models/integration.rb'
- 'app/services/ci/job_artifacts/destroy_batch_service.rb'
- 'app/workers/database/batched_background_migration/single_database_worker.rb'
- 'config/initializers/net_http_response_patch.rb'
- 'ee/app/models/concerns/geo/replicable_model.rb'
- 'ee/lib/gitlab/geo/replicator.rb'
- 'lib/gitlab/auth/o_auth/session.rb'
- 'lib/gitlab/cleanup/personal_access_tokens.rb'
- 'lib/gitlab/cycle_analytics/summary/defaults.rb'
- 'lib/gitlab/database/background_migration/health_status/signals.rb'
- 'lib/gitlab/seeder.rb'
- 'lib/gitlab/webpack/dev_server_middleware.rb'
- 'lib/tasks/dev.rake'
- 'lib/tasks/gems.rake'
- 'lib/tasks/gitlab/db.rake'

View file

@ -0,0 +1,84 @@
---
Gitlab/ServiceResponse:
Details: grace period
Exclude:
- 'app/services/alert_management/metric_images/upload_service.rb'
- 'app/services/analytics/cycle_analytics/stages/base_service.rb'
- 'app/services/boards/lists/base_update_service.rb'
- 'app/services/branches/delete_service.rb'
- 'app/services/bulk_imports/create_service.rb'
- 'app/services/bulk_imports/export_service.rb'
- 'app/services/ci/build_cancel_service.rb'
- 'app/services/ci/build_erase_service.rb'
- 'app/services/ci/build_unschedule_service.rb'
- 'app/services/ci/prometheus_metrics/observe_histograms_service.rb'
- 'app/services/ci/retry_pipeline_service.rb'
- 'app/services/ci/runners/assign_runner_service.rb'
- 'app/services/ci/runners/register_runner_service.rb'
- 'app/services/ci/runners/set_runner_associated_projects_service.rb'
- 'app/services/concerns/alert_management/responses.rb'
- 'app/services/concerns/services/return_service_responses.rb'
- 'app/services/container_expiration_policies/update_service.rb'
- 'app/services/dependency_proxy/group_settings/update_service.rb'
- 'app/services/dependency_proxy/image_ttl_group_policies/update_service.rb'
- 'app/services/groups/update_statistics_service.rb'
- 'app/services/incident_management/pager_duty/create_incident_issue_service.rb'
- 'app/services/incident_management/pager_duty/process_webhook_service.rb'
- 'app/services/issuable/bulk_update_service.rb'
- 'app/services/jira_import/start_import_service.rb'
- 'app/services/namespaces/package_settings/update_service.rb'
- 'app/services/packages/debian/create_distribution_service.rb'
- 'app/services/packages/mark_package_for_destruction_service.rb'
- 'app/services/packages/rubygems/dependency_resolver_service.rb'
- 'app/services/snippets/base_service.rb'
- 'app/services/snippets/bulk_destroy_service.rb'
- 'app/services/snippets/destroy_service.rb'
- 'app/services/snippets/repository_validation_service.rb'
- 'app/services/snippets/update_statistics_service.rb'
- 'app/services/timelogs/base_service.rb'
- 'app/services/work_items/create_and_link_service.rb'
- 'app/services/work_items/create_from_task_service.rb'
- 'app/services/work_items/delete_task_service.rb'
- 'ee/app/services/analytics/cycle_analytics/value_streams/create_service.rb'
- 'ee/app/services/app_sec/dast/profiles/destroy_service.rb'
- 'ee/app/services/app_sec/dast/scanner_profiles/destroy_service.rb'
- 'ee/app/services/app_sec/dast/scanner_profiles/update_service.rb'
- 'ee/app/services/app_sec/dast/site_profiles/destroy_service.rb'
- 'ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb'
- 'ee/app/services/ee/ci/retry_pipeline_service.rb'
- 'ee/app/services/external_status_checks/create_service.rb'
- 'ee/app/services/external_status_checks/destroy_service.rb'
- 'ee/app/services/external_status_checks/dispatch_service.rb'
- 'ee/app/services/external_status_checks/update_service.rb'
- 'ee/app/services/gitlab_subscriptions/create_trial_or_lead_service.rb'
- 'ee/app/services/group_saml/saml_group_links/create_service.rb'
- 'ee/app/services/iterations/cadences/create_iterations_in_advance_service.rb'
- 'ee/app/services/iterations/cadences/create_service.rb'
- 'ee/app/services/iterations/cadences/destroy_service.rb'
- 'ee/app/services/iterations/cadences/update_service.rb'
- 'ee/app/services/iterations/create_service.rb'
- 'ee/app/services/iterations/delete_service.rb'
- 'ee/app/services/iterations/roll_over_issues_service.rb'
- 'ee/app/services/iterations/update_service.rb'
- 'ee/app/services/security/findings/dismiss_service.rb'
- 'ee/app/services/vulnerabilities/finding_dismiss_service.rb'
- 'ee/app/services/vulnerability_issue_links/create_service.rb'
- 'ee/app/services/vulnerability_issue_links/delete_service.rb'
- 'ee/spec/graphql/mutations/security/finding/dismiss_spec.rb'
- 'spec/controllers/boards/issues_controller_spec.rb'
- 'spec/controllers/import/bulk_imports_controller_spec.rb'
- 'spec/controllers/import/fogbugz_controller_spec.rb'
- 'spec/controllers/projects/alerting/notifications_controller_spec.rb'
- 'spec/controllers/projects/issues_controller_spec.rb'
- 'spec/controllers/projects/pipelines_controller_spec.rb'
- 'spec/controllers/projects/prometheus/alerts_controller_spec.rb'
- 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb'
- 'spec/requests/api/ci/pipelines_spec.rb'
- 'spec/requests/api/ci/runner/runners_post_spec.rb'
- 'spec/requests/api/group_export_spec.rb'
- 'spec/requests/api/issues/issues_spec.rb'
- 'spec/requests/api/project_export_spec.rb'
- 'spec/requests/api/project_import_spec.rb'
- 'spec/requests/projects/incident_management/pagerduty_incidents_spec.rb'
- 'spec/services/bulk_imports/export_service_spec.rb'
- 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb'

View file

@ -854,7 +854,6 @@ Layout/ArgumentAlignment:
- 'spec/rubocop/cop/rspec/be_success_matcher_spec.rb' - 'spec/rubocop/cop/rspec/be_success_matcher_spec.rb'
- 'spec/serializers/feature_flag_entity_spec.rb' - 'spec/serializers/feature_flag_entity_spec.rb'
- 'spec/serializers/feature_flag_serializer_spec.rb' - 'spec/serializers/feature_flag_serializer_spec.rb'
- 'spec/serializers/pipeline_serializer_spec.rb'
- 'spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb' - 'spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb'
- 'spec/services/award_emojis/destroy_service_spec.rb' - 'spec/services/award_emojis/destroy_service_spec.rb'
- 'spec/services/bulk_update_integration_service_spec.rb' - 'spec/services/bulk_update_integration_service_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,203 +1,14 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Layout/FirstArrayElementIndentation: Layout/FirstArrayElementIndentation:
Details: grace period
Exclude: Exclude:
- 'lib/gitlab/email/message/in_product_marketing/trial.rb'
- 'lib/gitlab/email/message/in_product_marketing/verify.rb'
- 'lib/gitlab/import_export/base/relation_factory.rb'
- 'lib/gitlab/import_export/json/streaming_serializer.rb'
- 'lib/gitlab/kroki.rb'
- 'lib/gitlab/object_hierarchy.rb'
- 'lib/gitlab/pagination/keyset/simple_order_builder.rb'
- 'lib/gitlab/project_authorizations.rb'
- 'lib/gitlab/usage_data.rb'
- 'lib/system_check/app/authorized_keys_permission_check.rb'
- 'qa/qa/resource/protected_branch.rb'
- 'qa/qa/specs/features/api/1_manage/group_access_token_spec.rb'
- 'qa/qa/specs/features/api/1_manage/project_access_token_spec.rb'
- 'qa/qa/specs/features/api/1_manage/user_access_termination_spec.rb'
- 'qa/qa/specs/features/api/1_manage/user_inherited_access_spec.rb'
- 'qa/qa/specs/features/api/3_create/gitaly/automatic_failover_and_recovery_spec.rb'
- 'qa/qa/specs/features/api/3_create/gitaly/changing_repository_storage_spec.rb'
- 'qa/qa/specs/features/api/3_create/gitaly/gitaly_mtls_spec.rb'
- 'qa/qa/specs/features/api/3_create/gitaly/praefect_dataloss_spec.rb'
- 'qa/qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb'
- 'qa/qa/specs/features/browser_ui/1_manage/group/transfer_project_spec.rb'
- 'qa/qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_web_ide_from_diff_tab_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb'
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb'
- 'qa/qa/specs/features/ee/api/1_manage/user/minimal_access_user_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/main_index/blob_index_spec.rb'
- 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/nightly_elasticsearch_test_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/4_verify/new_discussion_not_dropping_merge_trains_mr_spec.rb'
- 'spec/controllers/concerns/send_file_upload_spec.rb'
- 'spec/graphql/types/packages/tag_type_spec.rb'
- 'spec/helpers/application_settings_helper_spec.rb'
- 'spec/helpers/commits_helper_spec.rb'
- 'spec/helpers/issuables_description_templates_helper_spec.rb'
- 'spec/helpers/listbox_helper_spec.rb'
- 'spec/helpers/users_helper_spec.rb'
- 'spec/lib/api/helpers/merge_requests_helpers_spec.rb'
- 'spec/lib/banzai/filter/references/label_reference_filter_spec.rb'
- 'spec/lib/csv_builders/stream_spec.rb'
- 'spec/lib/expand_variables_spec.rb'
- 'spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb'
- 'spec/lib/gitlab/background_migration/backfill_integrations_type_new_spec.rb'
- 'spec/lib/gitlab/background_migration/cleanup_orphaned_lfs_objects_projects_spec.rb'
- 'spec/lib/gitlab/background_migration/migrate_merge_request_diff_commit_users_spec.rb'
- 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb'
- 'spec/lib/gitlab/ci/ansi2json_spec.rb'
- 'spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb'
- 'spec/lib/gitlab/ci/config/external/file/artifact_spec.rb'
- 'spec/lib/gitlab/ci/config/external/file/project_spec.rb'
- 'spec/lib/gitlab/ci/config/external/mapper_spec.rb'
- 'spec/lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator_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'
- 'spec/lib/gitlab/ci/variables/builder/group_spec.rb'
- 'spec/lib/gitlab/ci/variables/builder/project_spec.rb'
- 'spec/lib/gitlab/ci/variables/builder_spec.rb'
- 'spec/lib/gitlab/ci/variables/collection/sort_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor/result_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
- 'spec/lib/gitlab/conflict/file_spec.rb'
- 'spec/lib/gitlab/database/each_database_spec.rb'
- 'spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb'
- 'spec/lib/gitlab/database/load_balancing/sticking_spec.rb'
- 'spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb'
- 'spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb'
- 'spec/lib/gitlab/database/partitioning/sliding_list_strategy_spec.rb'
- 'spec/lib/gitlab/database/partitioning/time_partition_spec.rb'
- 'spec/lib/gitlab/database/partitioning_spec.rb'
- 'spec/lib/gitlab/database/similarity_score_spec.rb'
- 'spec/lib/gitlab/diff/char_diff_spec.rb'
- 'spec/lib/gitlab/diff/file_collection_sorter_spec.rb'
- 'spec/lib/gitlab/error_tracking/stack_trace_highlight_decorator_spec.rb'
- 'spec/lib/gitlab/git/repository_spec.rb'
- 'spec/lib/gitlab/gitaly_client/blob_service_spec.rb'
- 'spec/lib/gitlab/github_import/importer/diff_notes_importer_spec.rb'
- 'spec/lib/gitlab/github_import/importer/issues_importer_spec.rb' - 'spec/lib/gitlab/github_import/importer/issues_importer_spec.rb'
- 'spec/lib/gitlab/github_import/importer/lfs_objects_importer_spec.rb'
- 'spec/lib/gitlab/github_import/importer/notes_importer_spec.rb'
- 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb'
- 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb'
- 'spec/lib/gitlab/hook_data/release_builder_spec.rb'
- 'spec/lib/gitlab/import_export/group/tree_restorer_spec.rb'
- 'spec/lib/gitlab/import_export/group/tree_saver_spec.rb'
- 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
- 'spec/lib/gitlab/kubernetes/rollout_instances_spec.rb'
- 'spec/lib/gitlab/middleware/handle_malformed_strings_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/column_order_definition_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/order_spec.rb'
- 'spec/lib/gitlab/project_transfer_spec.rb'
- 'spec/lib/gitlab/prometheus_client_spec.rb'
- 'spec/lib/gitlab/push_options_spec.rb'
- 'spec/lib/gitlab/rack_attack/request_spec.rb'
- 'spec/lib/gitlab/search/abuse_detection_spec.rb'
- 'spec/lib/gitlab/search/found_blob_spec.rb' - 'spec/lib/gitlab/search/found_blob_spec.rb'
- 'spec/lib/gitlab/serializer/ci/variables_spec.rb'
- 'spec/lib/gitlab/sidekiq_config_spec.rb'
- 'spec/lib/gitlab/ssh_public_key_spec.rb'
- 'spec/lib/gitlab/usage_data/topology_spec.rb'
- 'spec/lib/gitlab/usage_data_spec.rb'
- 'spec/lib/gitlab/utils_spec.rb'
- 'spec/lib/gitlab/webpack/manifest_spec.rb'
- 'spec/lib/google_api/cloud_platform/client_spec.rb'
- 'spec/lib/peek/views/bullet_detailed_spec.rb'
- 'spec/lib/system_check/incoming_email_check_spec.rb'
- 'spec/lib/unnested_in_filters/rewriter_spec.rb'
- 'spec/migrations/add_premium_and_ultimate_plan_limits_spec.rb'
- 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb'
- 'spec/migrations/slice_merge_request_diff_commit_migrations_spec.rb'
- 'spec/models/analytics/cycle_analytics/project_stage_spec.rb'
- 'spec/models/application_setting_spec.rb'
- 'spec/models/ci/build_spec.rb'
- 'spec/models/ci/build_trace_spec.rb'
- 'spec/models/ci/daily_build_group_report_result_spec.rb'
- 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/ci/runner_version_spec.rb' - 'spec/models/ci/runner_version_spec.rb'
- 'spec/models/ci/unit_test_spec.rb'
- 'spec/models/clusters/applications/cert_manager_spec.rb'
- 'spec/models/clusters/platforms/kubernetes_spec.rb'
- 'spec/models/commit_collection_spec.rb'
- 'spec/models/compare_spec.rb'
- 'spec/models/concerns/id_in_ordered_spec.rb'
- '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'
- 'spec/models/integrations/chat_message/wiki_page_message_spec.rb'
- 'spec/models/integrations/jira_spec.rb'
- 'spec/models/label_note_spec.rb'
- 'spec/models/merge_request/cleanup_schedule_spec.rb'
- 'spec/models/merge_request_diff_spec.rb'
- 'spec/models/merge_request_spec.rb'
- 'spec/models/operations/feature_flags/strategy_spec.rb'
- 'spec/models/project_group_link_spec.rb'
- 'spec/models/repository_spec.rb' - 'spec/models/repository_spec.rb'
- 'spec/models/user_preference_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/models/wiki_directory_spec.rb'
- 'spec/policies/concerns/crud_policy_helpers_spec.rb'
- 'spec/presenters/ci/build_runner_presenter_spec.rb'
- 'spec/requests/api/ci/jobs_spec.rb'
- 'spec/requests/api/ci/runner/jobs_request_post_spec.rb'
- 'spec/requests/api/ci/runners_spec.rb'
- 'spec/requests/api/deploy_tokens_spec.rb'
- 'spec/requests/api/graphql/ci/config_spec.rb'
- 'spec/requests/api/graphql/ci/jobs_spec.rb'
- 'spec/requests/api/graphql/mutations/uploads/delete_spec.rb'
- 'spec/requests/api/graphql/project/cluster_agents_spec.rb'
- 'spec/requests/api/graphql/project/issue/designs/designs_spec.rb'
- 'spec/requests/api/graphql/project/milestones_spec.rb'
- 'spec/requests/api/graphql/usage_trends_measurements_spec.rb'
- 'spec/requests/api/graphql/work_item_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/task_completion_status_spec.rb' - 'spec/requests/api/task_completion_status_spec.rb'
- 'spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb'
- 'spec/requests/projects/issues_controller_spec.rb'
- 'spec/requests/projects/merge_requests_controller_spec.rb'
- 'spec/serializers/build_trace_entity_spec.rb'
- 'spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb'
- 'spec/serializers/merge_request_poll_widget_entity_spec.rb'
- 'spec/services/award_emojis/copy_service_spec.rb'
- 'spec/services/bulk_update_integration_service_spec.rb'
- 'spec/services/ci/compare_test_reports_service_spec.rb'
- 'spec/services/ci/create_pipeline_service/rules_spec.rb'
- 'spec/services/ci/find_exposed_artifacts_service_spec.rb'
- 'spec/services/design_management/move_designs_service_spec.rb'
- 'spec/services/git/tag_hooks_service_spec.rb'
- 'spec/services/google_cloud/setup_cloudsql_instance_service_spec.rb'
- 'spec/services/import/gitlab_projects/create_project_service_spec.rb'
- 'spec/services/jira_connect/sync_service_spec.rb'
- 'spec/services/merge_requests/link_lfs_objects_service_spec.rb'
- 'spec/services/merge_requests/refresh_service_spec.rb'
- '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/security/merge_reports_service_spec.rb'
- 'spec/services/users/destroy_service_spec.rb'
- 'spec/simplecov_env.rb' - 'spec/simplecov_env.rb'
- 'spec/support/atlassian/jira_connect/schemata.rb' - 'spec/support/atlassian/jira_connect/schemata.rb'
- 'spec/support/capybara.rb' - 'spec/support/capybara.rb'

View file

@ -308,7 +308,6 @@ Layout/FirstHashElementIndentation:
- 'lib/gitlab/asciidoc/include_processor.rb' - 'lib/gitlab/asciidoc/include_processor.rb'
- 'lib/gitlab/auth/otp/strategies/forti_token_cloud.rb' - 'lib/gitlab/auth/otp/strategies/forti_token_cloud.rb'
- 'lib/gitlab/ci/config/entry/processable.rb' - 'lib/gitlab/ci/config/entry/processable.rb'
- 'lib/gitlab/config_checker/external_database_checker.rb'
- 'lib/gitlab/database/query_analyzers/gitlab_schemas_metrics.rb' - 'lib/gitlab/database/query_analyzers/gitlab_schemas_metrics.rb'
- 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb'
- 'lib/gitlab/github_import/importer/diff_note_importer.rb' - 'lib/gitlab/github_import/importer/diff_note_importer.rb'
@ -471,7 +470,6 @@ Layout/FirstHashElementIndentation:
- 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb' - 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb'
- 'spec/lib/gitlab/ci/reports/terraform_reports_spec.rb' - 'spec/lib/gitlab/ci/reports/terraform_reports_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb' - 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
- 'spec/lib/gitlab/config_checker/external_database_checker_spec.rb'
- 'spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb' - 'spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb'
- 'spec/lib/gitlab/data_builder/build_spec.rb' - 'spec/lib/gitlab/data_builder/build_spec.rb'
- 'spec/lib/gitlab/data_builder/issuable_spec.rb' - 'spec/lib/gitlab/data_builder/issuable_spec.rb'
@ -633,7 +631,6 @@ Layout/FirstHashElementIndentation:
- 'spec/support_specs/graphql/arguments_spec.rb' - 'spec/support_specs/graphql/arguments_spec.rb'
- 'spec/support_specs/graphql/field_selection_spec.rb' - 'spec/support_specs/graphql/field_selection_spec.rb'
- 'spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb' - 'spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb'
- 'spec/tasks/gitlab/backup_rake_spec.rb'
- 'spec/tooling/danger/datateam_spec.rb' - 'spec/tooling/danger/datateam_spec.rb'
- 'spec/tooling/lib/tooling/kubernetes_client_spec.rb' - 'spec/tooling/lib/tooling/kubernetes_client_spec.rb'
- 'spec/views/projects/issues/_issue.html.haml_spec.rb' - 'spec/views/projects/issues/_issue.html.haml_spec.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

@ -418,7 +418,6 @@ Layout/SpaceInsideParens:
- 'spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb' - 'spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/releases_shared_examples.rb' - 'spec/support/shared_examples/requests/releases_shared_examples.rb'
- 'spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb' - 'spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb'
- 'spec/tasks/gitlab/backup_rake_spec.rb'
- 'spec/tasks/gitlab/db_rake_spec.rb' - 'spec/tasks/gitlab/db_rake_spec.rb'
- 'spec/validators/devise_email_validator_spec.rb' - 'spec/validators/devise_email_validator_spec.rb'
- 'spec/views/shared/runners/_runner_details.html.haml_spec.rb' - 'spec/views/shared/runners/_runner_details.html.haml_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

@ -1,18 +1,25 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Lint/RedundantCopDisableDirective: Lint/RedundantCopDisableDirective:
# This cop can only be enabled after enabling all cops which are currently # Used to be enabled in "grace period" and is now disabled due to too many
# disabled. Otherwise we'll see RuboCop complaining depending on # silenced offenses.
# REVEAL_RUBOCOP_TODO environment variable. # See https://gitlab.com/gitlab-org/gitlab/-/issues/376133
Enabled: false Enabled: false
Exclude: Exclude:
- 'app/controllers/concerns/enforces_two_factor_authentication.rb'
- 'app/controllers/concerns/web_hooks/hook_log_actions.rb'
- 'app/controllers/groups/autocomplete_sources_controller.rb'
- 'app/controllers/groups/labels_controller.rb'
- 'app/controllers/projects/merge_requests/diffs_controller.rb'
- 'app/finders/autocomplete/acts_as_taggable_on/tags_finder.rb' - 'app/finders/autocomplete/acts_as_taggable_on/tags_finder.rb'
- 'app/finders/autocomplete/move_to_project_finder.rb' - 'app/finders/autocomplete/move_to_project_finder.rb'
- 'app/finders/autocomplete/routes_finder.rb' - 'app/finders/autocomplete/routes_finder.rb'
- 'app/finders/autocomplete/users_finder.rb' - 'app/finders/autocomplete/users_finder.rb'
- 'app/finders/ci/daily_build_group_report_results_finder.rb' - 'app/finders/ci/daily_build_group_report_results_finder.rb'
- 'app/finders/ci/runner_jobs_finder.rb'
- 'app/finders/groups_finder.rb' - 'app/finders/groups_finder.rb'
- 'app/finders/users_finder.rb' - 'app/finders/users_finder.rb'
- 'app/graphql/gitlab_schema.rb'
- 'app/graphql/resolvers/concerns/caching_array_resolver.rb' - 'app/graphql/resolvers/concerns/caching_array_resolver.rb'
- 'app/graphql/resolvers/project_milestones_resolver.rb' - 'app/graphql/resolvers/project_milestones_resolver.rb'
- 'app/graphql/types/base_enum.rb' - 'app/graphql/types/base_enum.rb'
@ -20,13 +27,17 @@ Lint/RedundantCopDisableDirective:
- 'app/graphql/types/packages/helm/dependency_type.rb' - 'app/graphql/types/packages/helm/dependency_type.rb'
- 'app/graphql/types/projects/service_type_enum.rb' - 'app/graphql/types/projects/service_type_enum.rb'
- 'app/helpers/diff_helper.rb' - 'app/helpers/diff_helper.rb'
- 'app/helpers/lazy_image_tag_helper.rb'
- 'app/helpers/search_helper.rb' - 'app/helpers/search_helper.rb'
- 'app/models/clusters/cluster.rb'
- 'app/models/concerns/cascading_namespace_setting_attribute.rb' - 'app/models/concerns/cascading_namespace_setting_attribute.rb'
- 'app/models/concerns/from_except.rb' - 'app/models/concerns/from_except.rb'
- 'app/models/concerns/from_intersect.rb' - 'app/models/concerns/from_intersect.rb'
- 'app/models/concerns/from_union.rb' - 'app/models/concerns/from_union.rb'
- 'app/models/project_statistics.rb'
- 'app/models/user.rb' - 'app/models/user.rb'
- 'app/presenters/dev_ops_report/metric_presenter.rb' - 'app/presenters/dev_ops_report/metric_presenter.rb'
- 'app/presenters/packages/nuget/search_results_presenter.rb'
- 'app/serializers/diffs_entity.rb' - 'app/serializers/diffs_entity.rb'
- 'app/serializers/fork_namespace_entity.rb' - 'app/serializers/fork_namespace_entity.rb'
- 'app/services/ci/job_artifacts/destroy_batch_service.rb' - 'app/services/ci/job_artifacts/destroy_batch_service.rb'
@ -35,25 +46,35 @@ Lint/RedundantCopDisableDirective:
- 'app/services/database/consistency_check_service.rb' - 'app/services/database/consistency_check_service.rb'
- 'app/services/issues/export_csv_service.rb' - 'app/services/issues/export_csv_service.rb'
- 'app/services/labels/transfer_service.rb' - 'app/services/labels/transfer_service.rb'
- 'app/services/members/create_service.rb'
- 'app/services/members/creator_service.rb'
- 'app/services/members/projects/creator_service.rb'
- 'app/services/members/standard_member_builder.rb'
- 'app/services/projects/auto_devops/disable_service.rb' - 'app/services/projects/auto_devops/disable_service.rb'
- 'app/services/projects/open_issues_count_service.rb' - 'app/services/projects/open_issues_count_service.rb'
- 'app/services/spam/spam_action_service.rb' - 'app/services/spam/spam_action_service.rb'
- 'app/services/users/migrate_to_ghost_user_service.rb' - 'app/services/users/migrate_to_ghost_user_service.rb'
- 'app/services/web_hooks/destroy_service.rb' - 'app/services/web_hook_service.rb'
- 'app/uploaders/object_storage/cdn/google_ip_cache.rb'
- 'app/workers/authorized_project_update/user_refresh_over_user_range_worker.rb' - 'app/workers/authorized_project_update/user_refresh_over_user_range_worker.rb'
- 'app/workers/build_hooks_worker.rb'
- 'app/workers/bulk_imports/entity_worker.rb' - 'app/workers/bulk_imports/entity_worker.rb'
- 'app/workers/container_expiration_policy_worker.rb' - 'app/workers/ci/track_failed_build_worker.rb'
- 'app/workers/container_registry/migration/enqueuer_worker.rb'
- 'app/workers/create_note_diff_file_worker.rb' - 'app/workers/create_note_diff_file_worker.rb'
- 'app/workers/import_issues_csv_worker.rb' - 'app/workers/import_issues_csv_worker.rb'
- 'app/workers/incident_management/process_alert_worker_v2.rb' - 'app/workers/incident_management/process_alert_worker_v2.rb'
- 'app/workers/merge_worker.rb' - 'app/workers/merge_worker.rb'
- 'app/workers/remove_unaccepted_member_invites_worker.rb' - 'app/workers/remove_unaccepted_member_invites_worker.rb'
- 'config/initializers/warden.rb' - 'config/initializers/warden.rb'
- 'config/initializers/wikicloth_redos_patch.rb' - 'config/initializers/wikicloth_ruby_3_patch.rb'
- 'config/routes/api.rb' - 'config/routes/api.rb'
- 'db/migrate/20210303193544_add_concurrent_fields_to_bulk_imports_trackers.rb' - 'db/migrate/20210303193544_add_concurrent_fields_to_bulk_imports_trackers.rb'
- 'db/migrate/20210917134321_remove_temporary_index_for_project_topics_on_taggings.rb' - 'db/migrate/20210917134321_remove_temporary_index_for_project_topics_on_taggings.rb'
- 'db/migrate/20211013014228_add_content_validation_endpoint_to_application_settings.rb' - 'db/migrate/20211013014228_add_content_validation_endpoint_to_application_settings.rb'
- 'db/migrate/20220316022505_create_namespace_details.rb'
- 'db/migrate/20220421141342_add_allowed_plans_to_ci_runners.rb'
- 'db/migrate/20220531024905_add_operations_access_levels_to_project_feature.rb'
- 'db/post_migrate/20210610042700_remove_clusters_applications_fluentd_table.rb' - 'db/post_migrate/20210610042700_remove_clusters_applications_fluentd_table.rb'
- 'db/post_migrate/20210708011426_finalize_ci_builds_metadata_bigint_conversion.rb' - 'db/post_migrate/20210708011426_finalize_ci_builds_metadata_bigint_conversion.rb'
- 'db/post_migrate/20210730104800_schedule_extract_project_topics_into_separate_table.rb' - 'db/post_migrate/20210730104800_schedule_extract_project_topics_into_separate_table.rb'
@ -62,8 +83,12 @@ Lint/RedundantCopDisableDirective:
- 'db/post_migrate/20211028100303_tmp_index_for_delete_issue_merge_request_taggings_records.rb' - 'db/post_migrate/20211028100303_tmp_index_for_delete_issue_merge_request_taggings_records.rb'
- 'db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb' - 'db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb'
- 'db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb' - 'db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb'
- 'db/post_migrate/20220720090354_remove_pending_builds_covering_index_from_ci_builds.rb'
- 'db/post_migrate/20220902204048_move_security_findings_table_to_gitlab_partitions_dynamic_schema.rb'
- 'ee/app/controllers/ee/groups/group_members_controller.rb' - 'ee/app/controllers/ee/groups/group_members_controller.rb'
- 'ee/app/controllers/ee/projects/settings/ci_cd_controller.rb'
- 'ee/app/controllers/groups/todos_controller.rb' - 'ee/app/controllers/groups/todos_controller.rb'
- 'ee/app/experiments/cart_abandonment_modal_experiment.rb'
- 'ee/app/finders/geo/file_registry_finder.rb' - 'ee/app/finders/geo/file_registry_finder.rb'
- 'ee/app/finders/geo/project_registry_finder.rb' - 'ee/app/finders/geo/project_registry_finder.rb'
- 'ee/app/finders/geo/registry_finder.rb' - 'ee/app/finders/geo/registry_finder.rb'
@ -72,13 +97,16 @@ Lint/RedundantCopDisableDirective:
- 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb' - 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb'
- 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb' - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb'
- 'ee/app/graphql/types/scan_type.rb' - 'ee/app/graphql/types/scan_type.rb'
- 'ee/app/graphql/types/vulnerability_request_type.rb'
- 'ee/app/helpers/ee/boards_helper.rb' - 'ee/app/helpers/ee/boards_helper.rb'
- 'ee/app/helpers/ee/namespaces_helper.rb'
- 'ee/app/helpers/projects/on_demand_scans_helper.rb' - 'ee/app/helpers/projects/on_demand_scans_helper.rb'
- 'ee/app/models/dast/branch.rb'
- 'ee/app/models/ee/vulnerability.rb' - 'ee/app/models/ee/vulnerability.rb'
- 'ee/app/models/geo/event_log.rb' - 'ee/app/models/geo/event_log.rb'
- 'ee/app/services/analytics/cycle_analytics/consistency_check_service.rb'
- 'ee/app/services/analytics/cycle_analytics/data_loader_service.rb' - 'ee/app/services/analytics/cycle_analytics/data_loader_service.rb'
- 'ee/app/services/ee/boards/issues/list_service.rb' - 'ee/app/services/ee/boards/issues/list_service.rb'
- 'ee/app/services/ee/ci/queue/build_queue_service.rb'
- 'ee/app/services/ee/search_service.rb' - 'ee/app/services/ee/search_service.rb'
- 'ee/app/services/ee/users/migrate_to_ghost_user_service.rb' - 'ee/app/services/ee/users/migrate_to_ghost_user_service.rb'
- 'ee/app/services/geo/repository_base_sync_service.rb' - 'ee/app/services/geo/repository_base_sync_service.rb'
@ -92,20 +120,30 @@ Lint/RedundantCopDisableDirective:
- 'ee/db/geo/migrate/20210504143244_add_verification_to_merge_request_diff_registry.rb' - 'ee/db/geo/migrate/20210504143244_add_verification_to_merge_request_diff_registry.rb'
- 'ee/lib/analytics/merge_request_metrics_calculator.rb' - 'ee/lib/analytics/merge_request_metrics_calculator.rb'
- 'ee/lib/api/audit_events.rb' - 'ee/lib/api/audit_events.rb'
- 'ee/lib/api/scim.rb'
- 'ee/lib/ee/api/entities/analytics/code_review/merge_request.rb' - 'ee/lib/ee/api/entities/analytics/code_review/merge_request.rb'
- 'ee/lib/ee/api/settings.rb' - 'ee/lib/ee/gitlab/background_migration/backfill_epic_cache_counts.rb'
- 'ee/lib/ee/gitlab/background_migration/migrate_shared_vulnerability_scanners.rb'
- 'ee/lib/ee/gitlab/background_migration/purge_stale_security_scans.rb'
- 'ee/lib/ee/gitlab/usage_data.rb' - 'ee/lib/ee/gitlab/usage_data.rb'
- 'ee/lib/elastic/latest/git_class_proxy.rb'
- 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb' - 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb'
- 'ee/lib/gitlab/elastic/bool_expr.rb'
- 'ee/lib/gitlab/spdx/license.rb'
- 'ee/lib/gitlab/status_page/storage/object.rb'
- 'ee/spec/features/boards/user_visits_board_spec.rb'
- 'ee/spec/features/groups/settings/domain_verification_spec.rb'
- 'ee/spec/helpers/ee/releases_helper_spec.rb' - 'ee/spec/helpers/ee/releases_helper_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/backfill_project_statistics_container_repository_size_spec.rb'
- 'ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb' - 'ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb'
- 'ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb' - 'ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb'
- 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb' - 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb'
- 'ee/spec/services/security/merge_reports_service_spec.rb' - 'ee/spec/services/security/merge_reports_service_spec.rb'
- 'ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb' - 'ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb' - 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb'
- 'lib/api/api.rb' - 'lib/api/api.rb'
- 'lib/api/ci/variables.rb' - 'lib/api/ci/variables.rb'
- 'lib/api/entities/environment.rb'
- 'lib/api/entities/issuable_time_stats.rb' - 'lib/api/entities/issuable_time_stats.rb'
- 'lib/api/helpers.rb' - 'lib/api/helpers.rb'
- 'lib/bulk_imports/common/transformers/user_reference_transformer.rb' - 'lib/bulk_imports/common/transformers/user_reference_transformer.rb'
@ -115,24 +153,32 @@ Lint/RedundantCopDisableDirective:
- 'lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb' - 'lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb'
- 'lib/gitlab/analytics/cycle_analytics/base_query_builder.rb' - 'lib/gitlab/analytics/cycle_analytics/base_query_builder.rb'
- 'lib/gitlab/analytics/cycle_analytics/records_fetcher.rb' - 'lib/gitlab/analytics/cycle_analytics/records_fetcher.rb'
- 'lib/gitlab/application_context.rb'
- 'lib/gitlab/background_migration/backfill_issue_search_data.rb' - 'lib/gitlab/background_migration/backfill_issue_search_data.rb'
- 'lib/gitlab/background_migration/backfill_project_statistics_container_repository_size.rb'
- 'lib/gitlab/background_migration/batching_strategies/loose_index_scan_batching_strategy.rb'
- 'lib/gitlab/background_migration/drop_invalid_vulnerabilities.rb' - 'lib/gitlab/background_migration/drop_invalid_vulnerabilities.rb'
- 'lib/gitlab/background_migration/fix_merge_request_diff_commit_users.rb'
- 'lib/gitlab/background_migration/migrate_personal_namespace_project_maintainer_to_owner.rb' - 'lib/gitlab/background_migration/migrate_personal_namespace_project_maintainer_to_owner.rb'
- 'lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb' - 'lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb'
- 'lib/gitlab/background_migration/remove_duplicate_vulnerabilities_findings.rb'
- 'lib/gitlab/background_migration/remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings.rb'
- 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb' - 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb'
- 'lib/gitlab/bitbucket_import/importer.rb' - 'lib/gitlab/bitbucket_import/importer.rb'
- 'lib/gitlab/buffered_io.rb'
- 'lib/gitlab/cache/request_cache.rb' - 'lib/gitlab/cache/request_cache.rb'
- 'lib/gitlab/ci/build/artifacts/metadata/entry.rb' - 'lib/gitlab/ci/build/artifacts/metadata/entry.rb'
- 'lib/gitlab/ci/pipeline/chain/command.rb'
- 'lib/gitlab/ci/pipeline/duration.rb' - 'lib/gitlab/ci/pipeline/duration.rb'
- 'lib/gitlab/ci/reports/accessibility_reports.rb' - 'lib/gitlab/ci/reports/accessibility_reports.rb'
- 'lib/gitlab/ci/reports/test_reports.rb' - 'lib/gitlab/ci/reports/test_report.rb'
- 'lib/gitlab/ci/reports/test_reports_comparer.rb' - 'lib/gitlab/ci/reports/test_reports_comparer.rb'
- 'lib/gitlab/ci/reports/test_suite.rb' - 'lib/gitlab/ci/reports/test_suite.rb'
- 'lib/gitlab/ci/reports/test_suite_summary.rb' - 'lib/gitlab/ci/reports/test_suite_summary.rb'
- 'lib/gitlab/cleanup/personal_access_tokens.rb'
- 'lib/gitlab/composer/cache.rb' - 'lib/gitlab/composer/cache.rb'
- 'lib/gitlab/database/consistency_checker.rb' - 'lib/gitlab/database/consistency_checker.rb'
- 'lib/gitlab/database/migration.rb' - 'lib/gitlab/database/migration.rb'
- 'lib/gitlab/database/migrations/observation.rb'
- 'lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb' - 'lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb'
- 'lib/gitlab/diff/file.rb' - 'lib/gitlab/diff/file.rb'
- 'lib/gitlab/diff/file_collection/merge_request_diff_batch.rb' - 'lib/gitlab/diff/file_collection/merge_request_diff_batch.rb'
@ -140,52 +186,95 @@ Lint/RedundantCopDisableDirective:
- 'lib/gitlab/diff/parser.rb' - 'lib/gitlab/diff/parser.rb'
- 'lib/gitlab/encrypted_ldap_command.rb' - 'lib/gitlab/encrypted_ldap_command.rb'
- 'lib/gitlab/encrypted_smtp_command.rb' - 'lib/gitlab/encrypted_smtp_command.rb'
- 'lib/gitlab/git/commit.rb'
- 'lib/gitlab/git/patches/collection.rb' - 'lib/gitlab/git/patches/collection.rb'
- 'lib/gitlab/github_import/user_finder.rb' - 'lib/gitlab/github_import/user_finder.rb'
- 'lib/gitlab/gitlab_import/importer.rb' - 'lib/gitlab/gitlab_import/importer.rb'
- 'lib/gitlab/graphql/pagination/keyset/connection.rb' - 'lib/gitlab/graphql/pagination/keyset/connection.rb'
- 'lib/gitlab/health_checks/metric.rb'
- 'lib/gitlab/health_checks/probes/status.rb'
- 'lib/gitlab/health_checks/result.rb'
- 'lib/gitlab/legacy_github_import/user_formatter.rb' - 'lib/gitlab/legacy_github_import/user_formatter.rb'
- 'lib/gitlab/middleware/release_env.rb'
- 'lib/gitlab/object_hierarchy.rb' - 'lib/gitlab/object_hierarchy.rb'
- 'lib/gitlab/pagination/keyset/pager.rb' - 'lib/gitlab/pagination/keyset/pager.rb'
- 'lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb' - 'lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb'
- 'lib/gitlab/profiler.rb' - 'lib/gitlab/profiler.rb'
- 'lib/gitlab/project_search_results.rb' - 'lib/gitlab/project_search_results.rb'
- 'lib/gitlab/redis/hll.rb' - 'lib/gitlab/redis/hll.rb'
- 'lib/gitlab/search/sort_options.rb'
- 'lib/gitlab/slash_commands/issue_search.rb' - 'lib/gitlab/slash_commands/issue_search.rb'
- 'lib/gitlab/slash_commands/result.rb'
- 'lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb'
- 'lib/gitlab/usage_data.rb' - 'lib/gitlab/usage_data.rb'
- 'lib/gitlab/usage_data_queries.rb' - 'lib/gitlab/usage_data_queries.rb'
- 'lib/gitlab/utils/usage_data.rb' - 'lib/gitlab/utils/usage_data.rb'
- 'lib/gitlab/x509/signature.rb'
- 'lib/tasks/gitlab/cleanup.rake' - 'lib/tasks/gitlab/cleanup.rake'
- 'qa/tasks/ci.rake'
- 'scripts/lib/glfm/render_static_html.rb'
- 'scripts/security-harness' - 'scripts/security-harness'
- 'sidekiq_cluster/cli.rb' - 'sidekiq_cluster/cli.rb'
- 'sidekiq_cluster/sidekiq_cluster.rb' - 'sidekiq_cluster/sidekiq_cluster.rb'
- 'spec/components/previews/pajamas/banner_component_preview.rb'
- 'spec/fixtures/packages/rubygems/package.gemspec'
- 'spec/frontend/fixtures/merge_requests.rb' - 'spec/frontend/fixtures/merge_requests.rb'
- 'spec/graphql/mutations/clusters/agent_tokens/create_spec.rb'
- 'spec/graphql/mutations/clusters/agents/create_spec.rb'
- 'spec/graphql/mutations/clusters/agents/delete_spec.rb'
- 'spec/graphql/mutations/commits/create_spec.rb'
- 'spec/graphql/resolvers/base_resolver_spec.rb'
- 'spec/helpers/releases_helper_spec.rb' - 'spec/helpers/releases_helper_spec.rb'
- 'spec/initializers/memory_watchdog_spec.rb'
- 'spec/lib/gitlab/avatar_cache_spec.rb' - 'spec/lib/gitlab/avatar_cache_spec.rb'
- 'spec/lib/gitlab/background_migration/batching_strategies/backfill_issue_work_item_type_batching_strategy_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_cluster_agents_has_vulnerabilities_spec.rb'
- 'spec/lib/gitlab/background_migration/backfill_project_member_namespace_id_spec.rb'
- 'spec/lib/gitlab/background_migration/backfill_vulnerability_reads_cluster_agent_spec.rb'
- 'spec/lib/gitlab/background_migration/batching_strategies/backfill_project_statistics_with_container_registry_size_batching_strategy_spec.rb'
- 'spec/lib/gitlab/background_migration/batching_strategies/remove_backfilled_job_artifacts_expire_at_batching_strategy_spec.rb'
- 'spec/lib/gitlab/background_migration/disable_expiration_policies_linked_to_no_container_images_spec.rb' - 'spec/lib/gitlab/background_migration/disable_expiration_policies_linked_to_no_container_images_spec.rb'
- 'spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_encrypted_values_on_projects_spec.rb' - 'spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_encrypted_values_on_projects_spec.rb'
- 'spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects_spec.rb' - 'spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects_spec.rb'
- 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb'
- 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb' - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb'
- 'spec/lib/gitlab/doorkeeper_secret_storing/secret/pbkdf2_sha512_spec.rb'
- 'spec/lib/gitlab/doorkeeper_secret_storing/token/pbkdf2_sha512_spec.rb'
- 'spec/lib/gitlab/git/tree_spec.rb' - 'spec/lib/gitlab/git/tree_spec.rb'
- 'spec/lib/gitlab/import_export/project/relation_saver_spec.rb'
- 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb' - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb'
- 'spec/lib/gitlab/rack_attack/request_spec.rb'
- 'spec/lib/gitlab/shard_health_cache_spec.rb' - 'spec/lib/gitlab/shard_health_cache_spec.rb'
- 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb'
- 'spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb'
- 'spec/lib/initializer_connections_spec.rb'
- 'spec/metrics_server/metrics_server_spec.rb' - 'spec/metrics_server/metrics_server_spec.rb'
- 'spec/migrations/20220725150127_update_jira_tracker_data_deployment_type_based_on_url_spec.rb'
- 'spec/migrations/reschedule_backfill_imported_issue_search_data_spec.rb'
- 'spec/models/ci/build_trace_chunk_spec.rb' - 'spec/models/ci/build_trace_chunk_spec.rb'
- 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/namespace/package_setting_spec.rb' - 'spec/models/namespace/package_setting_spec.rb'
- 'spec/models/namespace_spec.rb' - 'spec/models/namespace_spec.rb'
- 'spec/models/project_feature_spec.rb'
- 'spec/models/project_spec.rb'
- 'spec/presenters/packages/nuget/search_results_presenter_spec.rb'
- 'spec/presenters/packages/pypi/simple_index_presenter_spec.rb'
- 'spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb'
- 'spec/requests/api/alert_management_alerts_spec.rb' - 'spec/requests/api/alert_management_alerts_spec.rb'
- 'spec/requests/api/graphql/ci/config_spec.rb'
- 'spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb' - 'spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb'
- 'spec/services/alert_management/metric_images/upload_service_spec.rb' - 'spec/services/alert_management/metric_images/upload_service_spec.rb'
- 'spec/services/suggestions/apply_service_spec.rb' - 'spec/services/projects/update_statistics_service_spec.rb'
- 'spec/services/spam/spam_verdict_service_spec.rb'
- 'spec/services/topics/merge_service_spec.rb'
- 'spec/support/forgery_protection.rb'
- 'spec/support/helpers/snowplow_helpers.rb' - 'spec/support/helpers/snowplow_helpers.rb'
- 'spec/support/helpers/wait_for_requests.rb' - 'spec/support/helpers/wait_for_requests.rb'
- 'spec/support/shared_examples/lib/gitlab/local_and_remote_storage_migration_shared_examples.rb'
- 'spec/support/shared_examples/models/boards/listable_shared_examples.rb' - 'spec/support/shared_examples/models/boards/listable_shared_examples.rb'
- 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb' - 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb'
- 'spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb' - 'spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb' - 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb'
- 'spec/tasks/gitlab/db/validate_config_rake_spec.rb'
- 'spec/uploaders/packages/composer/cache_uploader_spec.rb' - 'spec/uploaders/packages/composer/cache_uploader_spec.rb'
- 'tooling/danger/product_intelligence.rb' - 'tooling/danger/product_intelligence.rb'
- 'tooling/lib/tooling/helm3_client.rb' - 'tooling/lib/tooling/helm3_client.rb'

View file

@ -12,3 +12,4 @@ Metrics/AbcSize:
- 'lib/gitlab/analytics/cycle_analytics/request_params.rb' - 'lib/gitlab/analytics/cycle_analytics/request_params.rb'
- 'lib/gitlab/sidekiq_middleware/server_metrics.rb' - 'lib/gitlab/sidekiq_middleware/server_metrics.rb'
- 'qa/qa/resource/repository/push.rb' - 'qa/qa/resource/repository/push.rb'
- 'ee/db/seeds/awesome_co/**/*.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

@ -1,12 +1,9 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Rails/ActiveRecordCallbacksOrder: Rails/ActiveRecordCallbacksOrder:
# Offense count: 30 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/models/award_emoji.rb' - 'app/models/award_emoji.rb'
- 'app/models/ci/job_artifact.rb'
- 'app/models/gpg_key.rb' - 'app/models/gpg_key.rb'
- 'app/models/group.rb' - 'app/models/group.rb'
- 'app/models/issue.rb' - 'app/models/issue.rb'

View file

@ -1,10 +1,7 @@
--- ---
Rails/FilePath: Rails/FilePath:
# Offense count: 212 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/controllers/clusters/clusters_controller.rb'
- 'app/controllers/help_controller.rb' - 'app/controllers/help_controller.rb'
- 'app/helpers/startupjs_helper.rb' - 'app/helpers/startupjs_helper.rb'
- 'app/models/clusters/applications/cert_manager.rb' - 'app/models/clusters/applications/cert_manager.rb'
@ -29,6 +26,7 @@ Rails/FilePath:
- 'ee/db/fixtures/development/21_dast_profiles.rb' - 'ee/db/fixtures/development/21_dast_profiles.rb'
- 'ee/db/fixtures/development/32_compliance_report_violations.rb' - 'ee/db/fixtures/development/32_compliance_report_violations.rb'
- 'ee/lib/ee/feature/definition.rb' - 'ee/lib/ee/feature/definition.rb'
- 'ee/lib/ee/gitlab/audit/type/definition.rb'
- 'ee/lib/ee/gitlab/usage/metric_definition.rb' - 'ee/lib/ee/gitlab/usage/metric_definition.rb'
- 'ee/lib/gitlab/geo/health_check.rb' - 'ee/lib/gitlab/geo/health_check.rb'
- 'ee/lib/tasks/gitlab/seed/metrics.rake' - 'ee/lib/tasks/gitlab/seed/metrics.rake'
@ -48,6 +46,8 @@ Rails/FilePath:
- 'lib/api/api.rb' - 'lib/api/api.rb'
- 'lib/error_tracking/collector/payload_validator.rb' - 'lib/error_tracking/collector/payload_validator.rb'
- 'lib/feature/definition.rb' - 'lib/feature/definition.rb'
- 'lib/gitlab/audit/type/definition.rb'
- 'lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator.rb'
- 'lib/gitlab/ci/reports/codequality_reports.rb' - 'lib/gitlab/ci/reports/codequality_reports.rb'
- 'lib/gitlab/database/migrations/runner.rb' - 'lib/gitlab/database/migrations/runner.rb'
- 'lib/gitlab/favicon.rb' - 'lib/gitlab/favicon.rb'
@ -69,14 +69,17 @@ Rails/FilePath:
- 'lib/system_check/app/systemd_unit_files_or_init_script_up_to_date_check.rb' - 'lib/system_check/app/systemd_unit_files_or_init_script_up_to_date_check.rb'
- 'lib/system_check/app/uploads_directory_exists_check.rb' - 'lib/system_check/app/uploads_directory_exists_check.rb'
- 'lib/system_check/incoming_email/imap_authentication_check.rb' - 'lib/system_check/incoming_email/imap_authentication_check.rb'
- 'lib/tasks/gitlab/db.rake'
- 'lib/tasks/gitlab/metrics_exporter.rake' - 'lib/tasks/gitlab/metrics_exporter.rake'
- 'lib/tasks/gitlab/usage_data.rake'
- 'lib/tasks/tanuki_emoji.rake' - 'lib/tasks/tanuki_emoji.rake'
- 'metrics_server/metrics_server.rb' - 'metrics_server/metrics_server.rb'
- 'spec/commands/metrics_server/metrics_server_spec.rb' - 'spec/commands/metrics_server/metrics_server_spec.rb'
- 'spec/config/object_store_settings_spec.rb' - 'spec/config/object_store_settings_spec.rb'
- 'spec/controllers/help_controller_spec.rb' - 'spec/db/development/add_security_training_providers_spec.rb'
- 'spec/db/development/create_base_work_item_types_spec.rb' - 'spec/db/development/create_base_work_item_types_spec.rb'
- 'spec/db/development/import_common_metrics_spec.rb' - 'spec/db/development/import_common_metrics_spec.rb'
- 'spec/db/production/add_security_training_providers_spec.rb'
- 'spec/db/production/create_base_work_item_types_spec.rb' - 'spec/db/production/create_base_work_item_types_spec.rb'
- 'spec/db/production/import_common_metrics_spec.rb' - 'spec/db/production/import_common_metrics_spec.rb'
- 'spec/db/schema_spec.rb' - 'spec/db/schema_spec.rb'
@ -100,7 +103,6 @@ Rails/FilePath:
- 'spec/features/projects/settings/repository_settings_spec.rb' - 'spec/features/projects/settings/repository_settings_spec.rb'
- 'spec/features/projects/settings/user_changes_avatar_spec.rb' - 'spec/features/projects/settings/user_changes_avatar_spec.rb'
- 'spec/features/projects/snippets/create_snippet_spec.rb' - 'spec/features/projects/snippets/create_snippet_spec.rb'
- 'spec/features/projects/tags/user_edits_tags_spec.rb'
- 'spec/features/projects/tree/upload_file_spec.rb' - 'spec/features/projects/tree/upload_file_spec.rb'
- 'spec/features/snippets/user_creates_snippet_spec.rb' - 'spec/features/snippets/user_creates_snippet_spec.rb'
- 'spec/features/snippets/user_edits_snippet_spec.rb' - 'spec/features/snippets/user_edits_snippet_spec.rb'
@ -127,10 +129,12 @@ Rails/FilePath:
- 'spec/models/clusters/applications/cert_manager_spec.rb' - 'spec/models/clusters/applications/cert_manager_spec.rb'
- 'spec/models/release_highlight_spec.rb' - 'spec/models/release_highlight_spec.rb'
- 'spec/requests/api/internal/mail_room_spec.rb' - 'spec/requests/api/internal/mail_room_spec.rb'
- 'spec/requests/api/usage_data_queries_spec.rb'
- 'spec/serializers/review_app_setup_entity_spec.rb' - 'spec/serializers/review_app_setup_entity_spec.rb'
- 'spec/services/clusters/aws/fetch_credentials_service_spec.rb' - 'spec/services/clusters/aws/fetch_credentials_service_spec.rb'
- 'spec/services/clusters/aws/provision_service_spec.rb' - 'spec/services/clusters/aws/provision_service_spec.rb'
- 'spec/services/metrics/sample_metrics_service_spec.rb' - 'spec/services/metrics/sample_metrics_service_spec.rb'
- 'spec/support/helpers/doc_url_helper.rb'
- 'spec/support/helpers/test_env.rb' - 'spec/support/helpers/test_env.rb'
- 'spec/support/helpers/upload_helpers.rb' - 'spec/support/helpers/upload_helpers.rb'
- 'spec/support/shared_examples/features/project_upload_files_shared_examples.rb' - 'spec/support/shared_examples/features/project_upload_files_shared_examples.rb'
@ -139,3 +143,4 @@ Rails/FilePath:
- 'spec/support/shared_examples/models/wiki_shared_examples.rb' - 'spec/support/shared_examples/models/wiki_shared_examples.rb'
- 'spec/tasks/gitlab/db_rake_spec.rb' - 'spec/tasks/gitlab/db_rake_spec.rb'
- 'spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb' - 'spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb'
- 'spec/tasks/gitlab/usage_data_rake_spec.rb'

View file

@ -1,8 +1,6 @@
--- ---
Rails/HelperInstanceVariable: Rails/HelperInstanceVariable:
# Offense count: 671 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/helpers/admin/user_actions_helper.rb' - 'app/helpers/admin/user_actions_helper.rb'
- 'app/helpers/application_helper.rb' - 'app/helpers/application_helper.rb'
@ -29,7 +27,6 @@ Rails/HelperInstanceVariable:
- 'app/helpers/icons_helper.rb' - 'app/helpers/icons_helper.rb'
- 'app/helpers/ide_helper.rb' - 'app/helpers/ide_helper.rb'
- 'app/helpers/import_helper.rb' - 'app/helpers/import_helper.rb'
- 'app/helpers/integrations_helper.rb'
- 'app/helpers/issuables_description_templates_helper.rb' - 'app/helpers/issuables_description_templates_helper.rb'
- 'app/helpers/issuables_helper.rb' - 'app/helpers/issuables_helper.rb'
- 'app/helpers/issues_helper.rb' - 'app/helpers/issues_helper.rb'
@ -40,6 +37,7 @@ Rails/HelperInstanceVariable:
- 'app/helpers/nav_helper.rb' - 'app/helpers/nav_helper.rb'
- 'app/helpers/notes_helper.rb' - 'app/helpers/notes_helper.rb'
- 'app/helpers/operations_helper.rb' - 'app/helpers/operations_helper.rb'
- 'app/helpers/packages_helper.rb'
- 'app/helpers/page_layout_helper.rb' - 'app/helpers/page_layout_helper.rb'
- 'app/helpers/projects_helper.rb' - 'app/helpers/projects_helper.rb'
- 'app/helpers/releases_helper.rb' - 'app/helpers/releases_helper.rb'
@ -59,11 +57,13 @@ Rails/HelperInstanceVariable:
- 'app/helpers/webpack_helper.rb' - 'app/helpers/webpack_helper.rb'
- 'app/helpers/wiki_helper.rb' - 'app/helpers/wiki_helper.rb'
- 'ee/app/helpers/ee/application_helper.rb' - 'ee/app/helpers/ee/application_helper.rb'
- 'ee/app/helpers/ee/application_settings_helper.rb'
- 'ee/app/helpers/ee/boards_helper.rb' - 'ee/app/helpers/ee/boards_helper.rb'
- 'ee/app/helpers/ee/feature_flags_helper.rb' - 'ee/app/helpers/ee/feature_flags_helper.rb'
- 'ee/app/helpers/ee/form_helper.rb' - 'ee/app/helpers/ee/form_helper.rb'
- 'ee/app/helpers/ee/graph_helper.rb' - 'ee/app/helpers/ee/graph_helper.rb'
- 'ee/app/helpers/ee/groups/group_members_helper.rb' - 'ee/app/helpers/ee/groups/group_members_helper.rb'
- 'ee/app/helpers/ee/groups/settings_helper.rb'
- 'ee/app/helpers/ee/groups_helper.rb' - 'ee/app/helpers/ee/groups_helper.rb'
- 'ee/app/helpers/ee/integrations_helper.rb' - 'ee/app/helpers/ee/integrations_helper.rb'
- 'ee/app/helpers/ee/kerberos_helper.rb' - 'ee/app/helpers/ee/kerberos_helper.rb'
@ -77,7 +77,8 @@ Rails/HelperInstanceVariable:
- 'ee/app/helpers/ee/projects_helper.rb' - 'ee/app/helpers/ee/projects_helper.rb'
- 'ee/app/helpers/ee/search_helper.rb' - 'ee/app/helpers/ee/search_helper.rb'
- 'ee/app/helpers/ee/selects_helper.rb' - 'ee/app/helpers/ee/selects_helper.rb'
- 'ee/app/helpers/ee/sorting_helper.rb'
- 'ee/app/helpers/ee/subscribable_banner_helper.rb' - 'ee/app/helpers/ee/subscribable_banner_helper.rb'
- 'ee/app/helpers/ee/wiki_helper.rb' - 'ee/app/helpers/ee/wiki_helper.rb'
- 'ee/app/helpers/path_locks_helper.rb' - 'ee/app/helpers/path_locks_helper.rb'
- 'ee/app/helpers/projects/security/discover_helper.rb' - 'ee/app/helpers/seat_count_alert_helper.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

@ -1,29 +1,30 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Rails/IndexWith: Rails/IndexWith:
# Offense count: 54 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/helpers/ci/jobs_helper.rb' - 'app/helpers/ci/jobs_helper.rb'
- 'app/models/ci/build_trace_chunk.rb' - 'app/models/ci/build_trace_chunk.rb'
- 'app/models/ci/processable.rb' - 'app/models/ci/processable.rb'
- 'app/models/concerns/cached_commit.rb' - 'app/models/concerns/cached_commit.rb'
- 'app/models/customer_relations/organization.rb'
- 'app/models/environment.rb' - 'app/models/environment.rb'
- 'app/services/concerns/rate_limited_service.rb' - 'app/services/concerns/rate_limited_service.rb'
- 'app/services/packages/rpm/parse_package_service.rb'
- 'db/post_migrate/20210731132939_backfill_stage_event_hash.rb' - 'db/post_migrate/20210731132939_backfill_stage_event_hash.rb'
- 'ee/app/models/concerns/identity_verifiable.rb'
- 'ee/app/models/vulnerabilities/projects_grade.rb' - 'ee/app/models/vulnerabilities/projects_grade.rb'
- 'ee/lib/ee/gitlab/usage_data.rb' - 'ee/lib/ee/gitlab/usage_data.rb'
- 'ee/lib/gitlab/auth/group_saml/auth_hash.rb' - 'ee/lib/gitlab/auth/group_saml/auth_hash.rb'
- 'ee/lib/gitlab/custom_file_templates.rb' - 'ee/lib/gitlab/custom_file_templates.rb'
- 'ee/lib/gitlab/insights/reducers/count_per_label_reducer.rb' - 'ee/lib/gitlab/insights/reducers/count_per_label_reducer.rb'
- 'ee/spec/lib/ee/gitlab/application_context_spec.rb' - 'ee/spec/lib/ee/gitlab/application_context_spec.rb'
- 'ee/spec/models/ee/namespace_spec.rb'
- 'ee/spec/models/sca/license_compliance_spec.rb' - 'ee/spec/models/sca/license_compliance_spec.rb'
- 'ee/spec/views/admin/dashboard/index.html.haml_spec.rb' - 'ee/spec/views/admin/dashboard/index.html.haml_spec.rb'
- 'lib/api/entities/project_integration.rb' - 'lib/api/entities/project_integration.rb'
- 'lib/api/helpers/packages/conan/api_helpers.rb' - 'lib/api/helpers/packages/conan/api_helpers.rb'
- 'lib/banzai/filter/repository_link_filter.rb' - 'lib/banzai/filter/repository_link_filter.rb'
- 'lib/gitlab/background_migration/backfill_note_discussion_id.rb'
- 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb' - 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb'
- 'lib/gitlab/ci/ansi2html.rb' - 'lib/gitlab/ci/ansi2html.rb'
- 'lib/gitlab/ci/reports/security/finding.rb' - 'lib/gitlab/ci/reports/security/finding.rb'
@ -32,10 +33,12 @@ Rails/IndexWith:
- 'lib/gitlab/database/count/exact_count_strategy.rb' - 'lib/gitlab/database/count/exact_count_strategy.rb'
- 'lib/gitlab/database/migration_helpers.rb' - 'lib/gitlab/database/migration_helpers.rb'
- 'lib/gitlab/database/obsolete_ignored_columns.rb' - 'lib/gitlab/database/obsolete_ignored_columns.rb'
- 'lib/gitlab/database/tables_sorted_by_foreign_keys.rb'
- 'lib/gitlab/issuable_metadata.rb' - 'lib/gitlab/issuable_metadata.rb'
- 'lib/gitlab/template/base_template.rb' - 'lib/gitlab/template/base_template.rb'
- 'lib/gitlab/usage_data.rb' - 'lib/gitlab/usage_data.rb'
- 'lib/google_api/cloud_platform/client.rb' - 'lib/google_api/cloud_platform/client.rb'
- 'lib/tasks/gitlab/db.rake'
- 'qa/qa/resource/reusable.rb' - 'qa/qa/resource/reusable.rb'
- 'scripts/trigger-build.rb' - 'scripts/trigger-build.rb'
- 'spec/lib/gitlab/api_authentication/sent_through_builder_spec.rb' - 'spec/lib/gitlab/api_authentication/sent_through_builder_spec.rb'

View file

@ -1,8 +1,6 @@
--- ---
Rails/InverseOf: Rails/InverseOf:
# Offense count: 210 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/models/alert_management/alert.rb' - 'app/models/alert_management/alert.rb'
- 'app/models/alert_management/alert_assignee.rb' - 'app/models/alert_management/alert_assignee.rb'
@ -12,7 +10,6 @@ Rails/InverseOf:
- 'app/models/board.rb' - 'app/models/board.rb'
- 'app/models/bulk_imports/entity.rb' - 'app/models/bulk_imports/entity.rb'
- 'app/models/bulk_imports/tracker.rb' - 'app/models/bulk_imports/tracker.rb'
- 'app/models/chat_name.rb'
- 'app/models/ci/bridge.rb' - 'app/models/ci/bridge.rb'
- 'app/models/ci/build.rb' - 'app/models/ci/build.rb'
- 'app/models/ci/build_pending_state.rb' - 'app/models/ci/build_pending_state.rb'
@ -25,7 +22,6 @@ Rails/InverseOf:
- 'app/models/ci/runner.rb' - 'app/models/ci/runner.rb'
- 'app/models/ci/runner_namespace.rb' - 'app/models/ci/runner_namespace.rb'
- 'app/models/ci/sources/pipeline.rb' - 'app/models/ci/sources/pipeline.rb'
- 'app/models/ci/stage.rb'
- 'app/models/ci/trigger_request.rb' - 'app/models/ci/trigger_request.rb'
- 'app/models/ci/unit_test_failure.rb' - 'app/models/ci/unit_test_failure.rb'
- 'app/models/clusters/applications/runner.rb' - 'app/models/clusters/applications/runner.rb'
@ -38,7 +34,6 @@ Rails/InverseOf:
- 'app/models/concerns/analytics/cycle_analytics/stage.rb' - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/awardable.rb' - 'app/models/concerns/awardable.rb'
- 'app/models/concerns/commit_signature.rb' - 'app/models/concerns/commit_signature.rb'
- 'app/models/concerns/merge_request_reviewer_state.rb'
- 'app/models/concerns/with_uploads.rb' - 'app/models/concerns/with_uploads.rb'
- 'app/models/custom_emoji.rb' - 'app/models/custom_emoji.rb'
- 'app/models/customer_relations/contact.rb' - 'app/models/customer_relations/contact.rb'
@ -51,7 +46,7 @@ Rails/InverseOf:
- 'app/models/group.rb' - 'app/models/group.rb'
- 'app/models/group/crm_settings.rb' - 'app/models/group/crm_settings.rb'
- 'app/models/group_group_link.rb' - 'app/models/group_group_link.rb'
- 'app/models/hooks/service_hook.rb' - 'app/models/group_label.rb'
- 'app/models/incident_management/timeline_event.rb' - 'app/models/incident_management/timeline_event.rb'
- 'app/models/integrations/base_slash_commands.rb' - 'app/models/integrations/base_slash_commands.rb'
- 'app/models/issue.rb' - 'app/models/issue.rb'
@ -66,11 +61,15 @@ Rails/InverseOf:
- 'app/models/packages/composer/cache_file.rb' - 'app/models/packages/composer/cache_file.rb'
- 'app/models/packages/maven/metadatum.rb' - 'app/models/packages/maven/metadatum.rb'
- 'app/models/project.rb' - 'app/models/project.rb'
- 'app/models/project_label.rb'
- 'app/models/resource_state_event.rb' - 'app/models/resource_state_event.rb'
- 'app/models/serverless/domain_cluster.rb' - 'app/models/serverless/domain_cluster.rb'
- 'app/models/terraform/state_version.rb' - 'app/models/terraform/state_version.rb'
- 'app/models/time_tracking/timelog_category.rb'
- 'app/models/todo.rb' - 'app/models/todo.rb'
- 'app/models/user.rb' - 'app/models/user.rb'
- 'app/models/users/phone_number_validation.rb'
- 'app/models/work_item.rb'
- 'app/models/x509_certificate.rb' - 'app/models/x509_certificate.rb'
- 'ee/app/models/allowed_email_domain.rb' - 'ee/app/models/allowed_email_domain.rb'
- 'ee/app/models/analytics/cycle_analytics/group_stage.rb' - 'ee/app/models/analytics/cycle_analytics/group_stage.rb'
@ -78,12 +77,14 @@ Rails/InverseOf:
- 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb' - 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb'
- 'ee/app/models/analytics/devops_adoption/snapshot.rb' - 'ee/app/models/analytics/devops_adoption/snapshot.rb'
- 'ee/app/models/audit_events/external_audit_event_destination.rb' - 'ee/app/models/audit_events/external_audit_event_destination.rb'
- 'ee/app/models/audit_events/streaming/header.rb'
- 'ee/app/models/ci/sources/project.rb' - 'ee/app/models/ci/sources/project.rb'
- 'ee/app/models/compliance_management/compliance_framework/project_settings.rb' - 'ee/app/models/compliance_management/compliance_framework/project_settings.rb'
- 'ee/app/models/concerns/incident_management/base_pending_escalation.rb' - 'ee/app/models/concerns/incident_management/base_pending_escalation.rb'
- 'ee/app/models/dast/profile_schedule.rb' - 'ee/app/models/dast/profile_schedule.rb'
- 'ee/app/models/ee/ci/build.rb' - 'ee/app/models/ee/ci/build.rb'
- 'ee/app/models/ee/ci/pipeline.rb' - 'ee/app/models/ee/ci/pipeline.rb'
- 'ee/app/models/ee/clusters/agent.rb'
- 'ee/app/models/ee/epic.rb' - 'ee/app/models/ee/epic.rb'
- 'ee/app/models/ee/group.rb' - 'ee/app/models/ee/group.rb'
- 'ee/app/models/ee/iteration.rb' - 'ee/app/models/ee/iteration.rb'
@ -105,9 +106,9 @@ Rails/InverseOf:
- 'ee/app/models/integrations/gitlab_slack_application.rb' - 'ee/app/models/integrations/gitlab_slack_application.rb'
- 'ee/app/models/requirements_management/requirement.rb' - 'ee/app/models/requirements_management/requirement.rb'
- 'ee/app/models/requirements_management/test_report.rb' - 'ee/app/models/requirements_management/test_report.rb'
- 'ee/app/models/sbom/vulnerable_component_version.rb'
- 'ee/app/models/security/orchestration_policy_configuration.rb' - 'ee/app/models/security/orchestration_policy_configuration.rb'
- 'ee/app/models/security/orchestration_policy_rule_schedule.rb' - 'ee/app/models/security/orchestration_policy_rule_schedule.rb'
- 'ee/app/models/slack_integration.rb'
- 'ee/app/models/software_license_policy.rb' - 'ee/app/models/software_license_policy.rb'
- 'ee/app/models/user_permission_export_upload.rb' - 'ee/app/models/user_permission_export_upload.rb'
- 'ee/app/models/vulnerabilities/feedback.rb' - 'ee/app/models/vulnerabilities/feedback.rb'

View file

@ -1,9 +1,7 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Rails/RedundantForeignKey: Rails/RedundantForeignKey:
# Offense count: 90 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/models/alert_management/metric_image.rb' - 'app/models/alert_management/metric_image.rb'
- 'app/models/ci/build.rb' - 'app/models/ci/build.rb'
@ -23,9 +21,11 @@ Rails/RedundantForeignKey:
- 'app/models/commit_signatures/x509_commit_signature.rb' - 'app/models/commit_signatures/x509_commit_signature.rb'
- 'app/models/concerns/analytics/cycle_analytics/stage.rb' - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/commit_signature.rb' - 'app/models/concerns/commit_signature.rb'
- 'app/models/concerns/integrations/base_data_fields.rb'
- 'app/models/group.rb' - 'app/models/group.rb'
- 'app/models/group_group_link.rb' - 'app/models/group_group_link.rb'
- 'app/models/integrations/zentao_tracker_data.rb' - 'app/models/incident_management/timeline_event.rb'
- 'app/models/issue.rb'
- 'app/models/member.rb' - 'app/models/member.rb'
- 'app/models/merge_request.rb' - 'app/models/merge_request.rb'
- 'app/models/merge_request/metrics.rb' - 'app/models/merge_request/metrics.rb'
@ -35,9 +35,13 @@ Rails/RedundantForeignKey:
- 'app/models/project.rb' - 'app/models/project.rb'
- 'app/models/resource_state_event.rb' - 'app/models/resource_state_event.rb'
- 'app/models/review.rb' - 'app/models/review.rb'
- 'app/models/time_tracking/timelog_category.rb'
- 'app/models/user.rb' - 'app/models/user.rb'
- 'app/models/users/phone_number_validation.rb'
- 'app/models/work_item.rb'
- 'app/models/x509_certificate.rb' - 'app/models/x509_certificate.rb'
- 'ee/app/models/allowed_email_domain.rb' - 'ee/app/models/allowed_email_domain.rb'
- 'ee/app/models/audit_events/streaming/header.rb'
- 'ee/app/models/boards/epic_board.rb' - 'ee/app/models/boards/epic_board.rb'
- 'ee/app/models/boards/epic_list_user_preference.rb' - 'ee/app/models/boards/epic_list_user_preference.rb'
- 'ee/app/models/ci/sources/project.rb' - 'ee/app/models/ci/sources/project.rb'

View file

@ -252,7 +252,6 @@ Rails/SkipsModelValidations:
- 'ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb' - 'ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb'
- 'ee/spec/controllers/groups/ldaps_controller_spec.rb' - 'ee/spec/controllers/groups/ldaps_controller_spec.rb'
- 'ee/spec/controllers/projects/merge_requests_controller_spec.rb' - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
- 'ee/spec/controllers/trials_controller_spec.rb'
- 'ee/spec/factories/import_states.rb' - 'ee/spec/factories/import_states.rb'
- 'ee/spec/features/admin/admin_settings_spec.rb' - 'ee/spec/features/admin/admin_settings_spec.rb'
- 'ee/spec/features/epic_boards/epic_boards_sidebar_spec.rb' - 'ee/spec/features/epic_boards/epic_boards_sidebar_spec.rb'

View file

@ -19,7 +19,6 @@ Rails/TimeZone:
- ee/spec/lib/gitlab/auth/ldap/access_spec.rb - ee/spec/lib/gitlab/auth/ldap/access_spec.rb
- ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb - ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb
- ee/spec/lib/gitlab/auth/smartcard/session_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/elastic/client_spec.rb
- ee/spec/lib/gitlab/geo/base_request_spec.rb - ee/spec/lib/gitlab/geo/base_request_spec.rb
- ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb

View file

@ -13,7 +13,6 @@ RSpec/AnyInstanceOf:
- ee/spec/controllers/projects/path_locks_controller_spec.rb - ee/spec/controllers/projects/path_locks_controller_spec.rb
- ee/spec/controllers/projects_controller_spec.rb - ee/spec/controllers/projects_controller_spec.rb
- ee/spec/controllers/subscriptions_controller_spec.rb - ee/spec/controllers/subscriptions_controller_spec.rb
- ee/spec/controllers/trials_controller_spec.rb
- ee/spec/features/admin/admin_audit_logs_spec.rb - ee/spec/features/admin/admin_audit_logs_spec.rb
- ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb - ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb
- ee/spec/features/admin/admin_users_spec.rb - ee/spec/features/admin/admin_users_spec.rb

View file

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

View file

@ -70,7 +70,6 @@ RSpec/ContextWording:
- 'ee/spec/controllers/security/vulnerabilities_controller_spec.rb' - 'ee/spec/controllers/security/vulnerabilities_controller_spec.rb'
- 'ee/spec/controllers/subscriptions_controller_spec.rb' - 'ee/spec/controllers/subscriptions_controller_spec.rb'
- 'ee/spec/controllers/trial_registrations_controller_spec.rb' - 'ee/spec/controllers/trial_registrations_controller_spec.rb'
- 'ee/spec/controllers/trials_controller_spec.rb'
- 'ee/spec/controllers/users_controller_spec.rb' - 'ee/spec/controllers/users_controller_spec.rb'
- 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_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/elastic/migrate/20220512150000_pause_indexing_for_unsupported_es_versions_spec.rb'
@ -2542,7 +2541,6 @@ RSpec/ContextWording:
- 'spec/policies/terraform/state_version_policy_spec.rb' - 'spec/policies/terraform/state_version_policy_spec.rb'
- 'spec/policies/user_policy_spec.rb' - 'spec/policies/user_policy_spec.rb'
- 'spec/presenters/blob_presenter_spec.rb' - 'spec/presenters/blob_presenter_spec.rb'
- 'spec/presenters/blobs/unfold_presenter_spec.rb'
- 'spec/presenters/ci/build_presenter_spec.rb' - 'spec/presenters/ci/build_presenter_spec.rb'
- 'spec/presenters/ci/pipeline_presenter_spec.rb' - 'spec/presenters/ci/pipeline_presenter_spec.rb'
- 'spec/presenters/clusters/cluster_presenter_spec.rb' - 'spec/presenters/clusters/cluster_presenter_spec.rb'
@ -3372,7 +3370,6 @@ RSpec/ContextWording:
- 'spec/tasks/cache/clear/redis_spec.rb' - 'spec/tasks/cache/clear/redis_spec.rb'
- 'spec/tasks/dev_rake_spec.rb' - 'spec/tasks/dev_rake_spec.rb'
- 'spec/tasks/gettext_rake_spec.rb' - 'spec/tasks/gettext_rake_spec.rb'
- 'spec/tasks/gitlab/backup_rake_spec.rb'
- 'spec/tasks/gitlab/cleanup_rake_spec.rb' - 'spec/tasks/gitlab/cleanup_rake_spec.rb'
- 'spec/tasks/gitlab/db/lock_writes_rake_spec.rb' - 'spec/tasks/gitlab/db/lock_writes_rake_spec.rb'
- 'spec/tasks/gitlab/db/validate_config_rake_spec.rb' - 'spec/tasks/gitlab/db/validate_config_rake_spec.rb'

View file

@ -69,7 +69,6 @@ RSpec/DescribedClass:
- 'ee/spec/services/resource_access_tokens/create_service_spec.rb' - 'ee/spec/services/resource_access_tokens/create_service_spec.rb'
- 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb' - 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb'
- 'ee/spec/services/users/captcha_challenge_service_spec.rb' - 'ee/spec/services/users/captcha_challenge_service_spec.rb'
- 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb'
- 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb' - 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb'
- 'ee/spec/workers/elastic/migration_worker_spec.rb' - 'ee/spec/workers/elastic/migration_worker_spec.rb'
- 'ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb' - 'ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb'

View file

@ -1,11 +1,13 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
RSpec/ExpectChange: RSpec/ExpectChange:
Details: grace period
Exclude: Exclude:
- 'ee/spec/controllers/admin/applications_controller_spec.rb' - 'ee/spec/controllers/admin/applications_controller_spec.rb'
- 'ee/spec/controllers/ee/groups_controller_spec.rb' - 'ee/spec/controllers/ee/groups_controller_spec.rb'
- 'ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb' - 'ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb'
- 'ee/spec/controllers/ee/registrations_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/epic_issues_controller_spec.rb'
- 'ee/spec/controllers/groups/epics/notes_controller_spec.rb' - 'ee/spec/controllers/groups/epics/notes_controller_spec.rb'
- 'ee/spec/controllers/groups/epics_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/protected_environments_controller_spec.rb'
- 'ee/spec/controllers/projects/repositories_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/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/projects_controller_spec.rb'
- 'ee/spec/controllers/trials_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/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/groups/group_settings_spec.rb'
- 'ee/spec/features/projects_spec.rb' - 'ee/spec/features/projects_spec.rb'
- 'ee/spec/features/signup_spec.rb' - 'ee/spec/features/signup_spec.rb'
- 'ee/spec/features/users/login_spec.rb' - 'ee/spec/features/users/login_spec.rb'
- 'ee/spec/graphql/ee/mutations/ci/runner/update_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/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/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_scanner_profiles/delete_spec.rb'
- 'ee/spec/graphql/mutations/dast_site_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/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/helpers/paid_feature_callout_helper_spec.rb'
- 'ee/spec/lib/audit/changes_spec.rb' - 'ee/spec/lib/audit/changes_spec.rb'
- 'ee/spec/lib/audit/external_status_check_changes_auditor_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/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/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/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/elastic/helper_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_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/import_export/repo_restorer_spec.rb'
- 'ee/spec/lib/ee/gitlab/issuable/clone/copy_resource_events_service_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/deprovision_service_spec.rb'
- 'ee/spec/lib/ee/gitlab/scim/provisioning_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/audit/auditor_spec.rb'
- 'ee/spec/lib/gitlab/auth/group_saml/identity_linker_spec.rb' - 'ee/spec/lib/gitlab/auth/group_saml/identity_linker_spec.rb'
- 'ee/spec/lib/gitlab/auth/group_saml/user_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/certificate_spec.rb'
- 'ee/spec/lib/gitlab/auth/smartcard/ldap_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/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/lib/gitlab/mirror_spec.rb'
- 'ee/spec/migrations/20220411173544_cleanup_orphans_approval_project_rules_spec.rb' - 'ee/spec/migrations/20220411173544_cleanup_orphans_approval_project_rules_spec.rb'
- 'ee/spec/models/ci/bridge_spec.rb' - 'ee/spec/models/ci/bridge_spec.rb'
- 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb' - 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb'
- 'ee/spec/models/ci/minutes/project_monthly_usage_spec.rb' - 'ee/spec/models/ci/minutes/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/replicable_model_spec.rb'
- 'ee/spec/models/concerns/geo/verification_state_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/profile_schedule_spec.rb'
- 'ee/spec/models/dast_site_spec.rb' - 'ee/spec/models/dast_site_spec.rb'
- 'ee/spec/models/ee/ci/job_artifact_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/epic_spec.rb'
- 'ee/spec/models/geo/project_registry_spec.rb' - 'ee/spec/models/geo/project_registry_spec.rb'
- 'ee/spec/models/geo/secondary_usage_data_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/issue_spec.rb'
- 'ee/spec/models/project_import_state_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/project_spec.rb'
- 'ee/spec/models/repository_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/status_page/published_incident_spec.rb'
- 'ee/spec/models/vulnerabilities/export_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/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/ci/pipelines_spec.rb'
- 'ee/spec/requests/api/deployments_spec.rb'
- 'ee/spec/requests/api/epic_issues_spec.rb' - 'ee/spec/requests/api/epic_issues_spec.rb'
- 'ee/spec/requests/api/epics_spec.rb' - 'ee/spec/requests/api/epics_spec.rb'
- 'ee/spec/requests/api/geo_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/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/destroy_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_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/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/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_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_profiles/delete_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_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/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/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/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/graphql/mutations/work_items/update_spec.rb'
- 'ee/spec/requests/api/group_push_rule_spec.rb' - 'ee/spec/requests/api/group_push_rule_spec.rb'
- 'ee/spec/requests/api/groups_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/projects_spec.rb'
- 'ee/spec/requests/api/releases_spec.rb' - 'ee/spec/requests/api/releases_spec.rb'
- 'ee/spec/requests/api/repositories_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/todos_spec.rb'
- 'ee/spec/requests/api/users_spec.rb' - 'ee/spec/requests/api/users_spec.rb'
- 'ee/spec/requests/ee/projects/deploy_tokens_controller_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/protected_environments_controller_spec.rb'
- 'ee/spec/requests/groups_controller_spec.rb' - 'ee/spec/requests/groups_controller_spec.rb'
- 'ee/spec/requests/smartcard_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/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/audit/update_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_profiles/destroy_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_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/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/revoke_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_validations/runner_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/application_settings/update_service_spec.rb'
- 'ee/spec/services/approval_rules/finalize_service_spec.rb' - 'ee/spec/services/approval_rules/finalize_service_spec.rb'
- 'ee/spec/services/approval_rules/project_rule_destroy_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/streaming/headers/update_service_spec.rb'
- 'ee/spec/services/audit_events/user_impersonation_group_audit_event_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/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/create_service_spec.rb'
- 'ee/spec/services/boards/epics/move_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/destroy_pipeline_service_spec.rb'
- 'ee/spec/services/ci/external_pull_requests/process_github_event_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/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/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/create_service_spec.rb'
- 'ee/spec/services/compliance_management/frameworks/destroy_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/compliance_management/frameworks/update_service_spec.rb'
- 'ee/spec/services/deploy_keys/create_service_spec.rb' - 'ee/spec/services/deploy_keys/create_service_spec.rb'
- 'ee/spec/services/deployments/approval_service_spec.rb' - 'ee/spec/services/deployments/approval_service_spec.rb'
- 'ee/spec/services/deployments/auto_rollback_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/gpg_keys/destroy_service_spec.rb'
- 'ee/spec/services/ee/groups/deploy_tokens/create_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' - '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/destroy_service_spec.rb'
- 'ee/spec/services/ee/members/invite_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/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/merge_requests/update_service_spec.rb'
- 'ee/spec/services/ee/notes/quick_actions_service_spec.rb' - 'ee/spec/services/ee/notes/quick_actions_service_spec.rb'
- 'ee/spec/services/ee/projects/deploy_tokens/create_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/reject_service_spec.rb'
- 'ee/spec/services/ee/users/update_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/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/create_service_spec.rb'
- 'ee/spec/services/emails/destroy_service_spec.rb' - 'ee/spec/services/emails/destroy_service_spec.rb'
- 'ee/spec/services/epic_issues/create_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/blob_download_service_spec.rb'
- 'ee/spec/services/geo/metrics_update_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/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/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/geo/repository_sync_service_spec.rb'
- 'ee/spec/services/group_saml/group_managed_accounts/transfer_membership_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/identity/destroy_service_spec.rb'
- 'ee/spec/services/group_saml/sign_up_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/mark_for_deletion_service_spec.rb'
- 'ee/spec/services/groups/restore_service_spec.rb' - 'ee/spec/services/groups/restore_service_spec.rb'
- 'ee/spec/services/groups/sync_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/oncall_rotations/edit_service_spec.rb'
- 'ee/spec/services/incident_management/pending_escalations/create_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/iterations/update_service_spec.rb'
- 'ee/spec/services/keys/create_service_spec.rb' - 'ee/spec/services/keys/create_service_spec.rb'
- 'ee/spec/services/lfs/lock_file_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/members/activate_service_spec.rb'
- 'ee/spec/services/merge_request_approval_settings/update_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/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/disable_deploy_key_service_spec.rb'
- 'ee/spec/services/projects/enable_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/import_service_spec.rb'
- 'ee/spec/services/projects/mark_for_deletion_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/restore_service_spec.rb'
- 'ee/spec/services/projects/transfer_service_spec.rb' - 'ee/spec/services/projects/transfer_service_spec.rb'
- 'ee/spec/services/projects/update_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/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/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/create_service_spec.rb'
- 'ee/spec/services/resource_access_tokens/revoke_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/resource_events/change_weight_service_spec.rb'
- 'ee/spec/services/security/ingestion/finding_map_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/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_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/ingestion/tasks/ingest_vulnerabilities_spec.rb'
- 'ee/spec/services/security/orchestration/assign_service_spec.rb' - 'ee/spec/services/security/orchestration/assign_service_spec.rb'
- 'ee/spec/services/security/override_uuids_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/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/security/store_scan_service_spec.rb'
- 'ee/spec/services/start_pull_mirroring_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/epics_service_spec.rb'
- 'ee/spec/services/system_notes/merge_train_service_spec.rb' - 'ee/spec/services/system_notes/merge_train_service_spec.rb'
- 'ee/spec/services/todo_service_spec.rb' - 'ee/spec/services/todo_service_spec.rb'
- 'ee/spec/services/todos/destroy/confidential_epic_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/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/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_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/create_service_spec.rb'
- 'ee/spec/services/vulnerability_feedback/destroy_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_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/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/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/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/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/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/geo/git_rake_spec.rb'
- 'ee/spec/tasks/gitlab/elastic_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/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/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/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/new_epic_worker_spec.rb'
- 'ee/spec/workers/store_security_reports_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/groups_controller_spec.rb'
- 'spec/controllers/admin/runners_controller_spec.rb' - 'spec/controllers/admin/runners_controller_spec.rb'
- 'spec/controllers/admin/spam_logs_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/admin/users_controller_spec.rb'
- 'spec/controllers/groups/clusters_controller_spec.rb'
- 'spec/controllers/groups/runners_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/groups_controller_spec.rb'
- 'spec/controllers/import/bitbucket_controller_spec.rb' - 'spec/controllers/import/bitbucket_controller_spec.rb'
- 'spec/controllers/import/gitlab_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/omniauth_callbacks_controller_spec.rb'
- 'spec/controllers/profiles/gpg_keys_controller_spec.rb' - 'spec/controllers/profiles/gpg_keys_controller_spec.rb'
- 'spec/controllers/profiles/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/deploy_keys_controller_spec.rb'
- 'spec/controllers/projects/feature_flags_controller_spec.rb'
- 'spec/controllers/projects/issues_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/creations_controller_spec.rb'
- 'spec/controllers/projects/merge_requests/drafts_controller_spec.rb' - 'spec/controllers/projects/merge_requests/drafts_controller_spec.rb'
- 'spec/controllers/projects/merge_requests_controller_spec.rb' - 'spec/controllers/projects/merge_requests_controller_spec.rb'
- 'spec/controllers/projects/mirrors_controller_spec.rb' - 'spec/controllers/projects/mirrors_controller_spec.rb'
- 'spec/controllers/projects/notes_controller_spec.rb' - 'spec/controllers/projects/notes_controller_spec.rb'
- 'spec/controllers/projects/pages_domains_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/runners_controller_spec.rb'
- 'spec/controllers/projects/settings/ci_cd_controller_spec.rb'
- 'spec/controllers/projects_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb'
- 'spec/controllers/repositories/lfs_storage_controller_spec.rb' - 'spec/controllers/repositories/lfs_storage_controller_spec.rb'
- 'spec/controllers/sessions_controller_spec.rb' - 'spec/controllers/sessions_controller_spec.rb'
- 'spec/controllers/snippets/notes_controller_spec.rb' - 'spec/controllers/snippets/notes_controller_spec.rb'
- 'spec/controllers/uploads_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/admin/users/users_spec.rb'
- 'spec/features/file_uploads/attachment_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/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/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/project_import_spec.rb'
- 'spec/features/file_uploads/rubygem_package_spec.rb'
- 'spec/features/groups/import_export/import_file_spec.rb' - 'spec/features/groups/import_export/import_file_spec.rb'
- 'spec/features/groups_spec.rb' - 'spec/features/groups_spec.rb'
- 'spec/features/invites_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/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/projects_spec.rb'
- 'spec/features/users/signup_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/issues/set_severity_spec.rb'
- 'spec/graphql/mutations/releases/delete_spec.rb' - 'spec/graphql/mutations/releases/delete_spec.rb'
- 'spec/graphql/mutations/timelogs/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/initializers/active_record_locking_spec.rb'
- 'spec/lib/api/helpers_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/bulk_imports/projects/pipelines/project_pipeline_spec.rb'
- 'spec/lib/declarative_enum_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/access_spec.rb'
- 'spec/lib/gitlab/auth/ldap/user_spec.rb' - 'spec/lib/gitlab/auth/ldap/user_spec.rb'
- 'spec/lib/gitlab/auth/o_auth/identity_linker_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/background_task_spec.rb'
- 'spec/lib/gitlab/bitbucket_import/importer_spec.rb' - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb'
- 'spec/lib/gitlab/bitbucket_server_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/checks/matching_merge_request_spec.rb'
- 'spec/lib/gitlab/ci/ansi2json/line_spec.rb' - 'spec/lib/gitlab/ci/ansi2json/line_spec.rb'
- 'spec/lib/gitlab/ci/config/external/context_spec.rb' - 'spec/lib/gitlab/ci/config/external/context_spec.rb'
- 'spec/lib/gitlab/ci/parsers/security/common_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/create_deployments_spec.rb'
- 'spec/lib/gitlab/ci/pipeline/chain/ensure_environments_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/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/reports/security/report_spec.rb'
- 'spec/lib/gitlab/ci/status/factory_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/ci/trace/chunked_io_spec.rb'
- 'spec/lib/gitlab/composer/cache_spec.rb'
- 'spec/lib/gitlab/config/entry/validatable_spec.rb' - 'spec/lib/gitlab/config/entry/validatable_spec.rb'
- 'spec/lib/gitlab/daemon_spec.rb' - 'spec/lib/gitlab/daemon_spec.rb'
- 'spec/lib/gitlab/database/async_indexes/index_creator_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_runner_spec.rb'
- 'spec/lib/gitlab/database/background_migration/batched_migration_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/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/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/query_statistics_spec.rb'
- 'spec/lib/gitlab/database/migrations/observers/total_database_size_change_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/database/reindexing/reindex_action_spec.rb'
- 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb' - 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb'
- 'spec/lib/gitlab/fogbugz_import/importer_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/git_access_project_spec.rb'
- 'spec/lib/gitlab/github_import/importer/events/changed_assignee_spec.rb' - 'spec/lib/gitlab/github_import/importer/events/changed_assignee_spec.rb'
- 'spec/lib/gitlab/github_import/importer/events/renamed_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/process_supervisor_spec.rb'
- 'spec/lib/gitlab/query_limiting_spec.rb' - 'spec/lib/gitlab/query_limiting_spec.rb'
- 'spec/lib/gitlab/reference_counter_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/slash_commands/issue_move_spec.rb'
- 'spec/lib/gitlab/word_diff/positions_counter_spec.rb' - 'spec/lib/gitlab/word_diff/positions_counter_spec.rb'
- 'spec/migrations/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers_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/20220202105733_delete_service_template_records_spec.rb'
- 'spec/migrations/20220222192525_remove_null_releases_spec.rb' - 'spec/migrations/20220222192525_remove_null_releases_spec.rb'
- 'spec/migrations/20220629184402_unset_escalation_policies_for_alert_incidents_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/backfill_cycle_analytics_aggregations_spec.rb'
- 'spec/migrations/bulk_insert_cluster_enabled_grants_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_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_issue_when_admin_changed_primary_email_spec.rb'
- 'spec/migrations/cleanup_after_fixing_regression_with_new_users_emails_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/populate_audit_event_streaming_verification_token_spec.rb'
- 'spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb' - 'spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb'
- 'spec/migrations/remove_wiki_notes_spec.rb' - 'spec/migrations/remove_wiki_notes_spec.rb'
@ -389,11 +536,14 @@ RSpec/ExpectChange:
- 'spec/models/ci/build_spec.rb' - 'spec/models/ci/build_spec.rb'
- 'spec/models/ci/deleted_object_spec.rb' - 'spec/models/ci/deleted_object_spec.rb'
- 'spec/models/ci/namespace_mirror_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_schedule_spec.rb'
- 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/ci/processable_spec.rb' - 'spec/models/ci/processable_spec.rb'
- 'spec/models/ci/project_mirror_spec.rb' - 'spec/models/ci/project_mirror_spec.rb'
- 'spec/models/ci/ref_spec.rb' - 'spec/models/ci/ref_spec.rb'
- 'spec/models/ci/runner_spec.rb' - 'spec/models/ci/runner_spec.rb'
- 'spec/models/clusters/applications/runner_spec.rb'
- 'spec/models/clusters/cluster_spec.rb' - 'spec/models/clusters/cluster_spec.rb'
- 'spec/models/commit_status_spec.rb' - 'spec/models/commit_status_spec.rb'
- 'spec/models/concerns/atomic_internal_id_spec.rb' - 'spec/models/concerns/atomic_internal_id_spec.rb'
@ -410,6 +560,7 @@ RSpec/ExpectChange:
- 'spec/models/container_repository_spec.rb' - 'spec/models/container_repository_spec.rb'
- 'spec/models/customer_relations/issue_contact_spec.rb' - 'spec/models/customer_relations/issue_contact_spec.rb'
- 'spec/models/design_management/version_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/event_spec.rb'
- 'spec/models/experiment_spec.rb' - 'spec/models/experiment_spec.rb'
- 'spec/models/group_spec.rb' - 'spec/models/group_spec.rb'
@ -423,6 +574,7 @@ RSpec/ExpectChange:
- 'spec/models/member_spec.rb' - 'spec/models/member_spec.rb'
- 'spec/models/merge_request_spec.rb' - 'spec/models/merge_request_spec.rb'
- 'spec/models/packages/package_file_spec.rb' - 'spec/models/packages/package_file_spec.rb'
- 'spec/models/packages/package_spec.rb'
- 'spec/models/pages_domain_spec.rb' - 'spec/models/pages_domain_spec.rb'
- 'spec/models/plan_spec.rb' - 'spec/models/plan_spec.rb'
- 'spec/models/project_auto_devops_spec.rb' - 'spec/models/project_auto_devops_spec.rb'
@ -437,6 +589,7 @@ RSpec/ExpectChange:
- 'spec/models/route_spec.rb' - 'spec/models/route_spec.rb'
- 'spec/models/sent_notification_spec.rb' - 'spec/models/sent_notification_spec.rb'
- 'spec/models/snippet_spec.rb' - 'spec/models/snippet_spec.rb'
- 'spec/models/terraform/state_spec.rb'
- 'spec/models/upload_spec.rb' - 'spec/models/upload_spec.rb'
- 'spec/models/user_interacted_project_spec.rb' - 'spec/models/user_interacted_project_spec.rb'
- 'spec/models/user_spec.rb' - 'spec/models/user_spec.rb'
@ -444,18 +597,33 @@ RSpec/ExpectChange:
- 'spec/models/x509_certificate_spec.rb' - 'spec/models/x509_certificate_spec.rb'
- 'spec/models/x509_issuer_spec.rb' - 'spec/models/x509_issuer_spec.rb'
- 'spec/requests/abuse_reports_controller_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/broadcast_messages_spec.rb'
- 'spec/requests/api/ci/pipeline_schedules_spec.rb'
- 'spec/requests/api/ci/pipelines_spec.rb' - 'spec/requests/api/ci/pipelines_spec.rb'
- 'spec/requests/api/ci/runner/jobs_trace_spec.rb' - 'spec/requests/api/ci/runner/jobs_trace_spec.rb'
- 'spec/requests/api/commit_statuses_spec.rb' - 'spec/requests/api/commit_statuses_spec.rb'
- 'spec/requests/api/deploy_keys_spec.rb' - 'spec/requests/api/deploy_keys_spec.rb'
- 'spec/requests/api/deploy_tokens_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/add_spec.rb'
- 'spec/requests/api/graphql/mutations/award_emojis/remove_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/award_emojis/toggle_spec.rb'
- 'spec/requests/api/graphql/mutations/boards/destroy_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/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/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/releases/delete_spec.rb'
- 'spec/requests/api/graphql/mutations/snippets/create_spec.rb' - 'spec/requests/api/graphql/mutations/snippets/create_spec.rb'
- 'spec/requests/api/graphql/mutations/snippets/destroy_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/group_import_spec.rb'
- 'spec/requests/api/groups_spec.rb' - 'spec/requests/api/groups_spec.rb'
- 'spec/requests/api/internal/base_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/merge_requests_spec.rb'
- 'spec/requests/api/notes_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/project_snippets_spec.rb'
- 'spec/requests/api/projects_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/releases_spec.rb'
- 'spec/requests/api/rubygem_packages_spec.rb'
- 'spec/requests/api/snippets_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/api/users_spec.rb'
- 'spec/requests/groups/settings/access_tokens_controller_spec.rb' - 'spec/requests/groups/settings/access_tokens_controller_spec.rb'
- 'spec/requests/import/gitlab_groups_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/product_analytics/collector_app_spec.rb'
- 'spec/requests/projects/issue_links_controller_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/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/todo/create_service_spec.rb'
- 'spec/services/alert_management/alerts/update_service_spec.rb' - 'spec/services/alert_management/alerts/update_service_spec.rb'
- 'spec/services/application_settings/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_per_user_service_spec.rb'
- 'spec/services/authorized_project_update/project_recalculate_service_spec.rb' - 'spec/services/authorized_project_update/project_recalculate_service_spec.rb'
- 'spec/services/award_emojis/add_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/award_emojis/toggle_service_spec.rb'
- 'spec/services/bulk_imports/create_service_spec.rb' - 'spec/services/bulk_imports/create_service_spec.rb'
- 'spec/services/bulk_imports/relation_export_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_downstream_pipeline_service_spec.rb'
- 'spec/services/ci/create_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/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/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_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/play_build_service_spec.rb'
- 'spec/services/ci/process_build_service_spec.rb' - 'spec/services/ci/process_build_service_spec.rb'
- 'spec/services/ci/retry_job_service_spec.rb' - 'spec/services/ci/retry_job_service_spec.rb'
- 'spec/services/ci/retry_pipeline_service_spec.rb' - 'spec/services/ci/retry_pipeline_service_spec.rb'
- 'spec/services/ci/run_scheduled_build_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_queue_service_spec.rb'
- 'spec/services/ci/update_build_state_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/clusters/destroy_service_spec.rb'
- 'spec/services/container_expiration_policies/cleanup_service_spec.rb' - 'spec/services/container_expiration_policies/cleanup_service_spec.rb'
- 'spec/services/deployments/create_for_build_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/destroy_service_spec.rb'
- 'spec/services/draft_notes/publish_service_spec.rb' - 'spec/services/draft_notes/publish_service_spec.rb'
- 'spec/services/emails/create_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/error_tracking/list_projects_service_spec.rb'
- 'spec/services/event_create_service_spec.rb' - 'spec/services/event_create_service_spec.rb'
- 'spec/services/feature_flags/create_service_spec.rb' - 'spec/services/feature_flags/create_service_spec.rb'
- 'spec/services/feature_flags/destroy_service_spec.rb' - 'spec/services/feature_flags/destroy_service_spec.rb'
- 'spec/services/feature_flags/update_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/process_ref_changes_service_spec.rb'
- 'spec/services/git/tag_hooks_service_spec.rb'
- 'spec/services/groups/create_service_spec.rb' - 'spec/services/groups/create_service_spec.rb'
- 'spec/services/groups/import_export/import_service_spec.rb' - 'spec/services/groups/import_export/import_service_spec.rb'
- 'spec/services/groups/transfer_service_spec.rb' - 'spec/services/groups/transfer_service_spec.rb'
- 'spec/services/groups/update_service_spec.rb' - 'spec/services/groups/update_service_spec.rb'
- 'spec/services/groups/update_statistics_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/incident_management/timeline_events/update_service_spec.rb'
- 'spec/services/issuable/common_system_notes_service_spec.rb' - 'spec/services/issuable/common_system_notes_service_spec.rb'
- 'spec/services/issues/close_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/lfs/lock_file_service_spec.rb'
- 'spec/services/merge_requests/add_spent_time_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/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/create_service_spec.rb'
- 'spec/services/merge_requests/ff_merge_service_spec.rb' - 'spec/services/merge_requests/ff_merge_service_spec.rb'
- 'spec/services/merge_requests/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/merge_requests/update_service_spec.rb'
- 'spec/services/milestones/destroy_service_spec.rb' - 'spec/services/milestones/destroy_service_spec.rb'
- 'spec/services/namespace_settings/update_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/create_service_spec.rb'
- 'spec/services/notes/destroy_service_spec.rb' - 'spec/services/notes/destroy_service_spec.rb'
- 'spec/services/notes/quick_actions_service_spec.rb' - 'spec/services/notes/quick_actions_service_spec.rb'
- 'spec/services/packages/cleanup/update_policy_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/helm/process_file_service_spec.rb'
- 'spec/services/packages/mark_package_for_destruction_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_package_file_service_spec.rb'
- 'spec/services/packages/update_tags_service_spec.rb'
- 'spec/services/pages/delete_service_spec.rb' - 'spec/services/pages/delete_service_spec.rb'
- 'spec/services/pages/destroy_deployments_service_spec.rb' - 'spec/services/pages/destroy_deployments_service_spec.rb'
- 'spec/services/pages_domains/retry_acme_order_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/personal_access_tokens/last_used_service_spec.rb'
- 'spec/services/projects/auto_devops/disable_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/fetch_statistics_increment_service_spec.rb'
- 'spec/services/projects/hashed_storage/migration_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_repository_service_spec.rb'
- 'spec/services/projects/hashed_storage/rollback_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/lfs_pointers/lfs_download_service_spec.rb'
- 'spec/services/projects/record_target_platforms_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_pages_service_spec.rb'
- 'spec/services/projects/update_service_spec.rb' - 'spec/services/projects/update_service_spec.rb'
- 'spec/services/quick_actions/interpret_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/users/update_service_spec.rb'
- 'spec/services/verify_pages_domain_service_spec.rb' - 'spec/services/verify_pages_domain_service_spec.rb'
- 'spec/services/work_items/parent_links/create_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/deploy_token_shared_examples.rb'
- 'spec/support/services/issuable_import_csv_service_shared_examples.rb' - 'spec/support/services/issuable_import_csv_service_shared_examples.rb'
- 'spec/support/shared_contexts/email_shared_context.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/githubish_import_controller_shared_examples.rb'
- 'spec/support/shared_examples/controllers/variables_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/mutations/boards_create_shared_examples.rb'
- 'spec/support/shared_examples/graphql/notes_creation_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/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/loose_foreign_keys/have_loose_foreign_key.rb'
- 'spec/support/shared_examples/models/commit_signature_shared_examples.rb' - 'spec/support/shared_examples/models/commit_signature_shared_examples.rb'
- 'spec/support/shared_examples/models/concerns/bulk_insert_safe_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/incident_management/escalatable_shared_examples.rb'
- 'spec/support/shared_examples/models/concerns/limitable_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/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/member_shared_examples.rb'
- 'spec/support/shared_examples/models/packages/debian/component_file_shared_example.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/models/with_uploads_shared_examples.rb'
- 'spec/support/shared_examples/requests/access_tokens_controller_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/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/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/common_system_notes_shared_examples.rb'
- 'spec/support/shared_examples/services/container_expiration_policy_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/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/issuable_links/create_links_shared_examples.rb'
- 'spec/support/shared_examples/services/merge_request_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/rate_limited_service_shared_examples.rb'
- 'spec/support/shared_examples/services/repositories/housekeeping_shared_examples.rb' - 'spec/support/shared_examples/services/repositories/housekeeping_shared_examples.rb'
- 'spec/support/shared_examples/services/updating_mentions_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/tooling/rspec_flaky/listener_spec.rb'
- 'spec/uploaders/file_uploader_spec.rb' - 'spec/uploaders/file_uploader_spec.rb'
- 'spec/uploaders/records_uploads_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/destroy_pages_deployments_worker_spec.rb'
- 'spec/workers/environments/auto_delete_cron_worker_spec.rb' - 'spec/workers/environments/auto_delete_cron_worker_spec.rb'
- 'spec/workers/gitlab/phabricator_import/base_worker_spec.rb' - 'spec/workers/gitlab/phabricator_import/base_worker_spec.rb'
- 'spec/workers/gitlab_service_ping_worker_spec.rb' - 'spec/workers/gitlab_service_ping_worker_spec.rb'
- 'spec/workers/group_import_worker_spec.rb' - 'spec/workers/group_import_worker_spec.rb'
- 'spec/workers/incident_management/process_alert_worker_v2_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_issue_worker_spec.rb'
- 'spec/workers/new_merge_request_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/pages_domain_removal_cron_worker_spec.rb'
- 'spec/workers/projects/post_creation_worker_spec.rb' - 'spec/workers/projects/post_creation_worker_spec.rb'
- 'spec/workers/prune_old_events_worker_spec.rb' - 'spec/workers/prune_old_events_worker_spec.rb'

View file

@ -7,7 +7,6 @@ RSpec/ExpectInHook:
- 'ee/spec/controllers/projects/boards_controller_spec.rb' - 'ee/spec/controllers/projects/boards_controller_spec.rb'
- 'ee/spec/controllers/projects/settings/slacks_controller_spec.rb' - 'ee/spec/controllers/projects/settings/slacks_controller_spec.rb'
- 'ee/spec/controllers/subscriptions_controller_spec.rb' - 'ee/spec/controllers/subscriptions_controller_spec.rb'
- 'ee/spec/controllers/trials_controller_spec.rb'
- 'ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb' - 'ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb'
- 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb' - 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb'
- 'ee/spec/features/billings/billing_plans_spec.rb' - 'ee/spec/features/billings/billing_plans_spec.rb'
@ -19,7 +18,6 @@ RSpec/ExpectInHook:
- 'ee/spec/features/registrations/trial_during_signup_flow_spec.rb' - 'ee/spec/features/registrations/trial_during_signup_flow_spec.rb'
- 'ee/spec/features/signup_spec.rb' - 'ee/spec/features/signup_spec.rb'
- 'ee/spec/features/trial_registrations/company_information_spec.rb' - 'ee/spec/features/trial_registrations/company_information_spec.rb'
- 'ee/spec/features/trials/capture_lead_spec.rb'
- 'ee/spec/features/trials/select_namespace_spec.rb' - 'ee/spec/features/trials/select_namespace_spec.rb'
- 'ee/spec/finders/license_template_finder_spec.rb' - 'ee/spec/finders/license_template_finder_spec.rb'
- 'ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb' - 'ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb'

View file

@ -0,0 +1,211 @@
---
RSpec/FactoryBot/AvoidCreate:
Details: grace period
Exclude:
- 'ee/spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb'
- 'ee/spec/serializers/analytics/cycle_analytics/value_stream_errors_serializer_spec.rb'
- 'ee/spec/serializers/audit_event_entity_spec.rb'
- 'ee/spec/serializers/audit_event_serializer_spec.rb'
- 'ee/spec/serializers/blocking_merge_request_entity_spec.rb'
- 'ee/spec/serializers/clusters/deployment_entity_spec.rb'
- 'ee/spec/serializers/clusters/environment_entity_spec.rb'
- 'ee/spec/serializers/clusters/environment_serializer_spec.rb'
- 'ee/spec/serializers/dashboard_environment_entity_spec.rb'
- 'ee/spec/serializers/dashboard_environments_project_entity_spec.rb'
- 'ee/spec/serializers/dashboard_environments_serializer_spec.rb'
- 'ee/spec/serializers/dashboard_operations_project_entity_spec.rb'
- 'ee/spec/serializers/dependency_entity_spec.rb'
- 'ee/spec/serializers/dependency_list_serializer_spec.rb'
- 'ee/spec/serializers/ee/blob_entity_spec.rb'
- 'ee/spec/serializers/ee/build_details_entity_spec.rb'
- 'ee/spec/serializers/ee/ci/job_entity_spec.rb'
- 'ee/spec/serializers/ee/deployment_entity_spec.rb'
- 'ee/spec/serializers/ee/environment_serializer_spec.rb'
- 'ee/spec/serializers/ee/group_child_entity_spec.rb'
- 'ee/spec/serializers/ee/issue_board_entity_spec.rb'
- 'ee/spec/serializers/ee/issue_entity_spec.rb'
- 'ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb'
- 'ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb'
- 'ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb'
- 'ee/spec/serializers/ee/note_entity_spec.rb'
- 'ee/spec/serializers/ee/user_serializer_spec.rb'
- 'ee/spec/serializers/environment_entity_spec.rb'
- 'ee/spec/serializers/epic_entity_spec.rb'
- 'ee/spec/serializers/epic_note_entity_spec.rb'
- 'ee/spec/serializers/epics/related_epic_entity_spec.rb'
- 'ee/spec/serializers/fork_namespace_entity_spec.rb'
- 'ee/spec/serializers/geo_project_registry_entity_spec.rb'
- 'ee/spec/serializers/incident_management/escalation_policy_entity_spec.rb'
- 'ee/spec/serializers/incident_management/oncall_schedule_entity_spec.rb'
- 'ee/spec/serializers/integrations/field_entity_spec.rb'
- 'ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb'
- 'ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb'
- 'ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb'
- 'ee/spec/serializers/integrations/zentao_serializers/issue_entity_spec.rb'
- 'ee/spec/serializers/issuable_sidebar_extras_entity_spec.rb'
- 'ee/spec/serializers/issue_serializer_spec.rb'
- 'ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb'
- 'ee/spec/serializers/license_compliance/collapsed_comparer_entity_spec.rb'
- 'ee/spec/serializers/license_compliance/comparer_entity_spec.rb'
- 'ee/spec/serializers/licenses_list_entity_spec.rb'
- 'ee/spec/serializers/licenses_list_serializer_spec.rb'
- 'ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb'
- 'ee/spec/serializers/member_entity_spec.rb'
- 'ee/spec/serializers/member_user_entity_spec.rb'
- 'ee/spec/serializers/merge_request_poll_widget_entity_spec.rb'
- 'ee/spec/serializers/merge_request_sidebar_basic_entity_spec.rb'
- 'ee/spec/serializers/merge_request_widget_entity_spec.rb'
- 'ee/spec/serializers/pipeline_serializer_spec.rb'
- 'ee/spec/serializers/productivity_analytics_merge_request_entity_spec.rb'
- 'ee/spec/serializers/project_mirror_entity_spec.rb'
- 'ee/spec/serializers/scim_oauth_access_token_entity_spec.rb'
- 'ee/spec/serializers/security/vulnerability_report_data_entity_spec.rb'
- 'ee/spec/serializers/status_page/incident_comment_entity_spec.rb'
- 'ee/spec/serializers/status_page/incident_entity_spec.rb'
- 'ee/spec/serializers/status_page/incident_serializer_spec.rb'
- 'ee/spec/serializers/vulnerabilities/feedback_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/finding_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/finding_serializer_spec.rb'
- 'ee/spec/serializers/vulnerabilities/identifier_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/request_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/response_entity_spec.rb'
- 'ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb'
- 'ee/spec/serializers/vulnerability_entity_spec.rb'
- 'ee/spec/serializers/vulnerability_note_entity_spec.rb'
- 'spec/serializers/access_token_entity_base_spec.rb'
- 'spec/serializers/analytics_build_entity_spec.rb'
- 'spec/serializers/analytics_build_serializer_spec.rb'
- 'spec/serializers/analytics_issue_entity_spec.rb'
- 'spec/serializers/analytics_issue_serializer_spec.rb'
- 'spec/serializers/analytics_merge_request_serializer_spec.rb'
- 'spec/serializers/analytics_summary_serializer_spec.rb'
- 'spec/serializers/base_discussion_entity_spec.rb'
- 'spec/serializers/blob_entity_spec.rb'
- 'spec/serializers/build_action_entity_spec.rb'
- 'spec/serializers/build_artifact_entity_spec.rb'
- 'spec/serializers/build_details_entity_spec.rb'
- 'spec/serializers/ci/dag_job_entity_spec.rb'
- 'spec/serializers/ci/dag_job_group_entity_spec.rb'
- 'spec/serializers/ci/dag_pipeline_entity_spec.rb'
- 'spec/serializers/ci/dag_pipeline_serializer_spec.rb'
- 'spec/serializers/ci/dag_stage_entity_spec.rb'
- 'spec/serializers/ci/downloadable_artifact_entity_spec.rb'
- 'spec/serializers/ci/downloadable_artifact_serializer_spec.rb'
- 'spec/serializers/ci/group_variable_entity_spec.rb'
- 'spec/serializers/ci/job_entity_spec.rb'
- 'spec/serializers/ci/job_serializer_spec.rb'
- 'spec/serializers/ci/lint/result_serializer_spec.rb'
- 'spec/serializers/ci/pipeline_entity_spec.rb'
- 'spec/serializers/ci/trigger_entity_spec.rb'
- 'spec/serializers/ci/variable_entity_spec.rb'
- 'spec/serializers/cluster_application_entity_spec.rb'
- 'spec/serializers/cluster_entity_spec.rb'
- 'spec/serializers/cluster_serializer_spec.rb'
- 'spec/serializers/clusters/kubernetes_error_entity_spec.rb'
- 'spec/serializers/commit_entity_spec.rb'
- 'spec/serializers/container_repositories_serializer_spec.rb'
- 'spec/serializers/container_repository_entity_spec.rb'
- 'spec/serializers/container_tag_entity_spec.rb'
- 'spec/serializers/context_commits_diff_entity_spec.rb'
- 'spec/serializers/deploy_keys/basic_deploy_key_entity_spec.rb'
- 'spec/serializers/deploy_keys/deploy_key_entity_spec.rb'
- 'spec/serializers/deployment_cluster_entity_spec.rb'
- 'spec/serializers/deployment_entity_spec.rb'
- 'spec/serializers/deployment_serializer_spec.rb'
- 'spec/serializers/diff_file_base_entity_spec.rb'
- 'spec/serializers/diff_file_entity_spec.rb'
- 'spec/serializers/diff_file_metadata_entity_spec.rb'
- 'spec/serializers/diff_viewer_entity_spec.rb'
- 'spec/serializers/diffs_entity_spec.rb'
- 'spec/serializers/diffs_metadata_entity_spec.rb'
- 'spec/serializers/discussion_diff_file_entity_spec.rb'
- 'spec/serializers/discussion_entity_spec.rb'
- 'spec/serializers/environment_entity_spec.rb'
- 'spec/serializers/environment_serializer_spec.rb'
- 'spec/serializers/environment_status_entity_spec.rb'
- 'spec/serializers/evidences/evidence_entity_spec.rb'
- 'spec/serializers/evidences/release_entity_spec.rb'
- 'spec/serializers/feature_flag_entity_spec.rb'
- 'spec/serializers/feature_flag_serializer_spec.rb'
- 'spec/serializers/feature_flag_summary_entity_spec.rb'
- 'spec/serializers/feature_flag_summary_serializer_spec.rb'
- 'spec/serializers/feature_flags_client_serializer_spec.rb'
- 'spec/serializers/fork_namespace_entity_spec.rb'
- 'spec/serializers/group_access_token_entity_spec.rb'
- 'spec/serializers/group_access_token_serializer_spec.rb'
- 'spec/serializers/group_child_entity_spec.rb'
- 'spec/serializers/group_child_serializer_spec.rb'
- 'spec/serializers/group_deploy_key_entity_spec.rb'
- 'spec/serializers/group_link/group_group_link_entity_spec.rb'
- 'spec/serializers/group_link/project_group_link_entity_spec.rb'
- 'spec/serializers/group_link/project_group_link_serializer_spec.rb'
- 'spec/serializers/impersonation_access_token_entity_spec.rb'
- 'spec/serializers/impersonation_access_token_serializer_spec.rb'
- 'spec/serializers/import/manifest_provider_repo_entity_spec.rb'
- 'spec/serializers/integrations/event_entity_spec.rb'
- 'spec/serializers/integrations/field_entity_spec.rb'
- 'spec/serializers/integrations/harbor_serializers/artifact_entity_spec.rb'
- 'spec/serializers/integrations/harbor_serializers/repository_entity_spec.rb'
- 'spec/serializers/integrations/harbor_serializers/tag_entity_spec.rb'
- 'spec/serializers/integrations/project_entity_spec.rb'
- 'spec/serializers/issuable_sidebar_extras_entity_spec.rb'
- 'spec/serializers/issue_board_entity_spec.rb'
- 'spec/serializers/issue_entity_spec.rb'
- 'spec/serializers/issue_serializer_spec.rb'
- 'spec/serializers/issue_sidebar_basic_entity_spec.rb'
- 'spec/serializers/jira_connect/app_data_serializer_spec.rb'
- 'spec/serializers/jira_connect/group_entity_spec.rb'
- 'spec/serializers/jira_connect/subscription_entity_spec.rb'
- 'spec/serializers/job_artifact_report_entity_spec.rb'
- 'spec/serializers/label_serializer_spec.rb'
- 'spec/serializers/lfs_file_lock_entity_spec.rb'
- 'spec/serializers/linked_project_issue_entity_spec.rb'
- 'spec/serializers/member_entity_spec.rb'
- 'spec/serializers/member_serializer_spec.rb'
- 'spec/serializers/member_user_entity_spec.rb'
- 'spec/serializers/merge_request_current_user_entity_spec.rb'
- 'spec/serializers/merge_request_diff_entity_spec.rb'
- 'spec/serializers/merge_request_for_pipeline_entity_spec.rb'
- 'spec/serializers/merge_request_metrics_helper_spec.rb'
- 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb'
- 'spec/serializers/merge_request_poll_widget_entity_spec.rb'
- 'spec/serializers/merge_request_serializer_spec.rb'
- 'spec/serializers/merge_request_sidebar_basic_entity_spec.rb'
- 'spec/serializers/merge_request_sidebar_extras_entity_spec.rb'
- 'spec/serializers/merge_request_user_entity_spec.rb'
- 'spec/serializers/merge_request_widget_commit_entity_spec.rb'
- 'spec/serializers/merge_request_widget_entity_spec.rb'
- 'spec/serializers/merge_requests/pipeline_entity_spec.rb'
- 'spec/serializers/namespace_basic_entity_spec.rb'
- 'spec/serializers/note_entity_spec.rb'
- 'spec/serializers/paginated_diff_entity_spec.rb'
- 'spec/serializers/personal_access_token_entity_spec.rb'
- 'spec/serializers/personal_access_token_serializer_spec.rb'
- 'spec/serializers/pipeline_details_entity_spec.rb'
- 'spec/serializers/pipeline_serializer_spec.rb'
- 'spec/serializers/project_access_token_entity_spec.rb'
- 'spec/serializers/project_access_token_serializer_spec.rb'
- 'spec/serializers/project_import_entity_spec.rb'
- 'spec/serializers/project_mirror_entity_spec.rb'
- 'spec/serializers/project_note_entity_spec.rb'
- 'spec/serializers/project_serializer_spec.rb'
- 'spec/serializers/prometheus_alert_entity_spec.rb'
- 'spec/serializers/release_serializer_spec.rb'
- 'spec/serializers/remote_mirror_entity_spec.rb'
- 'spec/serializers/review_app_setup_entity_spec.rb'
- 'spec/serializers/runner_entity_spec.rb'
- 'spec/serializers/serverless/domain_entity_spec.rb'
- 'spec/serializers/stage_entity_spec.rb'
- 'spec/serializers/stage_serializer_spec.rb'
- 'spec/serializers/suggestion_entity_spec.rb'
- 'spec/serializers/test_case_entity_spec.rb'
- 'spec/serializers/test_report_entity_spec.rb'
- 'spec/serializers/test_report_summary_entity_spec.rb'
- 'spec/serializers/test_suite_entity_spec.rb'
- 'spec/serializers/test_suite_summary_entity_spec.rb'
- 'spec/serializers/trigger_variable_entity_spec.rb'
- 'spec/serializers/user_entity_spec.rb'
- 'spec/serializers/user_serializer_spec.rb'
- 'spec/serializers/web_ide_terminal_entity_spec.rb'
- 'spec/serializers/web_ide_terminal_serializer_spec.rb'

View file

@ -0,0 +1,67 @@
---
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/limit_active_jobs_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/limit_active_jobs_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

@ -171,7 +171,6 @@ RSpec/InstanceVariable:
- spec/requests/openid_connect_spec.rb - spec/requests/openid_connect_spec.rb
- spec/requests/projects/issues/discussions_spec.rb - spec/requests/projects/issues/discussions_spec.rb
- spec/rubocop/cop/migration/update_column_in_batches_spec.rb - spec/rubocop/cop/migration/update_column_in_batches_spec.rb
- spec/serializers/pipeline_serializer_spec.rb
- spec/services/ci/create_pipeline_service/logger_spec.rb - spec/services/ci/create_pipeline_service/logger_spec.rb
- spec/services/ci/process_sync_events_service_spec.rb - spec/services/ci/process_sync_events_service_spec.rb
- spec/services/labels/update_service_spec.rb - spec/services/labels/update_service_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,39 @@
--- ---
RSpec/MultipleMemoizedHelpers: RSpec/MultipleMemoizedHelpers:
Details: grace period
Exclude: Exclude:
- spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb - 'ee/spec/features/boards/swimlanes/epics_swimlanes_filtering_spec.rb'
- spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb - 'ee/spec/finders/epics_finder_spec.rb'
- spec/requests/api/ci/runner/jobs_artifacts_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_latest_pipeline_ids_spec.rb'
- ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_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/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/allowed_target_filter_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

@ -99,8 +99,6 @@ RSpec/PredicateMatcher:
- 'ee/spec/services/jira/requests/issues/list_service_spec.rb' - 'ee/spec/services/jira/requests/issues/list_service_spec.rb'
- 'ee/spec/services/milestones/promote_service_spec.rb' - 'ee/spec/services/milestones/promote_service_spec.rb'
- 'ee/spec/services/protected_environments/create_service_spec.rb' - 'ee/spec/services/protected_environments/create_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/manually_create_service_spec.rb' - 'ee/spec/services/vulnerabilities/manually_create_service_spec.rb'
- 'ee/spec/services/vulnerability_exports/export_service_spec.rb' - 'ee/spec/services/vulnerability_exports/export_service_spec.rb'
- 'ee/spec/support/shared_examples/graphql/mutations/dast_on_demand_scans_shared_examples.rb' - 'ee/spec/support/shared_examples/graphql/mutations/dast_on_demand_scans_shared_examples.rb'
@ -414,7 +412,6 @@ RSpec/PredicateMatcher:
- 'spec/requests/api/users_spec.rb' - 'spec/requests/api/users_spec.rb'
- 'spec/requests/git_http_spec.rb' - 'spec/requests/git_http_spec.rb'
- 'spec/requests/lfs_http_spec.rb' - 'spec/requests/lfs_http_spec.rb'
- 'spec/serializers/pipeline_serializer_spec.rb'
- 'spec/services/branches/create_service_spec.rb' - 'spec/services/branches/create_service_spec.rb'
- 'spec/services/ci/create_pipeline_service/needs_spec.rb' - 'spec/services/ci/create_pipeline_service/needs_spec.rb'
- 'spec/services/ci/create_pipeline_service/rate_limit_spec.rb' - 'spec/services/ci/create_pipeline_service/rate_limit_spec.rb'
@ -499,7 +496,6 @@ RSpec/PredicateMatcher:
- 'spec/support/shared_examples/requests/api/hooks_shared_examples.rb' - 'spec/support/shared_examples/requests/api/hooks_shared_examples.rb'
- 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb'
- 'spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb' - 'spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb'
- 'spec/tasks/gitlab/backup_rake_spec.rb'
- 'spec/tasks/gitlab/cleanup_rake_spec.rb' - 'spec/tasks/gitlab/cleanup_rake_spec.rb'
- 'spec/uploaders/object_storage_spec.rb' - 'spec/uploaders/object_storage_spec.rb'
- 'spec/validators/any_field_validator_spec.rb' - 'spec/validators/any_field_validator_spec.rb'

View file

@ -1,123 +1,144 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
RSpec/ScatteredLet: RSpec/ScatteredLet:
Details: grace period
Exclude: Exclude:
- 'ee/spec/features/boards/user_visits_board_spec.rb'
- 'ee/spec/features/groups/group_roadmap_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/pipeline_vulnerabilities_finder_spec.rb'
- 'ee/spec/finders/security/vulnerability_reads_finder_spec.rb' - 'ee/spec/frontend/fixtures/runner.rb'
- 'ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb' - 'ee/spec/graphql/ee/types/clusters/agent_type_spec.rb'
- 'ee/spec/graphql/mutations/boards/epics/create_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/merge_requests/accept_spec.rb'
- 'ee/spec/graphql/mutations/releases/update_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/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/boards/board_epic_type_spec.rb'
- 'ee/spec/graphql/types/instance_security_dashboard_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/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/audit/compliance_framework_changes_auditor_spec.rb'
- 'ee/spec/lib/ee/gitlab/ci/config_spec.rb' - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb'
- 'ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb'
- 'ee/spec/lib/gitlab/background_migration/migrate_requirements_to_work_items_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/dast_spec.rb'
- 'ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb' - 'ee/spec/lib/gitlab/code_owners/loader_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/cycle_analytics/stage_summary_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/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/geo/replication/blob_downloader_spec.rb'
- 'ee/spec/lib/gitlab/git_access_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/count_per_label_reducer_spec.rb'
- 'ee/spec/lib/gitlab/insights/reducers/label_count_per_period_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/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/approval_wrapped_any_approver_rule_spec.rb'
- 'ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb' - 'ee/spec/models/dast_site_validation_spec.rb'
- 'ee/spec/models/ci/minutes/notification_spec.rb'
- 'ee/spec/models/ci/pipeline_spec.rb'
- 'ee/spec/models/ee/ci/build_dependencies_spec.rb' - 'ee/spec/models/ee/ci/build_dependencies_spec.rb'
- 'ee/spec/models/label_note_spec.rb' - 'ee/spec/models/ee/iteration_spec.rb'
- 'ee/spec/models/sca/license_compliance_spec.rb' - 'ee/spec/models/ee/user_spec.rb'
- 'ee/spec/policies/merge_request_policy_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/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/ci_cd_settings_spec.rb'
- 'ee/spec/requests/api/graphql/group/epic/notes_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/instance_security_dashboard_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_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/projects/set_compliance_framework_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb' - 'ee/spec/requests/api/graphql/mutations/security/finding/create_issue_spec.rb'
- 'ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb'
- 'ee/spec/requests/api/graphql/project/dast_profile_schedule_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/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/graphql/project/pipelines/dast_profile_spec.rb'
- 'ee/spec/requests/api/internal/base_spec.rb' - 'ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb'
- 'ee/spec/requests/api/projects_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/settings_spec.rb'
- 'ee/spec/requests/api/vulnerability_findings_spec.rb' - 'ee/spec/requests/api/vulnerability_findings_spec.rb'
- 'ee/spec/requests/git_http_geo_spec.rb' - 'ee/spec/services/analytics/devops_adoption/snapshots/calculate_and_save_service_spec.rb'
- 'ee/spec/serializers/license_compliance/collapsed_comparer_entity_spec.rb'
- 'ee/spec/serializers/status_page/incident_serializer_spec.rb'
- 'ee/spec/services/app_sec/dast/scan_configs/fetch_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/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_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/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/epic_issues/create_service_spec.rb'
- 'ee/spec/services/epics/issue_promote_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/create_service_spec.rb'
- 'ee/spec/services/group_saml/saml_provider/update_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/groups/memberships/export_service_spec.rb'
- 'ee/spec/services/incident_management/escalation_policies/create_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/incident_management/oncall_rotations/remove_participant_service_spec.rb'
- 'ee/spec/services/merge_request_approval_settings/update_service_spec.rb' - 'ee/spec/services/members/activate_service_spec.rb'
- 'ee/spec/services/merge_trains/refresh_service_spec.rb' - 'ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb'
- 'ee/spec/services/projects/destroy_service_spec.rb' - 'ee/spec/services/sbom/ingestion/occurrence_map_spec.rb'
- 'ee/spec/services/projects/prometheus/alerts/notify_service_spec.rb' - 'ee/spec/services/security/report_summary_service_spec.rb'
- 'ee/spec/services/quality_management/test_cases/create_service_spec.rb' - 'ee/spec/services/vulnerabilities/security_finding/create_issue_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/views/subscriptions/groups/edit.html.haml_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' - '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' - '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/deploy_keys_controller_spec.rb'
- 'spec/controllers/projects/environments_controller_spec.rb' - 'spec/controllers/projects/environments_controller_spec.rb'
- 'spec/controllers/projects/issues_controller_spec.rb' - 'spec/controllers/projects/issues_controller_spec.rb'
- 'spec/controllers/projects/releases/evidences_controller_spec.rb' - 'spec/controllers/projects/jobs_controller_spec.rb'
- 'spec/controllers/projects/releases_controller_spec.rb' - 'spec/features/boards/user_visits_board_spec.rb'
- 'spec/finders/ci/daily_build_group_report_results_finder_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_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/group_projects_finder_spec.rb'
- 'spec/finders/groups/user_groups_finder_spec.rb'
- 'spec/finders/license_template_finder_spec.rb' - 'spec/finders/license_template_finder_spec.rb'
- 'spec/frontend/fixtures/pipelines.rb' - 'spec/finders/projects/groups_finder_spec.rb'
- 'spec/graphql/resolvers/commit_pipelines_resolver_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/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/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/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/project_reference_filter_spec.rb'
- 'spec/lib/banzai/filter/references/user_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/alert_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/commit_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/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/external_issue_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/label_parser_spec.rb' - 'spec/lib/banzai/reference_parser/label_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/merge_request_parser_spec.rb' - 'spec/lib/banzai/reference_parser/merge_request_parser_spec.rb'
@ -125,32 +146,29 @@ RSpec/ScatteredLet:
- 'spec/lib/banzai/reference_parser/project_parser_spec.rb' - 'spec/lib/banzai/reference_parser/project_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/snippet_parser_spec.rb' - 'spec/lib/banzai/reference_parser/snippet_parser_spec.rb'
- 'spec/lib/banzai/reference_parser/user_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/pipeline/runner_spec.rb'
- 'spec/lib/bulk_imports/projects/pipelines/snippets_repository_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/snippets_repository_pipeline_spec.rb'
- 'spec/lib/gitlab/asciidoc/include_processor_spec.rb' - 'spec/lib/gitlab/asciidoc/include_processor_spec.rb'
- 'spec/lib/gitlab/auth/ldap/person_spec.rb' - 'spec/lib/gitlab/auth/ldap/person_spec.rb'
- 'spec/lib/gitlab/auth/saml/auth_hash_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/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/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/encrypt_static_object_token_spec.rb'
- 'spec/lib/gitlab/background_migration/legacy_uploads_migrator_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/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/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/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/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/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/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/ci/yaml_processor_spec.rb'
- 'spec/lib/gitlab/cycle_analytics/stage_summary_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/migrations/test_batched_background_runner_spec.rb'
- 'spec/lib/gitlab/database/partitioning/partition_manager_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/postgresql_adapter/empty_query_ping_spec.rb'
- 'spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb' - 'spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb'
- 'spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb' - 'spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb'
@ -160,41 +178,43 @@ RSpec/ScatteredLet:
- 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb' - 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb'
- 'spec/lib/gitlab/diff/suggestion_diff_spec.rb' - 'spec/lib/gitlab/diff/suggestion_diff_spec.rb'
- 'spec/lib/gitlab/diff/suggestion_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/processor/context_payload_processor_spec.rb'
- 'spec/lib/gitlab/error_tracking_spec.rb'
- 'spec/lib/gitlab/git/blame_spec.rb' - 'spec/lib/gitlab/git/blame_spec.rb'
- 'spec/lib/gitlab/git/diff_collection_spec.rb' - 'spec/lib/gitlab/git/diff_collection_spec.rb'
- 'spec/lib/gitlab/git_access_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/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/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/jira_import/issue_serializer_spec.rb'
- 'spec/lib/gitlab/lets_encrypt/client_spec.rb' - 'spec/lib/gitlab/lets_encrypt/client_spec.rb'
- 'spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb' - 'spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb'
- 'spec/lib/gitlab/metrics/subscribers/external_http_spec.rb' - 'spec/lib/gitlab/metrics/subscribers/external_http_spec.rb'
- 'spec/lib/gitlab/middleware/memory_report_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/keyset/page_spec.rb'
- 'spec/lib/gitlab/pagination/offset_pagination_spec.rb' - 'spec/lib/gitlab/pagination/offset_pagination_spec.rb'
- 'spec/lib/gitlab/patch/database_config_spec.rb' - 'spec/lib/gitlab/patch/database_config_spec.rb'
- 'spec/lib/gitlab/path_regex_spec.rb' - 'spec/lib/gitlab/path_regex_spec.rb'
- 'spec/lib/gitlab/prometheus/queries/matched_metric_query_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/serializer/pagination_spec.rb'
- 'spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_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/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/template/finders/global_template_finder_spec.rb'
- 'spec/lib/gitlab/tree_summary_spec.rb' - 'spec/lib/gitlab/tree_summary_spec.rb'
- 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_proxy_installations_count_metric_spec.rb'
- 'spec/lib/gitlab/usage_data_metrics_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/utils/measuring_spec.rb'
- 'spec/lib/gitlab/zentao/client_spec.rb' - 'spec/lib/gitlab/zentao/client_spec.rb'
- 'spec/lib/peek/views/external_http_spec.rb' - 'spec/lib/peek/views/external_http_spec.rb'
- 'spec/mailers/emails/in_product_marketing_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/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/build_dependencies_spec.rb'
- 'spec/models/ci/pipeline_spec.rb' - 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/concerns/issuable_spec.rb' - 'spec/models/concerns/issuable_spec.rb'
@ -203,68 +223,61 @@ RSpec/ScatteredLet:
- 'spec/models/deploy_keys_project_spec.rb' - 'spec/models/deploy_keys_project_spec.rb'
- 'spec/models/design_management/design_at_version_spec.rb' - 'spec/models/design_management/design_at_version_spec.rb'
- 'spec/models/diff_note_spec.rb' - 'spec/models/diff_note_spec.rb'
- 'spec/models/environment_spec.rb'
- 'spec/models/integration_spec.rb' - 'spec/models/integration_spec.rb'
- 'spec/models/merge_request_diff_spec.rb'
- 'spec/models/merge_request_spec.rb' - 'spec/models/merge_request_spec.rb'
- 'spec/models/milestone_spec.rb'
- 'spec/models/push_event_spec.rb' - 'spec/models/push_event_spec.rb'
- 'spec/models/snippet_repository_spec.rb'
- 'spec/models/ssh_host_key_spec.rb' - 'spec/models/ssh_host_key_spec.rb'
- 'spec/models/user_spec.rb' - 'spec/models/user_spec.rb'
- 'spec/models/users/credit_card_validation_spec.rb' - 'spec/models/users/credit_card_validation_spec.rb'
- 'spec/models/wiki_page_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/policies/group_member_policy_spec.rb'
- 'spec/requests/admin/background_migrations_controller_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/pipeline_schedules_spec.rb'
- 'spec/requests/api/ci/pipelines_spec.rb'
- 'spec/requests/api/commit_statuses_spec.rb' - 'spec/requests/api/commit_statuses_spec.rb'
- 'spec/requests/api/graphql/ci/groups_spec.rb' - 'spec/requests/api/graphql/ci/runners_spec.rb'
- 'spec/requests/api/graphql/ci/pipelines_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/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/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/version_spec.rb'
- 'spec/requests/api/graphql/project/issue/design_collection/versions_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/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/milestones_spec.rb'
- 'spec/requests/api/graphql/project/pipeline_spec.rb' - 'spec/requests/api/graphql/project/work_item_types_spec.rb'
- 'spec/requests/api/graphql/project/release_spec.rb' - 'spec/requests/api/graphql/todo_query_spec.rb'
- 'spec/requests/api/graphql/user/starred_projects_query_spec.rb' - 'spec/requests/api/group_boards_spec.rb'
- 'spec/requests/api/issues/get_group_issues_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/merge_requests_spec.rb'
- 'spec/requests/api/notes_spec.rb' - 'spec/requests/api/notes_spec.rb'
- 'spec/requests/api/project_clusters_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/jira_routing_spec.rb'
- 'spec/requests/projects/releases_controller_spec.rb'
- 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb' - 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb'
- 'spec/scripts/pipeline_test_report_builder_spec.rb' - 'spec/scripts/pipeline_test_report_builder_spec.rb'
- 'spec/serializers/build_details_entity_spec.rb' - 'spec/serializers/build_details_entity_spec.rb'
- 'spec/serializers/ci/job_entity_spec.rb' - 'spec/serializers/ci/job_entity_spec.rb'
- 'spec/serializers/merge_requests/pipeline_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_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/logger_spec.rb'
- 'spec/services/ci/create_pipeline_service/rules_spec.rb'
- 'spec/services/ci/create_pipeline_service_spec.rb' - 'spec/services/ci/create_pipeline_service_spec.rb'
- 'spec/services/ci/destroy_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/delete_designs_service_spec.rb'
- 'spec/services/design_management/save_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/discussions/capture_diff_note_positions_service_spec.rb'
- 'spec/services/events/destroy_service_spec.rb' - 'spec/services/events/destroy_service_spec.rb'
- 'spec/services/git/base_hooks_service_spec.rb' - 'spec/services/git/base_hooks_service_spec.rb'
- 'spec/services/groups/group_links/update_service_spec.rb' - 'spec/services/issues/create_service_spec.rb'
- 'spec/services/jira_import/cloud_users_mapper_service_spec.rb' - 'spec/services/merge_requests/mergeability/logger_spec.rb'
- 'spec/services/jira_import/server_users_mapper_service_spec.rb' - 'spec/services/merge_requests/update_assignees_service_spec.rb'
- 'spec/services/lfs/push_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/custom_metric_embed_service_spec.rb'
- 'spec/services/metrics/dashboard/dynamic_embed_service_spec.rb' - 'spec/services/metrics/dashboard/dynamic_embed_service_spec.rb'
- 'spec/services/metrics/dashboard/gitlab_alert_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/notification_service_spec.rb'
- 'spec/services/packages/composer/create_package_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/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/create_package_file_service_spec.rb'
- 'spec/services/packages/debian/generate_distribution_key_service_spec.rb' - 'spec/services/packages/debian/generate_distribution_key_service_spec.rb'
- 'spec/services/packages/debian/update_distribution_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/projects/lfs_pointers/lfs_download_link_list_service_spec.rb'
- 'spec/services/snippets/create_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/suggestions/create_service_spec.rb'
- 'spec/services/system_notes/design_management_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/merge_requests_service_spec.rb'
- 'spec/services/system_notes/time_tracking_service_spec.rb'
- 'spec/services/todo_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/support/shared_examples/graphql/sorted_paginated_query_shared_examples.rb'
- 'spec/tasks/gitlab/artifacts/migrate_rake_spec.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' - '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/authority_analyzer_spec.rb
- ee/spec/lib/gitlab/cache_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/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/ci/pipeline/chain/limit/size_spec.rb
- ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb - ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb
- ee/spec/lib/gitlab/code_owners/users_loader_spec.rb - ee/spec/lib/gitlab/code_owners/users_loader_spec.rb

View file

@ -1,9 +1,7 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Style/AccessorGrouping: Style/AccessorGrouping:
# Offense count: 254 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/finders/template_finder.rb' - 'app/finders/template_finder.rb'
- 'app/models/commit.rb' - 'app/models/commit.rb'
@ -23,7 +21,6 @@ Style/AccessorGrouping:
- 'app/models/project.rb' - 'app/models/project.rb'
- 'app/services/deployments/update_environment_service.rb' - 'app/services/deployments/update_environment_service.rb'
- 'app/services/issues/clone_service.rb' - 'app/services/issues/clone_service.rb'
- 'app/services/merge_requests/bulk_remove_attention_requested_service.rb'
- 'app/services/note_summary.rb' - 'app/services/note_summary.rb'
- 'app/services/notification_recipients/builder/default.rb' - 'app/services/notification_recipients/builder/default.rb'
- 'app/services/task_list_toggle_service.rb' - 'app/services/task_list_toggle_service.rb'
@ -38,6 +35,7 @@ Style/AccessorGrouping:
- 'ee/lib/gitlab/ci/reports/security/locations/dast.rb' - 'ee/lib/gitlab/ci/reports/security/locations/dast.rb'
- 'ee/lib/gitlab/ci/reports/security/locations/dependency_scanning.rb' - 'ee/lib/gitlab/ci/reports/security/locations/dependency_scanning.rb'
- 'lib/feature/definition.rb' - 'lib/feature/definition.rb'
- 'lib/gitlab/audit/type/definition.rb'
- 'lib/gitlab/bitbucket_server_import/importer.rb' - 'lib/gitlab/bitbucket_server_import/importer.rb'
- 'lib/gitlab/ci/config/external/context.rb' - 'lib/gitlab/ci/config/external/context.rb'
- 'lib/gitlab/ci/reports/security/finding.rb' - 'lib/gitlab/ci/reports/security/finding.rb'
@ -65,7 +63,6 @@ Style/AccessorGrouping:
- 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb' - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb'
- 'lib/gitlab/suggestions/file_suggestion.rb' - 'lib/gitlab/suggestions/file_suggestion.rb'
- 'lib/gitlab/tracking/event_definition.rb' - 'lib/gitlab/tracking/event_definition.rb'
- 'lib/gitlab/tree_summary.rb'
- 'lib/gitlab/usage/metric_definition.rb' - 'lib/gitlab/usage/metric_definition.rb'
- 'lib/gitlab/usage/metrics/instrumentations/base_metric.rb' - 'lib/gitlab/usage/metrics/instrumentations/base_metric.rb'
- 'lib/gitlab/usage/service_ping/instrumented_payload.rb' - 'lib/gitlab/usage/service_ping/instrumented_payload.rb'

View file

@ -1,9 +1,7 @@
--- ---
# Cop supports --auto-correct. # Cop supports --auto-correct.
Style/CaseLikeIf: Style/CaseLikeIf:
# Offense count: 60 Details: grace period
# Temporarily disabled due to too many offenses
Enabled: false
Exclude: Exclude:
- 'app/controllers/concerns/issuable_actions.rb' - 'app/controllers/concerns/issuable_actions.rb'
- 'app/controllers/groups/dependency_proxy/application_controller.rb' - 'app/controllers/groups/dependency_proxy/application_controller.rb'
@ -13,6 +11,7 @@ Style/CaseLikeIf:
- 'app/helpers/broadcast_messages_helper.rb' - 'app/helpers/broadcast_messages_helper.rb'
- 'app/helpers/issues_helper.rb' - 'app/helpers/issues_helper.rb'
- 'app/helpers/routing/pseudonymization_helper.rb' - 'app/helpers/routing/pseudonymization_helper.rb'
- 'app/helpers/todos_helper.rb'
- 'app/models/integrations/jira.rb' - 'app/models/integrations/jira.rb'
- 'app/models/members/member_task.rb' - 'app/models/members/member_task.rb'
- 'app/models/namespace.rb' - 'app/models/namespace.rb'
@ -21,8 +20,11 @@ Style/CaseLikeIf:
- 'app/services/google_cloud/generate_pipeline_service.rb' - 'app/services/google_cloud/generate_pipeline_service.rb'
- 'app/services/issuable/bulk_update_service.rb' - 'app/services/issuable/bulk_update_service.rb'
- 'app/services/todo_service.rb' - 'app/services/todo_service.rb'
- 'app/services/user_project_access_changed_service.rb'
- 'ee/app/controllers/concerns/credentials_inventory_actions.rb' - 'ee/app/controllers/concerns/credentials_inventory_actions.rb'
- 'ee/app/finders/ee/notes_finder.rb' - 'ee/app/finders/ee/notes_finder.rb'
- 'ee/app/finders/security/scan_execution_policies_finder.rb'
- 'ee/app/finders/security/training_providers/secure_code_warrior_url_finder.rb'
- 'ee/app/helpers/ee/branches_helper.rb' - 'ee/app/helpers/ee/branches_helper.rb'
- 'ee/app/services/epics/tree_reorder_service.rb' - 'ee/app/services/epics/tree_reorder_service.rb'
- 'ee/app/services/merge_request_approval_settings/update_service.rb' - 'ee/app/services/merge_request_approval_settings/update_service.rb'
@ -43,18 +45,18 @@ Style/CaseLikeIf:
- 'lib/gitlab/utils/strong_memoize.rb' - 'lib/gitlab/utils/strong_memoize.rb'
- 'qa/qa/git/repository.rb' - 'qa/qa/git/repository.rb'
- 'qa/qa/scenario/bootable.rb' - 'qa/qa/scenario/bootable.rb'
- 'rubocop/cop/gitlab/keys_first_and_values_first.rb'
- 'spec/features/boards/user_adds_lists_to_board_spec.rb' - 'spec/features/boards/user_adds_lists_to_board_spec.rb'
- 'spec/lib/gitlab/auth/auth_finders_spec.rb' - 'spec/lib/gitlab/auth/auth_finders_spec.rb'
- 'spec/lib/gitlab/database/load_balancing_spec.rb' - 'spec/lib/gitlab/database/load_balancing_spec.rb'
- 'spec/lib/omni_auth/strategies/jwt_spec.rb' - 'spec/lib/omni_auth/strategies/jwt_spec.rb'
- 'spec/models/concerns/sha_attribute_spec.rb' - 'spec/models/concerns/sha_attribute_spec.rb'
- 'spec/models/preloaders/labels_preloader_spec.rb' - 'spec/models/preloaders/labels_preloader_spec.rb'
- 'spec/requests/api/personal_access_tokens_spec.rb'
- 'spec/requests/api/rubygem_packages_spec.rb' - 'spec/requests/api/rubygem_packages_spec.rb'
- 'spec/requests/api/terraform/modules/v1/packages_spec.rb' - 'spec/requests/api/terraform/modules/v1/packages_spec.rb'
- 'spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb'
- 'spec/services/resource_events/change_state_service_spec.rb' - 'spec/services/resource_events/change_state_service_spec.rb'
- 'spec/support/helpers/filter_spec_helper.rb' - 'spec/support/helpers/filter_spec_helper.rb'
- 'spec/support/matchers/abort_matcher.rb'
- 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb' - 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/notes_shared_examples.rb' - 'spec/support/shared_examples/requests/api/notes_shared_examples.rb'
- 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb'

View file

@ -521,6 +521,7 @@ Style/ClassAndModuleChildren:
- 'ee/db/fixtures/development/21_dast_profiles.rb' - 'ee/db/fixtures/development/21_dast_profiles.rb'
- 'ee/db/fixtures/development/30_customizable_cycle_analytics.rb' - 'ee/db/fixtures/development/30_customizable_cycle_analytics.rb'
- 'ee/db/fixtures/development/32_compliance_report_violations.rb' - 'ee/db/fixtures/development/32_compliance_report_violations.rb'
- 'ee/db/fixtures/development/35_merge_request_predictions.rb'
- 'ee/db/fixtures/development/90_productivity_analytics.rb' - 'ee/db/fixtures/development/90_productivity_analytics.rb'
- 'ee/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb' - 'ee/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb'
- 'ee/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder.rb' - 'ee/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder.rb'

View file

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

Some files were not shown because too many files have changed in this diff Show more