Commit d0d54215 authored by 徐豪's avatar 徐豪
Browse files

init

parents

Too many changes to show.

To preserve performance only 330 of 330+ files are displayed.
[semgrep]
description = 'semgrep custom rules configuration'
targetdir = "/sgrules"
validate = true
[[semgrep.passthrough]]
type = "git"
value = "https://gitlab.com/gitlab-com/gl-security/product-security/appsec/sast-custom-rules.git"
ref = "refs/heads/main"
subdir = "gitlab-sast-rules"
[secrets]
[[secrets.ruleset]]
disable = true
[secrets.ruleset.identifier]
type = "gitleaks_rule_id"
value = "Password in URL"
[[secrets.passthrough]]
type = "file"
# note this must be gitleaks.toml
target = "gitleaks.toml"
value = "config/gitleaks.toml"
afedb913baf4203aa688421873fdb9f94649578e:doc/api/users.md:generic-api-key:2201
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:33
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:34
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:35
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:36
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:37
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:38
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:39
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:40
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:41
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:55
spec/frontend/lib/utils/secret_detection_spec.js:generic-api-key:57
spec/frontend/lib/utils/secret_detection_spec.js:gitlab-pat:28
d39da82ae304b8813a8fb2c79c3d7cd6f173590e:doc/api/groups.md:gitlab-pat:2342
\ No newline at end of file
# Gitpod file reference
# https://www.gitpod.io/docs/configure/workspaces/tasks
image: registry.gitlab.com/gitlab-org/gitlab-development-kit/gitpod-workspace:stable
checkoutLocation: gitlab-development-kit/gitlab
tasks:
- name: GDK
# "command:" emits gitpod-start
before: |
START_UNIXTIME="$(date +%s)"
echo START_UNIXTIME="$(date +%s)" > /workspace/gitpod_start_time.sh
command: |
# send signal to other tasks that Gitpod started
gp sync-done gitpod-start
echo "Waiting for other task to copy GDK.."
gp sync-await gdk-copied && cd /workspace/gitlab-development-kit && gdk help
- name: GitLab
# "command:" emits gdk-copied
init: |
(
set -e
echo "$(date) – Copying GDK" | tee -a /workspace/startup.log
cp -r $HOME/gitlab-development-kit /workspace/
cd /workspace/gitlab-development-kit
mv -v /workspace/gitlab-development-kit/secrets.yml /workspace/gitlab-development-kit/gitlab/config
# ensure gdk.yml has correct instance settings
gdk config set gitlab.rails.port 443 |& tee -a /workspace/startup.log
gdk config set gitlab.rails.https.enabled true |& tee -a /workspace/startup.log
gdk config set webpack.host 127.0.0.1 |& tee -a /workspace/startup.log
gdk config set webpack.static false |& tee -a /workspace/startup.log
gdk config set webpack.live_reload false |& tee -a /workspace/startup.log
# reconfigure GDK
echo "$(date) – Reconfiguring GDK" | tee -a /workspace/startup.log
gdk reconfigure
# run DB migrations
echo "$(date) – Running DB migrations" | tee -a /workspace/startup.log
make gitlab-db-migrate
# stop GDK
echo "$(date) – Stopping GDK" | tee -a /workspace/startup.log
gdk stop
echo "$(date) – GDK stopped" | tee -a /workspace/startup.log
)
command: |
(
set -e
gp sync-done gdk-copied
gp sync-await gitpod-start
[[ -f /workspace/gitpod_start_time.sh ]] && source /workspace/gitpod_start_time.sh
SECONDS=0
cd /workspace/gitlab-development-kit
# update GDK
echo "$(date) – Updating GDK" | tee -a /workspace/startup.log
export DEFAULT_BRANCH=$(git --git-dir=gitlab/.git branch --show-current)
gdk config set gitlab.default_branch "$DEFAULT_BRANCH"
gdk update
# ensure gdk.yml has correct instance settings
gdk config set gitlab.rails.hostname $(gp url 3000 | sed -e 's+^http[s]*://++')
gdk config set gitlab.rails.port 443
gdk config set gitlab.rails.https.enabled true
gdk config set webpack.host 127.0.0.1
gdk config set webpack.static false
gdk config set webpack.live_reload false
# reconfigure GDK
echo "$(date) – Reconfiguring GDK" | tee -a /workspace/startup.log
gdk reconfigure
# start GDK
echo "$(date) – Starting GDK" | tee -a /workspace/startup.log
export DEV_SERVER_PUBLIC_ADDR=$(gp url 3808)
export RAILS_HOSTS=$(gp url 3000 | sed -e 's+^http[s]*://++')
gdk start
# Run DB migrations
if [ "$GITLAB_RUN_DB_MIGRATIONS" == true ]; then
make gitlab-db-migrate
fi
cd /workspace/gitlab-development-kit/gitlab
echo "--- on branch: $DEFAULT_BRANCH"
echo "--- installing lefthook"
bundle exec lefthook install
echo "--- resetting db/structure.sql"
git checkout db/structure.sql
echo "--- waiting for GitLab"
gp ports await 3000
printf "Awaiting /-/readiness on $(gp url 3000) ..."
# Check /-/readiness which returns JSON, but we're only interested in the exit code
#
# We use http://localhost:3000 instead of the public hostname because
# it's no longer possible to access as specific cookies are required
until curl --silent --no-buffer --fail http://localhost:3000/-/readiness > /dev/null 2>&1; do printf '.'; sleep 5; done && echo ""
# Give Gitpod a few more seconds to set up everything ...
sleep 5
printf "$(date) – GitLab is up (took ~%.1f minutes)\n" "$((10*$SECONDS/60))e-1" | tee -a /workspace/startup.log
gp preview $(gp url 3000) --external || true
PREBUILD_LOG=(/workspace/.gitpod/prebuild-log-*)
[[ -f /workspace/gitpod_start_time.sh ]] && printf "Took %.1f minutes from https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitpod.yml being executed through to completion %s\n" "$((10*(($(date +%s)-${START_UNIXTIME}))/60))e-1" "$([[ -f "$PREBUILD_LOG" ]] && echo "With Prebuilds")"
)
ports:
- port: 2222 # sshd
onOpen: ignore
- port: 3000 # rails-web
onOpen: notify
- port: 3005 # gitlab-docs
onOpen: notify
- port: 3010 # gitlab-pages
onOpen: ignore
- port: 3808 # webpack
onOpen: ignore
- port: 5000 # auto_devops
onOpen: ignore
- port: 5778 # jaeger
onOpen: ignore
- port: 9000 # object_store / minio
onOpen: ignore
- port: 9122 # gitlab-shell
onOpen: ignore
vscode:
extensions:
- GitLab.gitlab-workflow
- rebornix.ruby@0.28.1
- wingrunr21.vscode-ruby@0.28.0
- karunamurti.haml@1.4.1
- octref.vetur@0.37.3
- dbaeumer.vscode-eslint@2.4.0
- DavidAnson.vscode-markdownlint@0.49.0
- esbenp.prettier-vscode
schema:
- ./tmp/tests/graphql/gitlab_schema.graphql
- ./tmp/tests/graphql/gitlab_schema_apollo.graphql
documents:
- ./app/assets/javascripts/**/*.graphql
- ./ee/app/assets/javascripts/**/*.graphql
- ./jh/app/assets/javascripts/**/*.graphql
- ./app/graphql/queries/**/*.graphql
inherits_from:
- .haml-lint_todo.yml
# Whether to ignore frontmatter at the beginning of HAML documents for
# frameworks such as Jekyll/Middleman
skip_frontmatter: false
exclude:
- 'vendor/**/*'
- 'spec/**/*'
- 'ee/spec/**/*'
require:
- './haml_lint/linter/documentation_links.rb'
- './haml_lint/linter/inline_javascript.rb'
- './haml_lint/linter/no_plain_nodes.rb'
linters:
AltText:
enabled: true
ClassAttributeWithStaticValue:
enabled: true
ClassesBeforeIds:
enabled: false
ConsecutiveComments:
enabled: false
ConsecutiveSilentScripts:
enabled: false
max_consecutive: 2
DocumentationLinks:
enabled: true
include:
- 'app/views/**/*.haml'
- 'ee/app/views/**/*.haml'
EmptyObjectReference:
enabled: true
EmptyScript:
enabled: true
FinalNewline:
enabled: true
present: true
HtmlAttributes:
enabled: true
IdNames:
enabled: false
ImplicitDiv:
enabled: true
InlineJavaScript:
enabled: true
InlineStyles:
enabled: false
InstanceVariables:
enabled: false
LeadingCommentSpace:
enabled: false
LineLength:
enabled: false
max: 80
MultilinePipe:
enabled: true
MultilineScript:
enabled: true
ObjectReferenceAttributes:
enabled: true
RepeatedId:
enabled: false
RuboCop:
enabled: true
ignored_cops:
# These cops are incredibly noisy when it comes to HAML templates, so we
# ignore them.
- Layout/BlockAlignment
- Layout/HashAlignment
- Layout/IndentationConsistency
- Layout/IndentationWidth
- Layout/LineLength
- Layout/TrailingWhitespace
- Lint/Void
- Naming/FileName
- Layout/ElseAlignment
- Style/FrozenStringLiteralComment
- Style/IfUnlessModifier
- Style/Next
- Style/SoleNestedConditional
- Style/StringLiteralsInInterpolation
- Style/WhileUntilModifier
- Cop/StaticTranslationDefinition
# These cops should eventually get enabled
# haml-lint force enables these: https://github.com/sds/haml-lint/blob/v0.51.0/config/forced_rubocop_config.yml
- Layout/ArgumentAlignment
- Layout/ArrayAlignment
- Layout/ClosingParenthesisIndentation # See https://github.com/sds/haml-lint/issues/491
- Layout/EndAlignment
- Layout/SpaceInsideParens # See https://github.com/sds/haml-lint/issues/491
- Cop/LineBreakAfterGuardClauses
- Cop/LineBreakAroundConditionalBlock
- Cop/ProjectPathHelper
- Gitlab/FeatureAvailableUsage
- Gitlab/Json
- Gitlab/Rails/SafeFormat
- GitlabSecurity/PublicSend
- Layout/FirstHashElementIndentation
- Layout/EmptyLineAfterGuardClause
- Layout/EmptyLines
- Layout/EmptyLinesAroundBlockBody
- Layout/ExtraSpacing
- Layout/InitialIndentation
- Layout/LeadingCommentSpace
- Layout/MultilineHashBraceLayout
- Layout/SpaceAroundOperators
- Layout/SpaceBeforeComma
- Layout/SpaceBeforeFirstArg
- Layout/SpaceInsideHashLiteralBraces
- Layout/SpaceInsideStringInterpolation
- Layout/TrailingEmptyLines
- Lint/AmbiguousOperatorPrecedence
- Lint/AssignmentInCondition
- Lint/LiteralInInterpolation
- Lint/ParenthesesAsGroupedExpression
- Lint/RedundantStringCoercion
- Lint/SafeNavigationConsistency
- Lint/SymbolConversion
- Lint/UnusedBlockArgument
- Metrics/BlockNesting
- Naming/VariableName
- Performance/RedundantMatch
- Performance/StringReplacement
- Rails/LinkToBlank
- Rails/OutputSafety
- Rails/RequestReferer
- Style/ColonMethodCall
- Style/ConditionalAssignment
- Style/FormatString
- Style/HashSyntax
- Style/IdenticalConditionalBranches
- Style/IfInsideElse
- Style/InlineDisableAnnotation
- Style/MultilineTernaryOperator
- Style/NegatedIf
- Style/NestedTernaryOperator
- Style/RedundantInterpolation
- Style/SelfAssignment
- Style/StringConcatenation
- Style/TernaryParentheses
- Style/TrailingCommaInHashLiteral
- Style/UnlessElse
- Style/WordArray
- Style/ZeroLengthPredicate
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/207950
- Cop/UserAdmin
# See https://gitlab.com/groups/gitlab-org/-/epics/7374.
# This should eventually be enabled
- Gitlab/AvoidGitlabInstanceChecks
RubyComments:
enabled: true
SpaceBeforeScript:
enabled: true
SpaceInsideHashAttributes:
enabled: true
style: space
Syntax:
enabled: true
Indentation:
enabled: true
character: space # or tab
TagName:
enabled: true
TrailingEmptyLines:
enabled: false
TrailingWhitespace:
enabled: true
UnnecessaryInterpolation:
enabled: true
UnnecessaryStringOutput:
enabled: true
ViewLength:
enabled: false
included_patterns:
- "**/*.rb"
excluded_patterns:
- "**/spec/**/*"
- qa/qa/specs/features/**/*
- vendor/**/*
- ".bundle/**/*"
#!/bin/bash
# Adjusted from https://gitlab.com/fdegier/pre-push-hooks with hardcoded values for speed
ORIGIN=origin
DEFAULT_BRANCH=master
if [[ -n "$ORIGIN" ]]
then
# Pull the default branch from remote
git fetch --quiet origin "$DEFAULT_BRANCH":"$DEFAULT_BRANCH"
fi
# Check for merge conflicts and abort
if git merge --autostash --no-commit --no-ff --no-edit "$DEFAULT_BRANCH" > /dev/null 2>&1
then
# Able to merge without conflicts
git merge --abort > /dev/null 2>&1
exit 0
else
echo "Merge conflicts detected when merging to $DEFAULT_BRANCH!"
git merge --abort > /dev/null 2>&1
exit 1
fi
#!/usr/bin/env bash
set -e
shopt -s nocasematch # Enable case-insensitive matching
local_branch="$(git rev-parse --abbrev-ref HEAD)"
security_branch_regex="^security.+"
url="$2"
if [[ $local_branch =~ $security_branch_regex ]] && [[ "$url" != *"gitlab-org/security/"* ]]
then
echo "Pushing security branches to remotes other than gitlab.com/gitlab-org/security has been disabled!"
echo "Please read https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#do-not-push-to-gitlab-orggitlab"
echo
exit 1
fi
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Hxv3MkkZbMrKtIs6np9
ccP4OwGBkNhIvhPjcQP48hbbascv5RqsOquQGrYSD2ZrE/kbkRdkIcoHEeTZLif+
bDKFZFI7o5x0H92o9/GSvxHJhQ8mkmvwxD7lssGShwZEm8WG+U7BZqUV/gGmCDqe
9W8H8Fq2B0ck8IXjbQ4Zz+JlyV/NHZTZcs69plFiLKh4N6GYVftOVwSomh0bbypP
OB9WnLC7RC9a2LRrhtf8sqa2rRFmtyMMfgFFzLMzS+w+1K4+QLnWP1gKQVzaFnzk
pnwKPrqbGFYbRztIVEWbs8jPYlLkGb8ME4C84YVtQgbQcbyisU/VW3wUGkhT+J0k
xwIDAQAB
-----END PUBLIC KEY-----
#
# This list is used by git-shortlog to make contributions from the
# same person appearing to be so.
#
Achilleas Pipinellis <axilleas@axilleas.me> <axilleas@archlinux.gr>
Achilleas Pipinellis <axilleas@axilleas.me> <axilleas@users.noreply.github.com>
Dmitriy Zaporozhets <dzaporozhets@gitlab.com> <dmitriy.zaporozhets@gmail.com>
Dmitriy Zaporozhets <dzaporozhets@gitlab.com> <dzaporozhets@sphereconsultinginc.com>
Douwe Maan <douwe@gitlab.com> <douwe@selenight.nl>
Douwe Maan <douwe@gitlab.com> <me@douwe.me>
Grzegorz Bizon <grzegorz@gitlab.com> <grzegorz.bizon@ntsn.pl>
Grzegorz Bizon <grzegorz@gitlab.com> <grzesiek.bizon@gmail.com>
Jacob Vosmaer <jacob@gitlab.com> <contact@jacobvosmaer.nl>
Jacob Vosmaer <jacob@gitlab.com> Jacob Vosmaer (GitLab) <jacob@gitlab.com>
Jacob Schatz <jschatz@gitlab.com> <jacobschatz@Jacobs-MacBook-Pro.local>
Jacob Schatz <jschatz@gitlab.com> <jacobschatz@Jacobs-MBP.fios-router.home>
Jacob Schatz <jschatz@gitlab.com> <jschatz1@gmail.com>
James Lopez <james@jameslopez.es> <james@gitlab.com>
James Lopez <james@jameslopez.es> <james.lopez@vodafone.com>
Kamil Trzciński <kamil@gitlab.com> <ayufan@ayufan.eu>
Marin Jankovski <maxlazio@gmail.com> <marin@gitlab.com>
Phil Hughes <me@iamphill.com> <theephil@gmail.com>
Rémy Coutable <remy@rymai.me> <remy@gitlab.com>
Robert Schilling <rschilling@student.tugraz.at> <Razer6@users.noreply.github.com>
Robert Schilling <rschilling@student.tugraz.at> <schilling.ro@gmail.com>
Robert Speicher <robert@gitlab.com> <rspeicher@gmail.com>
Stan Hu <stanhu@gmail.com> <stanhu@alum.mit.edu>
Stan Hu <stanhu@gmail.com> <stanhu@packetzoom.com>
Stan Hu <stanhu@gmail.com> <stanhu@users.noreply.github.com>
Stan Hu <stanhu@gmail.com> stanhu <stanhu@gmail.com>
Sytse Sijbrandij <sytse@gitlab.com> <sytse+admin@gitlab.com>
Sytse Sijbrandij <sytse@gitlab.com> <sytse@dosire.com>
Sytse Sijbrandij <sytse@gitlab.com> <sytses@gmail.com>
Sytse Sijbrandij <sytse@gitlab.com> dosire <sytse@gitlab.com>
---
# Base Markdownlint configuration
# Extended Markdownlint configuration in doc/.markdownlint/
# See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md for explanations of each rule
config:
# First, set the default
default: true
# Per-rule settings in alphabetical order
code-block-style: # MD046
style: "fenced"
emphasis-style: false # MD049
first-header-h1: true # MD002
first-line-h1: false # MD041
header-style: # MD003
style: "atx"
hr-style: # MD035
style: "---"
line-length: false # MD013
no-duplicate-heading: # MD024
siblings_only: true
no-emphasis-as-heading: false # MD036
no-inline-html: false # MD033
no-trailing-punctuation: # MD026
punctuation: ".,;:!。,;:!?"
no-trailing-spaces: false # MD009
ol-prefix: # MD029
style: "one"
reference-links-images: false # MD052
ul-style: # MD004
style: "dash"
# Keep this item last due to length
proper-names: # MD044
code_blocks: false
html_elements: false
names: [
"Akismet",
"Alertmanager",
"AlmaLinux",
"API",
"Asana",
"Auth0",
"Azure",
"Bamboo",
"Bitbucket",
"Bugzilla",
"CAS",
"CentOS",
"Consul",
"Debian",
"DevOps",
"Docker",
"DockerSlim",
"Elasticsearch",
"Facebook",
"fastlane",
"fluent-plugin-redis-slowlog",
"GDK",
"Geo",
"Git LFS",
"git-annex",
"git-credential-oauth",
"git-sizer",
"Git",
"Gitaly",
"GitHub",
"gitlab.vim",
"GitLab Geo",
"GitLab Monitor",
"GitLab Operator",
"GitLab Pages",
"GitLab Rails",
"GitLab Runner",
"GitLab Shell",
"GitLab Workhorse",
"GitLab",
"Gitleaks",
"Gmail",
"Google",
"Grafana",
"Gzip",
"Helm",
"HipChat",
"ID",
"IP",
"Ingress",
"jasmine-jquery",
"JavaScript",
"Jaeger",
"Jenkins",
"Jira",
"Jira Cloud",
"Jira Server",
"jQuery",
"JSON",
"JupyterHub",
"Karma",
"Kerberos",
"Knative",
"Kubernetes",
"LDAP",
"Let's Encrypt",
"Markdown",
"markdownlint",
"Mattermost",
"Microsoft",
"minikube",
"MinIO",
"ModSecurity",
"Neovim",
"NGINX Ingress",
"NGINX",
"OAuth",
"OAuth 2",
"OmniAuth",
"OpenID",
"OpenShift",
"PgBouncer",
"Postfix",
"PostgreSQL",
"PowerShell",
"Praefect",
"Prometheus",
"Puma",
"puma-worker-killer",
"Python",
"Rake",
"Redis",
"Redmine",
"reCAPTCHA",
"Ruby",
"runit",
"Salesforce",
"SAML",
"Sendmail",
"Sentry",
"Service Desk",
"Sidekiq",
"Shibboleth",
"Slack",
"SMTP",
"SpotBugs",
"SSH",
"Tiller",
"TOML",
"Trello",
"Trello Power-Ups",
"TypeScript",
"Twitter",
"Ubuntu",
"Ultra Auth",
"Unicorn",
"unicorn-worker-killer",
"URL",
"WebdriverIO",
"YAML",
"YouTrack"
]
customRules:
- "./doc/.markdownlint/rules/tabs_blank_lines.js"
- "./doc/.markdownlint/rules/tabs_title_markup.js"
- "./doc/.markdownlint/rules/tabs_title_text.js"
- "./doc/.markdownlint/rules/tabs_wrapper_tags.js"
20.12.2
/app/assets/javascripts/locale/**/app.js
/fixtures/lib/gitlab/graphql/
/node_modules/
/public/
/vendor/
/tmp/
/sitespeed-result/
# ignore stylesheets for now as this clashes with our linter
*.css
*.scss
*.md
{
"printWidth": 100,
"singleQuote": true,
"arrowParens": "always",
"trailingComma": "all"
}
{
"ee/*": { "type": "ee" },
"app/*": { "type": "ce" },
"lib/*": { "type": "ce" },
"config/initializers/*.rb": {
"alternate": "spec/initializers/{}_spec.rb",
"type": "source"
},
"spec/initializers/*_spec.rb": {
"alternate": "config/initializers/{}.rb",
"type": "test"
},
"app/channels/*.rb": {
"related": "ee/app/channels/ee/{}.rb",
"type": "source"
},
"app/components/*.rb": {
"related": "ee/app/components/ee/{}.rb",
"type": "source"
},
"app/controllers/*.rb": {
"related": "ee/app/controllers/ee/{}.rb",
"type": "source"
},
"app/enums/*.rb": {
"related": "ee/app/enums/ee/{}.rb",
"type": "source"
},
"app/events/*.rb": {
"related": "ee/app/events/ee/{}.rb",
"type": "source"
},
"app/experiments/*.rb": {
"related": "ee/app/experiments/ee/{}.rb",
"type": "source"
},
"app/finders/*.rb": {
"related": "ee/app/finders/ee/{}.rb",
"type": "source"
},
"app/graphql/*.rb": {
"related": "ee/app/graphql/ee/{}.rb",
"type": "source"
},
"app/helpers/*.rb": {
"related": "ee/app/helpers/ee/{}.rb",
"type": "source"
},
"app/mailers/*.rb": {
"related": "ee/app/mailers/ee/{}.rb",
"type": "source"
},
"app/models/*.rb": {
"related": "ee/app/models/ee/{}.rb",
"type": "source"
},
"app/policies/*.rb": {
"related": "ee/app/policies/ee/{}.rb",
"type": "source"
},
"app/presenters/*.rb": {
"alternate": "spec/presenters/{}_spec.rb",
"related": "ee/app/presenters/ee/{}.rb",
"type": "source"
},
"app/serializers/*.rb": {
"alternate": "spec/serializers/{}_spec.rb",
"related": "ee/app/serializers/ee/{}.rb",
"type": "source"
},
"app/services/*.rb": {
"alternate": "spec/services/{}_spec.rb",
"related": "ee/app/services/ee/{}.rb",
"type": "source"
},
"app/uploaders/*.rb": {
"alternate": "spec/uploaders/{}_spec.rb",
"related": "ee/app/uploaders/ee/{}.rb",
"type": "source"
},
"app/validators/*.rb": {
"alternate": "spec/validators/{}_spec.rb",
"related": "ee/app/validators/ee/{}.rb",
"type": "source"
},
"app/views/*.erb": {
"alternate": "spec/views/{}.erb_spec.rb",
"related": "ee/app/views/ee/{}.erb",
"type": "source"
},
"app/views/*.haml": {
"alternate": "spec/views/{}.haml_spec.rb",
"related": "ee/app/views/ee/{}.haml",
"type": "source"
},
"app/workers/*.rb": {
"alternate": "spec/workers/{}_spec.rb",
"related": "ee/app/workers/ee/{}.rb",
"type": "source"
},
"spec/*_spec.rb": {
"alternate": "app/{}.rb",
"type": "test"
},
"lib/*.rb": {
"alternate": "spec/lib/{}_spec.rb",
"type": "source"
},
"spec/lib/*_spec.rb": {
"alternate": "lib/{}.rb",
"type": "test"
},
"lib/api/*.rb": {
"alternate": "spec/requests/api/{}_spec.rb",
"type": "source"
},
"spec/requests/api/*_spec.rb": {
"alternate": "lib/api/{}.rb",
"type": "test"
},
"spec/views/*.erb_spec.rb": {
"alternate": "app/views/{}.erb",
"related": "ee/app/views/ee/{}.erb",
"type": "test"
},
"spec/views/*.haml_spec.rb": {
"alternate": "app/views/{}.haml",
"related": "ee/app/views/ee/{}.haml",
"type": "test"
},
"rubocop/cop/*.rb": {
"alternate": "spec/rubocop/cop/{}_spec.rb",
"type": "source"
},
"spec/rubocop/cop/*_spec.rb": {
"alternate": "rubocop/cop/{}.rb",
"type": "test"
},
"tooling/*.rb": {
"alternate": "spec/tooling/{}_spec.rb",
"type": "source"
},
"spec/tooling/*_spec.rb": {
"alternate": "tooling/{}.rb",
"type": "test"
},
"ee/lib/api/*.rb": {
"alternate": "ee/spec/requests/api/{}_spec.rb",
"type": "source"
},
"ee/spec/requests/api/*_spec.rb": {
"alternate": "ee/lib/api/{}.rb",
"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/serializers/{}_spec.rb",
"related": "app/serializers/{}.rb",
"type": "source"
},
"ee/app/services/ee/*.rb": {
"alternate": "spec/services/{}_spec.rb",
"related": "app/services/{}.rb",
"type": "source"
},
"ee/app/uploaders/ee/*.rb": {
"alternate": "spec/uploaders/{}_spec.rb",
"related": "app/uploaders/{}.rb",
"type": "source"
},
"ee/app/validators/ee/*.rb": {
"alternate": "spec/validators/{}_spec.rb",
"related": "app/validators/{}.rb",
"type": "source"
},
"ee/app/views/ee/*.erb": {
"alternate": "ee/spec/views/ee/{}.erb_spec.rb",
"related": "app/views/{}.erb",
"type": "source"
},
"ee/app/views/ee/*.haml": {
"alternate": "ee/spec/views/ee/{}.haml_spec.rb",
"related": "app/views/{}.haml",
"type": "source"
},
"ee/app/workers/ee/*.rb": {
"alternate": "spec/workers/{}_spec.rb",
"related": "app/workers/{}.rb",
"type": "source"
},
"ee/app/*.rb": {
"alternate": "ee/spec/{}_spec.rb",
"related": "app/{}.rb",
"type": "source"
},
"ee/spec/*_spec.rb": {
"alternate": "ee/app/{}.rb",
"type": "test"
},
"ee/lib/*.rb": {
"alternate": "ee/spec/lib/{}_spec.rb",
"type": "source"
},
"ee/lib/ee/*.rb": {
"alternate": "ee/spec/lib/{}_spec.rb",
"related": "lib/{}.rb",
"type": "source"
},
"ee/spec/lib/*_spec.rb": {
"alternate": "ee/lib/{}.rb",
"type": "test"
},
"app/assets/javascripts/*.js": {
"alternate": "spec/frontend/{}_spec.js",
"type": "source"
},
"app/assets/javascripts/*.vue": {
"alternate": "spec/frontend/{}_spec.js",
"type": "source"
},
"spec/frontend/*_spec.js": {
"alternate": ["app/assets/javascripts/{}.vue", "app/assets/javascripts/{}.js"],
"type": "test"
},
"ee/app/assets/javascripts/*.js": {
"alternate": "ee/spec/frontend/{}_spec.js",
"related": "app/assets/javascripts/{}.js",
"type": "source"
},
"ee/app/assets/javascripts/*.vue": {
"alternate": "ee/spec/frontend/{}_spec.js",
"related": "app/assets/javascripts/{}.vue",
"type": "source"
},
"ee/spec/frontend/*_spec.js": {
"alternate": ["ee/app/assets/javascripts/{}.vue", "ee/app/assets/javascripts/{}.js"],
"type": "test"
},
"ee/spec/views/ee/*.erb_spec.rb": {
"alternate": "ee/app/views/ee/{}.erb",
"related": "spec/views/{}.erb_spec.rb",
"type": "test"
},
"ee/spec/views/ee/*.haml_spec.rb": {
"alternate": "ee/app/views/ee/{}.haml",
"related": "spec/views/{}.haml_spec.rb",
"type": "test"
},
"*.rb": { "dispatch": "bundle exec rubocop {file}" },
"*_spec.rb": { "dispatch": "bundle exec rspec {file}" }
}
inherit_gem:
gitlab-styles:
- rubocop-default.yml
require:
- ./rubocop/rubocop
- rubocop-rspec
inherit_from:
<% unless ENV['REVEAL_RUBOCOP_TODO'] == '1' %>
<% Dir.glob('.rubocop_todo/**/*.yml').each do |rubocop_todo_yaml| %>
- '<%= rubocop_todo_yaml %>'
<% end %>
- '.rubocop_todo.yml'
<% end %>
- ./rubocop/rubocop-migrations.yml
- ./rubocop/rubocop-usage-data.yml
- ./rubocop/rubocop-code_reuse.yml
<% Dir.glob('jh/rubocop/**/*.yml').each do |jh_rubocop_yaml| %>
- '<%= jh_rubocop_yaml %>'
<% end %>
inherit_mode:
merge:
- Include
- Exclude
- AllowedPatterns
AllCops:
# The oldest supported Ruby version.
TargetRubyVersion: 3.1
TargetRailsVersion: 7.0
Exclude:
- 'gems/**/*'
- 'qa/gems/**/*'
- 'vendor/**/*'
- 'node_modules/**/*'
- 'db/fixtures/**/*'
- 'db/schema.rb'
- 'tmp/**/*'
- 'bin/**/*'
- 'generator_templates/**/*'
- 'builds/**/*'
- 'plugins/**/*'
- 'file_hooks/**/*'
- 'workhorse/**/*'
- 'shared/packages/**/*'
- 'spec/support/*.git/**/*' # e.g. spec/support/gitlab-git-test.git
- 'db/ci_migrate/*.rb' # since the `db/ci_migrate` is a symlinked to `db/migrate`
# projects_controller.rb is used for testing LLM response and is very sensitive to whitespaces.
- 'ee/spec/fixtures/llm/projects_controller.rb'
# Adding this specifically for a large revert: !118368
<% File.readlines('.rubocop_revert_ignores.txt').map(&:chomp).each do |f| %>
- '<%= f %>'
<% end %>
# Use absolute path to avoid orphan directories with changed workspace root.
CacheRootDirectory: <%= Dir.getwd %>/tmp
MaxFilesInCache: 1_000_000
NewCops: disable
SuggestExtensions: false
Rails:
Exclude:
# User defined excludes on top (department) level don't cancel default
# includes set by child cops. Directories below are not affected (tested
# manually). Watch https://github.com/rubocop/rubocop/issues/11148 to
# know when this comment can be removed.
- 'danger/**/*'
- 'tooling/danger/**/*'
- 'rubocop/**/*'
RSpec:
Language:
Includes:
Examples:
- run_permission_checks
- run_group_permission_checks
- it_should_email!
- it_should_not_email!
Metrics/ParameterLists:
Exclude:
# See https://gitlab.com/gitlab-org/gitlab/-/issues/356771
- 'app/components/**/*'
Cop/AvoidKeywordArgumentsInSidekiqWorkers:
Enabled: true
Include:
- 'app/workers/**/*'
- 'ee/app/workers/**/*'
Cop/StaticTranslationDefinition:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
InternalAffairs/DeprecateCopHelper:
Enabled: true
Include:
- spec/rubocop/**/*.rb
Layout/LineLength:
AllowedPatterns: ['^RSpec\.describe\s.*\sdo']
Exclude:
- 'ee/spec/controllers/concerns/routable_actions_spec.rb'
- 'ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb'
Lint/Debugger:
DebuggerMethods:
PryShell:
binding.pry_shell
Lint/EmptyFile:
Exclude:
- 'db/seeds.rb'
- 'ee/db/embedding/seeds.rb'
- 'ee/db/geo/seeds.rb'
# This file has a lot of these, and how we name classes here is essential for how we
# implement migration versions
Naming/ClassAndModuleCamelCase:
Exclude:
- 'lib/gitlab/database/migration.rb'
# This cop checks whether some constant value isn't a
# mutable literal (e.g. array or hash).
Style/MutableConstant:
Exclude:
- 'db/migrate/**/*'
- 'db/post_migrate/**/*'
- 'ee/db/migrate/**/*'
- 'ee/db/post_migrate/**/*'
- 'ee/db/geo/migrate/**/*'
# TODO: Move this to gitlab-styles
Style/SafeNavigation:
Enabled: false
Style/AccessModifierDeclarations:
AllowModifiersOnSymbols: true
# Frozen String Literal
Style/FrozenStringLiteralComment:
Enabled: true
EnforcedStyle: always_true
Style/SpecialGlobalVars:
EnforcedStyle: use_builtin_english_names
Style/SignalException:
Exclude:
# Danger defines its own `fail` method
- '**/*/Dangerfile'
- 'tooling/danger/**/*.rb'
RSpec/FilePath:
Exclude:
- 'qa/**/*'
- 'spec/frontend/fixtures/*'
- 'ee/spec/frontend/fixtures/*'
- 'spec/requests/api/v3/*'
- 'spec/fixtures/**/*'
CustomTransform:
HTTPartyBasicAuth: httparty_basic_auth
# Configuration parameters: AllowSubject.
RSpec/MultipleMemoizedHelpers:
Max: 25
AllowSubject: true
Capybara/TestidFinders:
Include:
- 'spec/features/**/*'
- 'ee/spec/features/**/*'
Naming/FileName:
ExpectMatchingDefinition: true
CheckDefinitionPathHierarchy: false
Exclude:
- '**/*/*.builder'
- 'ee/bin/*'
- 'config.ru'
- 'config/**/*'
- 'ee/config/**/*'
- 'jh/config/**/*'
- 'db/**/*'
- 'ee/db/**/*'
- 'ee/elastic/migrate/*'
- 'lib/tasks/**/*.rake'
- 'ee/lib/tasks/**/*.rake'
- 'lib/generators/**/*'
- 'ee/lib/generators/**/*'
- 'scripts/**/*'
- 'spec/**/*'
- 'tooling/bin/**/*'
- 'ee/spec/**/*'
- 'jh/spec/**/*'
- 'qa/bin/*'
- 'qa/spec/**/*'
- 'qa/qa/factories/**/*'
- 'qa/qa/ee/factories/**/*'
- 'qa/qa/specs/**/*'
- 'qa/tasks/**/*.rake'
- '**/*.ru'
IgnoreExecutableScripts: true
AllowedAcronyms:
- EE
- JSON
- LDAP
- SAML
- SSO
- IO
- HMAC
- QA
- ENV
- STL
- PDF
- SVG
- CTE
- DN
- RSA
- CI
- CD
- OAuth
- CSP
- CSV
- SCA
- SAN
- CIDR
- SPDX
- MR
- JWT
- HLL
- GPG
- OTP
- GID
- AR
- RSpec
- ECDSA
- ED25519
- GitLab
- JavaScript
- VSCode
- JetBrains
# default ones:
- CLI
- DSL
- ACL
- API
- ASCII
- CPU
- CSS
- DNS
- EOF
- GUID
- HTML
- HTTP
- HTTPS
- ID
- IP
- JSON
- LHS
- QPS
- RAM
- RHS
- RPC
- SLA
- SMTP
- SQL
- SSH
- TCP
- TLS
- TTL
- UDP
- UI
- UID
- UUID
- URI
- URL
- UTF8
- VM
- XML
- XMPP
- XSRF
- XSS
- GRPC
# Check for the use of before with let_it_be when using "add_role" methods
# e.g. add_guest, add_reporter, add_developer
RSpec/BeforeAllRoleAssignment:
Enabled: true
Rails/ApplicationRecord:
Enabled: true
Exclude:
# Models in database migrations should not subclass from ApplicationRecord
# as they need to be as decoupled from application code as possible
- db/**/*.rb
- lib/gitlab/background_migration/**/*.rb
- ee/lib/ee/gitlab/background_migration/**/*.rb
- lib/gitlab/database/**/*.rb
- spec/**/*.rb
- ee/db/**/*.rb
- ee/spec/**/*.rb
Rails/ActiveRecordCallbacksOrder:
Include:
- app/models/**/*.rb
- ee/app/models/**/*.rb
# We disable this since network latency isn't an issue and schema changes execute in a few milliseconds.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136251#note_1638949892.
Rails/BulkChangeTable:
Enabled: false
Cop/DefaultScope:
Enabled: true
Rails/FindBy:
Enabled: true
Include:
- 'ee/app/**/*.rb'
- 'ee/lib/**/*.rb'
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Rails/InverseOf:
Include:
- app/models/**/*.rb
- ee/app/models/**/*.rb
Rails/MigrationTimestamp:
Enabled: true
Include:
- db/migrate/*.rb
- db/post_migrate/*.rb
- ee/db/geo/migrate/*.rb
- ee/db/geo/post_migrate/*.rb
# This is currently exiting with a rubocop exception error and should be
# resolved hopefully a future update
# An error occurred while Rails/UniqueValidationWithoutIndex cop was inspecting
# app/models/abuse_report.rb:15:2.
# To see the complete backtrace run rubocop -d.
Rails/UniqueValidationWithoutIndex:
Enabled: false
Rails/HelperInstanceVariable:
Include:
- app/helpers/**/*.rb
- ee/app/helpers/**/*.rb
Rails/MailerName:
Exclude:
# See for the context on why it's excluded https://gitlab.com/gitlab-org/gitlab/-/issues/239356#note_956419227
- 'app/mailers/notify.rb'
Rails/Pluck:
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94047#note_1179689274
AutoCorrect: false
Rails/RakeEnvironment:
# Context on why it's disabled: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93419#note_1048223982
Enabled: false
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94064#note_1157289970
Rails/SquishedSQLHeredocs:
Enabled: false
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96675#note_1094403693
Rails/WhereExists:
Enabled: false
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94061#note_1160343775
Rails/SkipsModelValidations:
Enabled: false
# See https://gitlab.com/gitlab-org/gitlab/-/issues/378105#note_1138487716
Rails/HasManyOrHasOneDependent:
Enabled: false
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94019#note_1139714728
Rails/CreateTableWithTimestamps:
Enabled: false
Rails/AvoidTimeComparison:
Enabled: true
# GitLab ###################################################################
Gitlab/ModuleWithInstanceVariables:
Enable: true
Exclude:
# We ignore Rails helpers right now because it's hard to workaround it
- app/helpers/**/*_helper.rb
- ee/app/helpers/**/*_helper.rb
# We ignore Rails mailers right now because it's hard to workaround it
- app/mailers/emails/**/*.rb
- ee/**/emails/**/*.rb
# We ignore spec helpers because it usually doesn't matter
- spec/support/**/*.rb
- features/steps/**/*.rb
Gitlab/ConstGetInheritFalse:
Enabled: true
Exclude:
- 'qa/bin/*'
Gitlab/ChangeTimezone:
Enabled: true
Exclude:
- config/initializers/time_zone.rb
Gitlab/HTTParty:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
Gitlab/Json:
Enabled: true
Exclude:
- 'qa/**/*'
- 'scripts/**/*'
- 'lib/quality/**/*'
- 'tooling/danger/**/*'
Gitlab/AvoidUploadedFileFromParams:
Enabled: true
Exclude:
- 'lib/gitlab/middleware/multipart.rb'
- 'spec/**/*'
- 'ee/spec/**/*'
Gitlab/EventStoreSubscriber:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
Gitlab/DocUrl:
Enabled: true
Exclude:
- danger/**/*
- ee/spec/**/*
- haml_lint/**/*
- keeps/**/*
- qa/**/*
- rubocop/**/*
- scripts/**/*
- spec/**/*
- tooling/**/*
GitlabSecurity/PublicSend:
Enabled: true
Exclude:
- 'config/**/*'
- 'db/**/*'
- 'features/**/*'
- 'lib/**/*.rake'
- 'qa/**/*'
- 'spec/**/*'
- 'ee/db/**/*'
- 'ee/lib/**/*.rake'
- 'ee/spec/**/*'
Database/MultipleDatabases:
Enabled: true
Exclude:
- 'ee/db/**/*.rb'
- 'spec/migrations/**/*.rb'
- 'lib/tasks/gitlab/db.rake'
- 'ee/lib/ee/gitlab/background_migration/**/*.rb'
- 'spec/lib/gitlab/background_migration/**/*.rb'
- 'spec/lib/gitlab/database/**/*.rb'
- 'spec/tasks/gitlab/db_rake_spec.rb'
Migration/BatchMigrationsPostOnly:
Enabled: true
Include:
- 'db/migrate/*.rb'
- 'db/post_migrate/*.rb'
Migration/EnsureFactoryForTable:
Enabled: true
Include:
- 'db/migrate/*.rb'
Migration/UnfinishedDependencies:
Enabled: true
Include:
- 'db/migrate/*.rb'
- 'db/post_migrate/*.rb'
BackgroundMigration/FeatureCategory:
Enabled: true
Include:
- 'lib/gitlab/background_migration/*.rb'
BackgroundMigration/DictionaryFile:
Enabled: true
EnforcedSince: 20231018100907
Include:
- 'db/post_migrate/*.rb'
# See https://gitlab.com/gitlab-org/gitlab/-/issues/442751
Gitlab/AvoidCurrentOrganization:
Enabled: true
Exclude:
- 'app/controllers/**/*'
- 'ee/app/controllers/**/*'
- 'app/helpers/**/*'
- 'ee/app/helpers/**/*'
- 'app/views/**/*'
- 'ee/app/views/**/*'
- 'lib/api/**/*'
- 'ee/lib/api/**/*'
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
- 'lib/gitlab/middleware/organizations/current.rb'
- 'spec/**/*'
- 'ee/spec/**/*'
# See https://gitlab.com/groups/gitlab-org/-/epics/7374
Gitlab/AvoidGitlabInstanceChecks:
Enabled: true
Exclude:
- 'db/migrate/*.rb'
- 'db/post_migrate/*.rb'
- 'ee/db/fixtures/**/*'
# See https://gitlab.com/gitlab-org/gitlab/-/issues/373194
Gitlab/RSpec/AvoidSetup:
Enabled: true
Include:
- 'ee/spec/features/registrations/saas/**/*'
- 'ee/spec/features/trials/saas/**/*'
- 'ee/spec/features/gitlab_subscriptions/trials/duo_pro/**/*'
RSpec/DuplicateSpecLocation:
Enabled: true
# https://docs.gitlab.com/ee/development/software_design.html#bounded-contexts
Gitlab/BoundedContexts:
Enabled: true
Exclude:
- '**/lib/api/**/*'
- 'ee/lib/ee/api/**/*'
- '**/app/assets/**/*'
- '**/app/channels/**/*'
- '**/app/components/**/*'
- '**/app/controllers/**/*'
- '**/app/helpers/**/*'
- '**/app/presenters/**/*'
- '**/app/serializers/**/*'
- '**/lib/tasks/**/*'
- '**/app/views/**/*'
Include:
- 'app/**/*'
- 'ee/app/**/*'
- 'lib/**/*'
- 'ee/lib/**/*'
Gitlab/PolicyRuleBoolean:
Enabled: true
Include:
- 'app/policies/**/*'
- 'ee/app/policies/**/*'
Cop/InjectEnterpriseEditionModule:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
Style/ReturnNil:
Enabled: true
Cop/ActiveRecordAssociationReload:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
Cop/ActiveModelErrorsDirectManipulation:
Enabled: true
Gitlab/AvoidFeatureGet:
Enabled: true
RSpec/WebMockEnable:
Enabled: true
Include:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Exclude:
- 'spec/support/webmock.rb'
Naming/PredicateName:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93828#note_1050812797
Naming/RescuedExceptionsVariableName:
Enabled: false
RSpec/AvoidTestProf:
Include:
- 'spec/tasks/**/*.rb'
- 'ee/spec/tasks/**/*.rb'
- 'spec/migrations/**/*.rb'
- 'ee/spec/migrations/**/*.rb'
- 'spec/lib/gitlab/background_migration/**/*.rb'
- 'ee/spec/lib/gitlab/background_migration/**/*.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb'
RSpec/AvoidConditionalStatements:
Enabled: true
Include:
- 'spec/features/**/*.rb'
- 'ee/spec/features/**/*.rb'
RSpec/FactoriesInMigrationSpecs:
Enabled: true
Include:
- 'spec/migrations/**/*.rb'
- 'ee/spec/migrations/**/*.rb'
- 'spec/lib/gitlab/background_migration/**/*.rb'
- 'spec/lib/ee/gitlab/background_migration/**/*.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb'
RSpec/FeatureCategory:
Enabled: true
Exclude:
- 'qa/**/*.rb'
- 'gems/**/*.rb'
RSpec/FactoryBot/AvoidCreate:
Enabled: true
Include:
- 'spec/presenters/**/*.rb'
- 'spec/serializers/**/*.rb'
- 'spec/helpers/**/*.rb'
- 'spec/views/**/*.rb'
- 'spec/components/**/*.rb'
- 'spec/mailers/**/*.rb'
- 'spec/routes/directs/*.rb'
- 'spec/lib/sidebars/**/*.rb'
- 'ee/spec/presenters/**/*.rb'
- 'ee/spec/serializers/**/*.rb'
- 'ee/spec/helpers/**/*.rb'
- 'ee/spec/views/**/*.rb'
- 'ee/spec/components/**/*.rb'
- 'ee/spec/mailers/**/*.rb'
- 'ee/spec/routes/directs/*.rb'
- 'ee/spec/lib/sidebars/**/*.rb'
RSpec/BeforeAll:
Enabled: true
Include:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
# Conflict with RSpec/AvoidTestProf
Exclude:
- 'spec/tasks/**/*.rb'
- 'ee/spec/tasks/**/*.rb'
- 'spec/migrations/**/*.rb'
- 'ee/spec/migrations/**/*.rb'
- 'spec/lib/gitlab/background_migration/**/*.rb'
- 'ee/spec/lib/gitlab/background_migration/**/*.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb'
- 'spec/lib/gitlab/database/**/*.rb'
RSpec/FactoryBot/StrategyInCallback:
Enabled: true
Include:
- 'spec/factories/**/*.rb'
- 'ee/spec/factories/**/*.rb'
Cop/IncludeSidekiqWorker:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
Gitlab/Union:
Enabled: true
Exclude:
- 'spec/**/*'
- 'ee/spec/**/*'
API/Base:
Enabled: true
Include:
- 'lib/**/api/**/*.rb'
- 'ee/**/api/**/*.rb'
API/GrapeArrayMissingCoerce:
Enabled: true
Include:
- 'lib/**/api/**/*.rb'
- 'ee/**/api/**/*.rb'
Cop/SidekiqOptionsQueue:
Enabled: true
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Graphql/ResolverType:
Enabled: true
Exclude:
- 'app/graphql/resolvers/base_resolver.rb'
Include:
- 'app/graphql/resolvers/**/*'
- 'ee/app/graphql/resolvers/**/*'
Graphql/AuthorizeTypes:
Enabled: true
Include:
- 'app/graphql/types/**/*'
- 'ee/app/graphql/types/**/*'
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Graphql/IDType:
Enabled: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
Graphql/JSONType:
Enabled: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Graphql/OldTypes:
Enabled: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
- 'spec/graphql/**/*'
- 'spec/requests/api/graphql/**/*'
- 'ee/spec/graphql/**/*'
- 'ee/spec/requests/api/graphql/**/*'
RSpec/EnvAssignment:
Enable: true
Include:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Exclude:
- 'spec/**/fast_spec_helper.rb'
- 'ee/spec/**/fast_spec_helper.rb'
- 'spec/**/spec_helper.rb'
- 'ee/spec/**/spec_helper.rb'
RSpec/EnvMocking:
Enable: true
Include:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Exclude:
- 'spec/**/fast_spec_helper.rb'
- 'ee/spec/**/fast_spec_helper.rb'
- 'spec/**/spec_helper.rb'
- 'ee/spec/**/spec_helper.rb'
RSpec/BeSuccessMatcher:
Enabled: true
Include:
- 'spec/controllers/**/*'
- 'ee/spec/controllers/**/*'
- 'spec/support/shared_examples/controllers/**/*'
- 'ee/spec/support/shared_examples/controllers/**/*'
- 'spec/support/controllers/**/*'
- 'ee/spec/support/controllers/**/*'
Scalability/FileUploads:
Enabled: true
Include:
- 'lib/api/**/*.rb'
- 'ee/lib/api/**/*.rb'
Graphql/Descriptions:
Enabled: true
AutoCorrect: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
Graphql/EnumNames:
Enabled: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
Graphql/EnumValues:
Enabled: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
# Cops for upgrade to gitlab-styles 3.1.0
RSpec/ImplicitSubject:
Enabled: false
# Already covered by `RSpec::Configuration#on_potential_false_positives = :raise`.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86429
RSpec/UnspecifiedException:
Enabled: false
RSpec/HaveGitlabHttpStatus:
Enabled: true
Exclude:
- 'spec/support/matchers/have_gitlab_http_status.rb'
Include:
- 'spec/**/*'
- 'ee/spec/**/*'
RSpec/ContextWording:
Prefixes:
- 'when'
- 'with'
- 'without'
- 'for'
- 'and'
- 'on'
- 'in'
- 'as'
- 'if'
Style/MultilineWhenThen:
Enabled: false
# We use EnforcedStyle of comparison here due to it being better
# performing code as seen in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36221#note_375659681
Style/NumericPredicate:
EnforcedStyle: comparison
Cop/BanCatchThrow:
Enabled: true
Performance/ReadlinesEach:
Enabled: true
Performance/ChainArrayAllocation:
Enabled: true
Include:
- 'lib/gitlab/import_export/**/*'
- 'ee/lib/gitlab/import_export/**/*'
- 'ee/lib/ee/gitlab/import_export/**/*'
Rails/TimeZone:
Enabled: true
EnforcedStyle: 'flexible'
Include:
- 'app/controllers/**/*'
- 'app/services/**/*'
- 'lib/**/*'
- 'spec/controllers/**/*'
- 'spec/services/**/*'
- 'spec/lib/**/*'
- 'ee/app/controllers/**/*'
- 'ee/app/services/**/*'
- 'ee/spec/controllers/**/*'
- 'ee/spec/services/**/*'
- 'app/models/**/*'
- 'spec/models/**/*'
- 'ee/app/models/**/*'
- 'ee/spec/models/**/*'
- 'app/workers/**/*'
- 'spec/workers/**/*'
- 'ee/app/workers/**/*'
- 'ee/spec/workers/**/*'
- 'ee/lib/**/*'
- 'ee/spec/lib/**/*'
- 'spec/features/**/*'
- 'ee/spec/features/**/*'
Rails/SaveBang:
Enabled: true
AllowImplicitReturn: false
AllowedReceivers:
- ActionDispatch::TestRequest
- Tempfile
Include:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Exclude:
- spec/models/wiki_page/**/*
- spec/models/wiki_page_spec.rb
Cop/PutProjectRoutesUnderScope:
Include:
- 'config/routes/project.rb'
- 'ee/config/routes/project.rb'
Cop/PutGroupRoutesUnderScope:
Include:
- 'config/routes/group.rb'
- 'ee/config/routes/group.rb'
Migration/ComplexIndexesRequireName:
Exclude:
- !ruby/regexp /\Adb\/(post_)?migrate\/201.*\.rb\z/
- !ruby/regexp /\Adb\/(post_)?migrate\/20200[1-7].*\.rb\z/
Migration/ReferToIndexByName:
Exclude:
- !ruby/regexp /\Adb\/(post_)?migrate\/201.*\.rb\z/
- !ruby/regexp /\Adb\/(post_)?migrate\/20200[1-7].*\.rb\z/
- !ruby/regexp /\Aee\/db\/geo\/(post_)?migrate\/201.*\.rb\z/
Migration/PreventIndexCreation:
Exclude:
- !ruby/regexp /\Adb\/(post_)?migrate\/201.*\.rb\z/
- !ruby/regexp /\Adb\/(post_)?migrate\/2020.*\.rb\z/
- !ruby/regexp /\Adb\/(post_)?migrate\/20210[1-6].*\.rb\z/
Migration/SchemaAdditionMethodsNoPost:
Enabled: true
Include:
- db/post_migrate/*.rb
EnforcedSince: 20221024034228
Migration/AsyncPostMigrateOnly:
Enabled: true
Include:
- db/**/*.rb
EnforcedSince: 20240115115029
Gitlab/RailsLogger:
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
RSpec/FactoryBot/InlineAssociation:
Include:
- 'spec/factories/**/*.rb'
- 'ee/spec/factories/**/*.rb'
# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/321982
Gitlab/NamespacedClass:
Exclude:
- 'config/**/*.rb'
- 'db/**/*.rb'
- 'ee/bin/**/*'
- 'ee/db/**/*.rb'
- 'ee/elastic/**/*.rb'
- 'scripts/**/*'
- 'spec/fixtures/migrations/**/*.rb'
- 'spec/migrations/**/*.rb'
- 'app/experiments/**/*_experiment.rb'
- 'ee/app/experiments/**/*_experiment.rb'
Lint/HashCompareByIdentity:
Enabled: true
Lint/RedundantSafeNavigation:
Enabled: true
Style/ClassEqualityComparison:
Enabled: true
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/207950
Cop/UserAdmin:
Enabled: true
Exclude:
- 'app/controllers/admin/sessions_controller.rb'
- 'app/controllers/concerns/enforces_admin_authentication.rb'
- 'app/policies/base_policy.rb'
- 'lib/gitlab/auth/current_user_mode.rb'
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Style/InlineDisableAnnotation:
Enabled: true
# See https://gitlab.com/gitlab-org/gitlab/-/issues/327495
Style/RegexpLiteral:
Enabled: false
Style/RegexpLiteralMixedPreserve:
Enabled: true
SupportedStyles:
- slashes
- percent_r
- mixed
- mixed_preserve
EnforcedStyle: mixed_preserve
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94317#note_1139610896
Style/Lambda:
EnforcedStyle: literal
RSpec/TopLevelDescribePath:
Exclude:
- 'spec/fixtures/**/*.rb'
- 'ee/spec/fixtures/**/*.rb'
QA/SelectorUsage:
Enabled: true
Include:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Exclude:
- 'spec/rubocop/**/*_spec.rb'
QA/FeatureFlags:
Enabled: true
Include:
- 'qa/qa/specs/features/**/*.rb'
Performance/ActiveRecordSubtransactions:
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Performance/ActiveRecordSubtransactionMethods:
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
Migration/BatchedMigrationBaseClass:
Enabled: false
BackgroundMigration/AvoidSilentRescueExceptions:
Enabled: false
Migration/AvoidFinalizeBackgroundMigration:
Include:
- 'db/post_migrate/*.rb'
Style/ClassAndModuleChildren:
Enabled: true
Fips/OpenSSL:
Enabled: false
Gemfile/MissingFeatureCategory:
Enabled: true
Include:
- 'Gemfile'
Gemspec/AvoidExecutingGit:
Enabled: false
Lint/BinaryOperatorWithIdenticalOperands:
Exclude:
- '{,ee/,qa/,jh/}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'
- 'lib/gitlab/sidekiq_sharding/scheduled_enq.rb'
- 'lib/gitlab/sidekiq_sharding/router.rb'
- 'app/workers/concerns/application_worker.rb'
- 'lib/gitlab/sidekiq_queue.rb'
Cop/SidekiqApiUsage:
Enabled: true
Exclude:
- '{,ee/,jh/}spec/**/*'
- 'db/post_migrate/**/*'
- 'lib/gitlab/sidekiq_middleware/**/*'
- 'lib/gitlab/background_migration/**/*'
- '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'
- 'lib/gitlab/sidekiq_sharding/scheduled_enq.rb'
- 'lib/gitlab/sidekiq_sharding/router.rb'
- 'lib/gitlab/redis/queues.rb'
- 'app/workers/concerns/application_worker.rb'
- 'config/initializers/active_job_shard_support.rb'
Cop/FeatureFlagUsage:
Include:
- 'lib/gitlab/redis/**/*.rb'
- 'lib/gitlab/patch/**/*.rb'
- 'lib/gitlab/instrumentation/**/*.rb'
Style/ArgumentsForwarding:
Enabled: true
UseAnonymousForwarding: false # Turn this on only after Ruby 3.2+ is required
Search/NamespacedClass:
Enabled: true
Exclude:
- 'config/**/*.rb'
- 'db/**/*.rb'
- 'ee/db/**/*.rb'
- 'ee/bin/**/*'
- 'ee/elastic/**/*.rb' # Advanced Search migrations issue: <>
- 'scripts/**/*'
- 'spec/migrations/**/*.rb'
- 'app/experiments/**/*_experiment.rb'
- 'ee/app/experiments/**/*_experiment.rb'
- 'lib/gitlab/instrumentation/**/*.rb'
- 'lib/gitlab/usage/metrics/instrumentations/**/*.rb'
- 'ee/lib/gitlab/usage/metrics/instrumentations/**/*.rb'
- 'lib/gitlab/sidekiq_middleware/pause_control/strategies/zoekt.rb'
SidekiqLoadBalancing/WorkerDataConsistency:
Enabled: true
Include:
- 'app/workers/**/*'
- 'ee/app/workers/**/*'
Graphql/ResourceNotAvailableError:
Exclude:
# Definition of `raise_resource_not_available_error!`
- 'lib/gitlab/graphql/authorize/authorize_resource.rb'
RSpec/FactoryBot/LocalStaticAssignment:
Include:
- spec/factories/**/*.rb
- ee/spec/factories/**/*.rb
Rails/TransactionExitStatement:
Enabled: true
Search/AvoidCheckingFinishedOnDeprecatedMigrations:
Include:
- 'ee/app/models/**/*.rb'
- 'ee/lib/elastic/**/*.rb'
- 'ee/lib/gitlab/elastic/**/*.rb'
- 'ee/spec/support/helpers/elasticsearch_helpers.rb'
# See https://gitlab.com/gitlab-org/gitlab/-/issues/407233
Cop/ExperimentsTestCoverage:
Enabled: true
Include:
- 'app/**/*'
- 'lib/**/*'
- 'ee/app/**/*'
- 'ee/lib/**/*'
RSpec/UselessDynamicDefinition:
Exclude:
- 'spec/factories/**/*'
- 'ee/spec/factories/**/*'
Database/AvoidUsingPluckWithoutLimit:
Enabled: true
Exclude:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
- 'qa/qa/specs/**/*.rb'
Style/SymbolProc:
AllowedMethods:
- define_method
- mail
- respond_to
# See https://gitlab.com/gitlab-org/gitlab/-/issues/434151
- each_batch
- each_sub_batch
# Short-hand Hash syntax does not work prior 3.1.
# See https://gitlab.com/gitlab-org/gitlab/-/issues/435940#note_1703307479
Style/HashSyntax:
EnforcedShorthandSyntax: never
Gitlab/LicenseAvailableUsage:
Enabled: true
Include:
- 'app/models/application_setting.rb'
- 'ee/app/models/ee/application_setting.rb'
- 'lib/gitlab/current_settings.rb'
Gitlab/TokenWithoutPrefix:
Enabled: true
Include:
- 'app/**/*'
- 'lib/**/*'
- 'ee/app/**/*'
- 'ee/lib/**/*'
Rails/StrongParams:
Enabled: true
SafeAutoCorrect: false
Include:
- 'app/controllers/**/*'
- 'ee/app/controllers/**/*'
QA/FabricateUsage:
Include:
- 'qa/qa/specs/**/*_spec.rb'
db/migrate/20211202041233_init_schema.rb
db/migrate/20211202094944_move_loose_fk_deleted_records_to_dynamic_schema.rb
db/migrate/20211202135508_add_index_on_packages_build_infos_package_id_pipeline_id.rb
db/migrate/20211203160952_add_updated_state_by_user_id_to_merge_request_reviewers.rb
db/migrate/20211203161149_add_index_to_merge_request_reviewers_updated_state_by_user_id.rb
db/migrate/20211203161840_add_updated_state_by_user_id_to_merge_request_assignees.rb
db/migrate/20211203161942_add_index_to_merge_request_assignees_updated_state_by_user_id.rb
db/migrate/20211204010826_add_index_snippets_on_project_id_and_title.rb
db/migrate/20211207154413_add_ci_runners_index_on_created_at_where_active_is_false.rb
db/migrate/20211207154414_add_ci_runners_index_on_contacted_at_where_active_is_false.rb
db/migrate/20211207165508_add_protected_environments_required_approval_count_check_constraint.rb
db/migrate/20211208111425_add_executor_type_column_to_ci_runners.rb
db/migrate/20211209230042_add_status_to_cluster_agent_tokens.rb
db/migrate/20211210025754_alter_constraint_of_phone.rb
db/migrate/20211210031721_change_user_details_phone_text_limit.rb
db/migrate/20211213130324_update_timelogs_spent_at_default.rb
db/migrate/20211213142344_add_settings_user_email_lookup_limit.rb
db/migrate/20211213154259_add_status_to_packages_package_files.rb
db/migrate/20211213154704_add_status_index_to_packages_package_files.rb
db/migrate/20211214110307_remove_temp_index_from_vulnerability_occurrences.rb
db/migrate/20211215182006_update_application_settings_protected_paths.rb
db/migrate/20211216133107_add_cluster_agent_id_to_vulnerability_reads.rb
db/migrate/20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb
db/migrate/20211216135651_add_index_to_cluster_agent_id.rb
db/migrate/20211216220939_add_group_crm_settings.rb
db/migrate/20211217050753_remove_artifacts_archive_id_foreign_key_from_project_pages_metadata.rb
db/migrate/20211220174504_add_secure_scanning_actions_to_onboarding_progresses.rb
db/migrate/20211223125921_add_temp_index_to_members_state.rb
db/migrate/20211224112937_add_packages_cleanup_package_file_worker_capacity_to_application_settings.rb
db/migrate/20211224114539_add_packages_cleanup_package_file_worker_capacity_check_constraint_to_app_settings.rb
db/migrate/20220104174445_add_ci_runners_index_on_active_state.rb
db/migrate/20220105082217_add_verification_token_to_external_ae_destinations.rb
db/migrate/20220105121325_add_route_namespace_reference.rb
db/migrate/20220105152547_add_foreign_key_to_updated_state_by_user_id_to_merge_request_assignees.rb
db/migrate/20220105153149_add_foreign_key_to_updated_state_by_user_id_to_merge_request_reviewers.rb
db/migrate/20220106111958_add_insert_or_update_vulnerability_reads_trigger.rb
db/migrate/20220106112043_add_update_vulnerability_reads_trigger.rb
db/migrate/20220106112085_add_update_vulnerability_reads_location_trigger.rb
db/migrate/20220106141756_remove_lock_version_indexes.rb
db/migrate/20220106163326_add_has_issues_on_vulnerability_reads_trigger.rb
db/migrate/20220106230629_add_registry_migration_application_settings.rb
db/migrate/20220106230712_add_migration_columns_to_container_repositories.rb
db/migrate/20220107091629_add_route_namespace_index.rb
db/migrate/20220107165036_remove_note_id_index.rb
db/migrate/20220109133006_remove_ci_pipelines_lock_version_index.rb
db/migrate/20220110170953_create_ci_secure_files.rb
db/migrate/20220111095006_add_maintainer_note_to_ci_runners.rb
db/migrate/20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb
db/migrate/20220111154950_add_token_expires_at_to_ci_runners.rb
db/migrate/20220111154951_add_index_to_ci_runners_token_expires_at.rb
db/migrate/20220111200254_remove_index_from_merge_requests.rb
db/migrate/20220112115413_add_requires_verification_to_user_details.rb
db/migrate/20220112205111_create_security_training_providers.rb
db/migrate/20220112232037_add_member_namespace_reference.rb
db/migrate/20220112232605_add_member_namespace_index.rb
db/migrate/20220113125401_create_security_trainings.rb
db/migrate/20220113135449_add_package_files_limit_to_application_settings.rb
db/migrate/20220113135924_add_application_settings_package_files_limit_constraints.rb
db/migrate/20220113164801_add_diffs_colors_to_user_preferences.rb
db/migrate/20220113164901_add_text_limit_to_user_preferences_diffs_colors.rb
db/migrate/20220114131950_add_status_only_index_to_packages_package_files.rb
db/migrate/20220117082611_add_text_limit_to_exad_verification_tokens.rb
db/migrate/20220117225936_add_text_limits_to_container_repositories_migration_columns.rb
db/migrate/20220118015633_add_url_text_to_issuable_metric_images.rb
db/migrate/20220118020026_add_url_text_limit_to_issuable_metric_images.rb
db/migrate/20220118141950_add_text_limit_to_container_registry_import_target_plan.rb
db/migrate/20220118155846_add_runner_token_expiration_interval_settings_to_application_settings.rb
db/migrate/20220118155847_add_runner_token_expiration_interval_settings_to_namespace_settings.rb
db/migrate/20220118155848_add_runner_token_expiration_interval_settings_to_project_settings.rb
db/migrate/20220119094023_add_unique_index_to_aed_verification_token.rb
db/migrate/20220119141407_add_dependency_proxy_size_to_namespace_statistics.rb
db/migrate/20220119144253_add_dependency_proxy_size_to_namespace_root_storage_statistics.rb
db/migrate/20220119170426_remove_temporary_vulnerability_occurrences_deduplication_index.rb
db/migrate/20220119220620_add_scan_method_to_dast_site_profile.rb
db/migrate/20220120033115_create_alert_management_alert_metric_images.rb
db/migrate/20220120085655_add_ci_runner_project_index_to_runner_id_and_project_id.rb
db/migrate/20220120160625_remove_temp_index_on_id_from_vulnerability_occurrences.rb
db/migrate/20220120211831_temp_index_for_group_namespace_member_backfill.rb
db/migrate/20220124200927_add_index_to_issues.rb
db/migrate/20220125084127_add_cleanup_attempts_to_loose_foreign_keys_deleted_records.rb
db/migrate/20220125122228_add_topics_non_private_projects_count.rb
db/migrate/20220125122725_add_topics_non_private_projects_count_index.rb
db/migrate/20220125230538_add_compound_index_on_project_id_and_id_for_vulnerabilities.rb
db/migrate/20220126191624_add_scan_file_path_to_dast_site_profile.rb
db/migrate/20220128093756_add_ecdsa_sk_and_ed25519_sk_key_restrictions_to_application_settings.rb
db/migrate/20220128194722_add_index_on_migration_state_and_import_done_at_to_container_repositories.rb
db/migrate/20220131135725_add_severity_level_to_merge_requests_compliance_violations.rb
db/migrate/20220131192643_add_show_diff_preview_in_email_to_project_settings.rb
db/migrate/20220201205300_remove_index_for_vulnerability_occurrences.rb
db/migrate/20220202034409_add_tmp_index_on_id_and_migration_state_to_container_repositories.rb
db/migrate/20220202115350_add_migration_indexes_to_container_repositories.rb
db/migrate/20220203074916_add_topics_lower_name_index.rb
db/migrate/20220203091304_fix_unique_packages_index_excluding_pending_destruction_status.rb
db/migrate/20220203123333_add_batched_migration_max_batch.rb
db/migrate/20220203133652_add_legacy_open_source_license_available_to_project_settings.rb
db/migrate/20220203134942_add_hidden_to_projects.rb
db/migrate/20220204093120_create_analytics_cycle_analytics_aggregations.rb
db/migrate/20220204154220_add_index_on_greatest_done_at_to_container_repositories.rb
db/migrate/20220204193000_add_integrations_encrypted_properties.rb
db/migrate/20220207083129_add_users_get_by_id_limit_to_application_setting.rb
db/migrate/20220208170445_add_not_valid_foreign_key_to_ci_builds_runner_id.rb
db/migrate/20220208171826_update_default_scan_method_of_dast_site_profile.rb
db/migrate/20220211090920_cleanup_populate_topics_non_private_projects_count.rb
db/migrate/20220211125954_create_related_epic_links.rb
db/migrate/20220211214605_update_integrations_trigger_type_new_on_insert_null_safe.rb
db/migrate/20220213100000_remove_integration_type_triggers.rb
db/migrate/20220215164709_update_application_settings_container_registry_exp_pol_worker_capacity_default.rb
db/migrate/20220216110023_create_saved_replies.rb
db/migrate/20220217100008_add_container_registry_expiration_policies_caching_to_application_settings.rb
db/migrate/20220217113058_add_status_to_status_check_responses.rb
db/migrate/20220221102333_change_maintainer_note_limit_in_ci_runner.rb
db/migrate/20220222072536_add_target_access_levels_to_broadcast_messages.rb
db/migrate/20220301002101_add_security_orchestration_policy_configuration_namespace_reference.rb
db/migrate/20220301003502_add_security_orchestration_policy_configuration_namespace_index.rb
db/migrate/20220301091503_add_not_null_constraint_to_security_policy_configurations.rb
db/migrate/20220301175104_change_security_orchestration_policy_configuration_project_index.rb
db/migrate/20220301175426_create_project_build_artifacts_size_refresh.rb
db/migrate/20220302110724_add_group_features_table.rb
db/migrate/20220303190555_add_comment_to_deployment_approvals.rb
db/migrate/20220303191047_add_text_limit_to_deployment_approvals_comment.rb
db/migrate/20220304052335_remove_not_null_contraint_on_title_from_sprints.rb
db/migrate/20220304061631_remove_unique_index_for_sprints_on_iterations_cadence_id_and_title.rb
db/migrate/20220304062107_remove_unique_index_for_sprints_on_project_id_and_title.rb
db/migrate/20220304152729_add_default_to_required_python_on_packages_pypi_metadata.rb
db/migrate/20220307203458_rename_user_email_lookup_limit_setting_to_search_settings.rb
db/migrate/20220309100648_add_time_to_restore_service_dora_metric.rb
db/migrate/20220310011530_add_database_grafana_config_to_application_settings.rb
db/migrate/20220310011613_add_text_limit_to_database_grafana_application_settings.rb
db/migrate/20220310101118_update_holder_name_limit.rb
db/migrate/20220314094841_add_package_registry_access_level_into_project_features.rb
db/migrate/20220314184009_create_protected_environment_approval_rules.rb
db/post_migrate/20211202145237_add_todos_project_and_id_index.rb
db/post_migrate/20211203091642_add_index_to_projects_on_marked_for_deletion_at.rb
db/post_migrate/20211206073851_create_calendar_events_index_synchronously.rb
db/post_migrate/20211206074547_remove_old_calendar_events_index.rb
db/post_migrate/20211206161271_add_indexes_for_primary_email_cleanup_migration.rb
db/post_migrate/20211207081708_add_index_ci_job_artifacts_project_id_file_type.rb
db/post_migrate/20211207090503_cleanup_first_mentioned_in_commit_jobs.rb
db/post_migrate/20211207125331_remove_jobs_for_recalculate_vulnerabilities_occurrences_uuid.rb
db/post_migrate/20211207135331_schedule_recalculate_uuid_on_vulnerabilities_occurrences4.rb
db/post_migrate/20211207173510_remove_extra_finding_evidence_tables_foreign_keys.rb
db/post_migrate/20211207173511_remove_extra_finding_evidence_tables.rb
db/post_migrate/20211208122200_schedule_backfill_ci_namespace_mirrors.rb
db/post_migrate/20211208122201_schedule_backfill_ci_project_mirrors.rb
db/post_migrate/20211208171402_reschedule_recalculate_vulnerability_finding_signatures_for_findings.rb
db/post_migrate/20211209093636_track_ci_job_artifacts_deletes.rb
db/post_migrate/20211209093828_track_users_deletes.rb
db/post_migrate/20211209093923_track_external_pull_requests_deletes.rb
db/post_migrate/20211209094222_track_merge_requests_deletes.rb
db/post_migrate/20211209103048_backfill_project_namespaces_for_group.rb
db/post_migrate/20211209203820_add_tmp_index_on_report_type.rb
db/post_migrate/20211209203821_convert_stringified_raw_metadata_hash_to_json.rb
db/post_migrate/20211210140000_add_temporary_static_object_token_index.rb
db/post_migrate/20211210140629_encrypt_static_object_token.rb
db/post_migrate/20211210173137_remove_vulnerability_finding_links_again.rb
db/post_migrate/20211213064821_add_agent_id_location_index_to_vulnerability_occurrences.rb
db/post_migrate/20211213102111_drop_ci_pipelines_mr_metrics_fk.rb
db/post_migrate/20211214012507_backfill_incident_issue_escalation_statuses.rb
db/post_migrate/20211215090620_schedule_update_timelogs_null_spent_at.rb
db/post_migrate/20211217120000_modify_kubernetes_resource_location_index_to_vulnerability_occurrences.rb
db/post_migrate/20211217145923_add_index_to_events_on_author_id_and_action_and_id.rb
db/post_migrate/20211217174331_mark_recalculate_finding_signatures_as_completed.rb
db/post_migrate/20211220064757_drop_temporary_indexes_for_primary_email_migration.rb
db/post_migrate/20211220120402_add_index_on_ci_pipelines_user_id_id_failure_reason.rb
db/post_migrate/20211220123956_update_invalid_member_states.rb
db/post_migrate/20211229023654_add_async_index_ci_job_artifacts_project_id_file_type.rb
db/post_migrate/20211230112517_remove_index_events_on_author_id_and_action_and_id.rb
db/post_migrate/20211230113031_add_index_to_events_on_author_id_and_id.rb
db/post_migrate/20220104060049_remove_foreign_key_ci_group_variables_group_id.rb
db/post_migrate/20220105020514_remove_ci_minutes_additional_packs_namespace_id_foreign_key_constraint.rb
db/post_migrate/20220106185033_remove_finding_evidence_summary.rb
db/post_migrate/20220106231518_remove_foreign_key_ci_daily_build_group_report_results_group_id.rb
db/post_migrate/20220106233459_remove_foreign_key_ci_pending_builds_namespace_id.rb
db/post_migrate/20220106235626_remove_foreign_key_ci_runner_namespaces_namespace_id.rb
db/post_migrate/20220107064845_populate_vulnerability_reads.rb
db/post_migrate/20220109134455_add_idx_vulnerability_occurrences_dedup_again.rb
db/post_migrate/20220110171049_schedule_populate_test_reports_issue_id.rb
db/post_migrate/20220110224913_remove_dast_scanner_profiles_builds_ci_build_id_fk.rb
db/post_migrate/20220110231420_remove_requirements_management_test_reports_build_id_fk.rb
db/post_migrate/20220110233155_remove_dast_site_profiles_builds_ci_build_id_fk.rb
db/post_migrate/20220111002756_remove_security_scans_build_id_fk.rb
db/post_migrate/20220111023852_index_cluster_agent_tokens_on_status.rb
db/post_migrate/20220111093534_remove_index_on_auto_stop_in.rb
db/post_migrate/20220111101421_remove_index_on_merge_request_id.rb
db/post_migrate/20220111102314_truncate_ci_mirror_tables.rb
db/post_migrate/20220111221516_remove_projects_ci_pending_builds_fk.rb
db/post_migrate/20220112015940_remove_projects_ci_running_builds_fk.rb
db/post_migrate/20220112090556_remove_cascade_delete_from_project_namespace_foreign_key.rb
db/post_migrate/20220112230642_remove_projects_ci_unit_tests_project_id_fk.rb
db/post_migrate/20220112232723_remove_projects_ci_daily_build_group_report_results_project_id_fk.rb
db/post_migrate/20220113013319_remove_projects_ci_freeze_periods_project_id_fk.rb
db/post_migrate/20220113014438_remove_projects_ci_resource_groups_project_id_fk.rb
db/post_migrate/20220113015830_remove_projects_ci_build_report_results_project_id_fk.rb
db/post_migrate/20220113035519_remove_users_ci_job_token_project_scope_links_added_by_id_fk.rb
db/post_migrate/20220113040447_remove_users_ci_pipeline_schedules_owner_id_fk.rb
db/post_migrate/20220113111440_schedule_fix_incorrect_max_seats_used.rb
db/post_migrate/20220114105525_add_index_on_projects_path.rb
db/post_migrate/20220116175851_add_author_index_to_design_management_versions.rb
db/post_migrate/20220117034056_remove_index_cluster_agent_tokens_on_agent_id_and_last_used_at.rb
db/post_migrate/20220118204039_self_managed_reschedule_recalculate_vulnerability_finding_signatures_for_findings.rb
db/post_migrate/20220119094503_populate_audit_event_streaming_verification_token.rb
db/post_migrate/20220119141736_remove_projects_ci_pipeline_artifacts_project_id_fk.rb
db/post_migrate/20220119143130_remove_projects_ci_sources_pipelines_source_project_id_fk.rb
db/post_migrate/20220119144458_remove_users_ci_triggers_owner_id_fk.rb
db/post_migrate/20220119151221_remove_merge_requests_ci_pipelines_merge_request_id_fk.rb
db/post_migrate/20220119153706_remove_ci_pipelines_merge_trains_pipeline_id_fk.rb
db/post_migrate/20220119154442_remove_ci_pipelines_merge_requests_head_pipeline_id_fk.rb
db/post_migrate/20220119193130_remove_ci_pipelines_dast_profiles_pipelines_ci_pipeline_id_fk.rb
db/post_migrate/20220119201340_remove_ci_pipelines_vulnerability_statistics_latest_pipeline_id_fk.rb
db/post_migrate/20220119203119_remove_ci_pipelines_vulnerability_occurrence_pipelines_pipeline_id_fk.rb
db/post_migrate/20220120094340_drop_position_from_security_findings.rb
db/post_migrate/20220120123700_add_tmp_index_routes_id_for_namespaces.rb
db/post_migrate/20220120123800_backfill_namespace_id_for_namespace_routes.rb
db/post_migrate/20220120211832_backfill_member_namespace_id_for_group_members.rb
db/post_migrate/20220121214752_remove_projects_ci_stages_project_id_fk.rb
db/post_migrate/20220121214753_re_remove_projects_ci_stages_project_id_fk.rb
db/post_migrate/20220121221651_remove_projects_ci_variables_project_id_fk.rb
db/post_migrate/20220124130028_dedup_runner_projects.rb
db/post_migrate/20220124145019_remove_projects_external_pull_requests_project_id_fk.rb
db/post_migrate/20220124151456_remove_projects_ci_triggers_project_id_fk.rb
db/post_migrate/20220124151949_remove_projects_ci_runner_projects_project_id_fk.rb
db/post_migrate/20220124152824_remove_projects_ci_subscriptions_projects_downstream_project_id_fk.rb
db/post_migrate/20220124153233_remove_projects_ci_job_artifacts_project_id_fk.rb
db/post_migrate/20220124153234_re_remove_projects_ci_job_artifacts_project_id_fk.rb
db/post_migrate/20220124180704_remove_projects_ci_builds_metadata_project_id_fk.rb
db/post_migrate/20220124180705_re_remove_projects_ci_builds_metadata_project_id_fk.rb
db/post_migrate/20220124184338_remove_projects_ci_subscriptions_projects_upstream_project_id_fk.rb
db/post_migrate/20220124204046_remove_projects_ci_sources_pipelines_project_id_fk.rb
db/post_migrate/20220124214131_remove_projects_ci_refs_project_id_fk.rb
db/post_migrate/20220124215857_remove_projects_ci_job_token_project_scope_links_source_project_id_fk.rb
db/post_migrate/20220124221521_remove_projects_ci_project_monthly_usages_project_id_fk.rb
db/post_migrate/20220125083520_remove_ci_pipelines_dast_site_profiles_pipelines_ci_pipeline_id_fk.rb
db/post_migrate/20220125084348_remove_ci_pipelines_vulnerability_feedback_pipeline_id_fk.rb
db/post_migrate/20220125122640_schedule_populate_topics_non_private_projects_count.rb
db/post_migrate/20220126201752_remove_projects_ci_job_token_project_scope_links_target_project_id_fk.rb
db/post_migrate/20220126202654_remove_projects_ci_sources_projects_source_project_id_fk.rb
db/post_migrate/20220126203421_remove_projects_ci_pipeline_schedules_project_id_fk.rb
db/post_migrate/20220126210021_remove_projects_ci_builds_project_id_fk.rb
db/post_migrate/20220126210022_re_remove_projects_ci_builds_project_id_fk.rb
db/post_migrate/20220126210657_remove_projects_ci_pipelines_project_id_fk.rb
db/post_migrate/20220127112243_add_index_to_merge_request_assignees_state.rb
db/post_migrate/20220127112412_add_index_to_merge_request_reviewers_state.rb
db/post_migrate/20220127132200_cleanup_backfill_ci_namespace_mirrors.rb
db/post_migrate/20220127132201_cleanup_backfill_ci_project_mirrors.rb
db/post_migrate/20220128103042_schedule_delete_invalid_epic_issues_revised.rb
db/post_migrate/20220128155251_remove_dangling_running_builds.rb
db/post_migrate/20220128155814_fix_approval_rules_code_owners_rule_type_index.rb
db/post_migrate/20220131000000_index_job_artifacts_on_trace_type_and_expire_at.rb
db/post_migrate/20220131000001_schedule_trace_expiry_removal.rb
db/post_migrate/20220201034731_remove_index_clusters_kubernetes_namespaces_on_cluster_id.rb
db/post_migrate/20220201141705_cleanup_background_migration_populate_test_reports_issue_id.rb
db/post_migrate/20220201173212_add_user_details_provisioning_index.rb
db/post_migrate/20220201193033_add_unique_index_to_vulnerability_finding_links_with_truncate.rb
db/post_migrate/20220202105733_delete_service_template_records.rb
db/post_migrate/20220204053655_remove_index_epic_issues_on_epic_id.rb
db/post_migrate/20220204095121_backfill_namespace_statistics_with_dependency_proxy_size.rb
db/post_migrate/20220204110725_backfill_cycle_analytics_aggregations.rb
db/post_migrate/20220204194347_encrypt_integration_properties.rb
db/post_migrate/20220207080758_update_api_indexes_for_projects.rb
db/post_migrate/20220208080921_schedule_migrate_personal_namespace_project_maintainer_to_owner.rb
db/post_migrate/20220208115439_start_backfill_ci_queuing_tables.rb
db/post_migrate/20220209111007_add_partial_index_for_batching_active_cluster_image_scanning_vulnerabilities.rb
db/post_migrate/20220212120735_schedule_fix_incorrect_max_seats_used2.rb
db/post_migrate/20220213103859_remove_integrations_type.rb
db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb
db/post_migrate/20220215190020_rerun_convert_stringified_raw_metadata_hash_to_json.rb
db/post_migrate/20220216201949_remove_package_files_limit_from_application_settings.rb
db/post_migrate/20220217135229_validate_not_null_constraint_on_security_findings_uuid.rb
db/post_migrate/20220221214928_remove_show_diff_preview_in_email_column.rb
db/post_migrate/20220222191845_remove_not_null_constraint_for_security_scan_succeeded.rb
db/post_migrate/20220222192524_create_not_null_constraint_releases_tag.rb
db/post_migrate/20220222192525_remove_null_releases.rb
db/post_migrate/20220223112304_schedule_nullify_orphan_runner_id_on_ci_builds.rb
db/post_migrate/20220223124428_schedule_merge_topics_with_same_name.rb
db/post_migrate/20220224000000_async_build_trace_expire_at_index.rb
db/post_migrate/20220224204415_recreate_index_security_ci_builds_on_name_and_id_parser_with_new_features.rb
db/post_migrate/20220225133705_cleanup_backfill_ci_queuing_tables.rb
db/post_migrate/20220301093434_backfill_all_project_namespaces.rb
db/post_migrate/20220302114046_backfill_group_features.rb
db/post_migrate/20220302203410_create_index_security_ci_builds_on_name_and_id_parser_with_new_features.rb
db/post_migrate/20220304165107_drop_partitioned_foreign_keys.rb
db/post_migrate/20220304201847_add_unique_index_on_security_training_providers.rb
db/post_migrate/20220305223212_add_security_training_providers.rb
db/post_migrate/20220307192534_create_index_for_remove_duplicate_project_tag_releases.rb
db/post_migrate/20220307192610_remove_duplicate_project_tag_releases.rb
db/post_migrate/20220307192645_remove_index_for_remove_duplicate_project_tag_releases.rb
db/post_migrate/20220307192725_create_unique_index_release_tag_project.rb
db/post_migrate/20220307203459_rename_user_email_lookup_limit_setting_to_search_settings_cleanup.rb
db/post_migrate/20220308000205_drop_old_index_security_ci_builds_on_name_and_id_parser_features.rb
db/post_migrate/20220308115219_schedule_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb
db/post_migrate/20220308115502_schedule_reset_duplicate_ci_runners_token_values_on_projects.rb
db/post_migrate/20220309084838_remove_external_pull_request_tracking.rb
db/post_migrate/20220309084954_remove_leftover_external_pull_request_deletions.rb
db/post_migrate/20220309154855_add_index_on_issues_closed_incidents.rb
db/post_migrate/20220310095341_add_async_index_ci_job_artifacts_project_id_created_at.rb
db/post_migrate/20220310134207_add_index_project_id_and_released_at_and_id_on_releases.rb
db/post_migrate/20220310141349_remove_dependency_list_usage_data_from_redis.rb
db/post_migrate/20220311010352_create_scan_id_and_id_index_on_security_findings.rb
db/post_migrate/20220314154235_migrate_vulnerability_approval_rules.rb
db/post_migrate/20220314162342_add_index_ci_job_artifacts_project_id_created_at.rb
ee/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used.rb
ee/lib/ee/gitlab/background_migration/populate_namespace_statistics.rb
ee/lib/ee/gitlab/background_migration/populate_test_reports_issue_id.rb
ee/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb
ee/spec/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used_spec.rb
ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb
ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb
ee/spec/lib/gitlab/background_migration/populate_test_reports_issue_id_spec.rb
ee/spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb
ee/spec/migrations/async_build_trace_expire_at_index_spec.rb
ee/spec/migrations/schedule_delete_invalid_epic_issues_revised_spec.rb
ee/spec/migrations/schedule_populate_test_reports_issue_id_spec.rb
ee/spec/migrations/schedule_trace_expiry_removal_spec.rb
lib/gitlab/background_migration/backfill_ci_queuing_tables.rb
lib/gitlab/background_migration/backfill_integrations_type_new.rb
lib/gitlab/background_migration/encrypt_static_object_token.rb
lib/gitlab/background_migration/fix_incorrect_max_seats_used.rb
lib/gitlab/background_migration/merge_topics_with_same_name.rb
lib/gitlab/background_migration/populate_namespace_statistics.rb
lib/gitlab/background_migration/populate_test_reports_issue_id.rb
lib/gitlab/background_migration/populate_topics_non_private_projects_count.rb
lib/gitlab/background_migration/populate_vulnerability_reads.rb
lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb
lib/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb
lib/gitlab/background_migration/remove_all_trace_expiration_dates.rb
lib/gitlab/background_migration/update_timelogs_null_spent_at.rb
spec/lib/gitlab/background_migration/backfill_ci_queuing_tables_spec.rb
spec/lib/gitlab/background_migration/backfill_group_features_spec.rb
spec/lib/gitlab/background_migration/backfill_integrations_type_new_spec.rb
spec/lib/gitlab/background_migration/backfill_member_namespace_for_group_members_spec.rb
spec/lib/gitlab/background_migration/backfill_namespace_id_for_namespace_route_spec.rb
spec/lib/gitlab/background_migration/encrypt_integration_properties_spec.rb
spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb
spec/lib/gitlab/background_migration/fix_vulnerability_occurrences_with_hashes_as_raw_metadata_spec.rb
spec/lib/gitlab/background_migration/merge_topics_with_same_name_spec.rb
spec/lib/gitlab/background_migration/migrate_personal_namespace_project_maintainer_to_owner_spec.rb
spec/lib/gitlab/background_migration/nullify_orphan_runner_id_on_ci_builds_spec.rb
spec/lib/gitlab/background_migration/populate_namespace_statistics_spec.rb
spec/lib/gitlab/background_migration/populate_topics_non_private_projects_count_spec.rb
spec/lib/gitlab/background_migration/populate_vulnerability_reads_spec.rb
spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb
spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb
spec/lib/gitlab/background_migration/remove_vulnerability_finding_links_spec.rb
spec/lib/gitlab/background_migration/update_timelogs_null_spent_at_spec.rb
spec/migrations/20211203091642_add_index_to_projects_on_marked_for_deletion_at_spec.rb
spec/migrations/20211207125331_remove_jobs_for_recalculate_vulnerabilities_occurrences_uuid_spec.rb
spec/migrations/20211207135331_schedule_recalculate_uuid_on_vulnerabilities_occurrences4_spec.rb
spec/migrations/20211210140629_encrypt_static_object_token_spec.rb
spec/migrations/20211214012507_backfill_incident_issue_escalation_statuses_spec.rb
spec/migrations/20211217174331_mark_recalculate_finding_signatures_as_completed_spec.rb
spec/migrations/20220106111958_add_insert_or_update_vulnerability_reads_trigger_spec.rb
spec/migrations/20220106112043_add_update_vulnerability_reads_trigger_spec.rb
spec/migrations/20220106112085_add_update_vulnerability_reads_location_trigger_spec.rb
spec/migrations/20220106163326_add_has_issues_on_vulnerability_reads_trigger_spec.rb
spec/migrations/20220107064845_populate_vulnerability_reads_spec.rb
spec/migrations/20220120094340_drop_position_from_security_findings_spec.rb
spec/migrations/20220124130028_dedup_runner_projects_spec.rb
spec/migrations/20220128155251_remove_dangling_running_builds_spec.rb
spec/migrations/20220128155814_fix_approval_rules_code_owners_rule_type_index_spec.rb
spec/migrations/20220202105733_delete_service_template_records_spec.rb
spec/migrations/20220204095121_backfill_namespace_statistics_with_dependency_proxy_size_spec.rb
spec/migrations/20220204194347_encrypt_integration_properties_spec.rb
spec/migrations/20220208080921_schedule_migrate_personal_namespace_project_maintainer_to_owner_spec.rb
spec/migrations/20220211214605_update_integrations_trigger_type_new_on_insert_null_safe_spec.rb
spec/migrations/20220213103859_remove_integrations_type_spec.rb
spec/migrations/20220222192524_create_not_null_constraint_releases_tag_spec.rb
spec/migrations/20220222192525_remove_null_releases_spec.rb
spec/migrations/20220223124428_schedule_merge_topics_with_same_name_spec.rb
spec/migrations/20220305223212_add_security_training_providers_spec.rb
spec/migrations/20220307192610_remove_duplicate_project_tag_releases_spec.rb
spec/migrations/20220309084954_remove_leftover_external_pull_request_deletions_spec.rb
spec/migrations/20220310141349_remove_dependency_list_usage_data_from_redis_spec.rb
spec/migrations/backfill_all_project_namespaces_spec.rb
spec/migrations/backfill_cycle_analytics_aggregations_spec.rb
spec/migrations/backfill_group_features_spec.rb
spec/migrations/backfill_member_namespace_id_for_group_members_spec.rb
spec/migrations/backfill_namespace_id_for_namespace_routes_spec.rb
spec/migrations/backfill_project_namespaces_for_group_spec.rb
spec/migrations/populate_audit_event_streaming_verification_token_spec.rb
spec/migrations/recreate_index_security_ci_builds_on_name_and_id_parser_with_new_features_spec.rb
spec/migrations/remove_not_null_contraint_on_title_from_sprints_spec.rb
spec/migrations/schedule_fix_incorrect_max_seats_used2_spec.rb
spec/migrations/schedule_fix_incorrect_max_seats_used_spec.rb
spec/migrations/schedule_update_timelogs_null_spent_at_spec.rb
spec/migrations/start_backfill_ci_queuing_tables_spec.rb
spec/migrations/update_application_settings_container_registry_exp_pol_worker_capacity_default_spec.rb
spec/migrations/update_application_settings_protected_paths_spec.rb
spec/migrations/update_default_scan_method_of_dast_site_profile_spec.rb
spec/migrations/update_invalid_member_states_spec.rb
# This configuration is no longer used.
#
# The RuboCop TODO lists are located in `.rubocop_todo/**/*.yml`.
#
# Please use `rake rubocop:todo:generate` to generate TODOs.
#
# See https://docs.gitlab.com/ee/development/rake_tasks.html#generate-initial-rubocop-todo-list
---
Capybara/VisibilityMatcher:
Exclude:
- 'ee/spec/features/boards/sidebar_spec.rb'
- 'ee/spec/features/epics/epic_show_spec.rb'
- 'ee/spec/features/epics/todo_spec.rb'
- 'ee/spec/features/epics/update_epic_spec.rb'
- 'ee/spec/features/groups/analytics/cycle_analytics/filters_and_data_spec.rb'
- 'ee/spec/features/groups/issues_spec.rb'
- 'ee/spec/features/groups/settings/protected_environments_spec.rb'
- 'ee/spec/features/issues/related_issues_spec.rb'
- 'ee/spec/features/projects/settings/ee/repository_mirrors_settings_spec.rb'
- 'ee/spec/features/promotion_spec.rb'
- 'ee/spec/support/helpers/features/billing_plans_helpers.rb'
- 'ee/spec/support/shared_examples/features/password_complexity_shared_examples.rb'
- 'ee/spec/support/shared_examples/views/issuable_bulk_dropdown_shared_examples.rb'
- 'ee/spec/views/registrations/welcome/show.html.haml_spec.rb'
- 'spec/features/dashboard/merge_requests_spec.rb'
- 'spec/features/dashboard/todos/todos_spec.rb'
- 'spec/features/groups/group_settings_spec.rb'
- 'spec/features/issues/user_creates_branch_and_merge_request_spec.rb'
- 'spec/features/issues/user_creates_issue_spec.rb'
- 'spec/features/merge_request/user_posts_notes_spec.rb'
- 'spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb'
- 'spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb'
- 'spec/features/merge_request/user_sees_diff_spec.rb'
- 'spec/features/merge_request/user_sees_merge_widget_spec.rb'
- 'spec/features/merge_request/user_views_diffs_commit_spec.rb'
- 'spec/features/merge_request/user_views_diffs_spec.rb'
- 'spec/features/projects/blobs/blob_show_spec.rb'
- 'spec/features/projects/ci/lint_spec.rb'
- 'spec/features/projects/commit/comments/user_adds_comment_spec.rb'
- 'spec/features/projects/commits/multi_view_diff_spec.rb'
- 'spec/features/projects/commits/user_browses_commits_spec.rb'
- 'spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- 'spec/features/projects/network_graph_spec.rb'
- 'spec/features/projects/settings/lfs_settings_spec.rb'
- 'spec/features/projects/settings/packages_settings_spec.rb'
- 'spec/features/projects/settings/visibility_settings_spec.rb'
- 'spec/features/projects/show/user_manages_notifications_spec.rb'
- 'spec/features/projects/user_changes_project_visibility_spec.rb'
- 'spec/features/projects/user_sees_user_popover_spec.rb'
- 'spec/features/search/user_searches_for_commits_spec.rb'
- 'spec/features/snippets/notes_on_personal_snippets_spec.rb'
- 'spec/features/task_lists_spec.rb'
- 'spec/features/uploads/user_uploads_file_to_note_spec.rb'
- 'spec/features/users/email_verification_on_login_spec.rb'
- 'spec/features/users/overview_spec.rb'
- 'spec/features/users/user_browses_projects_on_user_page_spec.rb'
- 'spec/features/webauthn_spec.rb'
- 'spec/support/helpers/features/canonical_link_helpers.rb'
- 'spec/support/shared_examples/features/discussion_comments_shared_example.rb'
- 'spec/support/shared_examples/features/page_description_shared_examples.rb'
- 'spec/support/shared_examples/features/rss_shared_examples.rb'
- 'spec/support/shared_examples/features/wiki/file_attachments_shared_examples.rb'
- 'spec/views/import/gitlab_projects/new.html.haml_spec.rb'
- 'spec/views/projects/merge_requests/edit.html.haml_spec.rb'
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment