diff --git a/.eslintrc.yml b/.eslintrc.yml
index b8683ba803..48294e0084 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -3,6 +3,7 @@ extends:
- plugin:@gitlab/i18n
- plugin:no-jquery/slim
- plugin:no-jquery/deprecated-3.4
+ - ./tooling/eslint-config/conditionally_ignore_ee.js
globals:
__webpack_public_path__: true
gl: false
@@ -25,9 +26,6 @@ rules:
- _links
import/no-unresolved:
- error
- - ignore:
- # https://gitlab.com/gitlab-org/gitlab/issues/38226
- - '^ee_component/'
# Disabled for now, to make the airbnb-base 12.1.0 -> 13.1.0 update smoother
no-else-return:
- error
diff --git a/.gitattributes b/.gitattributes
index ec47d175c5..8d21784ed1 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,4 @@
VERSION merge=ours
Dangerfile gitlab-language=ruby
*.pdf filter=lfs diff=lfs merge=lfs -text
+*.rb diff=ruby
diff --git a/.gitignore b/.gitignore
index 25c42cdb56..30cb231e83 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,12 +56,15 @@ eslint-report.html
/doc/code/*
/dump.rdb
/jsconfig.json
+/lefthook-local.yml
/log/*.log*
/node_modules
/nohup.out
/public/assets/
/public/uploads.*
/public/uploads/
+/public/sitemap.xml
+/public/sitemap.xml.gz
/shared/artifacts/
/spec/examples.txt
/rails_best_practices_output.html
@@ -73,6 +76,7 @@ eslint-report.html
/.gitlab_pages_secret
/.gitlab_kas_secret
/webpack-report/
+/crystalball/
/knapsack/
/rspec_flaky/
/locale/**/LC_MESSAGES
@@ -97,3 +101,5 @@ apollo.config.js
/tmp/matching_tests.txt
ee/changelogs/unreleased-ee
/sitespeed-result
+tags.lock
+tags.temp
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f9c9c5888d..4ea5ad1b40 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,7 +17,7 @@ stages:
# in cases where jobs require Docker-in-Docker, the job
# definition must be extended with `.use-docker-in-docker`
default:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
tags:
- gitlab-org
# All jobs are interruptible by default
@@ -59,10 +59,13 @@ variables:
GET_SOURCES_ATTEMPTS: "3"
KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json
+ RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json
+ RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json
BUILD_ASSETS_IMAGE: "false"
ES_JAVA_OPTS: "-Xms256m -Xmx256m"
ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200"
DOCKER_VERSION: "19.03.0"
+ CACHE_CLASSES: "true"
# Preparing custom clone path to reduce space used by all random forks
# on GitLab.com's Shared Runners. Our main forks - especially the security
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS
index 5187ac01b5..a24fef5e44 100644
--- a/.gitlab/CODEOWNERS
+++ b/.gitlab/CODEOWNERS
@@ -207,6 +207,35 @@ Dangerfile @gl-quality/eng-prod
/ee/lib/gitlab/ci/reports/license_scanning/ @gitlab-org/secure/composition-analysis-be
/ee/lib/gitlab/ci/reports/security/ @gitlab-org/secure/composition-analysis-be @gitlab-org/secure/dynamic-analysis-be @gitlab-org/secure/static-analysis-be @gitlab-org/secure/fuzzing-be
+[Container Security]
+/ee/app/views/projects/threat_monitoring/** @gitlab-org/threat-management/defend/container-security/frontend
+/ee/app/assets/javascripts/pages/projects/threat_monitoring/** @gitlab-org/threat-management/defend/container-security/frontend
+/ee/app/assets/javascripts/threat_monitoring/** @gitlab-org/threat-management/defend/container-security/frontend
+/ee/spec/frontend/threat_monitoring/** @gitlab-org/threat-management/defend/container-security/frontend
+
+/ee/app/controllers/projects/threat_monitoring_controller.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/controllers/projects/threat_monitoring_controller_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/lib/gitlab/kubernetes/cilium_network_policy.rb @gitlab-org/threat-management/defend/container-security/backend
+/spec/lib/gitlab/kubernetes/cilium_network_policy_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/lib/gitlab/kubernetes/network_policy_common.rb @gitlab-org/threat-management/defend/container-security/backend
+/spec/support/shared_examples/lib/gitlab/kubernetes/network_policy_common_shared_examples.rb @gitlab-org/threat-management/defend/container-security/backend
+/lib/gitlab/kubernetes/network_policy.rb @gitlab-org/threat-management/defend/container-security/backend
+/spec/lib/gitlab/kubernetes/network_policy_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/app/services/network_policies/** @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/services/network_policies/** @gitlab-org/threat-management/defend/container-security/backend
+/ee/app/controllers/projects/security/waf_anomalies_controller.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/controllers/projects/security/waf_anomalies_controller_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/app/models/clusters/applications/cilium.rb @gitlab-org/threat-management/defend/container-security/backend
+/spec/models/clusters/applications/cilium_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/app/controllers/projects/security/network_policies_controller.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/controllers/projects/security/network_policies_controller_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/app/workers/network_policy_metrics_worker.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/workers/network_policy_metrics_worker_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/app/services/network_policies/** @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/services/network_policies/** @gitlab-org/threat-management/defend/container-security/backend
+/ee/lib/gitlab/usage_data_counters/network_policy_counter.rb @gitlab-org/threat-management/defend/container-security/backend
+/ee/spec/lib/gitlab/usage_data_counters/network_policy_counter_spec.rb @gitlab-org/threat-management/defend/container-security/backend
+
[Code Owners]
/ee/lib/gitlab/code_owners.rb @reprazent @kerrizor @garyh
/ee/lib/gitlab/code_owners/ @reprazent @kerrizor @garyh
diff --git a/.gitlab/ci/cache-repo.gitlab-ci.yml b/.gitlab/ci/cache-repo.gitlab-ci.yml
index a091785dec..18e1ca1644 100644
--- a/.gitlab/ci/cache-repo.gitlab-ci.yml
+++ b/.gitlab/ci/cache-repo.gitlab-ci.yml
@@ -23,14 +23,36 @@ cache-repo:
stage: sync
variables:
GIT_STRATEGY: none
- TAR_FILENAME: /tmp/gitlab-master.tar
+ SHALLOW_CLONE_TAR_FILENAME: gitlab-master-shallow.tar
+ FULL_CLONE_TAR_FILENAME: gitlab-master.tar
+ before_script:
+ - '[ -z "$CI_REPO_CACHE_CREDENTIALS" ] || gcloud auth activate-service-account --key-file=$CI_REPO_CACHE_CREDENTIALS'
script:
- - cd ..
- - rm -rf $CI_PROJECT_NAME
- - git clone --progress $CI_REPOSITORY_URL $CI_PROJECT_NAME
- - cd $CI_PROJECT_NAME
- - gcloud auth activate-service-account --key-file=$CI_REPO_CACHE_CREDENTIALS
- - git remote rm origin
- - tar cf $TAR_FILENAME .
- - gzip $TAR_FILENAME
- - gsutil cp $TAR_FILENAME.gz gs://gitlab-ci-git-repo-cache/project-$CI_PROJECT_ID/gitlab-master.tar.gz
+ # Enable shallow repo caching only if the $ENABLE_SHALLOW_REPO_CACHING variable exists
+ - if [ -n "$ENABLE_SHALLOW_REPO_CACHING" ]; then
+ cd .. && rm -rf $CI_PROJECT_NAME;
+ today=$(date +%Y-%m-%d);
+ year=$(date +%Y);
+ last_year=`expr $year - 1`;
+ one_year_ago=$(echo $today | sed "s/$year/$last_year/");
+ echo "Cloning $CI_REPOSITORY_URL into $CI_PROJECT_NAME with commits from $one_year_ago.";
+ time git clone --progress --no-checkout --shallow-since=$one_year_ago $CI_REPOSITORY_URL $CI_PROJECT_NAME;
+ cd $CI_PROJECT_NAME;
+ echo "Archiving $CI_PROJECT_NAME into /tmp/$SHALLOW_CLONE_TAR_FILENAME.";
+ time tar cf /tmp/$SHALLOW_CLONE_TAR_FILENAME .;
+ echo "GZipping /tmp/$SHALLOW_CLONE_TAR_FILENAME.";
+ time gzip /tmp/$SHALLOW_CLONE_TAR_FILENAME;
+ [ -z "$CI_REPO_CACHE_CREDENTIALS" ] || (echo "Uploading /tmp/$SHALLOW_CLONE_TAR_FILENAME.gz to GCloud." && time gsutil cp /tmp/$SHALLOW_CLONE_TAR_FILENAME.gz gs://gitlab-ci-git-repo-cache/project-$CI_PROJECT_ID/$SHALLOW_CLONE_TAR_FILENAME.gz);
+ fi
+ # By default, we want to cache the full repo, unless the $DISABLE_FULL_REPO_CACHING variable exists (in the case the shallow clone caching is working well)
+ - if [ -z "$DISABLE_FULL_REPO_CACHING" ]; then
+ cd .. && rm -rf $CI_PROJECT_NAME;
+ echo "Cloning $CI_REPOSITORY_URL into $CI_PROJECT_NAME.";
+ time git clone --progress $CI_REPOSITORY_URL $CI_PROJECT_NAME;
+ cd $CI_PROJECT_NAME;
+ echo "Archiving $CI_PROJECT_NAME into /tmp/$FULL_CLONE_TAR_FILENAME.";
+ time tar cf /tmp/$FULL_CLONE_TAR_FILENAME .;
+ echo "GZipping /tmp/$FULL_CLONE_TAR_FILENAME.";
+ time gzip /tmp/$FULL_CLONE_TAR_FILENAME;
+ [ -z "$CI_REPO_CACHE_CREDENTIALS" ] || (echo "Uploading /tmp/$FULL_CLONE_TAR_FILENAME.gz to GCloud." && time gsutil cp /tmp/$FULL_CLONE_TAR_FILENAME.gz gs://gitlab-ci-git-repo-cache/project-$CI_PROJECT_ID/$FULL_CLONE_TAR_FILENAME.gz);
+ fi
diff --git a/.gitlab/ci/cng.gitlab-ci.yml b/.gitlab/ci/cng.gitlab-ci.yml
index d7699de74e..269996dfd0 100644
--- a/.gitlab/ci/cng.gitlab-ci.yml
+++ b/.gitlab/ci/cng.gitlab-ci.yml
@@ -1,6 +1,6 @@
cloud-native-image:
extends: .cng:rules
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
dependencies: []
stage: post-test
variables:
diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml
index 4b25908aa6..b258eb7351 100644
--- a/.gitlab/ci/docs.gitlab-ci.yml
+++ b/.gitlab/ci/docs.gitlab-ci.yml
@@ -2,7 +2,7 @@
extends:
- .default-retry
- .docs:rules:review-docs
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
stage: review
needs: []
variables:
@@ -38,7 +38,18 @@ review-docs-cleanup:
script:
- ./scripts/trigger-build docs cleanup
-docs lint:
+docs-lint markdown:
+ extends:
+ - .default-retry
+ - .docs:rules:docs-lint
+ # When updating the image version here, update it in /scripts/lint-doc.sh too.
+ image: "registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.12-vale-2.6.1-markdownlint-0.24.0"
+ stage: test
+ needs: []
+ script:
+ - scripts/lint-doc.sh
+
+docs-lint links:
extends:
- .default-retry
- .docs:rules:docs-lint
@@ -46,7 +57,6 @@ docs lint:
stage: test
needs: []
script:
- - scripts/lint-doc.sh
# Prepare docs for build
# The path must be 'ee/' because we have hardcoded links relying on it
# https://gitlab.com/gitlab-org/gitlab-docs/-/blob/887850752fc0e72856da6632db132f005ba77f16/content/index.erb#L44-63
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index e4c9f85cf6..0b921309ce 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -15,7 +15,7 @@
extends:
- .frontend-base
- .assets-compile-cache
- image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-git-2.28-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34
+ image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-git-2.29-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34
variables:
WEBPACK_VENDOR_DLL: "true"
stage: prepare
@@ -97,32 +97,41 @@ update-yarn-cache:
- .rails-cache
- .use-pg11
stage: fixtures
- needs: ["setup-test-env", "compile-test-assets"]
+ needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets"]
variables:
SETUP_DB: "true"
WEBPACK_VENDOR_DLL: "true"
script:
+ - run_timed_command "gem install knapsack --no-document"
- run_timed_command "scripts/gitaly-test-build"
- run_timed_command "scripts/gitaly-test-spawn"
- - run_timed_command "bin/rake frontend:fixtures"
+ - source ./scripts/rspec_helpers.sh
+ - rspec_paralellized_job "--tag frontend_fixture"
artifacts:
name: frontend-fixtures
expire_in: 31d
when: always
paths:
- tmp/tests/frontend/
+ - knapsack/
-frontend-fixtures:
+rspec frontend_fixture:
extends:
- .frontend-fixtures-base
- .frontend:rules:default-frontend-jobs
-frontend-fixtures-as-if-foss:
+rspec frontend_fixture as-if-foss:
extends:
- .frontend-fixtures-base
- .frontend:rules:default-frontend-jobs-as-if-foss
- .as-if-foss
+rspec-ee frontend_fixture:
+ extends:
+ - .frontend-fixtures-base
+ - .frontend:rules:default-frontend-jobs
+ parallel: 2
+
.frontend-test-base:
extends:
- .frontend-base
@@ -152,7 +161,8 @@ karma:
extends:
- .karma-base
- .frontend:rules:default-frontend-jobs
- needs: ["frontend-fixtures"]
+ # Don't use `needs` since `rspec-ee frontend_fixture` doesn't exist in `gitlab-foss` pipelines.
+ dependencies: ["rspec frontend_fixture", "rspec-ee frontend_fixture"]
coverage: '/^Statements *: (\d+\.\d+%)/'
artifacts:
name: coverage-javascript
@@ -171,7 +181,7 @@ karma-as-if-foss:
- .karma-base
- .frontend:rules:default-frontend-jobs-as-if-foss
- .as-if-foss
- needs: ["frontend-fixtures-as-if-foss"]
+ needs: ["rspec frontend_fixture as-if-foss"]
.jest-base:
extends: .frontend-test-base
@@ -183,7 +193,8 @@ jest:
extends:
- .jest-base
- .frontend:rules:default-frontend-jobs
- needs: ["frontend-fixtures"]
+ # Don't use `needs` since `rspec-ee frontend_fixture` doesn't exist in `gitlab-foss` pipelines.
+ dependencies: ["rspec frontend_fixture", "rspec-ee frontend_fixture"]
artifacts:
name: coverage-frontend
expire_in: 31d
@@ -203,14 +214,15 @@ jest-integration:
script:
- *yarn-install
- run_timed_command "yarn jest:integration --ci"
- needs: ["frontend-fixtures"]
+ # Don't use `needs` since `rspec-ee frontend_fixture` doesn't exist in `gitlab-foss` pipelines.
+ dependencies: ["rspec frontend_fixture", "rspec-ee frontend_fixture"]
jest-as-if-foss:
extends:
- .jest-base
- .frontend:rules:default-frontend-jobs-as-if-foss
- .as-if-foss
- needs: ["frontend-fixtures-as-if-foss"]
+ needs: ["rspec frontend_fixture as-if-foss"]
parallel: 2
coverage-frontend:
diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml
index fea3956bfe..0fafd5869d 100644
--- a/.gitlab/ci/global.gitlab-ci.yml
+++ b/.gitlab/ci/global.gitlab-ci.yml
@@ -18,7 +18,7 @@
.rails-cache:
cache:
- key: "rails-v2"
+ key: "rails-v3"
paths:
- vendor/ruby/
- vendor/gitaly-ruby/
@@ -27,7 +27,7 @@
.static-analysis-cache:
cache:
- key: "static-analysis-v1"
+ key: "static-analysis-v2"
paths:
- vendor/ruby/
- node_modules/
@@ -43,7 +43,7 @@
.qa-cache:
cache:
- key: "qa-v1"
+ key: "qa-v2"
paths:
- qa/vendor/ruby/
policy: pull
@@ -71,7 +71,7 @@
policy: pull
.use-pg11:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
services:
- name: postgres:11.6
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
@@ -80,7 +80,7 @@
POSTGRES_HOST_AUTH_METHOD: trust
.use-pg12:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
services:
- name: postgres:12
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
@@ -89,7 +89,7 @@
POSTGRES_HOST_AUTH_METHOD: trust
.use-pg11-ee:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
services:
- name: postgres:11.6
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
@@ -100,7 +100,7 @@
POSTGRES_HOST_AUTH_METHOD: trust
.use-pg12-ee:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
services:
- name: postgres:12
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml
index 96a8f093fe..1dc403c9d0 100644
--- a/.gitlab/ci/qa.gitlab-ci.yml
+++ b/.gitlab/ci/qa.gitlab-ci.yml
@@ -7,7 +7,7 @@
before_script:
- '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
- cd qa/
- - bundle install --clean --jobs=$(nproc) --path=vendor --retry=3 --quiet
+ - bundle install --clean --jobs=$(nproc) --path=vendor --retry=3 --without=development --quiet
- bundle check
qa:internal:
@@ -47,7 +47,7 @@ update-qa-cache:
policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
.package-and-qa-base:
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
stage: qa
retry: 0
script:
diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml
index c4167ce7bc..14b07dd4a2 100644
--- a/.gitlab/ci/rails.gitlab-ci.yml
+++ b/.gitlab/ci/rails.gitlab-ci.yml
@@ -1,4 +1,4 @@
-######################
+#######################
# rspec job base specs
.rails-job-base:
extends:
@@ -20,6 +20,7 @@
variables:
RUBY_GC_MALLOC_LIMIT: 67108864
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
+ CRYSTALBALL: "true"
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets"]
script:
- *base-script
@@ -29,6 +30,7 @@
when: always
paths:
- coverage/
+ - crystalball/
- knapsack/
- rspec_flaky/
- rspec_profiling/
@@ -284,6 +286,9 @@ db:migrate-from-v12.10.0:
- '[[ -d "ee/" ]] || export TAG_TO_CHECKOUT="v12.10.0"'
- git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT
- git checkout -f FETCH_HEAD
+ - sed -i -e "s/gem 'grpc', '~> 1.24.0'/gem 'grpc', '~> 1.30.2'/" Gemfile # Update gRPC for Ruby 2.7
+ - sed -i -e "s/gem 'google-protobuf', '~> 3.8.0'/gem 'google-protobuf', '~> 3.12.0'/" Gemfile
+ - gem install bundler:1.17.3
- bundle update google-protobuf grpc bootsnap
- bundle install $BUNDLE_INSTALL_FLAGS
- date
@@ -556,7 +561,7 @@ rspec-ee system pg12 geo:
# EE: Canonical MR pipelines
rspec fail-fast:
extends:
- - .rspec-ee-base-pg11 # This job also runs EE spec which needs elasticsearch
+ - .rspec-ee-base-pg11 # This job also runs EE spec which needs elasticsearch
- .rails:rules:rspec fail-fast
stage: test
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml
index 168f60f0f6..565ed93967 100644
--- a/.gitlab/ci/reports.gitlab-ci.yml
+++ b/.gitlab/ci/reports.gitlab-ci.yml
@@ -15,7 +15,7 @@ code_quality:
stage: test
needs: []
variables:
- CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/ci-cd/codequality:0.85.10-gitlab.1"
+ CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/ci-cd/codequality:0.85.18"
script:
- |
if ! docker info &>/dev/null; then
@@ -152,6 +152,26 @@ dependency_scanning:
dependency_scanning: gl-dependency-scanning-report.json
expire_in: 1 week # GitLab-specific
+# The job below analysis dependencies for malicous behavior
+package_hunter:
+ extends:
+ - .reports:schedule-dast
+ stage: test
+ image:
+ name: registry.gitlab.com/gitlab-com/gl-security/security-research/package-hunter-cli:latest
+ entrypoint: [""]
+ needs: []
+ script:
+ - rm -r spec locale .git app/assets/images doc/
+ - cd .. && tar -I "gzip --best" -cf gitlab.tgz gitlab/
+ - DEBUG=* HTR_user=$PACKAGE_HUNTER_USER HTR_pass=$PACKAGE_HUNTER_PASS node /usr/src/app/cli.js analyze --format gitlab gitlab.tgz | tee $CI_PROJECT_DIR/gl-dependency-scanning-report.json
+ artifacts:
+ paths:
+ - gl-dependency-scanning-report.json # GitLab-specific
+ reports:
+ dependency_scanning: gl-dependency-scanning-report.json
+ expire_in: 1 week # GitLab-specific
+
license_scanning:
extends:
- .default-retry
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index 46a1a95769..d3069657e8 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -25,7 +25,7 @@ review-build-cng:
extends:
- .default-retry
- .review:rules:review-build-cng
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
stage: review-prepare
before_script:
- source ./scripts/utils.sh
@@ -122,7 +122,7 @@ review-stop:
extends:
- .default-retry
- .use-docker-in-docker
- image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa-alpine-ruby-2.6
+ image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa-alpine-ruby-2.7
stage: qa
# This is needed so that manual jobs with needs don't block the pipeline.
# See https://gitlab.com/gitlab-org/gitlab/-/issues/199979.
@@ -199,7 +199,7 @@ review-performance:
parallel-spec-reports:
extends:
- .review:rules:mr-only-manual
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
stage: post-qa
dependencies: ["review-qa-all"]
variables:
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 57d4a2a4cb..7f469221da 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -103,8 +103,11 @@
- ".gitlab/ci/build-images.gitlab-ci.yml"
- ".gitlab/ci/qa.gitlab-ci.yml"
-.yaml-patterns: &yaml-patterns
- - "**/*.yml"
+.yaml-lint-patterns: &yaml-lint-patterns
+ - ".gitlab-ci.yml"
+ - ".gitlab/ci/**/*.yml"
+ - "lib/gitlab/ci/templates/**/*.yml"
+ - "{,ee/}changelogs/**/*.yml"
.docs-patterns: &docs-patterns
- ".gitlab/route-map.yml"
@@ -142,8 +145,8 @@
- "{,ee/}{,spec/}lib/{,ee/}gitlab/database{,_spec}.rb"
- "{,ee/}{,spec/}lib/{,ee/}gitlab/background_migration/**/*"
- "{,ee/}{,spec/}lib/{,ee/}gitlab/background_migration{,_spec}.rb"
- - "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer
- - "{,ee/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs
+ - "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer
+ - "{,ee/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs
.backstage-patterns: &backstage-patterns
- "Dangerfile"
@@ -161,7 +164,7 @@
- "vendor/assets/**/*"
- ".gitlab/ci/**/*"
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
- - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
+ - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml"
- "*_VERSION"
- "Gemfile{,.lock}"
- "Rakefile"
@@ -183,7 +186,7 @@
- "vendor/assets/**/*"
- ".gitlab/ci/**/*"
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
- - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
+ - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml"
- "*_VERSION"
- "Gemfile{,.lock}"
- "Rakefile"
@@ -207,7 +210,7 @@
- "vendor/assets/**/*"
- ".gitlab/ci/**/*"
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
- - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
+ - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml"
- "*_VERSION"
- "Gemfile{,.lock}"
- "Rakefile"
@@ -228,7 +231,7 @@
- "vendor/assets/**/*"
- ".gitlab/ci/**/*"
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
- - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
+ - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml"
- "*_VERSION"
- "Gemfile{,.lock}"
- "Rakefile"
@@ -673,10 +676,14 @@
##################
.releases:rules:canonical-dot-com-gitlab-stable-branch-only:
rules:
+ - if: '$CI_COMMIT_MESSAGE =~ /\[merge-train skip\]/'
+ when: never
- if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/'
.releases:rules:canonical-dot-com-security-gitlab-stable-branch-only:
rules:
+ - if: '$CI_COMMIT_MESSAGE =~ /\[merge-train skip\]/'
+ when: never
- if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/security/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/'
#################
@@ -771,7 +778,7 @@
.review:rules:review-performance:
rules:
- - if: '$DAST_RUN == "true"' # Skip this job when DAST is run
+ - if: '$DAST_RUN == "true"' # Skip this job when DAST is run
when: never
- <<: *if-not-ee
when: never
@@ -905,10 +912,10 @@
- <<: *if-dot-com-ee-schedule
changes: *code-backstage-patterns
-##############
-# YAML rules #
-##############
-.yaml:rules:
+###################
+# yaml-lint rules #
+###################
+.yaml-lint:rules:
rules:
- <<: *if-default-refs
- changes: *yaml-patterns
+ changes: *yaml-lint-patterns
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index cf42d2a8a5..abe7625c74 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -52,7 +52,7 @@ no_ee_check:
verify-tests-yml:
extends:
- .setup:rules:verify-tests-yml
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
stage: test
needs: []
script:
@@ -61,7 +61,7 @@ verify-tests-yml:
- scripts/verify-tff-mapping
.detect-test-base:
- image: ruby:2.6-alpine
+ image: ruby:2.7-alpine
needs: []
stage: prepare
script:
diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml
index 2d83531e1d..e4b7047ef7 100644
--- a/.gitlab/ci/test-metadata.gitlab-ci.yml
+++ b/.gitlab/ci/test-metadata.gitlab-ci.yml
@@ -9,6 +9,7 @@
- knapsack/
- rspec_flaky/
- rspec_profiling/
+ - crystalball/packed-mapping.json.gz
retrieve-tests-metadata:
extends:
@@ -27,6 +28,8 @@ update-tests-metadata:
dependencies:
- setup-test-env
- rspec migration pg11
+ - rspec frontend_fixture
+ - rspec-ee frontend_fixture
- rspec unit pg11
- rspec integration pg11
- rspec system pg11
@@ -41,3 +44,4 @@ update-tests-metadata:
- run_timed_command "retry gem install fog-aws mime-types activesupport rspec_profiling postgres-copy --no-document"
- source ./scripts/rspec_helpers.sh
- update_tests_metadata
+ - update_tests_mapping
diff --git a/.gitlab/ci/yaml.gitlab-ci.yml b/.gitlab/ci/yaml.gitlab-ci.yml
index a650ee7e4b..c597d99276 100644
--- a/.gitlab/ci/yaml.gitlab-ci.yml
+++ b/.gitlab/ci/yaml.gitlab-ci.yml
@@ -1,9 +1,9 @@
-# Yamllint of *.yml for .gitlab-ci.yml.
+# Yamllint of CI-related yaml and changelogs.
# This uses rules from project root `.yamllint`.
-lint-ci-gitlab:
+lint-yaml:
extends:
- .default-retry
- - .yaml:rules
+ - .yaml-lint:rules
image: pipelinecomponents/yamllint:latest
stage: test
needs: []
diff --git a/.gitlab/issue_templates/Basic Proposal.md b/.gitlab/issue_templates/Basic Proposal.md
new file mode 100644
index 0000000000..4232561354
--- /dev/null
+++ b/.gitlab/issue_templates/Basic Proposal.md
@@ -0,0 +1,11 @@
+
+
+### Proposal
+
+
+
+
diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md
index 788b610a98..a0b64b5325 100644
--- a/.gitlab/issue_templates/Feature Flag Roll Out.md
+++ b/.gitlab/issue_templates/Feature Flag Roll Out.md
@@ -34,7 +34,9 @@ If applicable, any groups/projects that are happy to have this feature turned on
- [ ] Test on staging
- [ ] Ensure that documentation has been updated
- [ ] Enable on GitLab.com for individual groups/projects listed above and verify behaviour (`/chatops run feature set --project=gitlab-org/gitlab feature_name true`)
-- [ ] Coordinate a time to enable the flag with `#production` and `#g_delivery` on slack.
+- [ ] Coordinate a time to enable the flag with the SRE oncall and release managers
+ - In `#production` by pinging `@sre-oncall`
+ - In `#g_delivery` by pinging `@release-managers`
- [ ] Announce on the issue an estimated time this will be enabled on GitLab.com
- [ ] Enable on GitLab.com by running chatops command in `#production` (`/chatops run feature set feature_name true`)
- [ ] Cross post chatops Slack command to `#support_gitlab-com` ([more guidance when this is necessary in the dev docs](https://docs.gitlab.com/ee/development/feature_flags/controls.html#where-to-run-commands)) and in your team channel
@@ -42,4 +44,12 @@ If applicable, any groups/projects that are happy to have this feature turned on
- [ ] Remove feature flag and add changelog entry
- [ ] After the flag removal is deployed, [clean up the feature flag](https://docs.gitlab.com/ee/development/feature_flags/controls.html#cleaning-up) by running chatops command in `#production` channel
+## Rollback Steps
+
+- [ ] This feature can be disabled by running the following Chatops command:
+
+```
+/chatops run feature set --project=gitlab-org/gitlab feature_name false
+```
+
/label ~"feature flag"
diff --git a/.gitlab/issue_templates/Feature proposal.md b/.gitlab/issue_templates/Feature proposal.md
index c80305312c..b6f83be912 100644
--- a/.gitlab/issue_templates/Feature proposal.md
+++ b/.gitlab/issue_templates/Feature proposal.md
@@ -4,7 +4,7 @@
-### Problem to solve
+### Problem to solve
@@ -28,6 +28,7 @@ Personas are described at https://about.gitlab.com/handbook/marketing/product-ma
* [Allison (Application Ops)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#allison-application-ops)
* [Priyanka (Platform Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#priyanka-platform-engineer)
* [Dana (Data Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#dana-data-analyst)
+* [Eddie (Content Editor)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#eddie-content-editor)
-->
### User experience goal
@@ -95,7 +96,8 @@ In which enterprise tier should this feature go? See https://about.gitlab.com/ha
### Links / references
-
+
/label ~devops:: ~group: ~Category:
/label ~feature
diff --git a/.gitlab/issue_templates/Lean Feature Proposal.md b/.gitlab/issue_templates/Lean Feature Proposal.md
new file mode 100644
index 0000000000..b1cb98ba5e
--- /dev/null
+++ b/.gitlab/issue_templates/Lean Feature Proposal.md
@@ -0,0 +1,99 @@
+
+
+### Release notes
+
+
+
+### Problem to solve
+
+
+
+### Proposal
+
+
+
+
+
+/label ~"feature" ~"group::" ~"section::" ~"Category::" ~"GitLab Core"/~"GitLab Starter"/~"GitLab Premium"/~"GitLab Ultimate"
+
+
+
diff --git a/.gitlab/merge_request_templates/Documentation.md b/.gitlab/merge_request_templates/Documentation.md
index 8713405033..b059c1f68a 100644
--- a/.gitlab/merge_request_templates/Documentation.md
+++ b/.gitlab/merge_request_templates/Documentation.md
@@ -55,6 +55,14 @@ All reviewers can help ensure accuracy, clarity, completeness, and adherence to
For more information about labels, see [Technical Writing workflows - Labels](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#labels).
+For suggestions that you are confident don't need to be reviewed, change them locally
+and push a commit directly to save others from unneeded reviews. For example:
+
+- Clear typos, like `this is a typpo`.
+- Minor issues, like single quotes instead of double quotes, Oxford commas, and periods.
+
+For more information, see our documentation on [Merging a merge request](https://docs.gitlab.com/ee/development/code_review.html#merging-a-merge-request).
+
**3. Maintainer**
1. [ ] Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
diff --git a/.gitpod.yml b/.gitpod.yml
index 1a8a8e8555..dc1dbc1472 100644
--- a/.gitpod.yml
+++ b/.gitpod.yml
@@ -7,15 +7,14 @@ tasks:
- init: |
echo "$(date) – Copying GDK" | tee -a /workspace/startup.log
+ rm -r /workspace/.rvm
mv $HOME/.rvm-workspace /workspace/.rvm
cp -r $HOME/gitlab-development-kit /workspace/
(
set -e
cd /workspace/gitlab-development-kit
[[ ! -L /workspace/gitlab-development-kit/gitlab ]] && ln -fs /workspace/gitlab /workspace/gitlab-development-kit/gitlab
- # make webpack static, prevents that GitLab tries to connect to localhost webpack from browser outside the workspace
- echo "webpack:" >> gdk.yml
- echo " static: true" >> gdk.yml
+ mv /workspace/gitlab-development-kit/secrets.yml /workspace/gitlab-development-kit/gitlab/config
# reconfigure GDK
echo "$(date) – Reconfiguring GDK" | tee -a /workspace/startup.log
gdk reconfigure
@@ -41,20 +40,16 @@ tasks:
fi
# 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
- # Fix DB key
- if [ "$GITLAB_FIX_DB_KEY" = true ]; then
- echo "$(date) – Fixing DB key" | tee -a /workspace/startup.log
- cd gitlab
- # see https://gitlab.com/gitlab-org/gitlab-foss/-/issues/56403#note_132515069
- printf 'ApplicationSetting.last.update_column(:runners_registration_token_encrypted, nil)\nexit\n' | bundle exec rails c
- cd -
- fi
+ cd ../gitlab
+ git checkout db/structure.sql
+ cd ../gitlab-development-kit
# Waiting for GitLab ...
gp await-port 3000
printf "Waiting for GitLab at $(gp url 3000) ..."
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 57c0e014a0..6d6a5d2a81 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -119,7 +119,6 @@ linters:
- 'app/views/invites/show.html.haml'
- 'app/views/jira_connect/subscriptions/index.html.haml'
- 'app/views/layouts/_mailer.html.haml'
- - 'app/views/layouts/experiment_mailer.html.haml'
- 'app/views/layouts/header/_default.html.haml'
- 'app/views/layouts/header/_new_dropdown.haml'
- 'app/views/layouts/jira_connect.html.haml'
@@ -330,7 +329,6 @@ linters:
- 'ee/app/views/errors/kerberos_denied.html.haml'
- 'ee/app/views/groups/ee/_settings_nav.html.haml'
- 'ee/app/views/groups/group_members/_ldap_sync.html.haml'
- - 'ee/app/views/groups/group_members/_sync_button.html.haml'
- 'ee/app/views/groups/hooks/edit.html.haml'
- 'ee/app/views/groups/ldap_group_links/index.html.haml'
- 'ee/app/views/layouts/nav/ee/admin/_new_monitoring_sidebar.html.haml'
@@ -363,7 +361,6 @@ linters:
- 'ee/app/views/projects/services/gitlab_slack_application/_help.html.haml'
- 'ee/app/views/projects/services/gitlab_slack_application/_slack_integration_form.html.haml'
- 'ee/app/views/projects/settings/slacks/edit.html.haml'
- - 'ee/app/views/shared/_mirror_update_button.html.haml'
- 'ee/app/views/shared/epic/_search_bar.html.haml'
- 'ee/app/views/shared/issuable/_approvals.html.haml'
- 'ee/app/views/shared/issuable/_board_create_list_dropdown.html.haml'
diff --git a/.nvmrc b/.nvmrc
index 4de623cfef..ce122aaa98 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-12.10.0
+12.18.4
diff --git a/.rubocop.yml b/.rubocop.yml
index cc65727e94..34d6fe5e43 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -7,16 +7,18 @@ require:
- rubocop-rspec
inherit_from:
+ - .rubocop_manual_todo.yml
- .rubocop_todo.yml
- ./rubocop/rubocop-migrations.yml
- ./rubocop/rubocop-usage-data.yml
+ - ./rubocop/rubocop-code_reuse.yml
inherit_mode:
merge:
- Include
AllCops:
- TargetRubyVersion: 2.6
+ TargetRubyVersion: 2.7
TargetRailsVersion: 6.0
Exclude:
- 'vendor/**/*'
@@ -353,6 +355,12 @@ Cop/SidekiqOptionsQueue:
- 'spec/**/*.rb'
- 'ee/spec/**/*.rb'
+Graphql/ResolverType:
+ Enabled: true
+ Include:
+ - 'app/graphql/resolvers/**/*'
+ - 'ee/app/graphql/resolvers/**/*'
+
Graphql/AuthorizeTypes:
Enabled: true
Include:
diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml
new file mode 100644
index 0000000000..0b6e0f6494
--- /dev/null
+++ b/.rubocop_manual_todo.yml
@@ -0,0 +1,759 @@
+FactoryBot/InlineAssociation:
+ Exclude:
+ - 'ee/spec/factories/analytics/cycle_analytics/group_stages.rb'
+ - 'ee/spec/factories/geo/event_log.rb'
+ - 'ee/spec/factories/groups.rb'
+ - 'ee/spec/factories/merge_request_blocks.rb'
+ - 'ee/spec/factories/vulnerabilities/feedback.rb'
+ - 'spec/factories/atlassian_identities.rb'
+ - 'spec/factories/events.rb'
+ - 'spec/factories/git_wiki_commit_details.rb'
+ - 'spec/factories/gitaly/commit.rb'
+ - 'spec/factories/go_module_commits.rb'
+ - 'spec/factories/go_module_versions.rb'
+ - 'spec/factories/go_modules.rb'
+ - 'spec/factories/group_group_links.rb'
+ - 'spec/factories/import_export_uploads.rb'
+ - 'spec/factories/merge_requests.rb'
+ - 'spec/factories/notes.rb'
+ - 'spec/factories/sent_notifications.rb'
+ - 'spec/factories/uploads.rb'
+ - 'spec/factories/wiki_pages.rb'
+
+Graphql/IDType:
+ Exclude:
+ - 'ee/app/graphql/ee/mutations/issues/update.rb'
+ - 'ee/app/graphql/mutations/iterations/update.rb'
+ - 'ee/app/graphql/resolvers/iterations_resolver.rb'
+ - 'app/graphql/mutations/boards/issues/issue_move_list.rb'
+ - 'app/graphql/mutations/issues/update.rb'
+ - 'app/graphql/mutations/metrics/dashboard/annotations/delete.rb'
+ - 'app/graphql/resolvers/design_management/design_at_version_resolver.rb'
+ - 'app/graphql/resolvers/design_management/design_resolver.rb'
+ - 'app/graphql/resolvers/design_management/designs_resolver.rb'
+ - 'app/graphql/resolvers/design_management/version/design_at_version_resolver.rb'
+ - 'app/graphql/resolvers/design_management/version_in_collection_resolver.rb'
+ - 'app/graphql/resolvers/design_management/version_resolver.rb'
+ - 'app/graphql/resolvers/design_management/versions_resolver.rb'
+ - 'app/graphql/resolvers/error_tracking/sentry_detailed_error_resolver.rb'
+ - 'app/graphql/resolvers/error_tracking/sentry_error_stack_trace_resolver.rb'
+ - 'app/graphql/resolvers/user_merge_requests_resolver.rb'
+
+Graphql/ResolverType:
+ Exclude:
+ - 'app/graphql/resolvers/base_resolver.rb'
+ - 'app/graphql/resolvers/ci/jobs_resolver.rb'
+ - 'app/graphql/resolvers/ci/pipeline_stages_resolver.rb'
+ - 'app/graphql/resolvers/error_tracking/sentry_error_stack_trace_resolver.rb'
+ - 'app/graphql/resolvers/merge_requests_resolver.rb'
+ - 'app/graphql/resolvers/users/group_count_resolver.rb'
+ - 'ee/app/graphql/resolvers/geo/merge_request_diff_registries_resolver.rb'
+ - 'ee/app/graphql/resolvers/geo/package_file_registries_resolver.rb'
+ - 'ee/app/graphql/resolvers/geo/terraform_state_version_registries_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerabilities_base_resolver.rb'
+
+Rails/SaveBang:
+ Exclude:
+ - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
+ - 'ee/spec/controllers/subscriptions_controller_spec.rb'
+ - 'ee/spec/frontend/fixtures/analytics.rb'
+ - 'ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb'
+ - 'ee/spec/initializers/fog_google_https_private_urls_spec.rb'
+ - 'ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/o_auth/user_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/saml/user_spec.rb'
+ - 'ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb'
+ - 'ee/spec/lib/gitlab/elastic/search_results_spec.rb'
+ - 'ee/spec/lib/gitlab/email/handler/ee/service_desk_handler_spec.rb'
+ - 'ee/spec/lib/gitlab/geo_spec.rb'
+ - 'ee/spec/lib/gitlab/git_access_spec.rb'
+ - 'ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
+ - 'ee/spec/lib/gitlab/mirror_spec.rb'
+ - 'ee/spec/mailers/notify_spec.rb'
+ - 'ee/spec/migrations/fix_any_approver_rule_for_projects_spec.rb'
+ - 'ee/spec/migrations/geo/migrate_ci_job_artifacts_to_separate_registry_spec.rb'
+ - 'ee/spec/migrations/geo/migrate_lfs_objects_to_separate_registry_spec.rb'
+ - 'ee/spec/migrations/schedule_merge_request_any_approval_rule_migration_spec.rb'
+ - 'ee/spec/migrations/schedule_project_any_approval_rule_migration_spec.rb'
+ - 'ee/spec/models/application_setting_spec.rb'
+ - 'ee/spec/models/approval_merge_request_rule_spec.rb'
+ - 'ee/spec/models/approval_project_rule_spec.rb'
+ - 'ee/spec/models/burndown_spec.rb'
+ - 'ee/spec/models/ci/pipeline_spec.rb'
+ - 'ee/spec/models/ci/subscriptions/project_spec.rb'
+ - 'ee/spec/models/ee/appearance_spec.rb'
+ - 'ee/spec/models/ee/ci/job_artifact_spec.rb'
+ - 'ee/spec/models/ee/protected_branch_spec.rb'
+ - 'ee/spec/models/ee/protected_ref_access_spec.rb'
+ - 'ee/spec/models/ee/protected_ref_spec.rb'
+ - 'ee/spec/models/elasticsearch_indexed_namespace_spec.rb'
+ - 'ee/spec/models/environment_spec.rb'
+ - 'ee/spec/models/epic_spec.rb'
+ - 'ee/spec/models/geo/project_registry_spec.rb'
+ - 'ee/spec/models/geo_node_spec.rb'
+ - 'ee/spec/models/geo_node_status_spec.rb'
+ - 'ee/spec/models/gitlab_subscription_spec.rb'
+ - 'ee/spec/models/group_spec.rb'
+ - 'ee/spec/models/issue_spec.rb'
+ - 'ee/spec/models/label_note_spec.rb'
+ - 'ee/spec/models/lfs_object_spec.rb'
+ - 'ee/spec/models/license_spec.rb'
+ - 'ee/spec/models/merge_request_spec.rb'
+ - 'ee/spec/models/merge_train_spec.rb'
+ - 'spec/models/packages/package_spec.rb'
+ - 'ee/spec/models/project_ci_cd_setting_spec.rb'
+ - 'ee/spec/models/project_spec.rb'
+ - 'ee/spec/models/protected_environment_spec.rb'
+ - 'ee/spec/models/repository_spec.rb'
+ - 'ee/spec/models/scim_identity_spec.rb'
+ - 'ee/spec/models/scim_oauth_access_token_spec.rb'
+ - 'ee/spec/models/upload_spec.rb'
+ - 'ee/spec/models/user_preference_spec.rb'
+ - 'ee/spec/models/user_spec.rb'
+ - 'ee/spec/models/visible_approvable_spec.rb'
+ - 'ee/spec/models/vulnerabilities/feedback_spec.rb'
+ - 'ee/spec/models/vulnerabilities/issue_link_spec.rb'
+ - 'ee/spec/presenters/audit_event_presenter_spec.rb'
+ - 'ee/spec/presenters/epic_presenter_spec.rb'
+ - 'ee/spec/requests/api/boards_spec.rb'
+ - 'ee/spec/requests/api/epic_issues_spec.rb'
+ - 'ee/spec/requests/api/epic_links_spec.rb'
+ - 'ee/spec/requests/api/epics_spec.rb'
+ - 'ee/spec/requests/api/geo_nodes_spec.rb'
+ - 'ee/spec/requests/api/geo_spec.rb'
+ - 'ee/spec/requests/api/graphql/group/epics_spec.rb'
+ - 'ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb'
+ - 'ee/spec/requests/api/groups_spec.rb'
+ - 'ee/spec/requests/api/issues_spec.rb'
+ - 'ee/spec/requests/api/ldap_group_links_spec.rb'
+ - 'ee/spec/requests/api/merge_request_approval_rules_spec.rb'
+ - 'ee/spec/requests/api/merge_request_approvals_spec.rb'
+ - 'ee/spec/requests/api/merge_requests_spec.rb'
+ - 'ee/spec/requests/api/project_approvals_spec.rb'
+ - 'ee/spec/requests/api/projects_spec.rb'
+ - 'ee/spec/requests/api/protected_branches_spec.rb'
+ - 'ee/spec/requests/api/scim_spec.rb'
+ - 'ee/spec/requests/api/todos_spec.rb'
+ - 'ee/spec/requests/lfs_http_spec.rb'
+ - 'ee/spec/services/approval_rules/finalize_service_spec.rb'
+ - 'ee/spec/services/approval_rules/update_service_spec.rb'
+ - 'ee/spec/services/ee/boards/issues/create_service_spec.rb'
+ - 'ee/spec/services/ee/boards/issues/list_service_spec.rb'
+ - 'ee/spec/services/ee/boards/lists/list_service_spec.rb'
+ - 'ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb'
+ - 'ee/spec/services/ee/issuable/common_system_notes_service_spec.rb'
+ - 'ee/spec/services/ee/issues/update_service_spec.rb'
+ - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb'
+ - 'ee/spec/services/ee/merge_requests/update_service_spec.rb'
+ - 'ee/spec/services/ee/notes/quick_actions_service_spec.rb'
+ - 'ee/spec/services/ee/notification_service_spec.rb'
+ - 'ee/spec/services/epic_links/create_service_spec.rb'
+ - 'ee/spec/services/epics/close_service_spec.rb'
+ - 'ee/spec/services/epics/issue_promote_service_spec.rb'
+ - 'ee/spec/services/epics/reopen_service_spec.rb'
+ - 'ee/spec/services/epics/tree_reorder_service_spec.rb'
+ - 'ee/spec/services/epics/update_dates_service_spec.rb'
+ - 'ee/spec/services/epics/update_service_spec.rb'
+ - 'ee/spec/services/geo/blob_verification_secondary_service_spec.rb'
+ - 'ee/spec/services/geo/files_expire_service_spec.rb'
+ - 'ee/spec/services/geo/metrics_update_service_spec.rb'
+ - 'ee/spec/services/geo/registry_consistency_service_spec.rb'
+ - 'ee/spec/services/geo/repository_verification_secondary_service_spec.rb'
+ - 'ee/spec/services/groups/autocomplete_service_spec.rb'
+ - 'ee/spec/services/ldap_group_reset_service_spec.rb'
+ - 'ee/spec/services/lfs/unlock_file_service_spec.rb'
+ - 'ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb'
+ - 'ee/spec/services/quick_actions/interpret_service_spec.rb'
+ - 'ee/spec/services/slash_commands/global_slack_handler_spec.rb'
+ - 'ee/spec/services/start_pull_mirroring_service_spec.rb'
+ - 'ee/spec/services/status_page/trigger_publish_service_spec.rb'
+ - 'ee/spec/services/todo_service_spec.rb'
+ - 'ee/spec/services/update_build_minutes_service_spec.rb'
+ - 'ee/spec/services/vulnerability_feedback/create_service_spec.rb'
+ - 'ee/spec/support/protected_tags/access_control_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/features/protected_branches_access_control_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/lib/analytics/common_merge_request_metrics_refresh_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/policies/protected_environments_shared_examples.rb'
+ - 'ee/spec/workers/adjourned_project_deletion_worker_spec.rb'
+ - 'ee/spec/workers/clear_shared_runners_minutes_worker_spec.rb'
+ - 'ee/spec/workers/create_github_webhook_worker_spec.rb'
+ - 'ee/spec/workers/elastic_namespace_rollout_worker_spec.rb'
+ - 'ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb'
+ - 'ee/spec/workers/geo/file_download_dispatch_worker_spec.rb'
+ - 'ee/spec/workers/geo/prune_event_log_worker_spec.rb'
+ - 'ee/spec/workers/geo/registry_sync_worker_spec.rb'
+ - 'ee/spec/workers/geo/repository_shard_sync_worker_spec.rb'
+ - 'ee/spec/workers/repository_import_worker_spec.rb'
+ - 'ee/spec/workers/update_all_mirrors_worker_spec.rb'
+ - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb'
+ - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb'
+ - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb'
+ - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb'
+ - 'spec/controllers/abuse_reports_controller_spec.rb'
+ - 'spec/controllers/admin/impersonations_controller_spec.rb'
+ - 'spec/controllers/admin/runners_controller_spec.rb'
+ - 'spec/controllers/admin/services_controller_spec.rb'
+ - 'spec/controllers/boards/issues_controller_spec.rb'
+ - 'spec/controllers/groups/milestones_controller_spec.rb'
+ - 'spec/controllers/groups/runners_controller_spec.rb'
+ - 'spec/controllers/groups/uploads_controller_spec.rb'
+ - 'spec/controllers/groups_controller_spec.rb'
+ - 'spec/controllers/oauth/authorizations_controller_spec.rb'
+ - 'spec/controllers/omniauth_callbacks_controller_spec.rb'
+ - 'spec/controllers/profiles/emails_controller_spec.rb'
+ - 'spec/controllers/profiles/notifications_controller_spec.rb'
+ - 'spec/controllers/projects/artifacts_controller_spec.rb'
+ - 'spec/controllers/projects/cycle_analytics/events_controller_spec.rb'
+ - 'spec/controllers/projects/cycle_analytics_controller_spec.rb'
+ - 'spec/controllers/projects/discussions_controller_spec.rb'
+ - 'spec/controllers/projects/forks_controller_spec.rb'
+ - 'spec/controllers/projects/group_links_controller_spec.rb'
+ - 'spec/controllers/projects/imports_controller_spec.rb'
+ - 'spec/controllers/projects/issues_controller_spec.rb'
+ - 'spec/controllers/projects/labels_controller_spec.rb'
+ - 'spec/controllers/projects/milestones_controller_spec.rb'
+ - 'spec/controllers/projects/notes_controller_spec.rb'
+ - 'spec/controllers/projects/pipelines_controller_spec.rb'
+ - 'spec/controllers/projects/releases/evidences_controller_spec.rb'
+ - 'spec/controllers/projects/runners_controller_spec.rb'
+ - 'spec/controllers/projects/starrers_controller_spec.rb'
+ - 'spec/controllers/projects/uploads_controller_spec.rb'
+ - 'spec/controllers/projects_controller_spec.rb'
+ - 'spec/controllers/sent_notifications_controller_spec.rb'
+ - 'spec/controllers/sessions_controller_spec.rb'
+ - 'spec/controllers/users_controller_spec.rb'
+ - 'spec/factories_spec.rb'
+ - 'spec/features/admin/admin_appearance_spec.rb'
+ - 'spec/features/admin/admin_labels_spec.rb'
+ - 'spec/features/admin/admin_mode/login_spec.rb'
+ - 'spec/features/admin/admin_runners_spec.rb'
+ - 'spec/features/admin/admin_sees_project_statistics_spec.rb'
+ - 'spec/features/admin/admin_sees_projects_statistics_spec.rb'
+ - 'spec/features/admin/admin_users_impersonation_tokens_spec.rb'
+ - 'spec/features/admin/admin_users_spec.rb'
+ - 'spec/features/boards/sidebar_spec.rb'
+ - 'spec/features/calendar_spec.rb'
+ - 'spec/features/commits_spec.rb'
+ - 'spec/features/dashboard/datetime_on_tooltips_spec.rb'
+ - 'spec/features/dashboard/issuables_counter_spec.rb'
+ - 'spec/features/dashboard/project_member_activity_index_spec.rb'
+ - 'spec/features/dashboard/projects_spec.rb'
+ - 'spec/features/error_tracking/user_sees_error_index_spec.rb'
+ - 'spec/features/groups/members/request_access_spec.rb'
+ - 'spec/features/issuables/close_reopen_report_toggle_spec.rb'
+ - 'spec/features/issues/bulk_assignment_labels_spec.rb'
+ - 'spec/features/issues/gfm_autocomplete_spec.rb'
+ - 'spec/features/issues/issue_sidebar_spec.rb'
+ - 'spec/features/issues/note_polling_spec.rb'
+ - 'spec/features/issues/user_creates_branch_and_merge_request_spec.rb'
+ - 'spec/features/issues/user_creates_confidential_merge_request_spec.rb'
+ - 'spec/features/issues/user_edits_issue_spec.rb'
+ - 'spec/features/issues/user_filters_issues_spec.rb'
+ - 'spec/features/issues/user_sees_live_update_spec.rb'
+ - 'spec/features/issues/user_sorts_issues_spec.rb'
+ - 'spec/features/profiles/emails_spec.rb'
+ - 'spec/features/profiles/password_spec.rb'
+ - 'spec/features/profiles/personal_access_tokens_spec.rb'
+ - 'spec/features/projects/features_visibility_spec.rb'
+ - 'spec/features/projects/fork_spec.rb'
+ - 'spec/features/projects/jobs/permissions_spec.rb'
+ - 'spec/features/projects/jobs_spec.rb'
+ - 'spec/features/projects/members/user_requests_access_spec.rb'
+ - 'spec/features/projects/pages_lets_encrypt_spec.rb'
+ - 'spec/features/projects/pages_spec.rb'
+ - 'spec/features/projects/pipelines/pipeline_spec.rb'
+ - 'spec/features/projects/pipelines/pipelines_spec.rb'
+ - 'spec/features/projects/remote_mirror_spec.rb'
+ - 'spec/features/projects/services/user_activates_slack_notifications_spec.rb'
+ - 'spec/features/projects/settings/access_tokens_spec.rb'
+ - 'spec/features/projects/show/user_sees_deletion_failure_message_spec.rb'
+ - 'spec/features/projects/user_sees_sidebar_spec.rb'
+ - 'spec/features/projects/wiki/user_updates_wiki_page_spec.rb'
+ - 'spec/features/projects/wiki/user_views_wiki_page_spec.rb'
+ - 'spec/features/projects/wiki/users_views_asciidoc_page_with_includes_spec.rb'
+ - 'spec/features/runners_spec.rb'
+ - 'spec/features/security/project/internal_access_spec.rb'
+ - 'spec/features/security/project/private_access_spec.rb'
+ - 'spec/features/security/project/public_access_spec.rb'
+ - 'spec/features/users/login_spec.rb'
+ - 'spec/features/users/show_spec.rb'
+ - 'spec/frontend/fixtures/issues.rb'
+ - 'spec/frontend/fixtures/merge_requests.rb'
+ - 'spec/graphql/mutations/merge_requests/set_locked_spec.rb'
+ - 'spec/graphql/mutations/merge_requests/set_wip_spec.rb'
+ - 'spec/graphql/resolvers/boards_resolver_spec.rb'
+ - 'spec/initializers/active_record_locking_spec.rb'
+ - 'spec/initializers/fog_google_https_private_urls_spec.rb'
+ - 'spec/lib/after_commit_queue_spec.rb'
+ - 'spec/lib/backup/manager_spec.rb'
+ - 'spec/lib/banzai/reference_parser/external_issue_parser_spec.rb'
+ - 'spec/lib/banzai/reference_redactor_spec.rb'
+ - 'spec/lib/gitlab/alerting/alert_spec.rb'
+ - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb'
+ - 'spec/lib/gitlab/auth/ldap/user_spec.rb'
+ - 'spec/lib/gitlab/auth/o_auth/user_spec.rb'
+ - 'spec/lib/gitlab/auth/saml/user_spec.rb'
+ - 'spec/lib/gitlab/auth_spec.rb'
+ - 'spec/lib/gitlab/authorized_keys_spec.rb'
+ - 'spec/lib/gitlab/background_migration/backfill_deployment_clusters_from_deployments_spec.rb'
+ - 'spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb'
+ - 'spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb'
+ - 'spec/lib/gitlab/background_migration/backfill_push_rules_id_in_projects_spec.rb'
+ - 'spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb'
+ - 'spec/lib/gitlab/background_migration/digest_column_spec.rb'
+ - 'spec/lib/gitlab/background_migration/encrypt_columns_spec.rb'
+ - 'spec/lib/gitlab/background_migration/fix_cross_project_label_links_spec.rb'
+ - 'spec/lib/gitlab/background_migration/fix_projects_without_project_feature_spec.rb'
+ - 'spec/lib/gitlab/background_migration/fix_projects_without_prometheus_service_spec.rb'
+ - 'spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb'
+ - 'spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb'
+ - 'spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb'
+ - 'spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb'
+ - 'spec/lib/gitlab/background_migration/link_lfs_objects_projects_spec.rb'
+ - 'spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb'
+ - 'spec/lib/gitlab/background_migration/migrate_stage_index_spec.rb'
+ - 'spec/lib/gitlab/background_migration/migrate_users_bio_to_user_details_spec.rb'
+ - 'spec/lib/gitlab/background_migration/populate_canonical_emails_spec.rb'
+ - 'spec/lib/gitlab/background_migration/populate_merge_request_assignees_table_spec.rb'
+ - 'spec/lib/gitlab/background_migration/populate_user_highest_roles_table_spec.rb'
+ - 'spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb'
+ - 'spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb'
+ - 'spec/lib/gitlab/background_migration/reset_merge_status_spec.rb'
+ - 'spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb'
+ - 'spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb'
+ - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb'
+ - 'spec/lib/gitlab/ci/ansi2json/style_spec.rb'
+ - 'spec/lib/gitlab/ci/status/build/common_spec.rb'
+ - 'spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb'
+ - 'spec/lib/gitlab/database/custom_structure_spec.rb'
+ - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb'
+ - 'spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb'
+ - 'spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
+ - 'spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb'
+ - 'spec/lib/gitlab/gfm/reference_rewriter_spec.rb'
+ - 'spec/lib/gitlab/git_access_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/repository_service_spec.rb'
+ - 'spec/lib/gitlab/import_export/avatar_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/base/relation_factory_spec.rb'
+ - 'spec/lib/gitlab/import_export/design_repo_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb'
+ - 'spec/lib/gitlab/import_export/fork_spec.rb'
+ - 'spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
+ - 'spec/lib/gitlab/import_export/group/tree_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/importer_spec.rb'
+ - 'spec/lib/gitlab/import_export/lfs_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/lfs_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/members_mapper_spec.rb'
+ - 'spec/lib/gitlab/import_export/project/relation_factory_spec.rb'
+ - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/project/tree_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/repo_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/uploads_manager_spec.rb'
+ - 'spec/lib/gitlab/import_export/uploads_saver_spec.rb'
+ - 'spec/lib/gitlab/import_export/wiki_restorer_spec.rb'
+ - 'spec/lib/gitlab/legacy_github_import/importer_spec.rb'
+ - 'spec/lib/gitlab/legacy_github_import/issue_formatter_spec.rb'
+ - 'spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb'
+ - 'spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb'
+ - 'spec/lib/gitlab/lets_encrypt/client_spec.rb'
+ - 'spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb'
+ - 'spec/lib/gitlab/markdown_cache/redis/store_spec.rb'
+ - 'spec/lib/gitlab/middleware/go_spec.rb'
+ - 'spec/lib/gitlab/shard_health_cache_spec.rb'
+ - 'spec/lib/mattermost/command_spec.rb'
+ - 'spec/lib/mattermost/session_spec.rb'
+ - 'spec/lib/mattermost/team_spec.rb'
+ - 'spec/mailers/notify_spec.rb'
+ - 'spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb'
+ - 'spec/migrations/20200122123016_backfill_project_settings_spec.rb'
+ - 'spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb'
+ - 'spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb'
+ - 'spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb'
+ - 'spec/migrations/20200313203550_remove_orphaned_chat_names_spec.rb'
+ - 'spec/migrations/20200406102120_backfill_deployment_clusters_from_deployments_spec.rb'
+ - 'spec/migrations/20200526115436_dedup_mr_metrics_spec.rb'
+ - 'spec/migrations/add_deploy_token_type_to_deploy_tokens_spec.rb'
+ - 'spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb'
+ - 'spec/migrations/add_unique_constraint_to_approvals_user_id_and_merge_request_id_spec.rb'
+ - 'spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb'
+ - 'spec/migrations/backfill_imported_snippet_repositories_spec.rb'
+ - 'spec/migrations/backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps_spec.rb'
+ - 'spec/migrations/backfill_snippet_repositories_spec.rb'
+ - 'spec/migrations/encrypt_plaintext_attributes_on_application_settings_spec.rb'
+ - 'spec/migrations/enqueue_reset_merge_status_second_run_spec.rb'
+ - 'spec/migrations/enqueue_reset_merge_status_spec.rb'
+ - 'spec/migrations/fill_file_store_lfs_objects_spec.rb'
+ - 'spec/migrations/fill_store_uploads_spec.rb'
+ - 'spec/migrations/fix_null_type_labels_spec.rb'
+ - 'spec/migrations/fix_pool_repository_source_project_id_spec.rb'
+ - 'spec/migrations/fix_projects_without_project_feature_spec.rb'
+ - 'spec/migrations/fix_projects_without_prometheus_services_spec.rb'
+ - 'spec/migrations/fix_wrong_pages_access_level_spec.rb'
+ - 'spec/migrations/insert_project_hooks_plan_limits_spec.rb'
+ - 'spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb'
+ - 'spec/migrations/move_limits_from_plans_spec.rb'
+ - 'spec/migrations/populate_project_statistics_packages_size_spec.rb'
+ - 'spec/migrations/schedule_link_lfs_objects_projects_spec.rb'
+ - 'spec/migrations/schedule_populate_merge_request_assignees_table_spec.rb'
+ - 'spec/migrations/seed_repository_storages_weighted_spec.rb'
+ - 'spec/models/appearance_spec.rb'
+ - 'spec/models/application_record_spec.rb'
+ - 'spec/models/application_setting_spec.rb'
+ - 'spec/models/clusters/applications/helm_spec.rb'
+ - 'spec/models/commit_spec.rb'
+ - 'spec/models/commit_status_spec.rb'
+ - 'spec/models/container_repository_spec.rb'
+ - 'spec/models/deploy_keys_project_spec.rb'
+ - 'spec/models/deploy_token_spec.rb'
+ - 'spec/models/deployment_spec.rb'
+ - 'spec/models/design_management/version_spec.rb'
+ - 'spec/models/diff_discussion_spec.rb'
+ - 'spec/models/diff_note_spec.rb'
+ - 'spec/models/email_spec.rb'
+ - 'spec/models/environment_spec.rb'
+ - 'spec/models/event_spec.rb'
+ - 'spec/models/fork_network_spec.rb'
+ - 'spec/models/generic_commit_status_spec.rb'
+ - 'spec/models/grafana_integration_spec.rb'
+ - 'spec/models/group_spec.rb'
+ - 'spec/models/hooks/system_hook_spec.rb'
+ - 'spec/models/hooks/web_hook_spec.rb'
+ - 'spec/models/identity_spec.rb'
+ - 'spec/models/issue/metrics_spec.rb'
+ - 'spec/models/issue_spec.rb'
+ - 'spec/models/jira_import_state_spec.rb'
+ - 'spec/models/key_spec.rb'
+ - 'spec/models/lfs_objects_project_spec.rb'
+ - 'spec/models/member_spec.rb'
+ - 'spec/models/members/group_member_spec.rb'
+ - 'spec/models/members/project_member_spec.rb'
+ - 'spec/models/merge_request_spec.rb'
+ - 'spec/models/milestone_spec.rb'
+ - 'spec/models/namespace_spec.rb'
+ - 'spec/models/note_spec.rb'
+ - 'spec/models/notification_setting_spec.rb'
+ - 'spec/models/operations/feature_flag_scope_spec.rb'
+ - 'spec/models/operations/feature_flags/strategy_spec.rb'
+ - 'spec/models/operations/feature_flags/user_list_spec.rb'
+ - 'spec/models/pages_domain_spec.rb'
+ - 'spec/models/project_auto_devops_spec.rb'
+ - 'spec/models/project_feature_spec.rb'
+ - 'spec/models/project_spec.rb'
+ - 'spec/models/project_team_spec.rb'
+ - 'spec/models/protectable_dropdown_spec.rb'
+ - 'spec/models/redirect_route_spec.rb'
+ - 'spec/models/release_spec.rb'
+ - 'spec/models/remote_mirror_spec.rb'
+ - 'spec/models/resource_milestone_event_spec.rb'
+ - 'spec/models/route_spec.rb'
+ - 'spec/models/sentry_issue_spec.rb'
+ - 'spec/models/service_spec.rb'
+ - 'spec/models/snippet_spec.rb'
+ - 'spec/models/upload_spec.rb'
+ - 'spec/models/user_preference_spec.rb'
+ - 'spec/models/user_spec.rb'
+ - 'spec/models/user_status_spec.rb'
+ - 'spec/models/wiki_page/meta_spec.rb'
+ - 'spec/models/wiki_page_spec.rb'
+ - 'spec/presenters/ci/build_runner_presenter_spec.rb'
+ - 'spec/presenters/ci/trigger_presenter_spec.rb'
+ - 'spec/presenters/packages/conan/package_presenter_spec.rb'
+ - 'spec/requests/api/ci/runner_spec.rb'
+ - 'spec/requests/api/commit_statuses_spec.rb'
+ - 'spec/requests/api/conan_packages_spec.rb'
+ - 'spec/requests/api/deployments_spec.rb'
+ - 'spec/requests/api/environments_spec.rb'
+ - 'spec/requests/api/go_proxy_spec.rb'
+ - 'spec/requests/api/graphql/mutations/merge_requests/set_labels_spec.rb'
+ - 'spec/requests/api/graphql/user_query_spec.rb'
+ - 'spec/requests/api/graphql_spec.rb'
+ - 'spec/requests/api/group_import_spec.rb'
+ - 'spec/requests/api/group_milestones_spec.rb'
+ - 'spec/requests/api/internal/base_spec.rb'
+ - 'spec/requests/api/issues/get_group_issues_spec.rb'
+ - 'spec/requests/api/issues/post_projects_issues_spec.rb'
+ - 'spec/requests/api/jobs_spec.rb'
+ - 'spec/requests/api/labels_spec.rb'
+ - 'spec/requests/api/project_import_spec.rb'
+ - 'spec/requests/projects/cycle_analytics_events_spec.rb'
+
+Rails/TimeZone:
+ Enabled: true
+ Exclude:
+ - 'lib/gitlab/popen.rb'
+ - 'ee/lib/delay.rb'
+ - 'ee/lib/gitlab/elastic/helper.rb'
+ - 'ee/lib/gitlab/elastic/indexer.rb'
+ - 'ee/lib/gitlab/geo/base_request.rb'
+ - 'ee/lib/gitlab/geo/event_gap_tracking.rb'
+ - 'ee/lib/gitlab/geo/log_cursor/events/design_repository_updated_event.rb'
+ - 'ee/lib/gitlab/geo/log_cursor/events/repository_updated_event.rb'
+ - 'ee/lib/gitlab/geo/log_cursor/logger.rb'
+ - 'ee/lib/gitlab/geo/oauth/login_state.rb'
+ - 'ee/lib/gitlab/prometheus/queries/cluster_query.rb'
+ - 'ee/lib/gitlab/prometheus/queries/packet_flow_query.rb'
+ - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/smartcard/session_spec.rb'
+ - 'ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb'
+ - 'ee/spec/lib/gitlab/elastic/client_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/base_request_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/lfs_object_deleted_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_deleted_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/reset_checksum_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/upload_deleted_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/logger_spec.rb'
+ - 'ee/spec/lib/gitlab/git_access_spec.rb'
+ - 'ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb'
+ - 'ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb'
+ - 'ee/spec/lib/gitlab/prometheus/queries/packet_flow_query_spec.rb'
+ - 'lib/api/helpers.rb'
+ - 'lib/api/sidekiq_metrics.rb'
+ - 'lib/backup/manager.rb'
+ - 'lib/bitbucket_server/representation/base.rb'
+ - 'lib/gitlab/auth/current_user_mode.rb'
+ - 'lib/gitlab/auth/ldap/access.rb'
+ - 'lib/gitlab/chaos.rb'
+ - 'lib/gitlab/checks/timed_logger.rb'
+ - 'lib/gitlab/ci/ansi2json/line.rb'
+ - 'lib/gitlab/ci/pipeline/chain/sequence.rb'
+ - 'lib/gitlab/ci/pipeline/duration.rb'
+ - 'lib/gitlab/cycle_analytics/summary/deployment_frequency.rb'
+ - 'lib/gitlab/database.rb'
+ - 'lib/gitlab/external_authorization/access.rb'
+ - 'lib/gitlab/external_authorization/cache.rb'
+ - 'lib/gitlab/gitaly_client.rb'
+ - 'lib/gitlab/gitaly_client/ref_service.rb'
+ - 'lib/gitlab/github_import/representation.rb'
+ - 'lib/gitlab/grape_logging/loggers/queue_duration_logger.rb'
+ - 'lib/gitlab/health_checks/base_abstract_check.rb'
+ - 'lib/gitlab/import_export.rb'
+ - 'lib/gitlab/instrumentation/elasticsearch_transport.rb'
+ - 'lib/gitlab/instrumentation/redis_interceptor.rb'
+ - 'lib/gitlab/instrumentation_helper.rb'
+ - 'lib/gitlab/kubernetes/helm/certificate.rb'
+ - 'lib/gitlab/lfs_token.rb'
+ - 'lib/gitlab/loop_helpers.rb'
+ - 'lib/gitlab/phabricator_import/representation/task.rb'
+ - 'lib/gitlab/prometheus/queries/additional_metrics_environment_query.rb'
+ - 'lib/gitlab/prometheus/queries/matched_metric_query.rb'
+ - 'lib/gitlab/prometheus_client.rb'
+ - 'lib/gitlab/sherlock/transaction.rb'
+ - 'lib/gitlab/task_helpers.rb'
+ - 'lib/gitlab/x509/tag.rb'
+ - 'lib/grafana/time_window.rb'
+ - 'lib/json_web_token/token.rb'
+ - 'lib/object_storage/direct_upload.rb'
+ - 'lib/quality/seeders/issues.rb'
+ - 'lib/rspec_flaky/flaky_example.rb'
+ - 'lib/rspec_flaky/report.rb'
+ - 'lib/tasks/gitlab/assets.rake'
+ - 'lib/tasks/gitlab/backup.rake'
+ - 'lib/tasks/gitlab/cleanup.rake'
+ - 'lib/tasks/gitlab/list_repos.rake'
+ - 'spec/lib/api/helpers_spec.rb'
+ - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb'
+ - 'spec/lib/gitlab/app_json_logger_spec.rb'
+ - 'spec/lib/gitlab/app_text_logger_spec.rb'
+ - 'spec/lib/gitlab/auth/current_user_mode_spec.rb'
+ - 'spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb'
+ - 'spec/lib/gitlab/background_migration/wrongfully_confirmed_email_unconfirmer_spec.rb'
+ - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb'
+ - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb'
+ - 'spec/lib/gitlab/checks/timed_logger_spec.rb'
+ - 'spec/lib/gitlab/ci/cron_parser_spec.rb'
+ - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb'
+ - 'spec/lib/gitlab/cycle_analytics/usage_data_spec.rb'
+ - 'spec/lib/gitlab/data_builder/note_spec.rb'
+ - 'spec/lib/gitlab/database/background_migration_job_spec.rb'
+ - 'spec/lib/gitlab/database_spec.rb'
+ - 'spec/lib/gitlab/discussions_diff/file_collection_spec.rb'
+ - 'spec/lib/gitlab/external_authorization/access_spec.rb'
+ - 'spec/lib/gitlab/external_authorization/cache_spec.rb'
+ - 'spec/lib/gitlab/external_authorization/logger_spec.rb'
+ - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb'
+ - 'spec/lib/gitlab/git/branch_spec.rb'
+ - 'spec/lib/gitlab/git/commit_spec.rb'
+ - 'spec/lib/gitlab/git/repository_spec.rb'
+ - 'spec/lib/gitlab/git_access_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/issue_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/issues_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/note_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/releases_importer_spec.rb'
+ - 'spec/lib/gitlab/github_import/representation/diff_note_spec.rb'
+ - 'spec/lib/gitlab/github_import/representation/issue_spec.rb'
+ - 'spec/lib/gitlab/github_import/representation/note_spec.rb'
+ - 'spec/lib/gitlab/github_import/representation/pull_request_spec.rb'
+ - 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb'
+ - 'spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb'
+ - 'spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb'
+ - 'spec/lib/gitlab/graphql_logger_spec.rb'
+ - 'spec/lib/gitlab/graphs/commits_spec.rb'
+ - 'spec/lib/gitlab/import_export/project/relation_factory_spec.rb'
+ - 'spec/lib/gitlab/instrumentation_helper_spec.rb'
+ - 'spec/lib/gitlab/json_logger_spec.rb'
+ - 'spec/lib/gitlab/lfs_token_spec.rb'
+ - 'spec/lib/gitlab/log_timestamp_formatter_spec.rb'
+ - 'spec/lib/gitlab/middleware/rails_queue_duration_spec.rb'
+ - 'spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb'
+ - 'spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb'
+ - 'spec/lib/gitlab/phabricator_import/representation/task_spec.rb'
+ - 'spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb'
+ - 'spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb'
+ - 'spec/lib/gitlab/prometheus/queries/validate_query_spec.rb'
+ - 'spec/lib/gitlab/sherlock/transaction_spec.rb'
+ - 'spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb'
+ - 'spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb'
+ - 'spec/lib/gitlab/updated_notes_paginator_spec.rb'
+ - 'spec/lib/gitlab/utils/json_size_estimator_spec.rb'
+ - 'spec/lib/gitlab/x509/signature_spec.rb'
+ - 'spec/lib/grafana/time_window_spec.rb'
+ - 'spec/lib/json_web_token/hmac_token_spec.rb'
+ - 'spec/lib/rspec_flaky/flaky_example_spec.rb'
+ - 'spec/lib/rspec_flaky/listener_spec.rb'
+ - 'spec/lib/rspec_flaky/report_spec.rb'
+
+RSpec/TimecopFreeze:
+ Exclude:
+ - 'ee/spec/controllers/admin/application_settings_controller_spec.rb'
+ - 'ee/spec/controllers/projects/security/network_policies_controller_spec.rb'
+ - 'ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb'
+ - 'ee/spec/features/boards/sidebar_spec.rb'
+ - 'ee/spec/features/groups/analytics/cycle_analytics/filters_and_data_spec.rb'
+ - 'ee/spec/features/groups/iteration_spec.rb'
+ - 'ee/spec/features/projects/mirror_spec.rb'
+ - 'ee/spec/features/projects/services/prometheus_custom_metrics_spec.rb'
+ - 'ee/spec/finders/productivity_analytics_finder_spec.rb'
+ - 'ee/spec/frontend/fixtures/analytics.rb'
+ - 'ee/spec/helpers/vulnerabilities_helper_spec.rb'
+ - 'ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb'
+ - 'ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/background_migration/populate_vulnerability_historical_statistics_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/cycle_analytics/group_stage_time_summary_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb'
+ - 'ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb'
+ - 'ee/spec/lib/gitlab/database/load_balancing/host_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/base_request_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/git_push_http_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb'
+ - 'ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb'
+ - 'ee/spec/lib/gitlab/prometheus/queries/additional_metrics_environment_query_spec.rb'
+ - 'ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb'
+ - 'ee/spec/migrations/populate_vulnerability_historical_statistics_for_year_spec.rb'
+ - 'ee/spec/migrations/remove_duplicated_cs_findings_spec.rb'
+ - 'ee/spec/migrations/remove_duplicated_cs_findings_without_vulnerability_id_spec.rb'
+ - 'ee/spec/migrations/schedule_fix_orphan_promoted_issues_spec.rb'
+ - 'ee/spec/migrations/schedule_merge_request_any_approval_rule_migration_spec.rb'
+ - 'ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb'
+ - 'ee/spec/migrations/schedule_populate_vulnerability_historical_statistics_spec.rb'
+ - 'ee/spec/migrations/schedule_project_any_approval_rule_migration_spec.rb'
+ - 'ee/spec/migrations/set_resolved_state_on_vulnerabilities_spec.rb'
+ - 'ee/spec/migrations/20190926180443_schedule_epic_issues_after_epics_move_spec.rb'
+ - 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb'
+ - 'ee/spec/models/burndown_spec.rb'
+ - 'ee/spec/models/ee/namespace_spec.rb'
+ - 'ee/spec/models/geo/project_registry_spec.rb'
+ - 'ee/spec/models/merge_train_spec.rb'
+ - 'ee/spec/models/productivity_analytics_spec.rb'
+ - 'ee/spec/models/project_spec.rb'
+ - 'ee/spec/models/vulnerabilities/export_spec.rb'
+ - 'ee/spec/requests/api/vulnerabilities_spec.rb'
+ - 'ee/spec/services/geo/file_download_service_spec.rb'
+ - 'ee/spec/services/vulnerabilities/confirm_service_spec.rb'
+ - 'ee/spec/services/vulnerabilities/dismiss_service_spec.rb'
+ - 'ee/spec/services/vulnerabilities/resolve_service_spec.rb'
+ - 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb'
+ - 'ee/spec/services/vulnerability_exports/export_service_spec.rb'
+ - 'ee/spec/support/shared_contexts/lib/gitlab/insights/reducers/reducers_shared_contexts.rb'
+ - 'qa/spec/support/repeater_spec.rb'
+ - 'spec/features/profiles/active_sessions_spec.rb'
+ - 'spec/features/projects/environments/environment_metrics_spec.rb'
+ - 'spec/features/users/active_sessions_spec.rb'
+ - 'spec/lib/atlassian/jira_connect/client_spec.rb'
+ - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb'
+ - 'spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb'
+ - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb'
+ - 'spec/lib/gitlab/anonymous_session_spec.rb'
+ - 'spec/lib/gitlab/auth/unique_ips_limiter_spec.rb'
+ - 'spec/lib/gitlab/checks/timed_logger_spec.rb'
+ - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb'
+ - 'spec/lib/gitlab/cycle_analytics/usage_data_spec.rb'
+ - 'spec/lib/gitlab/instrumentation_helper_spec.rb'
+ - 'spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb'
+ - 'spec/lib/gitlab/puma_logging/json_formatter_spec.rb'
+ - 'spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb'
+ - 'spec/lib/json_web_token/hmac_token_spec.rb'
+ - 'spec/lib/rspec_flaky/flaky_example_spec.rb'
+ - 'spec/lib/rspec_flaky/listener_spec.rb'
+ - 'spec/models/active_session_spec.rb'
+ - 'spec/models/container_repository_spec.rb'
+ - 'spec/models/pages/lookup_path_spec.rb'
+ - 'spec/models/project_feature_usage_spec.rb'
+ - 'spec/requests/api/v3/github_spec.rb'
+ - 'spec/serializers/entity_date_helper_spec.rb'
+ - 'spec/support/cycle_analytics_helpers/test_generation.rb'
+ - 'spec/support/helpers/cycle_analytics_helpers.rb'
+ - 'spec/support/helpers/javascript_fixtures_helpers.rb'
+ - 'spec/support/shared_contexts/rack_attack_shared_context.rb'
+ - 'spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb'
+ - 'spec/workers/concerns/reenqueuer_spec.rb'
+ - 'spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb'
+
+RSpec/TimecopTravel:
+ Exclude:
+ - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/git_push_http_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb'
+ - 'ee/spec/models/broadcast_message_spec.rb'
+ - 'ee/spec/models/burndown_spec.rb'
+ - 'qa/spec/support/repeater_spec.rb'
+ - 'spec/features/users/terms_spec.rb'
+ - 'spec/lib/feature_spec.rb'
+ - 'spec/models/broadcast_message_spec.rb'
+ - 'spec/models/concerns/issuable_spec.rb'
+ - 'spec/requests/api/ci/runner/jobs_trace_spec.rb'
+ - 'spec/requests/api/issues/put_projects_issues_spec.rb'
+ - 'spec/support/shared_contexts/cache_allowed_users_in_namespace_shared_context.rb'
+ - 'spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb'
+ - 'spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb'
+ - 'spec/workers/concerns/reenqueuer_spec.rb'
+ - 'spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb'
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index cf29b7cb1d..293c8fccf3 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,38 +1,49 @@
# This configuration was generated by
-# `rubocop --auto-gen-config --exclude-limit 10000`
-# on 2020-08-17 21:05:54 +1200 using RuboCop version 0.82.0.
+# `rubocop --auto-gen-config`
+# on 2020-10-29 17:35:37 UTC using RuboCop version 0.89.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
-# Offense count: 308
+# Offense count: 310
# Cop supports --auto-correct.
Capybara/CurrentPathExpectation:
Enabled: false
-# Offense count: 1715
+# Offense count: 210
+Capybara/VisibilityMatcher:
+ Enabled: false
+
+# Offense count: 1903
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: with_first_argument, with_fixed_indentation
Layout/ArgumentAlignment:
Enabled: false
-# Offense count: 413
+# Offense count: 49
+# Cop supports --auto-correct.
+# Configuration parameters: AllowAliasSyntax, AllowedMethods.
+# AllowedMethods: alias_method, public, protected, private
+Layout/EmptyLinesAroundAttributeAccessor:
+ Enabled: false
+
+# Offense count: 610
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
Layout/FirstArrayElementIndentation:
Enabled: false
-# Offense count: 1218
+# Offense count: 1535
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_braces
Layout/FirstHashElementIndentation:
Enabled: false
-# Offense count: 2164
+# Offense count: 2754
# Cop supports --auto-correct.
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
@@ -41,33 +52,33 @@ Layout/FirstHashElementIndentation:
Layout/HashAlignment:
Enabled: false
-# Offense count: 9396
+# Offense count: 64
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
Max: 1313
-# Offense count: 94
+# Offense count: 118
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: aligned, indented
Layout/MultilineOperationIndentation:
Enabled: false
-# Offense count: 36
+# Offense count: 52
# Cop supports --auto-correct.
Layout/SpaceAroundMethodCallOperator:
Enabled: false
-# Offense count: 642
+# Offense count: 790
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_no_space, require_space
Layout/SpaceInLambdaLiteral:
Enabled: false
-# Offense count: 926
+# Offense count: 1110
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
# SupportedStyles: space, no_space
@@ -75,23 +86,89 @@ Layout/SpaceInLambdaLiteral:
Layout/SpaceInsideBlockBraces:
Enabled: false
-# Offense count: 401
+# Offense count: 501
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: space, no_space
Layout/SpaceInsideParens:
Enabled: false
+# Offense count: 18
+Lint/BinaryOperatorWithIdenticalOperands:
+ Exclude:
+ - 'app/finders/concerns/time_frame_filter.rb'
+ - '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/danger/sidekiq_queues_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'
+
+# Offense count: 9
+# Cop supports --auto-correct.
+Lint/DeprecatedOpenSSLConstant:
+ Exclude:
+ - 'app/services/clusters/kubernetes/configure_istio_ingress_service.rb'
+ - 'ee/lib/gitlab/geo/oauth/logout_state.rb'
+ - 'lib/gitlab/conan_token.rb'
+ - 'lib/gitlab/gitaly_client.rb'
+ - 'lib/gitlab/kubernetes/helm/certificate.rb'
+ - 'lib/gitlab/kubernetes/helm/v2/certificate.rb'
+ - 'spec/lib/gitlab/conan_token_spec.rb'
+ - 'spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb'
+ - 'spec/support/helpers/smime_helper.rb'
+ - 'spec/support/shared_contexts/requests/api/conan_packages_shared_context.rb'
+
+# Offense count: 1
+Lint/FloatComparison:
+ Exclude:
+ - 'ee/app/models/ee/namespace.rb'
+
# Offense count: 157
# Configuration parameters: MaximumRangeSize.
Lint/MissingCopEnableDirective:
Enabled: false
-# Offense count: 27
+# Offense count: 14
+Lint/MixedRegexpCaptureTypes:
+ Exclude:
+ - 'app/models/alert_management/alert.rb'
+ - 'app/models/project_services/ewm_service.rb'
+ - 'app/uploaders/file_uploader.rb'
+ - 'ee/lib/gitlab/code_owners/reference_extractor.rb'
+ - 'lib/gitlab/ci/pipeline/expression/lexeme/string.rb'
+ - 'lib/gitlab/dependency_linker/gemfile_linker.rb'
+ - 'lib/gitlab/diff/inline_diff.rb'
+ - 'lib/gitlab/diff/suggestions_parser.rb'
+ - 'lib/gitlab/github_import/representation/note.rb'
+ - 'lib/gitlab/metrics/system.rb'
+ - 'lib/gitlab/request_profiler/profile.rb'
+ - 'lib/gitlab/slash_commands/issue_move.rb'
+ - 'lib/gitlab/slash_commands/issue_new.rb'
+ - 'lib/gitlab/slash_commands/run.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Lint/NonDeterministicRequireOrder:
+ Exclude:
+ - 'rubocop/rubocop.rb'
+
+# Offense count: 118
# Cop supports --auto-correct.
Lint/RedundantCopDisableDirective:
Enabled: false
+# Offense count: 1
+Lint/SelfAssignment:
+ Exclude:
+ - 'spec/lib/gitlab/search_context/builder_spec.rb'
+
# Offense count: 1
# Cop supports --auto-correct.
Lint/SendWithMixinArgument:
@@ -105,13 +182,34 @@ Lint/StructNewOverride:
- 'app/serializers/environment_serializer.rb'
- 'lib/gitlab/ci/pipeline/duration.rb'
-# Offense count: 65
+# Offense count: 1
+Lint/UnreachableLoop:
+ Exclude:
+ - 'qa/qa/runtime/feature.rb'
+
+# Offense count: 5
+# Configuration parameters: IgnoredMethods.
+Metrics/AbcSize:
+ Max: 59
+
+# Offense count: 13
+# Configuration parameters: IgnoredMethods.
+Metrics/CyclomaticComplexity:
+ Max: 25
+
+# Offense count: 13
+# Configuration parameters: IgnoredMethods.
+Metrics/PerceivedComplexity:
+ Max: 25
+
+# Offense count: 1
# Cop supports --auto-correct.
Migration/DepartmentName:
- Enabled: false
+ Exclude:
+ - 'app/models/commit.rb'
-# Offense count: 156
-# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
+# Offense count: 171
+# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
# AllowedAcronyms: 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
Naming/FileName:
Enabled: false
@@ -127,7 +225,7 @@ Naming/HeredocDelimiterCase:
- 'spec/support/helpers/repo_helpers.rb'
- 'spec/support/helpers/seed_repo.rb'
-# Offense count: 239
+# Offense count: 263
# Configuration parameters: ForbiddenDelimiters.
# ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
Naming/HeredocDelimiterNaming:
@@ -135,19 +233,30 @@ Naming/HeredocDelimiterNaming:
# Offense count: 5
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
-# AllowedNames: io, id, to, by, on, in, at, ip, db, os, pp
+# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
Naming/MethodParameterName:
Exclude:
- 'lib/gitlab/diff/inline_diff.rb'
- 'spec/support/helpers/key_generator_helper.rb'
-# Offense count: 162
+# Offense count: 191
# Cop supports --auto-correct.
# Configuration parameters: PreferredName.
Naming/RescuedExceptionsVariableName:
Enabled: false
-# Offense count: 20
+# Offense count: 1
+# Cop supports --auto-correct.
+Performance/AncestorsInclude:
+ Exclude:
+ - 'lib/gitlab/ci/config/extendable/entry.rb'
+
+# Offense count: 28
+# Configuration parameters: MinSize.
+Performance/CollectionLiteralInLoop:
+ Enabled: false
+
+# Offense count: 19
# Cop supports --auto-correct.
Performance/Count:
Exclude:
@@ -159,78 +268,152 @@ Performance/Count:
- 'spec/lib/gitlab/git/tree_spec.rb'
- 'spec/models/ci/build_spec.rb'
- 'spec/support/matchers/exceed_query_limit.rb'
+ - 'spec/support_specs/helpers/active_record/query_recorder_spec.rb'
-# Offense count: 25
+# Offense count: 15
+# Cop supports --auto-correct.
+# Configuration parameters: SafeMultiline.
+Performance/DeletePrefix:
+ Exclude:
+ - 'app/helpers/submodule_helper.rb'
+ - 'app/workers/concerns/application_worker.rb'
+ - 'ee/lib/gitlab/geo/git_ssh_proxy.rb'
+ - 'lib/banzai/filter/repository_link_filter.rb'
+ - 'lib/gitlab/auth/ldap/dn.rb'
+ - 'lib/gitlab/gfm/uploads_rewriter.rb'
+ - 'lib/gitlab/git/ref.rb'
+ - 'lib/gitlab/project_template.rb'
+ - 'lib/gitlab/repo_path.rb'
+ - 'lib/gitlab/setup_helper.rb'
+ - 'lib/gitlab/time_tracking_formatter.rb'
+ - 'spec/controllers/projects/artifacts_controller_spec.rb'
+ - 'spec/lib/gitlab/gfm/uploads_rewriter_spec.rb'
+ - 'spec/support/helpers/test_env.rb'
+
+# Offense count: 6
+# Cop supports --auto-correct.
+# Configuration parameters: SafeMultiline.
+Performance/DeleteSuffix:
+ Exclude:
+ - 'app/helpers/submodule_helper.rb'
+ - 'app/workers/concerns/application_worker.rb'
+ - 'ee/app/models/geo/upload_registry.rb'
+ - 'ee/app/workers/geo/file_download_dispatch_worker/attachment_job_finder.rb'
+ - 'lib/gitlab/repo_path.rb'
+ - 'lib/sentry/client/issue.rb'
+
+# Offense count: 13
# Cop supports --auto-correct.
Performance/Detect:
Exclude:
- 'ee/spec/controllers/projects/dependencies_controller_spec.rb'
+ - 'ee/spec/requests/api/dependencies_spec.rb'
+ - 'qa/qa/runtime/feature.rb'
- 'spec/lib/gitlab/git/tree_spec.rb'
- 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
- 'spec/models/event_spec.rb'
- - 'spec/requests/api/jobs_spec.rb'
-# Offense count: 11832
+# Offense count: 19
+# Cop supports --auto-correct.
+# Configuration parameters: AutoCorrect.
+Performance/StringInclude:
+ Exclude:
+ - 'app/helpers/groups_helper.rb'
+ - 'app/models/snippet_repository.rb'
+ - 'config/initializers/macos.rb'
+ - 'config/spring.rb'
+ - 'ee/app/models/ee/container_registry/event.rb'
+ - 'ee/lib/gitlab/auth/smartcard/certificate.rb'
+ - 'lib/gitlab/database/migration_helpers.rb'
+ - 'lib/kramdown/parser/atlassian_document_format.rb'
+ - 'lib/prometheus/pid_provider.rb'
+ - 'qa/qa/ee/page/merge_request/show.rb'
+ - 'qa/qa/specs/runner.rb'
+ - 'spec/features/projects/jobs_spec.rb'
+ - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
+ - 'spec/spec_helper.rb'
+ - 'spec/support_specs/helpers/active_record/query_recorder_spec.rb'
+
+# Offense count: 9
+# Cop supports --auto-correct.
+Performance/Sum:
+ Exclude:
+ - 'app/models/application_setting_implementation.rb'
+ - 'app/models/ci/pipeline.rb'
+ - 'ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb'
+ - 'lib/declarative_policy/rule.rb'
+ - 'lib/declarative_policy/runner.rb'
+ - 'lib/gitlab/sherlock/transaction.rb'
+ - 'lib/gitlab/usage_data.rb'
+
+# Offense count: 13879
# Configuration parameters: Prefixes.
# Prefixes: when, with, without
RSpec/ContextWording:
Enabled: false
-# Offense count: 1121
+# Offense count: 4
+# Configuration parameters: CustomIncludeMethods.
+RSpec/EmptyExampleGroup:
+ Exclude:
+ - 'ee/spec/services/personal_access_tokens/revoke_invalid_tokens_spec.rb'
+ - 'spec/services/projects/prometheus/alerts/notify_service_spec.rb'
+
+# Offense count: 1310
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: method_call, block
RSpec/ExpectChange:
Enabled: false
-# Offense count: 47
RSpec/ExpectGitlabTracking:
Exclude:
- - 'ee/spec/controllers/groups/analytics/coverage_reports_controller_spec.rb'
- - 'ee/spec/controllers/projects/settings/operations_controller_spec.rb'
- - 'ee/spec/controllers/registrations_controller_spec.rb'
- 'ee/spec/requests/api/visual_review_discussions_spec.rb'
- 'ee/spec/services/epics/issue_promote_service_spec.rb'
- 'spec/controllers/groups/registry/repositories_controller_spec.rb'
- - 'spec/controllers/groups_controller_spec.rb'
- 'spec/controllers/projects/registry/repositories_controller_spec.rb'
- 'spec/controllers/projects/registry/tags_controller_spec.rb'
- 'spec/controllers/projects/settings/operations_controller_spec.rb'
- - 'spec/controllers/registrations_controller_spec.rb'
- 'spec/lib/api/helpers_spec.rb'
- - 'spec/lib/gitlab/experimentation_spec.rb'
- - 'spec/mailers/notify_spec.rb'
- - 'spec/models/project_services/prometheus_service_spec.rb'
- 'spec/requests/api/project_container_repositories_spec.rb'
- - 'spec/services/clusters/applications/check_installation_progress_service_spec.rb'
- - 'spec/services/issues/zoom_link_service_spec.rb'
- - 'spec/support/helpers/snowplow_helpers.rb'
- 'spec/support/shared_examples/controllers/trackable_shared_examples.rb'
- - 'spec/support/shared_examples/requests/api/container_repositories_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/discussions_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/packages_shared_examples.rb'
- 'spec/support/shared_examples/requests/api/tracking_shared_examples.rb'
- - 'spec/support/snowplow.rb'
-# Offense count: 751
+# Offense count: 888
RSpec/ExpectInHook:
Enabled: false
-# Offense count: 2188
+# Offense count: 15945
+# Configuration parameters: AllowSubject.
+RSpec/MultipleMemoizedHelpers:
+ Max: 40
+
+# Offense count: 2297
# Cop supports --auto-correct.
# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
# SupportedStyles: inflected, explicit
RSpec/PredicateMatcher:
Enabled: false
-# Offense count: 635
+# Offense count: 98
+RSpec/RepeatedExampleGroupBody:
+ Enabled: false
+
+# Offense count: 213
+RSpec/RepeatedExampleGroupDescription:
+ Enabled: false
+
+# Offense count: 636
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: and_return, block
RSpec/ReturnFromStub:
Enabled: false
-# Offense count: 518
+# Offense count: 574
+# Cop supports --auto-correct.
RSpec/ScatteredLet:
Enabled: false
@@ -239,6 +422,34 @@ RSpec/ScatteredSetup:
Exclude:
- 'spec/requests/api/jobs_spec.rb'
+# Offense count: 10
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: symbols, strings
+RSpec/VariableDefinition:
+ Exclude:
+ - 'spec/initializers/mail_encoding_patch_spec.rb'
+
+# Offense count: 25
+# Configuration parameters: EnforcedStyle, IgnoredPatterns.
+# SupportedStyles: snake_case, camelCase
+RSpec/VariableName:
+ Exclude:
+ - 'spec/features/projects/import_export/import_file_spec.rb'
+ - 'spec/features/task_lists_spec.rb'
+ - 'spec/initializers/mail_encoding_patch_spec.rb'
+ - 'spec/lib/gitlab/experimentation_spec.rb'
+ - 'spec/models/board_spec.rb'
+ - 'spec/support/shared_contexts/url_shared_context.rb'
+ - 'spec/support/shared_examples/requests/api/graphql/group_and_project_boards_query_shared_examples.rb'
+ - 'spec/support/shared_examples/services/boards/boards_list_service_shared_examples.rb'
+
+# Offense count: 27
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/ActiveRecordCallbacksOrder:
+ Enabled: false
+
# Offense count: 10
# Cop supports --auto-correct.
Rails/ApplicationController:
@@ -261,41 +472,63 @@ Rails/BelongsTo:
- 'app/models/deployment.rb'
- 'app/models/environment.rb'
-# Offense count: 71
+# Offense count: 84
# Configuration parameters: Database, Include.
# SupportedDatabases: mysql, postgresql
# Include: db/migrate/*.rb
Rails/BulkChangeTable:
Enabled: false
-# Offense count: 208
+# Offense count: 151
+# Cop supports --auto-correct.
+Rails/ContentTag:
+ Enabled: false
+
+# Offense count: 270
# Configuration parameters: Include.
# Include: db/migrate/*.rb
Rails/CreateTableWithTimestamps:
Enabled: false
-# Offense count: 346
+# Offense count: 323
# Configuration parameters: EnforcedStyle.
# SupportedStyles: slashes, arguments
Rails/FilePath:
Enabled: false
-# Offense count: 264
+# Offense count: 15
+# Cop supports --auto-correct.
+Rails/FindById:
+ Exclude:
+ - 'app/controllers/projects/pipelines_controller.rb'
+ - 'app/services/concerns/deploy_token_methods.rb'
+ - 'ee/app/controllers/ee/groups/group_members_controller.rb'
+ - 'ee/lib/api/audit_events.rb'
+ - 'ee/lib/api/merge_request_approval_rules.rb'
+ - 'ee/lib/ee/api/groups.rb'
+ - 'ee/lib/ee/api/projects.rb'
+ - 'ee/spec/finders/audit_log_finder_spec.rb'
+ - 'lib/api/snippets.rb'
+ - 'spec/finders/concerns/finder_methods_spec.rb'
+ - 'spec/finders/concerns/finder_with_cross_project_access_spec.rb'
+
+# Offense count: 329
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasManyOrHasOneDependent:
Enabled: false
-# Offense count: 467
+# Offense count: 507
# Configuration parameters: Include.
# Include: app/helpers/**/*.rb
Rails/HelperInstanceVariable:
Enabled: false
-# Offense count: 15
+# Offense count: 17
# Cop supports --auto-correct.
Rails/IndexBy:
Exclude:
+ - 'app/graphql/types/design_management/design_fields.rb'
- 'app/models/ci/pipeline.rb'
- 'app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb'
- 'ee/app/services/projects/update_mirror_service.rb'
@@ -305,21 +538,27 @@ Rails/IndexBy:
- 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb'
- 'ee/lib/gitlab/elastic/document_reference.rb'
- 'ee/lib/gitlab/group_plans_preloader.rb'
+ - 'lib/gitlab/danger/sidekiq_queues.rb'
- 'lib/gitlab/database/count/reltuples_count_strategy.rb'
- 'lib/gitlab/language_detection.rb'
-# Offense count: 36
+# Offense count: 44
# Cop supports --auto-correct.
Rails/IndexWith:
Enabled: false
-# Offense count: 105
+# Offense count: 1
+Rails/Inquiry:
+ Exclude:
+ - 'spec/helpers/labels_helper_spec.rb'
+
+# Offense count: 112
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/InverseOf:
Enabled: false
-# Offense count: 55
+# Offense count: 60
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb
Rails/LexicallyScopedActionFilter:
@@ -333,177 +572,77 @@ Rails/LinkToBlank:
- 'app/helpers/wiki_helper.rb'
- 'ee/app/helpers/ee/user_callouts_helper.rb'
-# Offense count: 34
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: app/mailers/**/*.rb
+Rails/MailerName:
+ Exclude:
+ - 'app/mailers/notify.rb'
+
+# Offense count: 48
+# Cop supports --auto-correct.
+Rails/NegateInclude:
+ Enabled: false
+
+# Offense count: 41
+# Cop supports --auto-correct.
+Rails/Pick:
+ Enabled: false
+
+# Offense count: 113
+# Cop supports --auto-correct.
+Rails/Pluck:
+ Enabled: false
+
+# Offense count: 38
+# Cop supports --auto-correct.
# Configuration parameters: Include.
# Include: **/Rakefile, **/*.rake
Rails/RakeEnvironment:
Enabled: false
-# Offense count: 926
-# Configuration parameters: Blacklist, Whitelist.
-# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters
+# Offense count: 52
+# Cop supports --auto-correct.
+Rails/RedundantForeignKey:
+ Enabled: false
+
+Rails/RenderInline:
+ Exclude:
+ - 'ee/app/controllers/sitemap_controller.rb'
+
+# Offense count: 4
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: conservative, aggressive
+Rails/ShortI18n:
+ Exclude:
+ - 'app/models/project_services/chat_message/pipeline_message.rb'
+ - 'app/uploaders/content_type_whitelist.rb'
+ - 'spec/views/shared/runners/show.html.haml_spec.rb'
+
+# Offense count: 1043
+# Configuration parameters: ForbiddenMethods, AllowedMethods.
+# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
Rails/SkipsModelValidations:
Enabled: false
-# Offense count: 308
+# Offense count: 202
+# Cop supports --auto-correct.
+Rails/SquishedSQLHeredocs:
+ Enabled: false
+
+# Offense count: 37
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
-# SupportedStyles: strict, flexible
-Rails/TimeZone:
- Enabled: true
- Exclude:
- - 'lib/gitlab/popen.rb'
- - 'ee/lib/delay.rb'
- - 'ee/lib/gitlab/elastic/helper.rb'
- - 'ee/lib/gitlab/elastic/indexer.rb'
- - 'ee/lib/gitlab/geo/base_request.rb'
- - 'ee/lib/gitlab/geo/event_gap_tracking.rb'
- - 'ee/lib/gitlab/geo/log_cursor/events/design_repository_updated_event.rb'
- - 'ee/lib/gitlab/geo/log_cursor/events/repository_updated_event.rb'
- - 'ee/lib/gitlab/geo/log_cursor/logger.rb'
- - 'ee/lib/gitlab/geo/oauth/login_state.rb'
- - 'ee/lib/gitlab/prometheus/queries/cluster_query.rb'
- - 'ee/lib/gitlab/prometheus/queries/packet_flow_query.rb'
- - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb'
- - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb'
- - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb'
- - 'ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb'
- - 'ee/spec/lib/gitlab/auth/smartcard/session_spec.rb'
- - 'ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb'
- - 'ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb'
- - 'ee/spec/lib/gitlab/elastic/client_spec.rb'
- - 'ee/spec/lib/gitlab/geo/base_request_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/lfs_object_deleted_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_deleted_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/reset_checksum_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/upload_deleted_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/logger_spec.rb'
- - 'ee/spec/lib/gitlab/git_access_spec.rb'
- - 'ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb'
- - 'ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb'
- - 'ee/spec/lib/gitlab/prometheus/queries/packet_flow_query_spec.rb'
- - 'lib/api/helpers.rb'
- - 'lib/api/sidekiq_metrics.rb'
- - 'lib/backup/manager.rb'
- - 'lib/bitbucket_server/representation/base.rb'
- - 'lib/gitlab/auth/current_user_mode.rb'
- - 'lib/gitlab/auth/ldap/access.rb'
- - 'lib/gitlab/chaos.rb'
- - 'lib/gitlab/checks/timed_logger.rb'
- - 'lib/gitlab/ci/ansi2json/line.rb'
- - 'lib/gitlab/ci/pipeline/chain/sequence.rb'
- - 'lib/gitlab/ci/pipeline/duration.rb'
- - 'lib/gitlab/cycle_analytics/summary/deployment_frequency.rb'
- - 'lib/gitlab/database.rb'
- - 'lib/gitlab/external_authorization/access.rb'
- - 'lib/gitlab/external_authorization/cache.rb'
- - 'lib/gitlab/gitaly_client.rb'
- - 'lib/gitlab/gitaly_client/ref_service.rb'
- - 'lib/gitlab/github_import/representation.rb'
- - 'lib/gitlab/grape_logging/loggers/queue_duration_logger.rb'
- - 'lib/gitlab/health_checks/base_abstract_check.rb'
- - 'lib/gitlab/import_export.rb'
- - 'lib/gitlab/instrumentation/elasticsearch_transport.rb'
- - 'lib/gitlab/instrumentation/redis_interceptor.rb'
- - 'lib/gitlab/instrumentation_helper.rb'
- - 'lib/gitlab/kubernetes/helm/certificate.rb'
- - 'lib/gitlab/lfs_token.rb'
- - 'lib/gitlab/loop_helpers.rb'
- - 'lib/gitlab/phabricator_import/representation/task.rb'
- - 'lib/gitlab/prometheus/queries/additional_metrics_environment_query.rb'
- - 'lib/gitlab/prometheus/queries/matched_metric_query.rb'
- - 'lib/gitlab/prometheus_client.rb'
- - 'lib/gitlab/sherlock/transaction.rb'
- - 'lib/gitlab/task_helpers.rb'
- - 'lib/gitlab/x509/tag.rb'
- - 'lib/grafana/time_window.rb'
- - 'lib/json_web_token/token.rb'
- - 'lib/object_storage/direct_upload.rb'
- - 'lib/quality/seeders/issues.rb'
- - 'lib/rspec_flaky/flaky_example.rb'
- - 'lib/rspec_flaky/report.rb'
- - 'lib/tasks/gitlab/assets.rake'
- - 'lib/tasks/gitlab/backup.rake'
- - 'lib/tasks/gitlab/cleanup.rake'
- - 'lib/tasks/gitlab/list_repos.rake'
- - 'spec/lib/api/helpers_spec.rb'
- - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb'
- - 'spec/lib/gitlab/app_json_logger_spec.rb'
- - 'spec/lib/gitlab/app_text_logger_spec.rb'
- - 'spec/lib/gitlab/auth/current_user_mode_spec.rb'
- - 'spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb'
- - 'spec/lib/gitlab/background_migration/wrongfully_confirmed_email_unconfirmer_spec.rb'
- - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb'
- - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb'
- - 'spec/lib/gitlab/checks/timed_logger_spec.rb'
- - 'spec/lib/gitlab/ci/cron_parser_spec.rb'
- - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb'
- - 'spec/lib/gitlab/cycle_analytics/usage_data_spec.rb'
- - 'spec/lib/gitlab/data_builder/note_spec.rb'
- - 'spec/lib/gitlab/database/background_migration_job_spec.rb'
- - 'spec/lib/gitlab/database_spec.rb'
- - 'spec/lib/gitlab/discussions_diff/file_collection_spec.rb'
- - 'spec/lib/gitlab/external_authorization/access_spec.rb'
- - 'spec/lib/gitlab/external_authorization/cache_spec.rb'
- - 'spec/lib/gitlab/external_authorization/logger_spec.rb'
- - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb'
- - 'spec/lib/gitlab/git/branch_spec.rb'
- - 'spec/lib/gitlab/git/commit_spec.rb'
- - 'spec/lib/gitlab/git/repository_spec.rb'
- - 'spec/lib/gitlab/git_access_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/issue_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/issues_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/note_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/importer/releases_importer_spec.rb'
- - 'spec/lib/gitlab/github_import/representation/diff_note_spec.rb'
- - 'spec/lib/gitlab/github_import/representation/issue_spec.rb'
- - 'spec/lib/gitlab/github_import/representation/note_spec.rb'
- - 'spec/lib/gitlab/github_import/representation/pull_request_spec.rb'
- - 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb'
- - 'spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb'
- - 'spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb'
- - 'spec/lib/gitlab/graphql_logger_spec.rb'
- - 'spec/lib/gitlab/graphs/commits_spec.rb'
- - 'spec/lib/gitlab/import_export/project/relation_factory_spec.rb'
- - 'spec/lib/gitlab/instrumentation_helper_spec.rb'
- - 'spec/lib/gitlab/json_logger_spec.rb'
- - 'spec/lib/gitlab/lfs_token_spec.rb'
- - 'spec/lib/gitlab/log_timestamp_formatter_spec.rb'
- - 'spec/lib/gitlab/middleware/rails_queue_duration_spec.rb'
- - 'spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb'
- - 'spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb'
- - 'spec/lib/gitlab/phabricator_import/representation/task_spec.rb'
- - 'spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb'
- - 'spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb'
- - 'spec/lib/gitlab/prometheus/queries/validate_query_spec.rb'
- - 'spec/lib/gitlab/sherlock/transaction_spec.rb'
- - 'spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb'
- - 'spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb'
- - 'spec/lib/gitlab/updated_notes_paginator_spec.rb'
- - 'spec/lib/gitlab/utils/json_size_estimator_spec.rb'
- - 'spec/lib/gitlab/x509/signature_spec.rb'
- - 'spec/lib/grafana/time_window_spec.rb'
- - 'spec/lib/json_web_token/hmac_token_spec.rb'
- - 'spec/lib/rspec_flaky/flaky_example_spec.rb'
- - 'spec/lib/rspec_flaky/listener_spec.rb'
- - 'spec/lib/rspec_flaky/report_spec.rb'
+# SupportedStyles: exists, where
+Rails/WhereExists:
+ Enabled: false
+
+# Offense count: 21
+# Cop supports --auto-correct.
+Rails/WhereNot:
+ Enabled: false
# Offense count: 8
# Cop supports --auto-correct.
@@ -515,13 +654,58 @@ Security/YAMLLoad:
- 'spec/initializers/secret_token_spec.rb'
- 'spec/lib/gitlab/prometheus/additional_metrics_parser_spec.rb'
-# Offense count: 148
+# Offense count: 240
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: separated, grouped
+Style/AccessorGrouping:
+ Enabled: false
+
+# Offense count: 13
+# Cop supports --auto-correct.
+Style/ArrayCoercion:
+ Exclude:
+ - 'app/controllers/admin/ci/variables_controller.rb'
+ - 'app/controllers/groups/variables_controller.rb'
+ - 'app/controllers/import/bulk_imports_controller.rb'
+ - 'app/controllers/projects/variables_controller.rb'
+ - 'db/migrate/20190620105427_change_null_private_profile_to_false.rb'
+ - 'db/post_migrate/20190812070645_migrate_private_profile_nulls.rb'
+ - 'db/post_migrate/20200311130802_schedule_populate_user_highest_roles_table.rb'
+ - 'db/post_migrate/20200805152108_migrate_null_external_diff_store_to_local_value.rb'
+ - 'db/post_migrate/20200806173633_migrate_null_package_files_file_store_to_local_value.rb'
+ - 'ee/app/services/geo/blob_verification_secondary_service.rb'
+ - 'ee/app/services/geo/repository_verification_secondary_service.rb'
+ - 'ee/lib/ee/banzai/pipeline/gfm_pipeline.rb'
+ - 'spec/support/helpers/lfs_http_helpers.rb'
+
+# Offense count: 176
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Enabled: false
+# Offense count: 6
+# Cop supports --auto-correct.
+Style/BisectedAttrAccessor:
+ Exclude:
+ - 'lib/system_check/base_check.rb'
+ - 'qa/qa/resource/api_fabricator.rb'
+
+# Offense count: 37
+# Cop supports --auto-correct.
+Style/CaseLikeIf:
+ Enabled: false
+
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
+# SupportedStyles: assign_to_condition, assign_inside_condition
+Style/ConditionalAssignment:
+ Exclude:
+ - 'lib/gitlab/database.rb'
+
# Offense count: 5
# Cop supports --auto-correct.
Style/EachWithObject:
@@ -532,808 +716,221 @@ Style/EachWithObject:
- 'lib/gitlab/i18n/po_linter.rb'
- 'lib/gitlab/import_export/members_mapper.rb'
-# Offense count: 46
+# Offense count: 53
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty, nil, both
Style/EmptyElse:
Enabled: false
-# Offense count: 170
+# Offense count: 193
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: compact, expanded
Style/EmptyMethod:
Enabled: false
-# Offense count: 431
+# Offense count: 2
+# Cop supports --auto-correct.
+Style/ExpandPathArguments:
+ Exclude:
+ - 'cable/config.ru'
+ - 'config.ru'
+
+# Offense count: 118
+# Cop supports --auto-correct.
+Style/ExplicitBlockArgument:
+ Enabled: false
+
+# Offense count: 521
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
Enabled: false
-# Offense count: 769
+# Offense count: 48
+# Cop supports --auto-correct.
+Style/GlobalStdStream:
+ Enabled: false
+
+# Offense count: 835
# Configuration parameters: MinBodyLength.
Style/GuardClause:
Enabled: false
-# Offense count: 47
+# Offense count: 93
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: braces, no_braces
+Style/HashAsLastArrayItem:
+ Enabled: false
+
+# Offense count: 55
# Cop supports --auto-correct.
Style/HashEachMethods:
Enabled: false
-# Offense count: 31
+# Offense count: 30
# Configuration parameters: AllowIfModifier.
Style/IfInsideElse:
Enabled: false
-# Offense count: 1313
+# Offense count: 1798
# Cop supports --auto-correct.
Style/IfUnlessModifier:
Enabled: false
-# Offense count: 377
+# Offense count: 447
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: line_count_dependent, lambda, literal
Style/Lambda:
Enabled: false
-# Offense count: 17
-Style/MethodMissingSuper:
- Enabled: false
-
-# Offense count: 17
+# Offense count: 18
Style/MissingRespondToMissing:
Enabled: false
-# Offense count: 5
-Style/MixinUsage:
- Exclude:
- - 'spec/factories/ci/builds.rb'
- - 'spec/factories/ci/job_artifacts.rb'
- - 'spec/factories/lfs_objects.rb'
- - 'spec/factories/notes.rb'
- - 'spec/lib/gitlab/import_export/version_checker_spec.rb'
-
-# Offense count: 29
+# Offense count: 32
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinBodyLength.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
Enabled: false
-# Offense count: 89
+# Offense count: 95
# Cop supports --auto-correct.
# Configuration parameters: EnforcedOctalStyle.
# SupportedOctalStyles: zero_with_o, zero_only
Style/NumericLiteralPrefix:
Enabled: false
-# Offense count: 117
+# Offense count: 132
# Cop supports --auto-correct.
Style/ParallelAssignment:
Enabled: false
-# Offense count: 2035
+# Offense count: 2473
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
Enabled: false
-# Offense count: 200
+# Offense count: 246
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: compact, exploded
Style/RaiseArgs:
Enabled: false
-# Offense count: 246
+# Offense count: 66
+# Cop supports --auto-correct.
+Style/RedundantAssignment:
+ Enabled: false
+
+# Offense count: 26
+# Cop supports --auto-correct.
+# Configuration parameters: SafeForConstants.
+Style/RedundantFetchBlock:
+ Exclude:
+ - 'app/finders/admin/projects_finder.rb'
+ - 'lib/gitlab/diff/file.rb'
+ - 'spec/lib/gitlab/json_cache_spec.rb'
+ - 'spec/lib/gitlab/metrics/dashboard/cache_spec.rb'
+ - 'spec/lib/gitlab/null_request_store_spec.rb'
+ - 'spec/lib/gitlab/safe_request_store_spec.rb'
+
+# Offense count: 26
+# Cop supports --auto-correct.
+Style/RedundantFileExtensionInRequire:
+ Enabled: false
+
+# Offense count: 260
# Cop supports --auto-correct.
Style/RedundantFreeze:
Enabled: false
-# Offense count: 123
+# Offense count: 167
# Cop supports --auto-correct.
Style/RedundantInterpolation:
Enabled: false
-# Offense count: 801
+# Offense count: 11
+# Cop supports --auto-correct.
+Style/RedundantRegexpCharacterClass:
+ Exclude:
+ - 'app/models/concerns/taskable.rb'
+ - 'ee/lib/ee/gitlab/path_regex.rb'
+ - 'lib/gitlab/authorized_keys.rb'
+ - 'lib/gitlab/fogbugz_import/repository.rb'
+ - 'lib/gitlab/prometheus/internal.rb'
+ - 'lib/gitlab/quick_actions/substitution_definition.rb'
+ - 'lib/gitlab/regex.rb'
+ - 'spec/features/merge_request/user_views_open_merge_request_spec.rb'
+ - 'spec/tasks/gitlab/usage_data_rake_spec.rb'
+
+# Offense count: 250
+# Cop supports --auto-correct.
+Style/RedundantRegexpEscape:
+ Enabled: false
+
+# Offense count: 868
# Cop supports --auto-correct.
Style/RedundantSelf:
Enabled: false
-# Offense count: 120
+# Offense count: 179
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
Enabled: false
-# Offense count: 46
+# Offense count: 49
# Cop supports --auto-correct.
Style/RescueModifier:
Enabled: false
-# Offense count: 286
+# Offense count: 329
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, explicit
Style/RescueStandardError:
Enabled: false
-# Offense count: 102
+# Offense count: 104
+# Cop supports --auto-correct.
+Style/SingleArgumentDig:
+ Enabled: false
+
+# Offense count: 47
+# Cop supports --auto-correct.
+Style/SlicingWithRange:
+ Enabled: false
+
+# Offense count: 109
# Cop supports --auto-correct.
# Configuration parameters: .
# SupportedStyles: use_perl_names, use_english_names
Style/SpecialGlobalVars:
EnforcedStyle: use_perl_names
-# Offense count: 93
+# Offense count: 516
+# Cop supports --auto-correct.
+Style/StringConcatenation:
+ Enabled: false
+
+# Offense count: 103
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiteralsInInterpolation:
Enabled: false
-# Offense count: 233
+# Offense count: 276
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
Enabled: false
-
-# Offense count: 2362
-# Cop supports --auto-correct.
-# Configuration parameters: AllowImplicitReturn, AllowedReceivers.
-Rails/SaveBang:
- Exclude:
- - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
- - 'ee/spec/controllers/subscriptions_controller_spec.rb'
- - 'ee/spec/frontend/fixtures/analytics.rb'
- - 'ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb'
- - 'ee/spec/initializers/fog_google_https_private_urls_spec.rb'
- - 'ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb'
- - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb'
- - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb'
- - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb'
- - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb'
- - 'ee/spec/lib/gitlab/auth/o_auth/user_spec.rb'
- - 'ee/spec/lib/gitlab/auth/saml/user_spec.rb'
- - 'ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb'
- - 'ee/spec/lib/gitlab/elastic/search_results_spec.rb'
- - 'ee/spec/lib/gitlab/email/handler/ee/service_desk_handler_spec.rb'
- - 'ee/spec/lib/gitlab/geo_spec.rb'
- - 'ee/spec/lib/gitlab/git_access_spec.rb'
- - 'ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
- - 'ee/spec/lib/gitlab/mirror_spec.rb'
- - 'ee/spec/mailers/notify_spec.rb'
- - 'ee/spec/migrations/fix_any_approver_rule_for_projects_spec.rb'
- - 'ee/spec/migrations/geo/migrate_ci_job_artifacts_to_separate_registry_spec.rb'
- - 'ee/spec/migrations/geo/migrate_lfs_objects_to_separate_registry_spec.rb'
- - 'ee/spec/migrations/schedule_merge_request_any_approval_rule_migration_spec.rb'
- - 'ee/spec/migrations/schedule_project_any_approval_rule_migration_spec.rb'
- - 'ee/spec/models/application_setting_spec.rb'
- - 'ee/spec/models/approval_merge_request_rule_spec.rb'
- - 'ee/spec/models/approval_project_rule_spec.rb'
- - 'ee/spec/models/burndown_spec.rb'
- - 'ee/spec/models/ci/pipeline_spec.rb'
- - 'ee/spec/models/ci/subscriptions/project_spec.rb'
- - 'ee/spec/models/ee/appearance_spec.rb'
- - 'ee/spec/models/ee/ci/job_artifact_spec.rb'
- - 'ee/spec/models/ee/protected_branch_spec.rb'
- - 'ee/spec/models/ee/protected_ref_access_spec.rb'
- - 'ee/spec/models/ee/protected_ref_spec.rb'
- - 'ee/spec/models/elasticsearch_indexed_namespace_spec.rb'
- - 'ee/spec/models/environment_spec.rb'
- - 'ee/spec/models/epic_spec.rb'
- - 'ee/spec/models/geo/project_registry_spec.rb'
- - 'ee/spec/models/geo_node_spec.rb'
- - 'ee/spec/models/geo_node_status_spec.rb'
- - 'ee/spec/models/gitlab_subscription_spec.rb'
- - 'ee/spec/models/group_spec.rb'
- - 'ee/spec/models/issue_spec.rb'
- - 'ee/spec/models/label_note_spec.rb'
- - 'ee/spec/models/lfs_object_spec.rb'
- - 'ee/spec/models/license_spec.rb'
- - 'ee/spec/models/merge_request_spec.rb'
- - 'ee/spec/models/merge_train_spec.rb'
- - 'spec/models/packages/package_spec.rb'
- - 'ee/spec/models/project_ci_cd_setting_spec.rb'
- - 'ee/spec/models/project_spec.rb'
- - 'ee/spec/models/protected_environment_spec.rb'
- - 'ee/spec/models/repository_spec.rb'
- - 'ee/spec/models/scim_identity_spec.rb'
- - 'ee/spec/models/scim_oauth_access_token_spec.rb'
- - 'ee/spec/models/upload_spec.rb'
- - 'ee/spec/models/user_preference_spec.rb'
- - 'ee/spec/models/user_spec.rb'
- - 'ee/spec/models/visible_approvable_spec.rb'
- - 'ee/spec/models/vulnerabilities/feedback_spec.rb'
- - 'ee/spec/models/vulnerabilities/issue_link_spec.rb'
- - 'ee/spec/presenters/audit_event_presenter_spec.rb'
- - 'ee/spec/presenters/epic_presenter_spec.rb'
- - 'ee/spec/requests/api/boards_spec.rb'
- - 'ee/spec/requests/api/epic_issues_spec.rb'
- - 'ee/spec/requests/api/epic_links_spec.rb'
- - 'ee/spec/requests/api/epics_spec.rb'
- - 'ee/spec/requests/api/geo_nodes_spec.rb'
- - 'ee/spec/requests/api/geo_spec.rb'
- - 'ee/spec/requests/api/graphql/group/epics_spec.rb'
- - 'ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb'
- - 'ee/spec/requests/api/groups_spec.rb'
- - 'ee/spec/requests/api/issues_spec.rb'
- - 'ee/spec/requests/api/ldap_group_links_spec.rb'
- - 'ee/spec/requests/api/merge_request_approval_rules_spec.rb'
- - 'ee/spec/requests/api/merge_request_approvals_spec.rb'
- - 'ee/spec/requests/api/merge_requests_spec.rb'
- - 'ee/spec/requests/api/project_approvals_spec.rb'
- - 'ee/spec/requests/api/projects_spec.rb'
- - 'ee/spec/requests/api/protected_branches_spec.rb'
- - 'ee/spec/requests/api/scim_spec.rb'
- - 'ee/spec/requests/api/todos_spec.rb'
- - 'ee/spec/requests/lfs_http_spec.rb'
- - 'ee/spec/services/approval_rules/finalize_service_spec.rb'
- - 'ee/spec/services/approval_rules/update_service_spec.rb'
- - 'ee/spec/services/ee/boards/issues/create_service_spec.rb'
- - 'ee/spec/services/ee/boards/issues/list_service_spec.rb'
- - 'ee/spec/services/ee/boards/lists/list_service_spec.rb'
- - 'ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb'
- - 'ee/spec/services/ee/issuable/common_system_notes_service_spec.rb'
- - 'ee/spec/services/ee/issues/update_service_spec.rb'
- - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb'
- - 'ee/spec/services/ee/merge_requests/update_service_spec.rb'
- - 'ee/spec/services/ee/notes/quick_actions_service_spec.rb'
- - 'ee/spec/services/ee/notification_service_spec.rb'
- - 'ee/spec/services/epic_links/create_service_spec.rb'
- - 'ee/spec/services/epics/close_service_spec.rb'
- - 'ee/spec/services/epics/issue_promote_service_spec.rb'
- - 'ee/spec/services/epics/reopen_service_spec.rb'
- - 'ee/spec/services/epics/tree_reorder_service_spec.rb'
- - 'ee/spec/services/epics/update_dates_service_spec.rb'
- - 'ee/spec/services/epics/update_service_spec.rb'
- - 'ee/spec/services/geo/blob_verification_secondary_service_spec.rb'
- - 'ee/spec/services/geo/files_expire_service_spec.rb'
- - 'ee/spec/services/geo/metrics_update_service_spec.rb'
- - 'ee/spec/services/geo/registry_consistency_service_spec.rb'
- - 'ee/spec/services/geo/repository_verification_secondary_service_spec.rb'
- - 'ee/spec/services/groups/autocomplete_service_spec.rb'
- - 'ee/spec/services/ldap_group_reset_service_spec.rb'
- - 'ee/spec/services/lfs/unlock_file_service_spec.rb'
- - 'ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb'
- - 'ee/spec/services/quick_actions/interpret_service_spec.rb'
- - 'ee/spec/services/slash_commands/global_slack_handler_spec.rb'
- - 'ee/spec/services/start_pull_mirroring_service_spec.rb'
- - 'ee/spec/services/status_page/trigger_publish_service_spec.rb'
- - 'ee/spec/services/todo_service_spec.rb'
- - 'ee/spec/services/update_build_minutes_service_spec.rb'
- - 'ee/spec/services/vulnerability_feedback/create_service_spec.rb'
- - 'ee/spec/support/protected_tags/access_control_shared_examples.rb'
- - 'ee/spec/support/shared_examples/features/protected_branches_access_control_shared_examples.rb'
- - 'ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb'
- - 'ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb'
- - 'ee/spec/support/shared_examples/lib/analytics/common_merge_request_metrics_refresh_shared_examples.rb'
- - 'ee/spec/support/shared_examples/policies/protected_environments_shared_examples.rb'
- - 'ee/spec/workers/adjourned_project_deletion_worker_spec.rb'
- - 'ee/spec/workers/clear_shared_runners_minutes_worker_spec.rb'
- - 'ee/spec/workers/create_github_webhook_worker_spec.rb'
- - 'ee/spec/workers/elastic_namespace_rollout_worker_spec.rb'
- - 'ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb'
- - 'ee/spec/workers/geo/file_download_dispatch_worker_spec.rb'
- - 'ee/spec/workers/geo/prune_event_log_worker_spec.rb'
- - 'ee/spec/workers/geo/registry_sync_worker_spec.rb'
- - 'ee/spec/workers/geo/repository_shard_sync_worker_spec.rb'
- - 'ee/spec/workers/repository_import_worker_spec.rb'
- - 'ee/spec/workers/update_all_mirrors_worker_spec.rb'
- - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb'
- - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb'
- - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb'
- - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb'
- - 'spec/controllers/abuse_reports_controller_spec.rb'
- - 'spec/controllers/admin/impersonations_controller_spec.rb'
- - 'spec/controllers/admin/runners_controller_spec.rb'
- - 'spec/controllers/admin/services_controller_spec.rb'
- - 'spec/controllers/boards/issues_controller_spec.rb'
- - 'spec/controllers/groups/milestones_controller_spec.rb'
- - 'spec/controllers/groups/runners_controller_spec.rb'
- - 'spec/controllers/groups/uploads_controller_spec.rb'
- - 'spec/controllers/groups_controller_spec.rb'
- - 'spec/controllers/oauth/authorizations_controller_spec.rb'
- - 'spec/controllers/omniauth_callbacks_controller_spec.rb'
- - 'spec/controllers/profiles/emails_controller_spec.rb'
- - 'spec/controllers/profiles/notifications_controller_spec.rb'
- - 'spec/controllers/projects/artifacts_controller_spec.rb'
- - 'spec/controllers/projects/cycle_analytics/events_controller_spec.rb'
- - 'spec/controllers/projects/cycle_analytics_controller_spec.rb'
- - 'spec/controllers/projects/discussions_controller_spec.rb'
- - 'spec/controllers/projects/forks_controller_spec.rb'
- - 'spec/controllers/projects/group_links_controller_spec.rb'
- - 'spec/controllers/projects/imports_controller_spec.rb'
- - 'spec/controllers/projects/issues_controller_spec.rb'
- - 'spec/controllers/projects/labels_controller_spec.rb'
- - 'spec/controllers/projects/merge_requests_controller_spec.rb'
- - 'spec/controllers/projects/milestones_controller_spec.rb'
- - 'spec/controllers/projects/notes_controller_spec.rb'
- - 'spec/controllers/projects/pipelines_controller_spec.rb'
- - 'spec/controllers/projects/releases/evidences_controller_spec.rb'
- - 'spec/controllers/projects/runners_controller_spec.rb'
- - 'spec/controllers/projects/starrers_controller_spec.rb'
- - 'spec/controllers/projects/uploads_controller_spec.rb'
- - 'spec/controllers/projects_controller_spec.rb'
- - 'spec/controllers/sent_notifications_controller_spec.rb'
- - 'spec/controllers/sessions_controller_spec.rb'
- - 'spec/controllers/users_controller_spec.rb'
- - 'spec/factories_spec.rb'
- - 'spec/features/admin/admin_appearance_spec.rb'
- - 'spec/features/admin/admin_labels_spec.rb'
- - 'spec/features/admin/admin_mode/login_spec.rb'
- - 'spec/features/admin/admin_runners_spec.rb'
- - 'spec/features/admin/admin_sees_project_statistics_spec.rb'
- - 'spec/features/admin/admin_sees_projects_statistics_spec.rb'
- - 'spec/features/admin/admin_users_impersonation_tokens_spec.rb'
- - 'spec/features/admin/admin_users_spec.rb'
- - 'spec/features/boards/sidebar_spec.rb'
- - 'spec/features/calendar_spec.rb'
- - 'spec/features/commits_spec.rb'
- - 'spec/features/dashboard/datetime_on_tooltips_spec.rb'
- - 'spec/features/dashboard/issuables_counter_spec.rb'
- - 'spec/features/dashboard/project_member_activity_index_spec.rb'
- - 'spec/features/dashboard/projects_spec.rb'
- - 'spec/features/error_tracking/user_sees_error_index_spec.rb'
- - 'spec/features/groups/members/request_access_spec.rb'
- - 'spec/features/issuables/close_reopen_report_toggle_spec.rb'
- - 'spec/features/issues/bulk_assignment_labels_spec.rb'
- - 'spec/features/issues/gfm_autocomplete_spec.rb'
- - 'spec/features/issues/issue_sidebar_spec.rb'
- - 'spec/features/issues/note_polling_spec.rb'
- - 'spec/features/issues/user_creates_branch_and_merge_request_spec.rb'
- - 'spec/features/issues/user_creates_confidential_merge_request_spec.rb'
- - 'spec/features/issues/user_edits_issue_spec.rb'
- - 'spec/features/issues/user_filters_issues_spec.rb'
- - 'spec/features/issues/user_sees_live_update_spec.rb'
- - 'spec/features/issues/user_sorts_issues_spec.rb'
- - 'spec/features/profiles/emails_spec.rb'
- - 'spec/features/profiles/password_spec.rb'
- - 'spec/features/profiles/personal_access_tokens_spec.rb'
- - 'spec/features/projects/features_visibility_spec.rb'
- - 'spec/features/projects/fork_spec.rb'
- - 'spec/features/projects/jobs/permissions_spec.rb'
- - 'spec/features/projects/jobs_spec.rb'
- - 'spec/features/projects/members/user_requests_access_spec.rb'
- - 'spec/features/projects/pages_lets_encrypt_spec.rb'
- - 'spec/features/projects/pages_spec.rb'
- - 'spec/features/projects/pipelines/pipeline_spec.rb'
- - 'spec/features/projects/pipelines/pipelines_spec.rb'
- - 'spec/features/projects/remote_mirror_spec.rb'
- - 'spec/features/projects/services/user_activates_slack_notifications_spec.rb'
- - 'spec/features/projects/settings/access_tokens_spec.rb'
- - 'spec/features/projects/show/user_sees_deletion_failure_message_spec.rb'
- - 'spec/features/projects/user_sees_sidebar_spec.rb'
- - 'spec/features/projects/wiki/user_updates_wiki_page_spec.rb'
- - 'spec/features/projects/wiki/user_views_wiki_page_spec.rb'
- - 'spec/features/projects/wiki/users_views_asciidoc_page_with_includes_spec.rb'
- - 'spec/features/runners_spec.rb'
- - 'spec/features/security/project/internal_access_spec.rb'
- - 'spec/features/security/project/private_access_spec.rb'
- - 'spec/features/security/project/public_access_spec.rb'
- - 'spec/features/users/login_spec.rb'
- - 'spec/features/users/show_spec.rb'
- - 'spec/frontend/fixtures/issues.rb'
- - 'spec/frontend/fixtures/merge_requests.rb'
- - 'spec/graphql/mutations/merge_requests/set_locked_spec.rb'
- - 'spec/graphql/mutations/merge_requests/set_wip_spec.rb'
- - 'spec/graphql/resolvers/boards_resolver_spec.rb'
- - 'spec/initializers/active_record_locking_spec.rb'
- - 'spec/initializers/fog_google_https_private_urls_spec.rb'
- - 'spec/lib/after_commit_queue_spec.rb'
- - 'spec/lib/backup/manager_spec.rb'
- - 'spec/lib/banzai/reference_parser/external_issue_parser_spec.rb'
- - 'spec/lib/banzai/reference_redactor_spec.rb'
- - 'spec/lib/gitlab/alerting/alert_spec.rb'
- - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb'
- - 'spec/lib/gitlab/auth/ldap/user_spec.rb'
- - 'spec/lib/gitlab/auth/o_auth/user_spec.rb'
- - 'spec/lib/gitlab/auth/saml/user_spec.rb'
- - 'spec/lib/gitlab/auth_spec.rb'
- - 'spec/lib/gitlab/authorized_keys_spec.rb'
- - 'spec/lib/gitlab/background_migration/backfill_deployment_clusters_from_deployments_spec.rb'
- - 'spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb'
- - 'spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb'
- - 'spec/lib/gitlab/background_migration/backfill_push_rules_id_in_projects_spec.rb'
- - 'spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb'
- - 'spec/lib/gitlab/background_migration/digest_column_spec.rb'
- - 'spec/lib/gitlab/background_migration/encrypt_columns_spec.rb'
- - 'spec/lib/gitlab/background_migration/fix_cross_project_label_links_spec.rb'
- - 'spec/lib/gitlab/background_migration/fix_projects_without_project_feature_spec.rb'
- - 'spec/lib/gitlab/background_migration/fix_projects_without_prometheus_service_spec.rb'
- - 'spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb'
- - 'spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb'
- - 'spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb'
- - 'spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb'
- - 'spec/lib/gitlab/background_migration/link_lfs_objects_projects_spec.rb'
- - 'spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb'
- - 'spec/lib/gitlab/background_migration/migrate_stage_index_spec.rb'
- - 'spec/lib/gitlab/background_migration/migrate_users_bio_to_user_details_spec.rb'
- - 'spec/lib/gitlab/background_migration/populate_canonical_emails_spec.rb'
- - 'spec/lib/gitlab/background_migration/populate_merge_request_assignees_table_spec.rb'
- - 'spec/lib/gitlab/background_migration/populate_user_highest_roles_table_spec.rb'
- - 'spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb'
- - 'spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb'
- - 'spec/lib/gitlab/background_migration/reset_merge_status_spec.rb'
- - 'spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb'
- - 'spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb'
- - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb'
- - 'spec/lib/gitlab/ci/ansi2json/style_spec.rb'
- - 'spec/lib/gitlab/ci/status/build/common_spec.rb'
- - 'spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb'
- - 'spec/lib/gitlab/database/custom_structure_spec.rb'
- - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb'
- - 'spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb'
- - 'spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
- - 'spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb'
- - 'spec/lib/gitlab/gfm/reference_rewriter_spec.rb'
- - 'spec/lib/gitlab/git_access_spec.rb'
- - 'spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb'
- - 'spec/lib/gitlab/gitaly_client/repository_service_spec.rb'
- - 'spec/lib/gitlab/import_export/avatar_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/base/relation_factory_spec.rb'
- - 'spec/lib/gitlab/import_export/design_repo_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb'
- - 'spec/lib/gitlab/import_export/fork_spec.rb'
- - 'spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
- - 'spec/lib/gitlab/import_export/group/tree_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/importer_spec.rb'
- - 'spec/lib/gitlab/import_export/lfs_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/lfs_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/members_mapper_spec.rb'
- - 'spec/lib/gitlab/import_export/project/relation_factory_spec.rb'
- - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/project/tree_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/repo_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/saver_spec.rb'
- - 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/uploads_manager_spec.rb'
- - 'spec/lib/gitlab/import_export/uploads_saver_spec.rb'
- - 'spec/lib/gitlab/import_export/wiki_restorer_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/importer_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/issue_formatter_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb'
- - 'spec/lib/gitlab/lets_encrypt/client_spec.rb'
- - 'spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb'
- - 'spec/lib/gitlab/markdown_cache/redis/store_spec.rb'
- - 'spec/lib/gitlab/middleware/go_spec.rb'
- - 'spec/lib/gitlab/shard_health_cache_spec.rb'
- - 'spec/lib/mattermost/command_spec.rb'
- - 'spec/lib/mattermost/session_spec.rb'
- - 'spec/lib/mattermost/team_spec.rb'
- - 'spec/mailers/notify_spec.rb'
- - 'spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb'
- - 'spec/migrations/20200122123016_backfill_project_settings_spec.rb'
- - 'spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb'
- - 'spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb'
- - 'spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb'
- - 'spec/migrations/20200313203550_remove_orphaned_chat_names_spec.rb'
- - 'spec/migrations/20200406102120_backfill_deployment_clusters_from_deployments_spec.rb'
- - 'spec/migrations/20200526115436_dedup_mr_metrics_spec.rb'
- - 'spec/migrations/add_deploy_token_type_to_deploy_tokens_spec.rb'
- - 'spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb'
- - 'spec/migrations/add_unique_constraint_to_approvals_user_id_and_merge_request_id_spec.rb'
- - 'spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb'
- - 'spec/migrations/backfill_imported_snippet_repositories_spec.rb'
- - 'spec/migrations/backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps_spec.rb'
- - 'spec/migrations/backfill_snippet_repositories_spec.rb'
- - 'spec/migrations/encrypt_plaintext_attributes_on_application_settings_spec.rb'
- - 'spec/migrations/enqueue_reset_merge_status_second_run_spec.rb'
- - 'spec/migrations/enqueue_reset_merge_status_spec.rb'
- - 'spec/migrations/fill_file_store_lfs_objects_spec.rb'
- - 'spec/migrations/fill_store_uploads_spec.rb'
- - 'spec/migrations/fix_null_type_labels_spec.rb'
- - 'spec/migrations/fix_pool_repository_source_project_id_spec.rb'
- - 'spec/migrations/fix_projects_without_project_feature_spec.rb'
- - 'spec/migrations/fix_projects_without_prometheus_services_spec.rb'
- - 'spec/migrations/fix_wrong_pages_access_level_spec.rb'
- - 'spec/migrations/insert_project_hooks_plan_limits_spec.rb'
- - 'spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb'
- - 'spec/migrations/move_limits_from_plans_spec.rb'
- - 'spec/migrations/populate_project_statistics_packages_size_spec.rb'
- - 'spec/migrations/schedule_link_lfs_objects_projects_spec.rb'
- - 'spec/migrations/schedule_populate_merge_request_assignees_table_spec.rb'
- - 'spec/migrations/seed_repository_storages_weighted_spec.rb'
- - 'spec/models/appearance_spec.rb'
- - 'spec/models/application_record_spec.rb'
- - 'spec/models/application_setting_spec.rb'
- - 'spec/models/clusters/applications/helm_spec.rb'
- - 'spec/models/commit_spec.rb'
- - 'spec/models/commit_status_spec.rb'
- - 'spec/models/container_repository_spec.rb'
- - 'spec/models/deploy_keys_project_spec.rb'
- - 'spec/models/deploy_token_spec.rb'
- - 'spec/models/deployment_spec.rb'
- - 'spec/models/design_management/version_spec.rb'
- - 'spec/models/diff_discussion_spec.rb'
- - 'spec/models/diff_note_spec.rb'
- - 'spec/models/email_spec.rb'
- - 'spec/models/environment_spec.rb'
- - 'spec/models/event_spec.rb'
- - 'spec/models/fork_network_spec.rb'
- - 'spec/models/generic_commit_status_spec.rb'
- - 'spec/models/grafana_integration_spec.rb'
- - 'spec/models/group_spec.rb'
- - 'spec/models/hooks/system_hook_spec.rb'
- - 'spec/models/hooks/web_hook_spec.rb'
- - 'spec/models/identity_spec.rb'
- - 'spec/models/issue/metrics_spec.rb'
- - 'spec/models/issue_spec.rb'
- - 'spec/models/jira_import_state_spec.rb'
- - 'spec/models/key_spec.rb'
- - 'spec/models/lfs_objects_project_spec.rb'
- - 'spec/models/member_spec.rb'
- - 'spec/models/members/group_member_spec.rb'
- - 'spec/models/members/project_member_spec.rb'
- - 'spec/models/merge_request_spec.rb'
- - 'spec/models/milestone_spec.rb'
- - 'spec/models/namespace_spec.rb'
- - 'spec/models/note_spec.rb'
- - 'spec/models/notification_setting_spec.rb'
- - 'spec/models/operations/feature_flag_scope_spec.rb'
- - 'spec/models/operations/feature_flags/strategy_spec.rb'
- - 'spec/models/operations/feature_flags/user_list_spec.rb'
- - 'spec/models/pages_domain_spec.rb'
- - 'spec/models/project_auto_devops_spec.rb'
- - 'spec/models/project_feature_spec.rb'
- - 'spec/models/project_spec.rb'
- - 'spec/models/project_team_spec.rb'
- - 'spec/models/protectable_dropdown_spec.rb'
- - 'spec/models/redirect_route_spec.rb'
- - 'spec/models/release_spec.rb'
- - 'spec/models/remote_mirror_spec.rb'
- - 'spec/models/resource_milestone_event_spec.rb'
- - 'spec/models/route_spec.rb'
- - 'spec/models/sentry_issue_spec.rb'
- - 'spec/models/service_spec.rb'
- - 'spec/models/snippet_spec.rb'
- - 'spec/models/upload_spec.rb'
- - 'spec/models/user_preference_spec.rb'
- - 'spec/models/user_spec.rb'
- - 'spec/models/user_status_spec.rb'
- - 'spec/models/wiki_page/meta_spec.rb'
- - 'spec/models/wiki_page_spec.rb'
- - 'spec/presenters/ci/build_runner_presenter_spec.rb'
- - 'spec/presenters/ci/trigger_presenter_spec.rb'
- - 'spec/presenters/packages/conan/package_presenter_spec.rb'
- - 'spec/requests/api/ci/runner_spec.rb'
- - 'spec/requests/api/commit_statuses_spec.rb'
- - 'spec/requests/api/conan_packages_spec.rb'
- - 'spec/requests/api/deployments_spec.rb'
- - 'spec/requests/api/environments_spec.rb'
- - 'spec/requests/api/go_proxy_spec.rb'
- - 'spec/requests/api/graphql/mutations/merge_requests/set_labels_spec.rb'
- - 'spec/requests/api/graphql/user_query_spec.rb'
- - 'spec/requests/api/graphql_spec.rb'
- - 'spec/requests/api/group_import_spec.rb'
- - 'spec/requests/api/group_milestones_spec.rb'
- - 'spec/requests/api/internal/base_spec.rb'
- - 'spec/requests/api/issues/get_group_issues_spec.rb'
- - 'spec/requests/api/issues/post_projects_issues_spec.rb'
- - 'spec/requests/api/jobs_spec.rb'
- - 'spec/requests/api/labels_spec.rb'
- - 'spec/requests/api/project_import_spec.rb'
- - 'spec/requests/projects/cycle_analytics_events_spec.rb'
- - 'spec/services/auth/container_registry_authentication_service_spec.rb'
- - 'spec/services/auto_merge/base_service_spec.rb'
- - 'spec/services/auto_merge_service_spec.rb'
- - 'spec/services/clusters/update_service_spec.rb'
- - 'spec/services/deployments/after_create_service_spec.rb'
- - 'spec/services/design_management/generate_image_versions_service_spec.rb'
- - 'spec/services/discussions/resolve_service_spec.rb'
- - 'spec/services/draft_notes/destroy_service_spec.rb'
- - 'spec/services/emails/confirm_service_spec.rb'
- - 'spec/services/groups/destroy_service_spec.rb'
- - 'spec/services/groups/import_export/import_service_spec.rb'
- - 'spec/services/labels/promote_service_spec.rb'
- - 'spec/services/notes/create_service_spec.rb'
- - 'spec/services/notification_recipients/build_service_spec.rb'
- - 'spec/services/notification_service_spec.rb'
- - 'spec/services/packages/conan/create_package_file_service_spec.rb'
- - 'spec/services/reset_project_cache_service_spec.rb'
- - 'spec/services/resource_events/change_milestone_service_spec.rb'
- - 'spec/services/system_hooks_service_spec.rb'
- - 'spec/services/system_note_service_spec.rb'
- - 'spec/services/system_notes/issuables_service_spec.rb'
- - 'spec/services/todo_service_spec.rb'
- - 'spec/services/todos/destroy/confidential_issue_service_spec.rb'
- - 'spec/services/users/destroy_service_spec.rb'
- - 'spec/services/users/repair_ldap_blocked_service_spec.rb'
- - 'spec/services/verify_pages_domain_service_spec.rb'
- - 'spec/sidekiq/cron/job_gem_dependency_spec.rb'
-
-# Offense count: 187
-# Cop supports --auto-correct.
-RSpec/TimecopFreeze:
- Exclude:
- - 'ee/spec/controllers/admin/application_settings_controller_spec.rb'
- - 'ee/spec/controllers/projects/security/network_policies_controller_spec.rb'
- - 'ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb'
- - 'ee/spec/features/boards/sidebar_spec.rb'
- - 'ee/spec/features/groups/analytics/cycle_analytics/filters_and_data_spec.rb'
- - 'ee/spec/features/groups/iteration_spec.rb'
- - 'ee/spec/features/projects/mirror_spec.rb'
- - 'ee/spec/features/projects/services/prometheus_custom_metrics_spec.rb'
- - 'ee/spec/finders/productivity_analytics_finder_spec.rb'
- - 'ee/spec/frontend/fixtures/analytics.rb'
- - 'ee/spec/helpers/vulnerabilities_helper_spec.rb'
- - 'ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb'
- - 'ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb'
- - 'ee/spec/lib/ee/gitlab/background_migration/populate_vulnerability_historical_statistics_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/cycle_analytics/group_stage_time_summary_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb'
- - 'ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb'
- - 'ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb'
- - 'ee/spec/lib/gitlab/database/load_balancing/host_spec.rb'
- - 'ee/spec/lib/gitlab/geo/base_request_spec.rb'
- - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb'
- - 'ee/spec/lib/gitlab/geo/git_push_http_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb'
- - 'ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb'
- - 'ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb'
- - 'ee/spec/lib/gitlab/prometheus/queries/additional_metrics_environment_query_spec.rb'
- - 'ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb'
- - 'ee/spec/migrations/populate_vulnerability_historical_statistics_for_year_spec.rb'
- - 'ee/spec/migrations/remove_duplicated_cs_findings_spec.rb'
- - 'ee/spec/migrations/remove_duplicated_cs_findings_without_vulnerability_id_spec.rb'
- - 'ee/spec/migrations/schedule_fix_orphan_promoted_issues_spec.rb'
- - 'ee/spec/migrations/schedule_merge_request_any_approval_rule_migration_spec.rb'
- - 'ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb'
- - 'ee/spec/migrations/schedule_populate_vulnerability_historical_statistics_spec.rb'
- - 'ee/spec/migrations/schedule_project_any_approval_rule_migration_spec.rb'
- - 'ee/spec/migrations/set_resolved_state_on_vulnerabilities_spec.rb'
- - 'ee/spec/migrations/20190926180443_schedule_epic_issues_after_epics_move_spec.rb'
- - 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb'
- - 'ee/spec/models/burndown_spec.rb'
- - 'ee/spec/models/ee/namespace_spec.rb'
- - 'ee/spec/models/geo/project_registry_spec.rb'
- - 'ee/spec/models/merge_train_spec.rb'
- - 'ee/spec/models/productivity_analytics_spec.rb'
- - 'ee/spec/models/project_spec.rb'
- - 'ee/spec/models/vulnerabilities/export_spec.rb'
- - 'ee/spec/requests/api/vulnerabilities_spec.rb'
- - 'ee/spec/services/geo/file_download_service_spec.rb'
- - 'ee/spec/services/vulnerabilities/confirm_service_spec.rb'
- - 'ee/spec/services/vulnerabilities/dismiss_service_spec.rb'
- - 'ee/spec/services/vulnerabilities/resolve_service_spec.rb'
- - 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb'
- - 'ee/spec/services/vulnerability_exports/export_service_spec.rb'
- - 'ee/spec/support/shared_contexts/lib/gitlab/insights/reducers/reducers_shared_contexts.rb'
- - 'qa/spec/support/repeater_spec.rb'
- - 'spec/features/profiles/active_sessions_spec.rb'
- - 'spec/features/projects/environments/environment_metrics_spec.rb'
- - 'spec/features/users/active_sessions_spec.rb'
- - 'spec/lib/atlassian/jira_connect/client_spec.rb'
- - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb'
- - 'spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb'
- - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb'
- - 'spec/lib/gitlab/anonymous_session_spec.rb'
- - 'spec/lib/gitlab/auth/unique_ips_limiter_spec.rb'
- - 'spec/lib/gitlab/checks/timed_logger_spec.rb'
- - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb'
- - 'spec/lib/gitlab/cycle_analytics/usage_data_spec.rb'
- - 'spec/lib/gitlab/instrumentation_helper_spec.rb'
- - 'spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb'
- - 'spec/lib/gitlab/puma_logging/json_formatter_spec.rb'
- - 'spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb'
- - 'spec/lib/json_web_token/hmac_token_spec.rb'
- - 'spec/lib/rspec_flaky/flaky_example_spec.rb'
- - 'spec/lib/rspec_flaky/listener_spec.rb'
- - 'spec/models/active_session_spec.rb'
- - 'spec/models/container_repository_spec.rb'
- - 'spec/models/pages/lookup_path_spec.rb'
- - 'spec/models/project_feature_usage_spec.rb'
- - 'spec/requests/api/v3/github_spec.rb'
- - 'spec/serializers/entity_date_helper_spec.rb'
- - 'spec/support/cycle_analytics_helpers/test_generation.rb'
- - 'spec/support/helpers/cycle_analytics_helpers.rb'
- - 'spec/support/helpers/javascript_fixtures_helpers.rb'
- - 'spec/support/shared_contexts/rack_attack_shared_context.rb'
- - 'spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb'
- - 'spec/workers/concerns/reenqueuer_spec.rb'
- - 'spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb'
-
-# Offense count: 54
-# Cop supports --auto-correct.
-RSpec/TimecopTravel:
- Exclude:
- - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb'
- - 'ee/spec/lib/gitlab/geo/git_push_http_spec.rb'
- - 'ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb'
- - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb'
- - 'ee/spec/models/broadcast_message_spec.rb'
- - 'ee/spec/models/burndown_spec.rb'
- - 'qa/spec/support/repeater_spec.rb'
- - 'spec/features/users/terms_spec.rb'
- - 'spec/lib/feature_spec.rb'
- - 'spec/models/broadcast_message_spec.rb'
- - 'spec/models/concerns/issuable_spec.rb'
- - 'spec/requests/api/ci/runner/jobs_trace_spec.rb'
- - 'spec/requests/api/issues/put_projects_issues_spec.rb'
- - 'spec/support/shared_contexts/cache_allowed_users_in_namespace_shared_context.rb'
- - 'spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb'
- - 'spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb'
- - 'spec/workers/concerns/reenqueuer_spec.rb'
- - 'spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb'
-
-# Offense count: 43
-Graphql/IDType:
- Exclude:
- - 'ee/app/graphql/ee/mutations/issues/update.rb'
- - 'ee/app/graphql/ee/types/boards/board_issue_input_base_type.rb'
- - 'ee/app/graphql/mutations/issues/set_epic.rb'
- - 'ee/app/graphql/mutations/iterations/update.rb'
- - 'ee/app/graphql/resolvers/iterations_resolver.rb'
- - 'app/graphql/mutations/boards/create.rb'
- - 'app/graphql/mutations/boards/issues/issue_move_list.rb'
- - 'app/graphql/mutations/boards/lists/update.rb'
- - 'app/graphql/mutations/issues/update.rb'
- - 'app/graphql/mutations/metrics/dashboard/annotations/delete.rb'
- - 'app/graphql/mutations/snippets/destroy.rb'
- - 'app/graphql/mutations/snippets/mark_as_spam.rb'
- - 'app/graphql/mutations/snippets/update.rb'
- - 'app/graphql/resolvers/board_lists_resolver.rb'
- - 'app/graphql/resolvers/boards_resolver.rb'
- - 'app/graphql/resolvers/design_management/design_at_version_resolver.rb'
- - 'app/graphql/resolvers/design_management/design_resolver.rb'
- - 'app/graphql/resolvers/design_management/designs_resolver.rb'
- - 'app/graphql/resolvers/design_management/version/design_at_version_resolver.rb'
- - 'app/graphql/resolvers/design_management/version_in_collection_resolver.rb'
- - 'app/graphql/resolvers/design_management/version_resolver.rb'
- - 'app/graphql/resolvers/design_management/versions_resolver.rb'
- - 'app/graphql/resolvers/error_tracking/sentry_detailed_error_resolver.rb'
- - 'app/graphql/resolvers/error_tracking/sentry_error_stack_trace_resolver.rb'
- - 'app/graphql/resolvers/snippets_resolver.rb'
- - 'app/graphql/resolvers/user_merge_requests_resolver.rb'
- - 'app/graphql/resolvers/user_resolver.rb'
-
-# Offense count: 86
-# Cop supports --auto-correct.
-FactoryBot/InlineAssociation:
- Exclude:
- - 'ee/spec/factories/analytics/cycle_analytics/group_stages.rb'
- - 'ee/spec/factories/geo/event_log.rb'
- - 'ee/spec/factories/groups.rb'
- - 'ee/spec/factories/merge_request_blocks.rb'
- - 'ee/spec/factories/resource_iteration_event.rb'
- - 'ee/spec/factories/resource_weight_events.rb'
- - 'ee/spec/factories/vulnerabilities/feedback.rb'
- - 'spec/factories/atlassian_identities.rb'
- - 'spec/factories/audit_events.rb'
- - 'spec/factories/design_management/design_at_version.rb'
- - 'spec/factories/design_management/designs.rb'
- - 'spec/factories/design_management/versions.rb'
- - 'spec/factories/events.rb'
- - 'spec/factories/git_wiki_commit_details.rb'
- - 'spec/factories/gitaly/commit.rb'
- - 'spec/factories/go_module_commits.rb'
- - 'spec/factories/go_module_versions.rb'
- - 'spec/factories/go_modules.rb'
- - 'spec/factories/group_group_links.rb'
- - 'spec/factories/import_export_uploads.rb'
- - 'spec/factories/merge_requests.rb'
- - 'spec/factories/notes.rb'
- - 'spec/factories/packages.rb'
- - 'spec/factories/packages/package_file.rb'
- - 'spec/factories/resource_label_events.rb'
- - 'spec/factories/resource_milestone_event.rb'
- - 'spec/factories/resource_state_event.rb'
- - 'spec/factories/sent_notifications.rb'
- - 'spec/factories/serverless/domain.rb'
- - 'spec/factories/serverless/domain_cluster.rb'
- - 'spec/factories/terraform/state.rb'
- - 'spec/factories/uploads.rb'
- - 'spec/factories/wiki_pages.rb'
diff --git a/.ruby-version b/.ruby-version
index 338a5b5d8f..37c2961c24 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.6.6
+2.7.2
diff --git a/.scss-lint.yml b/.scss-lint.yml
index 420b15274b..ec193e2a3d 100644
--- a/.scss-lint.yml
+++ b/.scss-lint.yml
@@ -8,6 +8,7 @@ scss_files:
exclude:
- 'app/assets/stylesheets/pages/emojis.scss'
- 'app/assets/stylesheets/startup/startup-*.scss'
+ - 'app/assets/stylesheets/lazy_bundles/select2.scss'
linters:
# Reports when you use improper spacing around ! (the "bang") in !default,
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ec4c3062ec..d995ed28de 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,14 +2,14 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
-## 13.5.7 (2021-01-13)
+## 13.6.5 (2021-01-13)
### Security (1 change)
- Deny implicit flow for confidential apps.
-## 13.5.6 (2021-01-07)
+## 13.6.4 (2021-01-07)
### Security (7 changes)
@@ -17,12 +17,27 @@ entry.
- Deny implicit flow for confidential apps.
- Update NuGet regular expression to protect against ReDoS.
- Fix regular expression backtracking issue in package name validation.
-- Upgrade GitLab Pages to 1.28.2.
+- Upgrade GitLab Pages to 1.30.2.
- Update trusted OAuth applications to set them as confidential.
-- Upgrade Workhorse to 8.51.2.
+- Upgrade Workhorse to 8.54.2.
-## 13.5.5 (2020-12-07)
+## 13.6.3 (2020-12-10)
+
+### Fixed (5 changes)
+
+- Fix error 500s creating projects concurrently. !48571
+- Fix container_registry url for relative urls. !48661
+- Resolve Members page 500 error after Invitation sent via API. !48937
+- Add different string encoding method in rack middleware. !49044
+- Fix MR rendering issue when user is tool admin and not project member. !49258
+
+### Changed (1 change)
+
+- Update Rake check and docs to require Ruby 2.7. !48552
+
+
+## 13.6.2 (2020-12-07)
### Security (10 changes)
@@ -38,6 +53,533 @@ entry.
- Do not show starred & contributed projects of users with private profile.
+## 13.6.1 (2020-11-23)
+
+### Fixed (5 changes)
+
+- Fix project transfer corrupting shared runners state. !48032
+- Fix project select split button bug. !48065
+- Fix tags pages erroring for projects with private pipelines. !48184
+- Ensure Alerts list loads when only HTTP integrations are enabled. !48247
+- Does not track package events on a read-only instance. !48257
+
+### Changed (1 change)
+
+- Re-name Instance Statistics as Usage Trends. !48183
+
+
+## 13.6.0 (2020-11-22)
+
+### Removed (3 changes)
+
+- Removed ACE editor from the codebase. !46420
+- Remove storage limit column from application settings. !46676
+- Remove the ability to resole individual notes. !46775
+
+### Fixed (140 changes, 11 of them are from the community)
+
+- Fix rendering of markdown headings and floated images. !25442 (Gwen_)
+- Fix release assets link redirection. !35381
+- Fix chatbot replies not including job log. !42010
+- Show tar warning message when file/folder changed during backup instead of failing whole backup operation. !42197
+- Remove default EKS Region dropdown in cluster create form. !43017
+- Remove all records from `security_findings` table. !44312
+- Add `position` column into security_findings table. !44815
+- Render script newlines in CI Lint view. !45087 (Nejc Habjan)
+- Fix a race condition checking whether a project is read-only. !45160
+- Limit number of times a background migration is rescheduled. !45298
+- Improve project labels page card layout consistency. !45311
+- Do not convert unicode versions of trademark, copyright, and registered trademark to emoji. !45457
+- Gracefully recover from deleted LFS file. !45459
+- Fix Bad Escape in Issue Board Empty State. !45465 (Kev @KevSlashNull)
+- Update cluster applications CI template to 0.34.1. !45487
+- Fixed multi line comment options in parallel mode. !45557
+- Removed not equal filter option for drafts on merge requests. !45649
+- Fixed target branch not filtering. !45652
+- Fix Merge Request "Edit in Web IDE" dropdown link on MR diffs page. !45653
+- Handle malformed strings in URL. !45701
+- Reset the pagination cursor when a search result filter changes. !45708
+- Fix aria label on IDE tab close button. !45709
+- Fix danger-secondary button in the Web IDE dark theme. !45714
+- Removes the hamburger icon in the Changes tab in Web IDE. !45717
+- Fix exception when saving Jira integration info for an instance. !45718
+- Make sure the http_requests_total and http_request_duration_seconds metrics are not empty on application start. !45755
+- Configure CSP for displaying Youtube videos in the Static Site Editor. !45767
+- Render correct URLs for uploads in service desk issues when custom template is used. !45772
+- Upgrade Workhorse to v8.52.0. !45778
+- Fix project callbacks when propagating integrations. !45781
+- Fix project import search box and make it case insensitive. !45783
+- Remove the native styles for modal-dialog - Currently off center. !45789
+- Fix when Feature Flags link is shown in search bar results. !45803
+- Reset search results filters whenever a user changes scope. !45808
+- Project Access Tokens - Delete project bot after token expires. !45828
+- Paginate project_runners in ci_cd settings. !45830
+- Fix bug with robots and .git suffix. !45866
+- Block LFS requests on snippets. !45874
+- Fix an N+1 issue in Packages::GroupPackagesFinder. !45875
+- Fix sticky header issue status not syncing. !45895
+- Download LFS files when importing from Bitbucket Server. !45908
+- Fix viewing GitHub-imported diff notes in discussions. !45920
+- Boards - Fix Milestone icon alignment in header. !45965
+- Reduce whitespace on MR page header. !45966
+- Fix CSS for To-Do List on mobile. !45969 (Takuya Noguchi)
+- Fix wide content overflow on Notebook output. !45971
+- Fix auto-deploy-image fetches deprecated stable repository and causes an error. !45984
+- Fixed long paths truncating in merge request sidebar incorrectly. !45994
+- Remove positive tabindexes. !46003
+- Remove "Report abuse" button from a merged Merge Request. !46031 (Takuya Noguchi)
+- Fix single file editor patch branch name. !46044
+- Updated list view MR icon. !46059
+- Tolerate UTF8 BOM character during frontmatter rendering. !46062
+- Fix dropzone paperclip and loading icons. !46093
+- Copyedit Project Issue Boards API docs. !46110 (Takuya Noguchi)
+- Fix typos when deleting a project repository. !46204 (Edstub207)
+- Enable rendering avatars with full url. !46206
+- Fix bug accessing import route with no user. !46215
+- Fix transaction usage in ContainerExpirationPolicyWorker. !46217
+- Remove page_title from single project and group pages. !46223
+- Skip GMA and SSO validation when creating project access tokens for project bots. !46257
+- Make loading icon on feature flag edit page larger. !46268
+- Allow semver versions in composer packages. !46301
+- Don't return target-specific broadcasts without a current path supplied. !46322
+- Fix tracking of frequently visited projects / groups. !46348
+- Do not query snippet infromation on the new snippet's creation. !46355
+- Populate missing `dismissed_at` and `dismissed_by_id` attributes of vulnerabilities. !46370
+- Add CI Status CSS to the Environments Page. !46382
+- Allow project storage to be updated when no repositories exist. !46385
+- Add licensed check for wip limits. !46387
+- Fix problems with Groups API search query parameter. !46394
+- Fix QuickActions not working if written before a codeblock. !46401
+- Resolve User stuck in 2FA setup page even if group disable 2FA enforce. !46432
+- Job dropdown: Hide tooltip explicitly on click. !46465
+- Fix loading current directory when changing branches. !46479
+- Allow to apply group labels with service desk templates. !46492
+- Fix CI artifacts not uploading with tracing enabled and without NGINX. !46513
+- Fix logging handling for API integer params. !46551
+- Bugfix email notification recipients for comments on Designs. !46642
+- Fix linebreak issue in last commit anchor. !46643
+- Upgrade fog-google to v1.11.0. !46648
+- Fix 'File name too long' error happening during Project Export when exporting project uploads. !46674
+- container registry: show delete selected button on medium viewports. !46699
+- Improve thread safety of Ci::BuildTraceChunk data stores. !46717
+- Fix 404 error from Commit Signature API when using Rugged. !46736
+- Fix example responses for Project Issue Board creation API in the docs. !46749 (Takuya Noguchi)
+- Autofocus on search input within labels dropdown after labels are loaded. !46750
+- Fix example responses for Group Issue Board creation API in the docs. !46760 (Takuya Noguchi)
+- Make the Merge Train process flow more resilient by always refreshing merge requests from beginning. !46768
+- Show "No user list selected" in feature flags. !46790
+- Skip disabled features when importing a project from Gitea. !46800 (John Kristensen (@jerrykan))
+- Fixed create merge request dropdown not re-opening after typing invalid source branch. !46802
+- Fix broadcast notification close icon appearance. !46804
+- Fix remove label inconsistency. !46805
+- Assign new incoming diff lines for renamed files to the correct view type. !46823
+- Display submodules in MR tree and file header. !46840
+- Fix empty state message in explore projects page. !46860
+- Better-behaved tooltips in pipeline dropdown. !46866
+- Ensure security report is displayed correctly in merge requests with a lot of CI jobs. !46870
+- Fix code lines being cut-off on failed job tab. !46885
+- Populate values for `has_vulnerabilities` column of `project_settings` table. !46890
+- Fix group destroy not working with Gitaly Cluster. !46934
+- Fix setting Comment detail for Jira and modal for groups. !46945
+- Fix retried builds icon sprite to use css_class. !46955
+- Remove unnecessary expand sha button in pipelines page. !47012
+- Fix operations settings when Pipelines are disabled. !47062
+- Fix duplicate epic iids and add uniqueness constraint. !47081
+- Fix relative path not found on production web server. !47090
+- Moved template warning below type. !47103
+- Fix top margin in new project page. !47109
+- Make delete repo prompts consistent. !47117
+- Make register_instructions optional for RunnerSetup. !47123
+- Fix milestones param validation for releases API PUT method. !47169
+- Fixed create branch button not hiding when issue is closed. !47187
+- Fix config variables when having includes. !47189
+- Handle nullbytes in auth headers. !47206
+- Fix error when updating releases with milestone associations through the UI. !47222
+- Fixed diff metadata endpoint being called twice. !47265
+- Fix pipeline security tab filters not showing. !47294
+- Fix unified component inline display. !47345
+- Fix secure MR widget colors in dark mode. !47352
+- Fix status emoji tooltip trigger. !47378
+- Fix workflow:rules not accessing passed-upstream and trigger variables. !47399
+- Fix internal lfs_authenticate API for non-project repositories. !47404
+- Fix alerts integration list Snowplow tracking event. !47413
+- Resolve Suggest Pipeline flow second step not loading. !47419
+- Fix overly aggressive prevent call. !47455
+- Fix syntax highlight issue with regular expressions. !47469
+- Stop finding commit with empty ref. !47497
+- Fix issues list when due date parameter is invalid. !47524
+- Bump versions of secrets and klar in the Secure-Binaries template. !47531
+- Fixed copy contents functionality for snippets. !47646
+- Reject incomplete multibyte chars in UTF8 params. !47658
+- Fix deploy token permissions for write_package_registry. !47675
+- Fix comment cells not rendering in unified component inline view. !47693
+- Replace poorly performing auth event providers query in usage ping. !47710
+- Do not fail when cleaning up MR with no repository. !47744
+- Clear cached merge_ref_sha on reopen. !47747
+- Refactor and UI-polish around activity calendar on user profile. !47797 (Takuya Noguchi)
+- Fix for missing user info for Terraform State. !47814
+
+### Deprecated (1 change)
+
+- Deprecate support for Elasticsearch 6.x. !45619
+
+### Changed (143 changes, 5 of them are from the community)
+
+- Match Jira users by email, username or name on jira issues import. !33883
+- Use global IDs for GraphQL arguments accepting sentry IDs. !36098
+- GraphQL Snippets: use Global-ID scalar. !36117
+- Add Google Tag Manger to sign in/up and trial pages. !38395
+- Prune loose objects during git garbage collection. !39592
+- Throttle container cleanup policies execution by using a limited capacity worker. !40740
+- Update leave group modal to gl-modal. !41817
+- Split sign in and sign up pages. !42592
+- Improve messaging for emails from alerts. !43054
+- Replace fa-check icons with GitLab SVG check icon. !43353
+- Manually collapsed diff files are now significantly shorter and less visually intrusive. !43911
+- Update change username modal. !44325
+- Add support for search and inclusion of project labels within Group Labels API. !44415
+- Add usage ping for unique users importing issues via CSV. !44742
+- Add default regexes and prevent blank regexes for container cleanup policies. !44757
+- Enable Sidekiq argument logging by default. !44853
+- Search Autocomplete add GFM support for issues. !44930
+- New group and project invite mail design. !44940
+- Make the repository read-only while running cleanup. !45058
+- Use existing group label when promoting project label. !45122
+- Update Rack to v2.2.3. !45183
+- Remove feedback alert from on-demand scans form. !45217
+- Expand scope of coverage badge query to all successful builds. !45321
+- Forbid top-level route sitemap.xml. !45359
+- Update GraphQL input ids for Board Lists and Issues to be more type specific. !45398
+- Update copy branch keyboard shortcut to click sidebar button. !45436
+- Rename "a whole number" to "an integer number" in feature flags strategies. !45444
+- Expose humanTimeEstimate and humanTotalTimeSpent via graphql. !45508
+- Add link to the note on the email sent after adding a comment on an issue. !45511
+- Add usage ping for unique users importing groups and projects via the group migration tool. !45536
+- Remove resolve comment functionality. !45549
+- Render 404 to search engine crawlers instead of redirecting to login. !45552
+- Use GitLab SVGs in audit_icon helper. !45562
+- Remove temp index on job artifacts. !45565
+- Move test report system output to modal. !45575
+- Generate a longer Kuberntes Agent Token by default (was 20 characters, now 50). !45620
+- Update system note when marking merge request as draft or ready. !45644
+- Replaced GlDeprecatedBadge for GlBadge in requirements tabs. !45647
+- Add EC2 to AutoDevOps template. !45651
+- Replace external-link icons with GitLab SVG. !45685
+- Update loading icon for buttons used in MR's set to merge automatically. !45693
+- Add fuzzy-search on full path in Groups API. !45729
+- Minor UI improvements to Wiki Delete Page button and modal. !45740
+- Add canonical link for default explore route. !45746
+- Replaced GlDeprecatedBadge for GlBadge in environment header. !45768
+- Replace fa-refresh icon with GitLab SVG. !45777
+- Allow user snippets to be indexed by search crawlers. !45793
+- Add total count to Terraform state GraphQL API. !45798
+- Adds feature flag to disable package events. !45802
+- increase allowed dotenv variables from 10 to 20. !45815 (jrreid)
+- Remove search_filter_by_confidential Feature Flag. !45819
+- Replace fa-caret-down with chevron-down SVG in pipeline action buttons. !45881
+- Add new search params to metadata. !45896
+- Add suggest pipeline for viable merge requests without pipelines. !45926
+- Change permanent routable redirect to 301. !45980
+- Disallow realtime_changes route in robots.txt. !45986
+- Limits the Deploy Boards data to 10 MB. This change is enabled by default behind a feature flag. !46043
+- Migrate DeprecatedModal to GitLab UI Modal for promoted labels. !46047
+- Remove admin_approval_for_new_user_signups feature flag. !46051
+- Show error in pipeline when API Fuzzing not licensed. !46064
+- Improving Container Registry Delete Tags Service to log number of successfully deleted tags even if deletion process was interrupted by a timeout. !46079 (Maksim Stankevic, @maksimstankevic)
+- Remove scanned_resources_count column from security scan. !46108
+- Resolve request IP address on audit event. !46114
+- Disallow /autocomplete/projects route in robots.txt. !46115
+- Disallow WebIDE route in robots.txt. !46117
+- Replace fa-chevron-up with GitLab SVG icon. !46118
+- Pre-fetched GraphQL queries for snippet view. !46130
+- Make all Project Issue Boards API available even in CE. !46137 (Takuya Noguchi)
+- Move Personal Access Token API to Core. !46145
+- Update stop all jobs modal to latest modal. !46157
+- Replaced GlDeprecated Badge in clusters.vue. !46165
+- Update whitelist/blacklist to allowlist/denylist in Signup restrictions window. !46168
+- Use allowlist/denylist in application settings backend. !46170
+- Update detailed_metric.vue modal to match Pajamas guidelines. !46183
+- Use toasts for wiki notifications. !46201
+- Refresh design zooming buttons. !46205
+- Replace fa-warning icons with GitLab SVG warning-solid icon. !46214
+- Disallow some project routes in robots.txt. !46218
+- Improve empty search results message for group and project scopes. !46237
+- Add minimal access users to group members api endpoints. !46238
+- Replace ACE with Editor Lite. !46250
+- Use CodeQuality 0.85.18 in the CI template. !46253
+- Add rate limit bypass. !46259
+- Use Helm 3 by default for GitLab-managed apps in new clusters. !46267
+- Update diff_max_patch_bytes from 100kb -> 200kb. !46276
+- Expand Diff File collapsed UI to be significantly more obvious. !46286
+- Use standard loading state for Design Upload button. !46292
+- Allow for return of scoped broadcast messages on shell. !46333
+- Add filtering by recorded date to instance statistics measurements GraphQL API. !46344
+- Background migration for setting Jira tracker data deployment type. !46368
+- Use updated base report for CodeQuality MergeRequest widdget. !46384
+- Make files header responsive and remove truncate name. !46406
+- Switch to admin clusterRole for GitLab created environment Kubernetes service account. !46417
+- Require Git v2.29.0. !46433
+- Generate canonical url and remove trailing slash. !46435
+- Moves projects_with_error_tracking_enabled ping usage to Core. !46556
+- Mark Sidekiq queue selector as no longer experimental. !46562
+- Add new incident counts to usage ping. !46602
+- Added code coverage regex for Scala Scoverage. !46638 (opensorceror)
+- Show error in pipeline when Coverage Fuzzing not licensed. !46652
+- Forbid top level route sitemap. !46677
+- Package details: on mobile show all the tags. !46679
+- Add message in CI linter that it was validated with all the includes. !46713
+- Reschedule again background migration which convers 'blocked_by' issue links to 'block'. !46770
+- Load CI lint checks without refreshing the page. !46801
+- Show code quality severity rating in the merge request details page. !46829
+- Move "New subgroup" and "New project" out of the dropdown into individual buttons. !46907
+- Admin approval required on user registration by default. !46937
+- Update merge request search results design. !46944
+- Add emailsDisabled field for issue type. !46947
+- Enable 'instance_statistics' feature flag by default. !46962
+- Update image upload path (SSE). !46967
+- Changes limit for lsif artifacts to 100MB. !46980
+- Add user info to Terraform State List. !46984
+- Improve the container registry client tags delete method. !46989
+- Filter GitHub projects to import using GitHub Search API. !47002
+- Add BulkImport::Tracker to store the pagination information of the Group Migration (BulkImport) requests. !47009
+- Use new image details API in container registry details. !47054
+- Hide apply suggestion button for anonymous users. !47071
+- Change the mutation and permissions for image note reposition. !47161
+- Extend GraphQL API to commit to a new branch in a single operation. !47203
+- Add region field to AWS Role. !47209
+- Cache repository raw endpoint. !47225
+- Update the tag name field helper text on the Edit Release page. !47234
+- Make Terraform/Base.latest.gitlab-ci.yml template safer to use in projects that have non-terraform jobs. !47254
+- MR Analytics: Fix chart tooltip covering filter dropdown. !47274
+- Replace fa-check icon in custom notifications. !47288
+- Use dedicated signing key for CI_JOB_JWT by default. !47336
+- Replace fa-check icon in importer status. !47373
+- Add pagination to Terraform list view. !47412
+- Add new text and tab name for DAG. !47415
+- Enable `vue_group_members_list` feature flag by default. !47427
+- Improve the look of wikis in search results. !47470
+- Dependency proxy feature is moved to GitLab core. !47471
+- Remove ci_trace_new_fog_store feature flag. !47522
+- Make schema breadcrumb urls absolute. !47523
+- Add type annotation for snippet resolvers. !47548
+- Remove feature flag to enable tracking unique test cases parsed globally. !47662
+- Replace font-awesome icons in prometheus config. !47713
+- Replace fa-chevron-down in dropdown button. !47758
+- Replace fa-exclamation-triangle in markdown field MERGE_REQUEST_ID. !47786
+- Update rack-oauth2 to v1.16.0. !47839 (Vincent Fazio @vfazio)
+- Replace fa-chevron-down in project level VSA. !47885
+
+### Performance (14 changes, 2 of them are from the community)
+
+- Don't refresh all discussions for a new diff note on a merge request. !43015
+- Add default_branch to ci_daily_build_group_report_result. !45702
+- Upgrade labkit to 0.13.1. !45788
+- Add Caching to BitBucket Server Import for pull requests. !45790 (Simon Schrottner)
+- Resolve admin/license timeout on large instances. !46336
+- Gracefully degrade when counting takes too long for a filtered search. !46350
+- Add Batch Support for Importing Pull Requests from Bitbucket. !46696 (Simon Schrottner)
+- Schedule clean up of merge request refs efficiently. !46758
+- Only set an ETag for the notes endpoint after all notes have been sent. !46810
+- Parallelize the removal of expired job artifacts. !46971
+- Fix pipelines chart query timeout. !47069
+- Add NULLS LAST to index on merge request metrics. !47300
+- Add missing expression indexes. !47424
+- Enable HTTP caching of repository raw, archive, and avatar endpoints. !47430
+
+### Added (119 changes, 6 of them are from the community)
+
+- Show build status in tag list. !34307 (Lee Tickett)
+- Enable the ability to upload images via the SSE. !36299
+- Add webhooks for feature flag. !41863 (Sashi)
+- Add until_executed deduplication strategy. !42223
+- Add support for .md.erb files in Static Site Editor. !42353
+- Add install GitLab runner popup. !42877
+- Add Default Initial Branch Name for Repositories Group Setting. !43290
+- Update the milestone dropdown combobox to display separated sections and badge counters. !43427
+- Jira Connect automatically synchronizes up to 400 existing merge requests per project when a namespace is connected. !43880
+- Add CI JWT signing key to application_setings. !43950
+- Add GraphQL endpoints to lock, unlock and delete Terraform states. !43955
+- Add ability to sort releases on Releases page. !43963
+- Debian RFC822 and .deb metadata extractor. !44029 (Mathieu Parent)
+- Add assignees multiselect wrapper. !44087
+- Show the environment link on alert details page. !44130
+- Associate multiple pipelines with packages and package files. !44348
+- Add a stop review job for ECS. !44717
+- Add assignee dropdown to group issue boards. !44830
+- Add Total Duration to CI/CD Analytics Page. !44863 (Kev @KevSlashNull)
+- Add webhooks for creating and updating a release. !44881 (David Barr @davebarr)
+- GraphQL API for listing container repositories. !44926
+- Add ability to sort search results for issues and merge requests. !45003
+- Add db index for DastSiteValidation#state. !45019
+- Store test failure data when build finishes. !45027
+- Add GraphQL burnup endpoint under milestone and iteration reports. !45121
+- Add hostname to GitHub import API. !45188
+- GraphQL: Adds downstream, upstream, source job, path, and project to PipelineType. !45212
+- Associate Terraform state versions with the CI job that created them. !45347
+- Add sha256 and file count to pages_deployments. !45522
+- Add basic top level keys license, settings, and counts_weekly for usage data payload. !45540
+- Allow sorting of releases from GraphQL. !45577
+- UsageData for issues added/removed/edited. !45609
+- Enable dashboard security discover button and ignore feature_filter_type column cleanup. !45636
+- Add Support for Canary-Weight ingress annotation via API. !45637
+- Add default sitemap generator for gitlab-org group. !45645
+- Add new Terraform state list page. !45700
+- Add Search for User Lists in Strategy. !45820
+- Add jobs field with secureReportTypes argument to Ci::PipelineType. !45837
+- Add latest version field to Terraform state GraphQL type. !45848
+- Add repository_read_only column to Snippets. !45868
+- Add availability to user status. !45888
+- Add secret detection token revocation columns. !45912
+- Add `has_vulnerabilities` column into project_settings table. !45944
+- Email user on admin account approval. !45947
+- Add API post /invitations by email. !45950
+- Add repositionImageDiffNote GraphQL mutation to specifically reposition DiffNotes on images. !45958
+- Create snippet_repository_storage_moves database table. !45990
+- Expose issue updated by on GraphQL. !46015
+- Allow to create todo on GraphQL. !46029
+- Add API get /invitations for project and group. !46046
+- Migrate Configure Feature Flags Modal to GitLab UI. !46055
+- Add User-Agent to web hook service. !46070
+- Add links to GraphQL release object for searching related issues and merge requests. !46161
+- Migrate Alert Service to HTTP Integrations model. !46188
+- Determine image relative paths. !46208
+- Add releaseCreate mutation to GraphQL endpoint. !46263
+- Add migration to populate pipeline_id in Vulnerability Feedback. !46266
+- Add a /draft alias to the /wip quick action. !46277
+- Add usage ping for web users of geo secondaries. !46278
+- Enable refactored union set operator. !46295
+- Add userDiscussionsCount to issues and merge requests GraphQL. !46311
+- Add a service for token revocation. !46356
+- Forward deployment, add modal to warn users on Retry action. !46416
+- Expose moved and movedTo attributes in Issues query. !46447
+- Add merge request description templates to Static Site Editor. !46488
+- Add container repositories API. !46495
+- Track usage of CI Secrets Management (Vault secrets). !46515
+- Added GraphQL mutation for creating project and group labels. !46534
+- Add total projects imported usage ping. !46541
+- Add structured markup for users. !46553
+- Container repository details GraphQL API. !46560
+- Add iid column to design_management_designs. !46596
+- Add search param to Users GraphQL type. !46609
+- Add metric count for projects with alerts created. !46636
+- Add ability to sort to search API. !46646
+- Enable MR CSV export. !46662
+- Upgrade GitLab Pages to 1.29.0. !46665
+- Add merge requests filters for filtering by environments and deployment dates. !46683
+- Add projects_with_enabled_alert_integrations usage ping. !46693
+- Remove graphql_lazy_authorization feature flag. !46819
+- Allow setting the value of 'require_admin_approval_after_user_signup' via Settings API. !46851
+- Add structured data for projects. !46858
+- NPM project level API. !46867
+- Send email notifications to admins about users pending approval. !46895
+- Monokai theme for the Web IDE. !46901
+- Enable issue and MR stat links on release progress review. !46910
+- Default enable new_pipeline_form. !46915
+- Add tooltips to design buttons. !46922 (Lee Tickett)
+- Account for uploads as part of used repository storage. !46941
+- Add SEO schema markup to breadcrumbs. !46991
+- Add locked and confidential badge to issue sticky header. !46996
+- Add Web IDE Solarized Light theme support. !46999
+- Add POST project CI lint API endpoint. !47026
+- Display Group SAML provider ID in admin. !47034
+- Adds warnings to API response for /lint. !47037
+- Filter jobs by security report type in GraphQL. !47095
+- Update container_scanning to version 3 to support FIPS. !47099
+- Adds rake task to generate package events file. !47118
+- Add container repository destroy GraphQL mutation. !47175
+- Add search assignees to group issue boards. !47241
+- Add Redis version to admin page. !47242
+- Add CI job to Terraform state version GraphQL type. !47339
+- Add pipeline to CI job GraphQL type. !47347
+- Add group-level integration management for external services. !47391
+- Add cloud_license_auth_token column to application_settings. !47396
+- Add user callout to alert admins that registration is open by default. !47425
+- Include aggregated git-write usage counts. !47511
+- Add cleanup status field to graphQL ContainerRepositoryType. !47544
+- Global Search - Left Sidebar. !47561
+- Add group name and link in admin identities. !47563
+- Implement including multiple files from a project. !47609
+- Expose GraphQL API for managing HTTP alerting intergations. !47687
+- Convert issue header actions to an ellipsis dropdown menu. !47690
+- Add alerting support for custom dashboards. !47704
+- Support fuzzing HTTP headers with API Fuzzing. !47727
+- Store pages content in zip format. !47763
+- Upgrade GitLab Pages to 1.30.0. !47780
+- Add variable expansion to rules:changes. !47783
+- GraphQL: Expose uploads_size for project_statistics and root_storage_statistics. !47820
+
+### Other (68 changes, 26 of them are from the community)
+
+- Migrate .fa-spinner to .spinner for app/helpers. !25033 (nuwe1)
+- Remove new_variables_ui feature flag. !41412
+- Replace-GlDeprecatedDropdown-with-GlDropdown-in-app/assets/javascripts/error_tracking. !41420 (nuwe1)
+- Replace-GlDeprecatedDropdown-with-GlDropdown-in-app/assets/javascripts/monitoring. !41422 (nuwe1)
+- Replace Deprecated Dropdown in Container Registry Explorer Page. !41425 (nuwe1)
+- Replace-GlDeprecatedDropdown-with-GlDropdown-in-app/assets/javascripts/snippets/components/snippet_header.vue. !41428 (nuwe1)
+- Replace-GlDeprecatedDropdown-with-GlDropdown-in-app/assets/javascripts/vue_merge_request_widget. !41429 (nuwe1)
+- Migrate-Bootstrap-dropdown-to-GitLab-UI-GlDropdown-in-app/assets/javascripts/jobs/components/stages_dropdown.vue. !41452 (nuwe1)
+- Replace v-html with GlSprintf in notes/.../discussion_filter_note.vue. !41482 (Takuya Noguchi)
+- Update to Ruby v2.7.2. !44223
+- Update haml_lint from 0.34.0 to 0.36.0. !44914 (Takuya Noguchi)
+- Update Web IDE pipelines panel to use our design system component. !45007 (matejlatin)
+- Replace existing Image Resizing FFs with a single of `ops` type enabled by default. !45050
+- Remove Cycle Analytics message from en i18n message. !45178 (Takuya Noguchi)
+- Specify primary key for tables without. !45198
+- Update Tooltip in Groups to use gl-tooltip. !45305
+- Print Ruby version in console greeting. !45370
+- Fix Rails/SaveBang offenses for spec/services/* and spec/sidekiq/*. !45391 (matthewbried)
+- Migrate collapsed notification tooltip. !45453 (artychan)
+- Add database view for partitioned tables. !45591
+- Add database view for partitions. !45592
+- Remove duplicated BS display properties from Issue. !45628 (Takuya Noguchi)
+- Replace quick_submit BSTooltip with GlTooltip. !45638 (Kristin Brooks @kristinbrooks)
+- Add migration to add a new configuration option for setting the new user signups count. !45643
+- Remove unnecessary index on services for usage data. !45655
+- Update GitLab Runner Helm Chart to 0.22.0. !45664
+- Replace bootstrap classes for alerts in ping consent. !45723
+- Add `analytics_devops_adoption_segment_selections` and `analytics_devops_adoption_segments` database tables. !45748
+- Refactor secondary_navigation_elements.scss. !45763 (Takuya Noguchi)
+- Migrate toggle replies widget from Bootstrap to GlButton. !45780
+- Simplify CSS for Merge Requests (list). !45785 (Takuya Noguchi)
+- Add auto_rollback_enabled column to project_ci_cd_settings table. !45816
+- Add merge trains enabled setting to project ci cd settings. !45834
+- Fix incorrect code in Load Performance Testing docs. !45877
+- Migrate services specs to consider admin mode. !45988 (Diego Louzán)
+- Migrate tooltip in app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author.vue. !46034
+- Migrate Bootstrap buttons to GitLab UI buttons for attach a file form actions. !46041
+- Replace chevron-down fa-icon in board sidebar. !46075
+- Replace down chevron on invite member/group. !46076
+- Clarify that external users cannot access all internal projects, groups, and snippets. !46087 (Ben Bodenmiller (@bbodenmiller))
+- Declare and assign variable separately in Shell Script. !46121 (Peter Dave Hello @PeterDaveHello)
+- Execute `exit 1` when shell script `cd` fails. !46122 (Peter Dave Hello)
+- Migrate tooltip in app/assets/javascripts/ide/components/commit_sidebar/list.vue. !46148
+- Migrate tooltip in app/assets/javascripts/vue_merge_request_widget/components/mr_file_icon.vue. !46156 (46156)
+- Migrate tooltip in app/assets/javascripts/vue_shared/components/awards_list.vue. !46171
+- Replace close button in Scheduling Pipelines user notice with GlButton. !46264
+- Add performance marks and measures to the MR Diffs app at critical moments. !46434
+- Corrected grammar in Sign-in restrictions text. !46500
+- Update access token fields to new input style. !46569
+- Rename "cycle analytics" with "value stream analytics" under /spec. !46613 (Takuya Noguchi)
+- Resolve Implement GraphQL Startup.js for Design Management app. !46660
+- Bump workhorse to 8.53.0. !46666
+- Remove columns no longer used for replicating terraform state. !46742
+- Backfill cleanup schedules for old closed/merged MRs. !46782
+- Bump gitlab-shell version to 13.12.0. !47084
+- Remove duplicated BS display properties from Merge Request title. !47124 (Takuya Noguchi)
+- Remove duplicated BS display properties from various Diffs. !47125 (Takuya Noguchi)
+- Expand postgres_indexes view. !47304
+- Update terminal empty state alert to gl component. !47340
+- Guard against existence of project_features.requirement_access_level in migration. !47458 (Lee Tickett)
+- Replace mirror chevron down icon with svg. !47459
+- Update chevron-down icon on project branch page. !47460
+- Update button styles in project tree header. !47562
+- Update button styles in blob header. !47571
+- Update icons to svg for issuable pages. !47596
+- Update Workhorse version to 8.54.0. !47625
+- Update GitLab Shell to v13.13.0. !47875
+- Change wording on the project remove fork page. !47878
+
+
## 13.5.4 (2020-11-13)
### Fixed (4 changes)
@@ -657,6 +1199,32 @@ entry.
- Bump cluster applications CI template. !45472
+## 13.4.6 (2020-11-03)
+
+### Fixed (1 change)
+
+- Auto Deploy: fixes issues for fetching other charts from stable repo. !46531
+
+### Other (1 change)
+
+- GitLab-managed apps: Use GitLab's repo as replacement for the Helm stable repo. !44875
+
+
+## 13.4.5 (2020-11-02)
+
+### Security (9 changes)
+
+- Add CSRF protection to runner pause and resume. !1021
+- Do not expose Terraform state record in API.
+- Path traversal to RCE via LFS upload.
+- Update container_repository_name_regex to prevent catastrophic backtracking.
+- Validate nuget package names.
+- Prevent private repo from being accessed via internal Kubernetes API.
+- Validate each upload param key in multipart.rb.
+- Fix XSS vulnerability for job build dependencies.
+- Fix unauthorized user is able to access schedule pipeline variables and values.
+
+
## 13.4.4 (2020-10-15)
### Fixed (2 changes)
@@ -1315,6 +1883,37 @@ entry.
- Expand the visible highlight for collapsed diffs (re: !41393). !42343
+## 13.3.9 (2020-11-02)
+
+### Security (9 changes)
+
+- Add CSRF protection to runner pause and resume. !1021
+- Do not expose Terraform state record in API.
+- Path traversal to RCE via LFS upload.
+- Update container_repository_name_regex to prevent catastrophic backtracking.
+- Validate nuget package names.
+- Prevent private repo from being accessed via internal Kubernetes API.
+- Validate each upload param key in multipart.rb.
+- Fix XSS vulnerability for job build dependencies.
+- Fix unauthorized user is able to access schedule pipeline variables and values.
+
+
+## 13.3.8 (2020-10-21)
+
+### Fixed (2 changes)
+
+- Make SSH keys publicly accessible. !42288
+- Revert required encryption on CI runner tokens. !42623
+
+### Added (1 change)
+
+- Add missing fontawesome file icon classes. !43091
+
+### Other (1 change)
+
+- GitLab-managed apps: Use GitLab's repo as replacement for the Helm stable repo. !44875
+
+
## 13.3.4 (2020-09-02)
### Security (1 change)
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index a15cc5b937..b22e91bfa5 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-13.5.7
\ No newline at end of file
+13.6.5
\ No newline at end of file
diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION
index 1750564f27..4daad9a5c1 100644
--- a/GITLAB_KAS_VERSION
+++ b/GITLAB_KAS_VERSION
@@ -1 +1 @@
-0.0.6
+13.6.1
diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION
index bf4df28efc..d1eaa3ba0b 100644
--- a/GITLAB_PAGES_VERSION
+++ b/GITLAB_PAGES_VERSION
@@ -1 +1 @@
-1.28.2
+1.30.2
diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION
index fbda4b8d75..0b704f2a43 100644
--- a/GITLAB_SHELL_VERSION
+++ b/GITLAB_SHELL_VERSION
@@ -1 +1 @@
-13.11.0
+13.13.0
diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION
index 3c049ca13d..275754a681 100644
--- a/GITLAB_WORKHORSE_VERSION
+++ b/GITLAB_WORKHORSE_VERSION
@@ -1 +1 @@
-8.51.2
+8.54.2
diff --git a/Gemfile b/Gemfile
index 51f9d36cef..d60fefe29d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -19,7 +19,7 @@ gem 'default_value_for', '~> 3.3.0'
gem 'pg', '~> 1.1'
gem 'rugged', '~> 0.28'
-gem 'grape-path-helpers', '~> 1.4'
+gem 'grape-path-helpers', '~> 1.5'
gem 'faraday', '~> 1.0'
gem 'marginalia', '~> 1.9.0'
@@ -48,7 +48,7 @@ gem 'omniauth-authentiq', '~> 0.3.3'
gem 'omniauth_openid_connect', '~> 0.3.5'
gem 'omniauth-salesforce', '~> 1.0.5'
gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
-gem 'rack-oauth2', '~> 1.9.3'
+gem 'rack-oauth2', '~> 1.16.0'
gem 'jwt', '~> 2.1.0'
# Kerberos authentication. EE-only
@@ -98,6 +98,7 @@ gem 'graphql', '~> 1.11.4'
gem 'graphiql-rails', '~> 1.4.10'
gem 'apollo_upload_server', '~> 2.0.2'
gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
+gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import)
gem 'hashie'
# Disable strong_params so that Mash does not respond to :permitted?
@@ -118,7 +119,7 @@ gem 'fog-aws', '~> 3.5'
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
# Also see config/initializers/fog_core_patch.rb.
gem 'fog-core', '= 2.1.0'
-gem 'fog-google', '~> 1.10'
+gem 'fog-google', '~> 1.11'
gem 'fog-local', '~> 0.6'
gem 'fog-openstack', '~> 1.0'
gem 'fog-rackspace', '~> 0.1.1'
@@ -158,7 +159,7 @@ gem 'wikicloth', '0.8.1'
gem 'asciidoctor', '~> 2.0.10'
gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
gem 'asciidoctor-plantuml', '~> 0.0.12'
-gem 'rouge', '~> 3.24.0'
+gem 'rouge', '~> 3.25.0'
gem 'truncato', '~> 0.7.11'
gem 'bootstrap_form', '~> 4.2.0'
gem 'nokogiri', '~> 1.10.9'
@@ -172,7 +173,7 @@ gem 'diffy', '~> 3.3'
gem 'diff_match_patch', '~> 0.1.0'
# Application server
-gem 'rack', '~> 2.1.4'
+gem 'rack', '~> 2.2.3'
# https://github.com/sharpstone/rack-timeout/blob/master/README.md#rails-apps-manually
gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base'
@@ -271,9 +272,6 @@ gem 'loofah', '~> 2.2'
# Working with license
gem 'licensee', '~> 8.9'
-# Ace editor
-gem 'ace-rails-ap', '~> 4.1.0'
-
# Detect and convert string character encoding
gem 'charlock_holmes', '~> 0.7.7'
@@ -307,13 +305,16 @@ gem 'rack-attack', '~> 6.3.0'
# Sentry integration
gem 'sentry-raven', '~> 3.0'
+# PostgreSQL query parsing
+gem 'gitlab-pg_query', '~> 1.3', require: 'pg_query'
+
gem 'premailer-rails', '~> 1.10.3'
# LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '0.12.2'
+gem 'gitlab-labkit', '0.13.1'
# I18n
-gem 'ruby_parser', '~> 3.8', require: false
+gem 'ruby_parser', '~> 3.15', require: false
gem 'rails-i18n', '~> 6.0'
gem 'gettext_i18n_rails', '~> 1.8.0'
gem 'gettext_i18n_rails_js', '~> 1.3'
@@ -366,22 +367,19 @@ group :development, :test do
# Generate Fake data
gem 'ffaker', '~> 2.10'
- gem 'spring', '~> 2.0.0'
+ gem 'spring', '~> 2.1.0'
gem 'spring-commands-rspec', '~> 1.0.4'
- gem 'gitlab-styles', '~> 4.3.0', require: false
- # Pin these dependencies, otherwise a new rule could break the CI pipelines
- gem 'rubocop', '~> 0.82.0'
- gem 'rubocop-performance', '~> 1.5.2'
- gem 'rubocop-rspec', '~> 1.37.0'
+ gem 'gitlab-styles', '~> 5.1.0', require: false
- gem 'scss_lint', '~> 0.56.0', require: false
- gem 'haml_lint', '~> 0.34.0', require: false
+ gem 'scss_lint', '~> 0.59.0', require: false
+ gem 'haml_lint', '~> 0.36.0', require: false
gem 'bundler-audit', '~> 0.6.1', require: false
gem 'benchmark-ips', '~> 2.3.0', require: false
gem 'knapsack', '~> 1.17'
+ gem 'crystalball', '~> 0.7.0', require: false
gem 'simple_po_parser', '~> 1.1.2', require: false
@@ -407,7 +405,7 @@ end
group :test do
gem 'fuubar', '~> 2.2.0'
gem 'rspec-retry', '~> 0.6.1'
- gem 'rspec_profiling', '~> 0.0.5'
+ gem 'rspec_profiling', '~> 0.0.6'
gem 'rspec-parameterized', require: false
gem 'capybara', '~> 3.33.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 93670d2292..64179847dd 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -3,7 +3,6 @@ GEM
specs:
RedCloth (4.3.2)
abstract_type (0.0.7)
- ace-rails-ap (4.1.2)
acme-client (2.0.6)
faraday (>= 0.17, < 2.0.0)
actioncable (6.0.3.3)
@@ -71,7 +70,7 @@ GEM
memoizable (~> 0.4.0)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
- aes_key_wrap (1.0.1)
+ aes_key_wrap (1.1.0)
akismet (3.0.0)
android_key_attestation (0.3.0)
apollo_upload_server (2.0.2)
@@ -87,7 +86,7 @@ GEM
asciidoctor (>= 1.5.6, < 3.0.0)
asciidoctor-plantuml (0.0.12)
asciidoctor (>= 1.5.6, < 3.0.0)
- ast (2.4.0)
+ ast (2.4.1)
atlassian-jwt (0.2.0)
jwt (~> 2.1.0)
attr_encrypted (3.1.0)
@@ -133,7 +132,7 @@ GEM
coderay (>= 1.0.0)
erubi (>= 1.0.0)
rack (>= 0.9.0)
- bindata (2.4.3)
+ bindata (2.4.8)
binding_ninja (0.2.3)
bootsnap (1.4.6)
msgpack (~> 1.0)
@@ -199,6 +198,8 @@ GEM
safe_yaml (~> 1.0.0)
crass (1.0.6)
creole (0.5.0)
+ crystalball (0.7.0)
+ git
css_parser (1.7.0)
addressable
daemons (1.2.6)
@@ -368,11 +369,12 @@ GEM
excon (~> 0.58)
formatador (~> 0.2)
mime-types
- fog-google (1.10.0)
+ fog-google (1.11.0)
fog-core (<= 2.1.0)
fog-json (~> 1.2)
fog-xml (~> 0.1.0)
google-api-client (>= 0.32, < 0.34)
+ google-cloud-env (~> 1.2)
fog-json (1.2.0)
fog-core
multi_json (~> 1.10)
@@ -428,17 +430,18 @@ GEM
fog-json (~> 1.2.0)
mime-types
ms_rest_azure (~> 0.12.0)
- gitlab-labkit (0.12.2)
+ gitlab-labkit (0.13.1)
actionpack (>= 5.0.0, < 6.1.0)
activesupport (>= 5.0.0, < 6.1.0)
grpc (~> 1.19)
- jaeger-client (~> 0.10)
+ jaeger-client (~> 1.1)
opentracing (~> 0.4)
redis (> 3.0.0, < 5.0.0)
gitlab-license (1.0.0)
gitlab-mail_room (0.0.7)
gitlab-markup (1.7.1)
gitlab-net-dns (0.9.1)
+ gitlab-pg_query (1.3.0)
gitlab-puma (4.3.5.gitlab.3)
nio4r (~> 2.0)
gitlab-puma_worker_killer (0.1.1.gitlab.1)
@@ -446,12 +449,12 @@ GEM
gitlab-puma (>= 2.7, < 5)
gitlab-sidekiq-fetcher (0.5.2)
sidekiq (~> 5)
- gitlab-styles (4.3.0)
- rubocop (~> 0.82.0)
+ gitlab-styles (5.1.0)
+ rubocop (~> 0.89.1)
rubocop-gitlab-security (~> 0.1.0)
- rubocop-performance (~> 1.5.2)
- rubocop-rails (~> 2.5)
- rubocop-rspec (~> 1.36)
+ rubocop-performance (~> 1.8.1)
+ rubocop-rails (~> 2.8)
+ rubocop-rspec (~> 1.44)
gitlab_chronic_duration (0.10.6.2)
numerizer (~> 0.2)
gitlab_omniauth-ldap (2.1.1)
@@ -473,6 +476,8 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
signet (~> 0.12)
+ google-cloud-env (1.4.0)
+ faraday (>= 0.17.3, < 2.0)
google-protobuf (3.12.4)
googleapis-common-protos-types (1.0.5)
google-protobuf (~> 3.11)
@@ -495,17 +500,24 @@ GEM
grape-entity (0.7.1)
activesupport (>= 4.0)
multi_json (>= 1.3.2)
- grape-path-helpers (1.4.0)
+ grape-path-helpers (1.5.0)
activesupport
grape (~> 1.3)
- rake (~> 12)
+ rake (> 12)
grape_logging (1.8.3)
grape
rack
graphiql-rails (1.4.10)
railties
sprockets-rails
+ graphlient (0.4.0)
+ faraday (>= 1.0)
+ faraday_middleware
+ graphql-client
graphql (1.11.4)
+ graphql-client (0.16.0)
+ activesupport (>= 3.0)
+ graphql (~> 1.8)
graphql-docs (1.6.0)
commonmarker (~> 0.16)
escape_utils (~> 1.2)
@@ -536,8 +548,9 @@ GEM
haml (5.1.2)
temple (>= 0.8.0)
tilt
- haml_lint (0.34.0)
- haml (>= 4.0, < 5.2)
+ haml_lint (0.36.0)
+ haml (>= 4.0, < 5.3)
+ parallel (~> 1.10)
rainbow
rubocop (>= 0.50.0)
sysexits (~> 1.1)
@@ -586,10 +599,9 @@ GEM
invisible_captcha (0.12.1)
rails (>= 3.2.0)
ipaddress (0.8.3)
- jaeger-client (0.10.0)
+ jaeger-client (1.1.0)
opentracing (~> 0.3)
thrift
- jaro_winkler (1.5.4)
jira-ruby (2.0.0)
activesupport
atlassian-jwt
@@ -601,7 +613,7 @@ GEM
regexp_parser (~> 1.5)
regexp_property_values (~> 0.3)
json (2.3.0)
- json-jwt (1.11.0)
+ json-jwt (1.13.0)
activesupport (>= 4.2)
aes_key_wrap
bindata
@@ -821,9 +833,9 @@ GEM
rubypants (~> 0.2)
orm_adapter (0.5.0)
os (1.0.0)
- parallel (1.19.1)
- parser (2.7.1.2)
- ast (~> 2.4.0)
+ parallel (1.19.2)
+ parser (2.7.2.0)
+ ast (~> 2.4.1)
parslet (1.8.2)
peek (1.1.0)
railties (>= 4.0.0)
@@ -855,19 +867,19 @@ GEM
public_suffix (4.0.6)
pyu-ruby-sasl (0.0.3.3)
raabro (1.1.6)
- rack (2.1.4)
+ rack (2.2.3)
rack-accept (0.4.5)
rack (>= 0.4)
rack-attack (6.3.0)
rack (>= 1.0, < 3)
rack-cors (1.0.6)
rack (>= 1.6.0)
- rack-oauth2 (1.9.3)
+ rack-oauth2 (1.16.0)
activesupport
attr_required
httpclient
- json-jwt (>= 1.9.0)
- rack
+ json-jwt (>= 1.11.0)
+ rack (>= 2.1.0)
rack-protection (2.0.5)
rack
rack-proxy (0.6.0)
@@ -910,7 +922,7 @@ GEM
thor (>= 0.20.3, < 2.0)
rainbow (3.0.0)
raindrops (0.19.1)
- rake (12.3.3)
+ rake (13.0.1)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
@@ -945,7 +957,7 @@ GEM
redis-store (>= 1.2, < 2)
redis-store (1.8.1)
redis (>= 4, < 5)
- regexp_parser (1.5.1)
+ regexp_parser (1.8.2)
regexp_property_values (0.3.5)
representable (3.0.4)
declarative (< 0.1.0)
@@ -965,7 +977,7 @@ GEM
rexml (3.2.4)
rinku (2.0.0)
rotp (2.1.2)
- rouge (3.24.0)
+ rouge (3.25.0)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
@@ -1001,29 +1013,34 @@ GEM
rspec-support (3.9.2)
rspec_junit_formatter (0.4.1)
rspec-core (>= 2, < 4, != 2.12.0)
- rspec_profiling (0.0.5)
+ rspec_profiling (0.0.6)
activerecord
pg
rails
sqlite3
- rubocop (0.82.0)
- jaro_winkler (~> 1.5.1)
+ rubocop (0.89.1)
parallel (~> 1.10)
- parser (>= 2.7.0.1)
+ parser (>= 2.7.1.1)
rainbow (>= 2.2.2, < 4.0)
+ regexp_parser (>= 1.7)
rexml
+ rubocop-ast (>= 0.3.0, < 1.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
+ rubocop-ast (0.8.0)
+ parser (>= 2.7.1.5)
rubocop-gitlab-security (0.1.1)
rubocop (>= 0.51)
- rubocop-performance (1.5.2)
- rubocop (>= 0.71.0)
- rubocop-rails (2.5.2)
- activesupport
+ rubocop-performance (1.8.1)
+ rubocop (>= 0.87.0)
+ rubocop-ast (>= 0.4.0)
+ rubocop-rails (2.8.1)
+ activesupport (>= 4.2.0)
rack (>= 1.1)
- rubocop (>= 0.72.0)
- rubocop-rspec (1.37.0)
- rubocop (>= 0.68.1)
+ rubocop (>= 0.87.0)
+ rubocop-rspec (1.44.1)
+ rubocop (~> 0.87)
+ rubocop-ast (>= 0.7.1)
ruby-enum (0.7.2)
i18n
ruby-fogbugz (0.2.1)
@@ -1034,7 +1051,7 @@ GEM
nokogiri (>= 1.5.10)
ruby-statistics (2.1.2)
ruby2_keywords (0.0.2)
- ruby_parser (3.13.1)
+ ruby_parser (3.15.0)
sexp_processor (~> 4.9)
rubyntlm (0.6.2)
rubypants (0.2.0)
@@ -1064,9 +1081,8 @@ GEM
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
- scss_lint (0.56.0)
- rake (>= 0.9, < 13)
- sass (~> 3.5.3)
+ scss_lint (0.59.0)
+ sass (~> 3.5, >= 3.5.5)
securecompare (1.0.0)
seed-fu (2.3.7)
activerecord (>= 3.1)
@@ -1077,7 +1093,7 @@ GEM
sentry-raven (3.0.4)
faraday (>= 1.0)
settingslogic (2.0.9)
- sexp_processor (4.12.0)
+ sexp_processor (4.15.1)
shellany (0.0.1)
shoulda-matchers (4.0.1)
activesupport (>= 4.2.0)
@@ -1105,8 +1121,7 @@ GEM
slack-messenger (2.3.4)
snowplow-tracker (0.6.1)
contracts (~> 0.7, <= 0.11)
- spring (2.0.2)
- activesupport (>= 4.2)
+ spring (2.1.1)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
sprockets (3.7.2)
@@ -1146,7 +1161,7 @@ GEM
rack (>= 1, < 3)
thor (0.20.3)
thread_safe (0.3.6)
- thrift (0.11.0.0)
+ thrift (0.13.0)
tilt (2.0.10)
timecop (0.9.1)
timeliness (0.3.10)
@@ -1162,7 +1177,7 @@ GEM
truncato (0.7.11)
htmlentities (~> 4.3.1)
nokogiri (>= 1.7.0, <= 2.0)
- tzinfo (1.2.7)
+ tzinfo (1.2.8)
thread_safe (~> 0.1)
u2f (0.2.1)
uber (0.1.0)
@@ -1236,14 +1251,13 @@ GEM
xpath (3.2.0)
nokogiri (~> 1.8)
yajl-ruby (1.4.1)
- zeitwerk (2.4.0)
+ zeitwerk (2.4.1)
PLATFORMS
ruby
DEPENDENCIES
RedCloth (~> 4.3.2)
- ace-rails-ap (~> 4.1.0)
acme-client (~> 2.0, >= 2.0.6)
activerecord-explain-analyze (~> 0.1)
acts-as-taggable-on (~> 6.0)
@@ -1283,6 +1297,7 @@ DEPENDENCIES
connection_pool (~> 2.0)
countries (~> 3.0)
creole (~> 0.5.0)
+ crystalball (~> 0.7.0)
danger (~> 8.0.6)
database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.3.1)
@@ -1316,7 +1331,7 @@ DEPENDENCIES
fog-aliyun (~> 0.3)
fog-aws (~> 3.5)
fog-core (= 2.1.0)
- fog-google (~> 1.10)
+ fog-google (~> 1.11)
fog-local (~> 0.6)
fog-openstack (~> 1.0)
fog-rackspace (~> 0.1.1)
@@ -1331,15 +1346,16 @@ DEPENDENCIES
github-markup (~> 1.7.0)
gitlab-chronic (~> 0.10.5)
gitlab-fog-azure-rm (~> 1.0)
- gitlab-labkit (= 0.12.2)
+ gitlab-labkit (= 0.13.1)
gitlab-license (~> 1.0)
gitlab-mail_room (~> 0.0.7)
gitlab-markup (~> 1.7.1)
gitlab-net-dns (~> 0.9.1)
+ gitlab-pg_query (~> 1.3)
gitlab-puma (~> 4.3.3.gitlab.2)
gitlab-puma_worker_killer (~> 0.1.1.gitlab.1)
gitlab-sidekiq-fetcher (= 0.5.2)
- gitlab-styles (~> 4.3.0)
+ gitlab-styles (~> 5.1.0)
gitlab_chronic_duration (~> 0.10.6.2)
gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.2)
@@ -1348,15 +1364,16 @@ DEPENDENCIES
gpgme (~> 2.0.19)
grape (= 1.4.0)
grape-entity (~> 0.7.1)
- grape-path-helpers (~> 1.4)
+ grape-path-helpers (~> 1.5)
grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10)
+ graphlient (~> 0.4.0)
graphql (~> 1.11.4)
graphql-docs (~> 1.6.0)
grpc (~> 1.30.2)
gssapi
guard-rspec
- haml_lint (~> 0.34.0)
+ haml_lint (~> 0.36.0)
hamlit (~> 2.11.0)
hangouts-chat (~> 0.0.5)
hashie
@@ -1429,10 +1446,10 @@ DEPENDENCIES
prometheus-client-mmap (~> 0.12.0)
pry-byebug (~> 3.9.0)
pry-rails (~> 0.3.9)
- rack (~> 2.1.4)
+ rack (~> 2.2.3)
rack-attack (~> 6.3.0)
rack-cors (~> 1.0.6)
- rack-oauth2 (~> 1.9.3)
+ rack-oauth2 (~> 1.16.0)
rack-proxy (~> 0.6.0)
rack-timeout (~> 0.5.1)
rails (~> 6.0.3.1)
@@ -1451,25 +1468,22 @@ DEPENDENCIES
request_store (~> 1.5)
responders (~> 3.0)
retriable (~> 3.1.2)
- rouge (~> 3.24.0)
+ rouge (~> 3.25.0)
rqrcode-rails3 (~> 0.1.7)
rspec-parameterized
rspec-rails (~> 4.0.0)
rspec-retry (~> 0.6.1)
rspec_junit_formatter
- rspec_profiling (~> 0.0.5)
- rubocop (~> 0.82.0)
- rubocop-performance (~> 1.5.2)
- rubocop-rspec (~> 1.37.0)
+ rspec_profiling (~> 0.0.6)
ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 1.3.0)
ruby-progressbar
- ruby_parser (~> 3.8)
+ ruby_parser (~> 3.15)
rubyzip (~> 2.0.0)
rugged (~> 0.28)
sanitize (~> 5.2.1)
sassc-rails (~> 2.1.0)
- scss_lint (~> 0.56.0)
+ scss_lint (~> 0.59.0)
seed-fu (~> 2.3.7)
selenium-webdriver (~> 3.142)
sentry-raven (~> 3.0)
@@ -1482,7 +1496,7 @@ DEPENDENCIES
simplecov-cobertura (~> 1.3.1)
slack-messenger (~> 2.3.4)
snowplow-tracker (~> 0.6.1)
- spring (~> 2.0.0)
+ spring (~> 2.1.0)
spring-commands-rspec (~> 1.0.4)
sprockets (~> 3.7.0)
sshkey (~> 2.0)
@@ -1510,4 +1524,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4.1)
BUNDLED WITH
- 1.17.3
+ 2.1.4
diff --git a/README.md b/README.md
index 38ecb9ea61..e3712d3f9f 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
The canonical source of GitLab where all development takes place is [hosted on GitLab.com](https://gitlab.com/gitlab-org/gitlab).
-If you wish to clone a copy of GitLab without proprietary code, you can use the read-only mirror of GitLab located at https://gitlab.com/gitlab-org/gitlab-foss/. Please do not submit any issues and/or merge requests to this project.
+If you wish to clone a copy of GitLab without proprietary code, you can use the read-only mirror of GitLab located at https://gitlab.com/gitlab-org/gitlab-foss/. However, please do not submit any issues and/or merge requests to that project.
## Free trial
@@ -79,7 +79,7 @@ Instructions on how to start GitLab and how to run the tests can be found in the
GitLab is a Ruby on Rails application that runs on the following software:
- Ubuntu/Debian/CentOS/RHEL/OpenSUSE
-- Ruby (MRI) 2.6.6
+- Ruby (MRI) 2.7.2
- Git 2.24+
- Redis 4.0+
- PostgreSQL 11+
diff --git a/VERSION b/VERSION
index a15cc5b937..b22e91bfa5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-13.5.7
\ No newline at end of file
+13.6.5
\ No newline at end of file
diff --git a/app/assets/javascripts/access_tokens/components/expires_at_field.vue b/app/assets/javascripts/access_tokens/components/expires_at_field.vue
index d0932ad80e..1fec186f2f 100644
--- a/app/assets/javascripts/access_tokens/components/expires_at_field.vue
+++ b/app/assets/javascripts/access_tokens/components/expires_at_field.vue
@@ -1,14 +1,32 @@
-
+
+
diff --git a/app/assets/javascripts/alerts_settings/components/alert_settings_form_help_block.vue b/app/assets/javascripts/alerts_settings/components/alert_settings_form_help_block.vue
new file mode 100644
index 0000000000..35b7fe84c5
--- /dev/null
+++ b/app/assets/javascripts/alerts_settings/components/alert_settings_form_help_block.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+ {{ $options.i18n.columns.gitlabKeyTitle }}
+
+
+
+ {{ $options.i18n.columns.payloadKeyTitle }}
+
+
+ {{ $options.i18n.columns.fallbackKeyTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $options.i18n.emptyState }}
+
+
-