diff --git a/.eslintrc.yml b/.eslintrc.yml
index 48294e0084..1e6df6f5a7 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -42,6 +42,7 @@ rules:
no-jquery/no-serialize: error
promise/always-return: off
promise/no-callback-in-promise: off
+ "@gitlab/no-global-event-off": error
overrides:
- files:
- '**/spec/**/*'
diff --git a/.gitattributes b/.gitattributes
index 8d21784ed1..720e5f6254 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,3 +2,4 @@ VERSION merge=ours
Dangerfile gitlab-language=ruby
*.pdf filter=lfs diff=lfs merge=lfs -text
*.rb diff=ruby
+workhorse/testdata/*.pdf -filter -diff -merge
diff --git a/.gitignore b/.gitignore
index 30cb231e83..93fb0b1144 100644
--- a/.gitignore
+++ b/.gitignore
@@ -77,6 +77,7 @@ eslint-report.html
/.gitlab_kas_secret
/webpack-report/
/crystalball/
+/deprecations/
/knapsack/
/rspec_flaky/
/locale/**/LC_MESSAGES
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4ea5ad1b40..5e54f9cde3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -109,3 +109,4 @@ include:
- local: .gitlab/ci/releases.gitlab-ci.yml
- local: .gitlab/ci/notify.gitlab-ci.yml
- local: .gitlab/ci/dast.gitlab-ci.yml
+ - local: .gitlab/ci/workhorse.gitlab-ci.yml
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS
index a24fef5e44..70d9dbc9ad 100644
--- a/.gitlab/CODEOWNERS
+++ b/.gitlab/CODEOWNERS
@@ -147,6 +147,8 @@
/ee/spec/javascripts/ @gitlab-org/maintainers/frontend
/spec/frontend/ @gitlab-org/maintainers/frontend
/ee/spec/frontend/ @gitlab-org/maintainers/frontend
+/spec/frontend_integration/ @gitlab-org/maintainers/frontend
+/ee/spec/frontend_integration/ @gitlab-org/maintainers/frontend
[Database]
/db/ @gitlab-org/maintainers/database
@@ -159,6 +161,7 @@
/lib/gitlab/github_import/ @gitlab-org/maintainers/database
/app/finders/ @gitlab-org/maintainers/database
/ee/app/finders/ @gitlab-org/maintainers/database
+/rubocop/rubocop-migrations.yml @gitlab-org/maintainers/database
[Engineering Productivity]
/.gitlab-ci.yml @gl-quality/eng-prod
@@ -194,12 +197,17 @@ Dangerfile @gl-quality/eng-prod
# Secure & Threat Management ownership delineation
# https://about.gitlab.com/handbook/engineering/development/threat-management/delineate-secure-threat-management.html#technical-boundaries
-[Secure]
+[Threat Insights]
/ee/app/finders/security/ @gitlab-org/secure/threat-insights-backend-team
/ee/app/models/security/ @gitlab-org/secure/threat-insights-backend-team
/ee/app/models/vulnerabilities/ @gitlab-org/secure/threat-insights-backend-team
/ee/app/models/vulnerability.rb @gitlab-org/secure/threat-insights-backend-team
+/ee/app/policies/vulnerabilities/ @gitlab-org/secure/threat-insights-backend-team
+/ee/app/policies/vulnerability*.rb @gitlab-org/secure/threat-insights-backend-team
/ee/lib/api/vulnerabilit*.rb @gitlab-org/secure/threat-insights-backend-team
+/ee/spec/policies/vulnerabilities/ @gitlab-org/secure/threat-insights-backend-team
+/ee/spec/policies/vulnerabilities/vulnerability*.rb @gitlab-org/secure/threat-insights-backend-team
+[Secure]
/ee/lib/gitlab/ci/parsers/license_compliance/ @gitlab-org/secure/composition-analysis-be
/ee/lib/gitlab/ci/parsers/security/ @gitlab-org/secure/composition-analysis-be @gitlab-org/secure/dynamic-analysis-be @gitlab-org/secure/static-analysis-be @gitlab-org/secure/fuzzing-be
/ee/lib/gitlab/ci/reports/coverage_fuzzing/ @gitlab-org/secure/fuzzing-be
diff --git a/.gitlab/ci/dev-fixtures.gitlab-ci.yml b/.gitlab/ci/dev-fixtures.gitlab-ci.yml
index 4141cc7f07..c19dce7e4a 100644
--- a/.gitlab/ci/dev-fixtures.gitlab-ci.yml
+++ b/.gitlab/ci/dev-fixtures.gitlab-ci.yml
@@ -8,9 +8,9 @@
needs: ["setup-test-env"]
variables:
FIXTURE_PATH: "db/fixtures/development"
- SEED_CYCLE_ANALYTICS: "true"
+ SEED_VSA: "true"
SEED_PRODUCTIVITY_ANALYTICS: "true"
- CYCLE_ANALYTICS_ISSUE_COUNT: 1
+ VSA_ISSUE_COUNT: 1
SIZE: 0 # number of external projects to fork, requires network connection
# SEED_NESTED_GROUPS: "false" # requires network connection
diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml
index b258eb7351..d6dc709a11 100644
--- a/.gitlab/ci/docs.gitlab-ci.yml
+++ b/.gitlab/ci/docs.gitlab-ci.yml
@@ -53,7 +53,7 @@ docs-lint links:
extends:
- .default-retry
- .docs:rules:docs-lint
- image: "registry.gitlab.com/gitlab-org/gitlab-docs/lint:ruby-2.7.2-alpine-3.12-vale-2.4.3-markdownlint-0.24.0"
+ image: "registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.12-ruby-2.7.2"
stage: test
needs: []
script:
@@ -66,6 +66,13 @@ docs-lint links:
- bundle exec nanoc
# Check the internal links
- bundle exec nanoc check internal_links
+ # Delete the redirect files, rebuild, and check internal links again, to see if we are linking to redirects.
+ # Don't delete the documentation/index.md, which is a false positive for the simple grep.
+ - grep -rl "redirect_to:" /tmp/gitlab-docs/content/ee/ | grep -v "development/documentation/index.md" | xargs rm -f
+ - bundle exec nanoc
+ - echo -e "\e[1;96mThe following test fails when a doc links to a redirect file."
+ - echo -e "\e[1;96mMake sure all links point to the correct page."
+ - bundle exec nanoc check internal_links
# Check the internal anchor links
- bundle exec nanoc check internal_anchors
diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml
index 14b07dd4a2..2818b6be17 100644
--- a/.gitlab/ci/rails.gitlab-ci.yml
+++ b/.gitlab/ci/rails.gitlab-ci.yml
@@ -14,6 +14,10 @@
- run_timed_command "scripts/gitaly-test-spawn"
- source ./scripts/rspec_helpers.sh
+.minimal-rspec-tests:
+ variables:
+ RSPEC_TESTS_MAPPING_ENABLED: "true"
+
.rspec-base:
extends: .rails-job-base
stage: test
@@ -21,7 +25,8 @@
RUBY_GC_MALLOC_LIMIT: 67108864
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
CRYSTALBALL: "true"
- needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets"]
+ RECORD_DEPRECATIONS: "true"
+ needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
script:
- *base-script
- rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"
@@ -31,6 +36,7 @@
paths:
- coverage/
- crystalball/
+ - deprecations/
- knapsack/
- rspec_flaky/
- rspec_profiling/
@@ -62,7 +68,7 @@
- .rspec-base
- .as-if-foss
- .use-pg11
- needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss"]
+ needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"]
.rspec-ee-base-pg11:
extends:
@@ -238,24 +244,48 @@ rspec migration pg11:
- .rspec-base-migration
- .rspec-migration-parallel
+rspec migration pg11 minimal:
+ extends:
+ - rspec migration pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-and-foss-migration:minimal
+
rspec unit pg11:
extends:
- .rspec-base-pg11
- .rails:rules:ee-and-foss-unit
- .rspec-unit-parallel
+rspec unit pg11 minimal:
+ extends:
+ - rspec unit pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-and-foss-unit:minimal
+
rspec integration pg11:
extends:
- .rspec-base-pg11
- .rails:rules:ee-and-foss-integration
- .rspec-integration-parallel
+rspec integration pg11 minimal:
+ extends:
+ - rspec integration pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-and-foss-integration:minimal
+
rspec system pg11:
extends:
- .rspec-base-pg11
- .rails:rules:ee-and-foss-system
- .rspec-system-parallel
+rspec system pg11 minimal:
+ extends:
+ - rspec system pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-and-foss-system:minimal
+
rspec fast_spec_helper:
extends:
- .rspec-base-pg11
@@ -263,6 +293,12 @@ rspec fast_spec_helper:
script:
- bin/rspec spec/fast_spec_helper.rb
+rspec fast_spec_helper minimal:
+ extends:
+ - rspec fast_spec_helper
+ - .minimal-rspec-tests
+ - .rails:rules:ee-and-foss-fast_spec_helper:minimal
+
db:migrate:reset:
extends: .db-job-base
script:
@@ -284,7 +320,7 @@ db:migrate-from-v12.10.0:
- export TAG_TO_CHECKOUT="v12.10.0-ee"
- '[[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab-foss"'
- '[[ -d "ee/" ]] || export TAG_TO_CHECKOUT="v12.10.0"'
- - git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT
+ - retry '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
@@ -382,6 +418,7 @@ rspec:feature-flags:
- .coverage-base
- .rails:rules:rspec-feature-flags
stage: post-test
+ allow_failure: true
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies:
@@ -401,7 +438,8 @@ rspec:feature-flags:
- memory-on-boot
script:
- run_timed_command "bundle install --jobs=$(nproc) --path=vendor --retry=3 --quiet --without default development test production puma unicorn kerberos metrics omnibus ed25519"
- - run_timed_command "bundle exec scripts/used-feature-flags"
+ - 'run_timed_command "bundle exec scripts/used-feature-flags" || (scripts/slack master-broken "☠️ \`${CI_JOB_NAME}\` failed! ☠️ See ${CI_JOB_URL}" ci_failing "GitLab Bot" && exit 1)'
+
# EE/FOSS: default refs (MRs, master, schedules) jobs #
#######################################################
@@ -414,24 +452,48 @@ rspec migration pg11-as-if-foss:
- .rails:rules:as-if-foss-migration
- .rspec-migration-parallel
+rspec migration pg11-as-if-foss minimal:
+ extends:
+ - rspec migration pg11-as-if-foss
+ - .minimal-rspec-tests
+ - .rails:rules:as-if-foss-migration:minimal
+
rspec unit pg11-as-if-foss:
extends:
- .rspec-base-pg11-as-if-foss
- .rails:rules:as-if-foss-unit
- .rspec-unit-parallel
+rspec unit pg11-as-if-foss minimal:
+ extends:
+ - rspec unit pg11-as-if-foss
+ - .minimal-rspec-tests
+ - .rails:rules:as-if-foss-unit:minimal
+
rspec integration pg11-as-if-foss:
extends:
- .rspec-base-pg11-as-if-foss
- .rails:rules:as-if-foss-integration
- .rspec-integration-parallel
+rspec integration pg11-as-if-foss minimal:
+ extends:
+ - rspec integration pg11-as-if-foss
+ - .minimal-rspec-tests
+ - .rails:rules:as-if-foss-integration:minimal
+
rspec system pg11-as-if-foss:
extends:
- .rspec-base-pg11-as-if-foss
- .rails:rules:as-if-foss-system
- .rspec-system-parallel
+rspec system pg11-as-if-foss minimal:
+ extends:
+ - rspec system pg11-as-if-foss
+ - .minimal-rspec-tests
+ - .rails:rules:as-if-foss-system:minimal
+
rspec-ee migration pg11:
extends:
- .rspec-ee-base-pg11
@@ -439,40 +501,82 @@ rspec-ee migration pg11:
- .rails:rules:ee-only-migration
- .rspec-ee-migration-parallel
+rspec-ee migration pg11 minimal:
+ extends:
+ - rspec-ee migration pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-migration:minimal
+
rspec-ee unit pg11:
extends:
- .rspec-ee-base-pg11
- .rails:rules:ee-only-unit
- .rspec-ee-unit-parallel
+rspec-ee unit pg11 minimal:
+ extends:
+ - rspec-ee unit pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-unit:minimal
+
rspec-ee integration pg11:
extends:
- .rspec-ee-base-pg11
- .rails:rules:ee-only-integration
- .rspec-ee-integration-parallel
+rspec-ee integration pg11 minimal:
+ extends:
+ - rspec-ee integration pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-integration:minimal
+
rspec-ee system pg11:
extends:
- .rspec-ee-base-pg11
- .rails:rules:ee-only-system
- .rspec-ee-system-parallel
+rspec-ee system pg11 minimal:
+ extends:
+ - rspec-ee system pg11
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-system:minimal
+
rspec-ee unit pg11 geo:
extends:
- .rspec-ee-base-geo-pg11
- .rails:rules:ee-only-unit
- .rspec-ee-unit-geo-parallel
+rspec-ee unit pg11 geo minimal:
+ extends:
+ - rspec-ee unit pg11 geo
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-unit:minimal
+
rspec-ee integration pg11 geo:
extends:
- .rspec-ee-base-geo-pg11
- .rails:rules:ee-only-integration
+rspec-ee integration pg11 geo minimal:
+ extends:
+ - rspec-ee integration pg11 geo
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-integration:minimal
+
rspec-ee system pg11 geo:
extends:
- .rspec-ee-base-geo-pg11
- .rails:rules:ee-only-system
+rspec-ee system pg11 geo minimal:
+ extends:
+ - rspec-ee system pg11 geo
+ - .minimal-rspec-tests
+ - .rails:rules:ee-only-system:minimal
+
db:rollback geo:
extends:
- db:rollback
diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml
index 565ed93967..85aec07055 100644
--- a/.gitlab/ci/reports.gitlab-ci.yml
+++ b/.gitlab/ci/reports.gitlab-ci.yml
@@ -145,6 +145,10 @@ dependency_scanning:
--volume "$PWD:/code" \
--volume /var/run/docker.sock:/var/run/docker.sock \
"registry.gitlab.com/gitlab-org/security-products/dependency-scanning:$DS_MAJOR_VERSION" /code
+ # Post-processing: This will be an after_script once this job will use the Dependency Scanning CI template
+ - apk add jq
+ # Lower execa severity based on https://gitlab.com/gitlab-org/gitlab/-/issues/223859#note_452922390
+ - jq '(.vulnerabilities[] | select (.cve == "yarn.lock:execa:gemnasium:05cfa2e8-2d0c-42c1-8894-638e2f12ff3d")).severity = "Medium"' gl-dependency-scanning-report.json > temp.json && mv temp.json gl-dependency-scanning-report.json
artifacts:
paths:
- gl-dependency-scanning-report.json # GitLab-specific
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index d3069657e8..f1bd173ff6 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -38,7 +38,7 @@ review-build-cng:
- BUILD_TRIGGER_TOKEN=$REVIEW_APPS_BUILD_TRIGGER_TOKEN ./scripts/trigger-build cng
# When the job is manual, review-deploy is also manual and we don't want people
# to have to manually start the jobs in sequence, so we do it for them.
- - '[ -z $CI_JOB_MANUAL ] || play_job "review-deploy"'
+ - '[ -z $CI_JOB_MANUAL ] || scripts/api/play_job --job-name "review-deploy"'
.review-workflow-base:
extends:
@@ -78,8 +78,8 @@ review-deploy:
- disable_sign_ups || (delete_release && exit 1)
# When the job is manual, review-qa-smoke is also manual and we don't want people
# to have to manually start the jobs in sequence, so we do it for them.
- - '[ -z $CI_JOB_MANUAL ] || play_job "review-qa-smoke"'
- - '[ -z $CI_JOB_MANUAL ] || play_job "review-performance"'
+ - '[ -z $CI_JOB_MANUAL ] || scripts/api/play_job --job-name "review-qa-smoke"'
+ - '[ -z $CI_JOB_MANUAL ] || scripts/api/play_job --job-name "review-performance"'
after_script:
# Run seed-dast-test-data.sh only when DAST_RUN is set to true. This is to pupulate review app with data for DAST scan.
# Set DAST_RUN to true when jobs are manually scheduled.
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 7f469221da..159defc83c 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -46,6 +46,9 @@
.if-security-merge-request: &if-security-merge-request
if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID'
+.if-security-schedule: &if-security-schedule
+ if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_PIPELINE_SOURCE == "schedule"'
+
.if-dot-com-gitlab-org-schedule: &if-dot-com-gitlab-org-schedule
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"'
@@ -67,6 +70,9 @@
.if-cache-credentials-schedule: &if-cache-credentials-schedule
if: '$CI_REPO_CACHE_CREDENTIALS && $CI_PIPELINE_SOURCE == "schedule"'
+.if-merge-request-rspec-minimal-disabled: &if-merge-request-rspec-minimal-disabled
+ if: '$CI_MERGE_REQUEST_IID && $RSPEC_MINIMAL_ENABLED != "true"'
+
.if-rspec-fail-fast-disabled: &if-rspec-fail-fast-disabled
if: '$RSPEC_FAIL_FAST_ENABLED != "true"'
@@ -103,6 +109,10 @@
- ".gitlab/ci/build-images.gitlab-ci.yml"
- ".gitlab/ci/qa.gitlab-ci.yml"
+.workhorse-patterns: &workhorse-patterns
+ - "GITLAB_WORKHORSE_VERSION"
+ - "workhorse/**/*"
+
.yaml-lint-patterns: &yaml-lint-patterns
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*.yml"
@@ -154,6 +164,7 @@
- "{,ee/}fixtures/**/*"
- "{,ee/}rubocop/**/*"
- "{,ee/}spec/**/*"
+ - "{,spec/}tooling/**/*"
.code-patterns: &code-patterns
- "{package.json,yarn.lock}"
@@ -200,6 +211,7 @@
- "{,ee/}fixtures/**/*"
- "{,ee/}rubocop/**/*"
- "{,ee/}spec/**/*"
+ - "{,spec/}tooling/**/*"
.code-qa-patterns: &code-qa-patterns
- "{package.json,yarn.lock}"
@@ -245,6 +257,7 @@
- "{,ee/}fixtures/**/*"
- "{,ee/}rubocop/**/*"
- "{,ee/}spec/**/*"
+ - "{,spec/}tooling/**/*"
# QA changes
- ".dockerignore"
- "qa/**/*"
@@ -255,6 +268,7 @@
.shared:rules:update-cache:
rules:
- <<: *if-master-schedule-2-hourly
+ - <<: *if-security-schedule
- <<: *if-merge-request-title-update-caches
######################
@@ -395,6 +409,7 @@
when: never
- <<: *if-merge-request
changes: *code-backstage-patterns
+ when: always
- <<: *if-master-refs
changes: *code-backstage-patterns
@@ -480,26 +495,86 @@
- changes: *db-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-and-foss-migration:minimal:
+ rules:
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *db-patterns
+
.rails:rules:ee-and-foss-unit:
rules:
- changes: *backend-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-and-foss-unit:minimal:
+ rules:
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *backend-patterns
+
.rails:rules:ee-and-foss-integration:
rules:
- changes: *backend-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-and-foss-integration:minimal:
+ rules:
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *backend-patterns
+
.rails:rules:ee-and-foss-system:
rules:
- changes: *code-backstage-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-and-foss-system:minimal:
+ rules:
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *code-backstage-patterns
+
.rails:rules:ee-and-foss-fast_spec_helper:
rules:
- changes: ["config/**/*"]
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-and-foss-fast_spec_helper:minimal:
+ rules:
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: ["config/**/*"]
+
.rails:rules:default-refs-code-backstage-qa:
rules:
- <<: *if-default-refs
@@ -513,6 +588,20 @@
- changes: *db-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-only-migration:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *db-patterns
+
.rails:rules:ee-only-unit:
rules:
- <<: *if-not-ee
@@ -520,6 +609,20 @@
- changes: *backend-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-only-unit:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *backend-patterns
+
.rails:rules:ee-only-integration:
rules:
- <<: *if-not-ee
@@ -527,6 +630,20 @@
- changes: *backend-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-only-integration:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *backend-patterns
+
.rails:rules:ee-only-system:
rules:
- <<: *if-not-ee
@@ -534,6 +651,20 @@
- changes: *code-backstage-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:ee-only-system:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request-title-run-all-rspec
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-merge-request
+ changes: *code-backstage-patterns
+
.rails:rules:as-if-foss-migration:
rules:
- <<: *if-not-ee
@@ -545,6 +676,20 @@
- <<: *if-merge-request
changes: *ci-patterns
+.rails:rules:as-if-foss-migration:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-security-merge-request
+ changes: *db-patterns
+ - <<: *if-merge-request-title-as-if-foss
+ changes: *db-patterns
+
.rails:rules:as-if-foss-unit:
rules:
- <<: *if-not-ee
@@ -556,6 +701,20 @@
- <<: *if-merge-request
changes: *ci-patterns
+.rails:rules:as-if-foss-unit:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-security-merge-request
+ changes: *backend-patterns
+ - <<: *if-merge-request-title-as-if-foss
+ changes: *backend-patterns
+
.rails:rules:as-if-foss-integration:
rules:
- <<: *if-not-ee
@@ -567,6 +726,20 @@
- <<: *if-merge-request
changes: *ci-patterns
+.rails:rules:as-if-foss-integration:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-security-merge-request
+ changes: *backend-patterns
+ - <<: *if-merge-request-title-as-if-foss
+ changes: *backend-patterns
+
.rails:rules:as-if-foss-system:
rules:
- <<: *if-not-ee
@@ -578,6 +751,20 @@
- <<: *if-merge-request
changes: *ci-patterns
+.rails:rules:as-if-foss-system:minimal:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-rspec-minimal-disabled
+ when: never
+ - <<: *if-merge-request
+ changes: *ci-patterns
+ when: never
+ - <<: *if-security-merge-request
+ changes: *code-backstage-patterns
+ - <<: *if-merge-request-title-as-if-foss
+ changes: *code-backstage-patterns
+
.rails:rules:ee-mr-and-master-only:
rules:
- <<: *if-not-ee
@@ -590,12 +777,9 @@
.rails:rules:detect-tests:
rules:
- - <<: *if-not-ee
- when: never
- - <<: *if-security-merge-request
- changes: *code-backstage-patterns
- - <<: *if-dot-com-gitlab-org-merge-request
+ - <<: *if-default-refs
changes: *code-backstage-patterns
+ - <<: *if-merge-request-title-run-all-rspec
.rails:rules:rspec-foss-impact:
rules:
@@ -647,8 +831,10 @@
when: never
- <<: *if-merge-request
changes: *code-backstage-patterns
+ when: always
- <<: *if-master-schedule-2-hourly
- <<: *if-merge-request-title-run-all-rspec
+ when: always
.rails:rules:rspec-feature-flags:
rules:
@@ -912,6 +1098,14 @@
- <<: *if-dot-com-ee-schedule
changes: *code-backstage-patterns
+###################
+# workhorse rules #
+###################
+.workhorse:rules:workhorse:
+ rules:
+ - <<: *if-default-refs
+ changes: *workhorse-patterns
+
###################
# yaml-lint rules #
###################
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index abe7625c74..74510a0a03 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -61,15 +61,17 @@ verify-tests-yml:
- scripts/verify-tff-mapping
.detect-test-base:
- image: ruby:2.7-alpine
+ image: ruby:2.7
needs: []
stage: prepare
script:
- - source scripts/utils.sh
+ - source ./scripts/utils.sh
+ - source ./scripts/rspec_helpers.sh
- install_gitlab_gem
- install_tff_gem
- - tooling/bin/find_foss_tests ${MATCHED_TESTS_FILE}
- - 'echo "test files affected: $(cat $MATCHED_TESTS_FILE)"'
+ - retrieve_tests_mapping
+ - 'if [ -n "$CI_MERGE_REQUEST_IID" ]; then tooling/bin/find_tests ${MATCHED_TESTS_FILE}; fi'
+ - 'if [ -n "$CI_MERGE_REQUEST_IID" ]; then echo "test files affected: $(cat $MATCHED_TESTS_FILE)"; fi'
artifacts:
expire_in: 7d
paths:
@@ -80,6 +82,7 @@ detect-tests:
- .detect-test-base
- .rails:rules:detect-tests
variables:
+ RSPEC_TESTS_MAPPING_ENABLED: "true"
MATCHED_TESTS_FILE: tmp/matching_tests.txt
detect-tests as-if-foss:
diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml
index e4b7047ef7..aec0a1640f 100644
--- a/.gitlab/ci/test-metadata.gitlab-ci.yml
+++ b/.gitlab/ci/test-metadata.gitlab-ci.yml
@@ -1,6 +1,5 @@
.tests-metadata-state:
- variables:
- TESTS_METADATA_S3_BUCKET: "gitlab-ce-cache"
+ image: ruby:2.7
before_script:
- source scripts/utils.sh
artifacts:
@@ -17,7 +16,8 @@ retrieve-tests-metadata:
- .test-metadata:rules:retrieve-tests-metadata
stage: prepare
script:
- - source scripts/rspec_helpers.sh
+ - install_gitlab_gem
+ - source ./scripts/rspec_helpers.sh
- retrieve_tests_metadata
update-tests-metadata:
diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml
new file mode 100644
index 0000000000..2913115987
--- /dev/null
+++ b/.gitlab/ci/workhorse.gitlab-ci.yml
@@ -0,0 +1,10 @@
+workhorse:
+ extends: .workhorse:rules:workhorse
+ image: golang:1.14
+ stage: test
+ needs: []
+ script:
+ - rm .git/hooks/post-checkout
+ - git checkout .
+ - scripts/update-workhorse check
+ - make -C workhorse
diff --git a/.gitlab/issue_templates/Doc Review.md b/.gitlab/issue_templates/Doc Review.md
index bd3843ac5c..5b470ed7c7 100644
--- a/.gitlab/issue_templates/Doc Review.md
+++ b/.gitlab/issue_templates/Doc Review.md
@@ -3,7 +3,7 @@
+ [listed for that stage](https://about.gitlab.com/handbook/product/categories/#devops-stages). -->
## References
diff --git a/.gitlab/issue_templates/Experiment Successful Cleanup.md b/.gitlab/issue_templates/Experiment Successful Cleanup.md
new file mode 100644
index 0000000000..3f148ec00b
--- /dev/null
+++ b/.gitlab/issue_templates/Experiment Successful Cleanup.md
@@ -0,0 +1,18 @@
+
+
+## Summary
+
+The experiment is currently rolled out to 100% of users and has been deemed a success.
+The changes need to become an official part of the product.
+
+## Steps
+
+- [ ] Determine whether the feature should apply to SaaS and/or self-managed
+- [ ] Determine whether the feature should apply to EE - and which tiers - and/or Core
+- [ ] Determine if tracking should be kept as is, removed, or modified.
+- [ ] Migrate experiment to a default enabled [feature flag](https://docs.gitlab.com/ee/development/feature_flags/development.html) for one milestone and add a changelog. Converting to a feature flag can be skipped at the ICs discretion if risk is deemed low with consideration to both SaaS and (if applicable) self managed.
+- [ ] Ensure any relevant documentation has been updated.
+- [ ] In the next milestone, [remove the feature flag](https://docs.gitlab.com/ee/development/feature_flags/controls.html#cleaning-up).
+- [ ] After the flag removal is deployed, [clean up the feature/experiment feature flags](https://docs.gitlab.com/ee/development/feature_flags/controls.html#cleaning-up) by running chatops command in `#production` channel
+
+/label ~"feature" ~"feature::maintenance" ~"workflow::scheduling" ~"growth experiment" ~"feature flag"
diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md
index a0b64b5325..67686b654b 100644
--- a/.gitlab/issue_templates/Feature Flag Roll Out.md
+++ b/.gitlab/issue_templates/Feature Flag Roll Out.md
@@ -18,7 +18,8 @@ Remove the `:feature_name` feature flag ...
### What can we monitor to detect problems with this?
-
+
+
## Beta groups/projects
@@ -30,13 +31,13 @@ If applicable, any groups/projects that are happy to have this feature turned on
## Roll Out Steps
+- [ ] Confirm that QA tests pass with the feature flag enabled (if you're unsure how, contact the relevant [stable counterpart in the Quality department](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors))
- [ ] Enable on staging (`/chatops run feature set feature_name true --staging`)
- [ ] 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 the SRE oncall and release managers
- - In `#production` by pinging `@sre-oncall`
- - In `#g_delivery` by pinging `@release-managers`
+ - In `#production` mention `@sre-oncall` and `@release-managers`. Once an SRE on call and Release Manager on call confirm, you can proceed with the rollout
- [ ] 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
diff --git a/.gitlab/issue_templates/Feature proposal.md b/.gitlab/issue_templates/Feature proposal.md
index b6f83be912..5ab46bfa26 100644
--- a/.gitlab/issue_templates/Feature proposal.md
+++ b/.gitlab/issue_templates/Feature proposal.md
@@ -96,8 +96,11 @@ 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/Implementation.md b/.gitlab/issue_templates/Implementation.md
index dc5eb18a25..888c993766 100644
--- a/.gitlab/issue_templates/Implementation.md
+++ b/.gitlab/issue_templates/Implementation.md
@@ -42,7 +42,7 @@ call-out responsibilities for other team members or teams.
-->
- [ ] ~frontend Step 1
- - [ ] @person Step 1a
+ - [ ] `@person` Step 1a
- [ ] ~frontend Step 2
diff --git a/.gitlab/issue_templates/Lean Feature Proposal.md b/.gitlab/issue_templates/Lean Feature Proposal.md
index b1cb98ba5e..44210a8902 100644
--- a/.gitlab/issue_templates/Lean Feature Proposal.md
+++ b/.gitlab/issue_templates/Lean Feature Proposal.md
@@ -17,7 +17,11 @@
/label ~"feature" ~"group::" ~"section::" ~"Category::" ~"GitLab Core"/~"GitLab Starter"/~"GitLab Premium"/~"GitLab Ultimate"
-
-
-:warning: **Only Release Managers and members of the AppSec team can edit the description of this issue**
-
--------
-
-## Version issues:
-
-12.2.X, 12.1.X, 12.0.X: {release task link}
-
-## Issues in GitLab Security
-
-To include your issue and merge requests in this Security Release, please mark
-your security issues as related to this release tracking issue. You can do this
-in the "Linked issues" section below this issue description.
-
-:warning: If your security issues are not marked as related to this release
-tracking issue, their merge requests will not be included in the security
-release.
-
-### Branches to target in GitLab Security
-
-Your Security Implementation Issue should have `4` merge requests associated:
-
-- [master and 3 backports](https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/security/developer.md#backports)
-- Backports should target the stable branches for the versions mentioned included in this Security Release
-
-## Blog post
-
-Security: {https://gitlab.com/gitlab-org/security/www-gitlab-com/merge_requests/ link}
-GitLab.com: {https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/ link}
-
-## Email notification
-{https://gitlab.com/gitlab-com/marketing/general/issues/ link}
-
-/label ~security ~"upcoming security release"
-/confidential
diff --git a/.gitlab/issue_templates/Snowplow event tracking.md b/.gitlab/issue_templates/Snowplow event tracking.md
index 47b97f377c..4a906b6137 100644
--- a/.gitlab/issue_templates/Snowplow event tracking.md
+++ b/.gitlab/issue_templates/Snowplow event tracking.md
@@ -37,6 +37,10 @@ We generally recommend events be tracked using a [structured event](https://docs
* [ ] Create chart(s) to track your event(s) in the relevant dashboard
* [ ] Use the [Chart Snowplow Actions](https://app.periscopedata.com/app/gitlab/snippet/Chart-Snowplow-Actions/5546da87ae2c4a3fbc98415c88b3eedd/edit) SQL snippet to quickly visualize usage. See [example](https://app.periscopedata.com/app/gitlab/737489/Health-Group-Dashboard?widget=9797112&udv=0)
-
+
/label ~devops:: ~group: ~Category:
/label ~"snowplow tracking events"
diff --git a/.gitlab/issue_templates/actionable_insight.md b/.gitlab/issue_templates/actionable_insight.md
index 68b2b15383..ff6a4f1291 100644
--- a/.gitlab/issue_templates/actionable_insight.md
+++ b/.gitlab/issue_templates/actionable_insight.md
@@ -31,5 +31,4 @@ Actionable insights always have a follow-up action that needs to take place as a
-
- /label ~"Actionable Insight"
+/label ~"Actionable Insight"
diff --git a/.gitlab/merge_request_templates/Documentation.md b/.gitlab/merge_request_templates/Documentation.md
index b059c1f68a..9113bf7d02 100644
--- a/.gitlab/merge_request_templates/Documentation.md
+++ b/.gitlab/merge_request_templates/Documentation.md
@@ -15,9 +15,9 @@
## Author's checklist (required)
-- [ ] Follow the [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/) and [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide.html).
+- [ ] Follow the [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/) and [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide/).
- If you have **Developer** permissions or higher:
- - [ ] Ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide.html#product-badges) is added to doc's `h1`.
+ - [ ] Ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added to doc's `h1`.
- [ ] Apply the ~documentation label, plus:
- The corresponding DevOps stage and group labels, if applicable.
- ~"development guidelines" when changing docs under `doc/development/*`, `CONTRIBUTING.md`, or `README.md`.
@@ -45,7 +45,7 @@ All reviewers can help ensure accuracy, clarity, completeness, and adherence to
**2. Technical Writer**
-- [ ] Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable [DevOps stage](https://about.gitlab.com/handbook/product/product-categories/#devops-stages).
+- [ ] Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable [DevOps stage](https://about.gitlab.com/handbook/product/categories/#devops-stages).
- [ ] Ensure docs metadata are present and up-to-date.
- [ ] Ensure ~"Technical Writing" and ~"documentation" are added.
- [ ] Add the corresponding `docs::` [scoped label](https://gitlab.com/groups/gitlab-org/-/labels?utf8=%E2%9C%93&subscribed=&search=docs%3A%3A).
diff --git a/.gitlab/merge_request_templates/New End To End Test.md b/.gitlab/merge_request_templates/New End To End Test.md
new file mode 100644
index 0000000000..9bd7f11d4a
--- /dev/null
+++ b/.gitlab/merge_request_templates/New End To End Test.md
@@ -0,0 +1,26 @@
+## Description of the test
+
+
+
+### Check-list
+
+- [ ] Confirm the test has a [`testcase:` tag linking to an existing test case](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/best_practices.html#link-a-test-to-its-test-case-issue) in the test case project.
+- [ ] Note if the test is intended to run in specific scenarios. If a scenario is new, add a link to the MR that adds the new scenario.
+- [ ] Follow the end-to-end tests [style guide](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/style_guide.html) and [best practices](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/best_practices.html).
+- [ ] Use the appropriate [RSpec metadata tag(s)](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/rspec_metadata_tests.html#rspec-metadata-for-end-to-end-tests).
+- [ ] Ensure that a created resource is removed after test execution.
+- [ ] Verify the tags to ensure it runs on the desired test environments.
+- [ ] If this MR has a dependency on another MR, such as a GitLab QA MR, specify the order in which the MRs should be merged.
+- [ ] (If applicable) Create a follow-up issue to document [the special setup](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/running_tests_that_require_special_setup.html) necessary to run the test: ISSUE_LINK
+
+
+/label ~"Quality" ~"QA" ~test
+
+
+
+/label ~"Quality:test-gap" ~"Quality:EE test gaps"
+
+
+/label ~"feature::addition" ~"feature::maintenance"
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 6d6a5d2a81..c83d5420a4 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -214,7 +214,6 @@ linters:
- 'app/views/projects/mattermosts/_team_selection.html.haml'
- 'app/views/projects/mattermosts/new.html.haml'
- 'app/views/projects/merge_requests/_commits.html.haml'
- - 'app/views/projects/merge_requests/_how_to_merge.html.haml'
- 'app/views/projects/merge_requests/_mr_title.html.haml'
- 'app/views/projects/merge_requests/conflicts/_commit_stats.html.haml'
- 'app/views/projects/merge_requests/conflicts/_file_actions.html.haml'
@@ -286,7 +285,6 @@ linters:
- 'app/views/shared/hook_logs/_content.html.haml'
- 'app/views/shared/issuable/_assignees.html.haml'
- 'app/views/shared/issuable/_board_create_list_dropdown.html.haml'
- - 'app/views/shared/issuable/_close_reopen_report_toggle.html.haml'
- 'app/views/shared/issuable/_form.html.haml'
- 'app/views/shared/issuable/_search_bar.html.haml'
- 'app/views/shared/issuable/_sidebar.html.haml'
diff --git a/.rubocop.yml b/.rubocop.yml
index 34d6fe5e43..b133ecbcf9 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -32,6 +32,7 @@ AllCops:
- 'builds/**/*'
- 'plugins/**/*'
- 'file_hooks/**/*'
+ - 'workhorse/**/*'
CacheRootDirectory: tmp
MaxFilesInCache: 18000
@@ -47,6 +48,10 @@ Cop/StaticTranslationDefinition:
- 'spec/**/*'
- 'ee/spec/**/*'
+Lint/LastKeywordArgument:
+ Enabled: true
+ Safe: false
+
# This cop checks whether some constant value isn't a
# mutable literal (e.g. array or hash).
Style/MutableConstant:
@@ -271,6 +276,12 @@ GitlabSecurity/PublicSend:
Gitlab/DuplicateSpecLocation:
Enabled: true
+Gitlab/PolicyRuleBoolean:
+ Enabled: true
+ Include:
+ - 'app/policies/**/*'
+ - 'ee/app/policies/**/*'
+
Cop/InjectEnterpriseEditionModule:
Enabled: true
Exclude:
@@ -357,6 +368,8 @@ Cop/SidekiqOptionsQueue:
Graphql/ResolverType:
Enabled: true
+ Exclude:
+ - 'app/graphql/resolvers/base_resolver.rb'
Include:
- 'app/graphql/resolvers/**/*'
- 'ee/app/graphql/resolvers/**/*'
@@ -422,13 +435,11 @@ Scalability/FileUploads:
Graphql/Descriptions:
Enabled: true
+ AutoCorrect: true
Include:
- 'app/graphql/**/*'
- 'ee/app/graphql/**/*'
-RSpec/AnyInstanceOf:
- Enabled: false
-
# Cops for upgrade to gitlab-styles 3.1.0
RSpec/ImplicitSubject:
Enabled: false
diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml
index 0b6e0f6494..2ffbef850d 100644
--- a/.rubocop_manual_todo.yml
+++ b/.rubocop_manual_todo.yml
@@ -2,7 +2,6 @@ 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'
@@ -14,20 +13,14 @@ FactoryBot/InlineAssociation:
- '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'
@@ -39,18 +32,9 @@ Graphql/IDType:
- 'app/graphql/resolvers/error_tracking/sentry_error_stack_trace_resolver.rb'
- 'app/graphql/resolvers/user_merge_requests_resolver.rb'
-Graphql/ResolverType:
+Gitlab/PolicyRuleBoolean:
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'
+ - 'ee/app/policies/ee/identity_provider_policy.rb'
Rails/SaveBang:
Exclude:
@@ -66,7 +50,6 @@ Rails/SaveBang:
- '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'
@@ -74,11 +57,6 @@ Rails/SaveBang:
- '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'
@@ -113,7 +91,6 @@ Rails/SaveBang:
- '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'
@@ -236,7 +213,6 @@ Rails/SaveBang:
- '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'
@@ -262,7 +238,6 @@ Rails/SaveBang:
- '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'
@@ -301,32 +276,6 @@ Rails/SaveBang:
- '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'
@@ -377,38 +326,6 @@ Rails/SaveBang:
- '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'
@@ -704,14 +621,10 @@ RSpec/TimecopFreeze:
- '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'
@@ -724,10 +637,6 @@ RSpec/TimecopFreeze:
- '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'
@@ -757,3 +666,891 @@ RSpec/TimecopTravel:
- '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'
+
+Graphql/Descriptions:
+ Exclude:
+ - 'app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb'
+ - 'app/graphql/mutations/alert_management/base.rb'
+ - 'app/graphql/mutations/alert_management/http_integration/create.rb'
+ - 'app/graphql/mutations/alert_management/http_integration/destroy.rb'
+ - 'app/graphql/mutations/alert_management/http_integration/http_integration_base.rb'
+ - 'app/graphql/mutations/alert_management/http_integration/reset_token.rb'
+ - 'app/graphql/mutations/alert_management/http_integration/update.rb'
+ - 'app/graphql/mutations/alert_management/prometheus_integration/create.rb'
+ - 'app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb'
+ - 'app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb'
+ - 'app/graphql/mutations/alert_management/prometheus_integration/update.rb'
+ - 'app/graphql/mutations/alert_management/update_alert_status.rb'
+ - 'app/graphql/mutations/award_emojis/base.rb'
+ - 'app/graphql/mutations/boards/destroy.rb'
+ - 'app/graphql/mutations/boards/issues/issue_move_list.rb'
+ - 'app/graphql/mutations/boards/lists/base.rb'
+ - 'app/graphql/mutations/boards/lists/create.rb'
+ - 'app/graphql/mutations/boards/lists/update.rb'
+ - 'app/graphql/mutations/branches/create.rb'
+ - 'app/graphql/mutations/ci/base.rb'
+ - 'app/graphql/mutations/ci/pipeline_retry.rb'
+ - 'app/graphql/mutations/commits/create.rb'
+ - 'app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb'
+ - 'app/graphql/mutations/concerns/mutations/resolves_subscription.rb'
+ - 'app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb'
+ - 'app/graphql/mutations/container_expiration_policies/update.rb'
+ - 'app/graphql/mutations/container_repositories/destroy_tags.rb'
+ - 'app/graphql/mutations/custom_emoji/create.rb'
+ - 'app/graphql/mutations/design_management/base.rb'
+ - 'app/graphql/mutations/design_management/delete.rb'
+ - 'app/graphql/mutations/design_management/move.rb'
+ - 'app/graphql/mutations/design_management/upload.rb'
+ - 'app/graphql/mutations/discussions/toggle_resolve.rb'
+ - 'app/graphql/mutations/environments/canary_ingress/update.rb'
+ - 'app/graphql/mutations/issues/base.rb'
+ - 'app/graphql/mutations/issues/create.rb'
+ - 'app/graphql/mutations/issues/move.rb'
+ - 'app/graphql/mutations/issues/set_due_date.rb'
+ - 'app/graphql/mutations/issues/set_locked.rb'
+ - 'app/graphql/mutations/issues/update.rb'
+ - 'app/graphql/mutations/jira_import/import_users.rb'
+ - 'app/graphql/mutations/jira_import/start.rb'
+ - 'app/graphql/mutations/labels/create.rb'
+ - 'app/graphql/mutations/merge_requests/base.rb'
+ - 'app/graphql/mutations/merge_requests/create.rb'
+ - 'app/graphql/mutations/metrics/dashboard/annotations/create.rb'
+ - 'app/graphql/mutations/metrics/dashboard/annotations/delete.rb'
+ - 'app/graphql/mutations/notes/base.rb'
+ - 'app/graphql/mutations/notes/create/base.rb'
+ - 'app/graphql/mutations/notes/create/note.rb'
+ - 'app/graphql/mutations/notes/destroy.rb'
+ - 'app/graphql/mutations/notes/reposition_image_diff_note.rb'
+ - 'app/graphql/mutations/notes/update/base.rb'
+ - 'app/graphql/mutations/releases/base.rb'
+ - 'app/graphql/mutations/releases/create.rb'
+ - 'app/graphql/mutations/releases/update.rb'
+ - 'app/graphql/mutations/snippets/base.rb'
+ - 'app/graphql/mutations/snippets/create.rb'
+ - 'app/graphql/mutations/snippets/destroy.rb'
+ - 'app/graphql/mutations/snippets/mark_as_spam.rb'
+ - 'app/graphql/mutations/snippets/update.rb'
+ - 'app/graphql/mutations/terraform/state/base.rb'
+ - 'app/graphql/mutations/todos/create.rb'
+ - 'app/graphql/mutations/todos/mark_all_done.rb'
+ - 'app/graphql/mutations/todos/mark_done.rb'
+ - 'app/graphql/mutations/todos/restore.rb'
+ - 'app/graphql/mutations/todos/restore_many.rb'
+ - 'app/graphql/resolvers/admin/analytics/instance_statistics/measurements_resolver.rb'
+ - 'app/graphql/resolvers/alert_management/alert_resolver.rb'
+ - 'app/graphql/resolvers/alert_management/alert_status_counts_resolver.rb'
+ - 'app/graphql/resolvers/board_list_issues_resolver.rb'
+ - 'app/graphql/resolvers/board_lists_resolver.rb'
+ - 'app/graphql/resolvers/board_resolver.rb'
+ - 'app/graphql/resolvers/boards_resolver.rb'
+ - 'app/graphql/resolvers/ci/config_resolver.rb'
+ - 'app/graphql/resolvers/ci/jobs_resolver.rb'
+ - 'app/graphql/resolvers/ci/runner_setup_resolver.rb'
+ - 'app/graphql/resolvers/concerns/issue_resolver_arguments.rb'
+ - 'app/graphql/resolvers/concerns/resolves_pipelines.rb'
+ - 'app/graphql/resolvers/concerns/resolves_snippets.rb'
+ - 'app/graphql/resolvers/concerns/time_frame_arguments.rb'
+ - 'app/graphql/resolvers/container_repositories_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/designs_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/echo_resolver.rb'
+ - 'app/graphql/resolvers/environments_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/error_tracking/sentry_errors_resolver.rb'
+ - 'app/graphql/resolvers/full_path_resolver.rb'
+ - 'app/graphql/resolvers/group_members_resolver.rb'
+ - 'app/graphql/resolvers/group_milestones_resolver.rb'
+ - 'app/graphql/resolvers/issues_resolver.rb'
+ - 'app/graphql/resolvers/members_resolver.rb'
+ - 'app/graphql/resolvers/merge_request_resolver.rb'
+ - 'app/graphql/resolvers/merge_requests_resolver.rb'
+ - 'app/graphql/resolvers/metrics/dashboard_resolver.rb'
+ - 'app/graphql/resolvers/metrics/dashboards/annotation_resolver.rb'
+ - 'app/graphql/resolvers/milestones_resolver.rb'
+ - 'app/graphql/resolvers/namespace_projects_resolver.rb'
+ - 'app/graphql/resolvers/project_members_resolver.rb'
+ - 'app/graphql/resolvers/project_milestones_resolver.rb'
+ - 'app/graphql/resolvers/project_pipeline_resolver.rb'
+ - 'app/graphql/resolvers/projects/jira_projects_resolver.rb'
+ - 'app/graphql/resolvers/projects/services_resolver.rb'
+ - 'app/graphql/resolvers/projects_resolver.rb'
+ - 'app/graphql/resolvers/release_resolver.rb'
+ - 'app/graphql/resolvers/releases_resolver.rb'
+ - 'app/graphql/resolvers/snippets/blobs_resolver.rb'
+ - 'app/graphql/resolvers/snippets_resolver.rb'
+ - 'app/graphql/resolvers/todo_resolver.rb'
+ - 'app/graphql/resolvers/tree_resolver.rb'
+ - 'app/graphql/resolvers/user_resolver.rb'
+ - 'app/graphql/resolvers/user_starred_projects_resolver.rb'
+ - 'app/graphql/resolvers/users/snippets_resolver.rb'
+ - 'app/graphql/resolvers/users_resolver.rb'
+ - 'app/graphql/types/access_level_type.rb'
+ - 'app/graphql/types/admin/analytics/instance_statistics/measurement_type.rb'
+ - 'app/graphql/types/admin/sidekiq_queues/delete_jobs_response_type.rb'
+ - 'app/graphql/types/alert_management/alert_status_counts_type.rb'
+ - 'app/graphql/types/alert_management/alert_type.rb'
+ - 'app/graphql/types/alert_management/integration_type.rb'
+ - 'app/graphql/types/award_emojis/award_emoji_type.rb'
+ - 'app/graphql/types/board_list_type.rb'
+ - 'app/graphql/types/board_type.rb'
+ - 'app/graphql/types/boards/board_issue_input_base_type.rb'
+ - 'app/graphql/types/boards/board_issue_input_type.rb'
+ - 'app/graphql/types/branch_type.rb'
+ - 'app/graphql/types/ci/analytics_type.rb'
+ - 'app/graphql/types/ci/config/config_type.rb'
+ - 'app/graphql/types/ci/config/group_type.rb'
+ - 'app/graphql/types/ci/config/job_type.rb'
+ - 'app/graphql/types/ci/config/need_type.rb'
+ - 'app/graphql/types/ci/config/stage_type.rb'
+ - 'app/graphql/types/ci/detailed_status_type.rb'
+ - 'app/graphql/types/ci/group_type.rb'
+ - 'app/graphql/types/ci/job_artifact_type.rb'
+ - 'app/graphql/types/ci/job_type.rb'
+ - 'app/graphql/types/ci/pipeline_type.rb'
+ - 'app/graphql/types/ci/runner_architecture_type.rb'
+ - 'app/graphql/types/ci/runner_platform_type.rb'
+ - 'app/graphql/types/ci/runner_setup_type.rb'
+ - 'app/graphql/types/ci/stage_type.rb'
+ - 'app/graphql/types/ci/status_action_type.rb'
+ - 'app/graphql/types/commit_action_type.rb'
+ - 'app/graphql/types/commit_type.rb'
+ - 'app/graphql/types/container_expiration_policy_type.rb'
+ - 'app/graphql/types/container_repository_details_type.rb'
+ - 'app/graphql/types/container_repository_type.rb'
+ - 'app/graphql/types/countable_connection_type.rb'
+ - 'app/graphql/types/current_user_todos.rb'
+ - 'app/graphql/types/custom_emoji_type.rb'
+ - 'app/graphql/types/design_management/design_at_version_type.rb'
+ - 'app/graphql/types/design_management/design_collection_type.rb'
+ - 'app/graphql/types/design_management/design_fields.rb'
+ - 'app/graphql/types/design_management/design_type.rb'
+ - 'app/graphql/types/design_management/version_type.rb'
+ - 'app/graphql/types/design_management_type.rb'
+ - 'app/graphql/types/diff_paths_input_type.rb'
+ - 'app/graphql/types/diff_refs_type.rb'
+ - 'app/graphql/types/diff_stats_summary_type.rb'
+ - 'app/graphql/types/diff_stats_type.rb'
+ - 'app/graphql/types/environment_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_detailed_error_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_collection_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_frequency_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_stack_trace_context_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_stack_trace_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_tags_type.rb'
+ - 'app/graphql/types/error_tracking/sentry_error_type.rb'
+ - 'app/graphql/types/evidence_type.rb'
+ - 'app/graphql/types/grafana_integration_type.rb'
+ - 'app/graphql/types/group_invitation_type.rb'
+ - 'app/graphql/types/group_member_type.rb'
+ - 'app/graphql/types/group_type.rb'
+ - 'app/graphql/types/invitation_interface.rb'
+ - 'app/graphql/types/issue_type.rb'
+ - 'app/graphql/types/jira_import_type.rb'
+ - 'app/graphql/types/jira_user_type.rb'
+ - 'app/graphql/types/jira_users_mapping_input_type.rb'
+ - 'app/graphql/types/label_type.rb'
+ - 'app/graphql/types/member_interface.rb'
+ - 'app/graphql/types/merge_request_connection_type.rb'
+ - 'app/graphql/types/merge_request_type.rb'
+ - 'app/graphql/types/metadata_type.rb'
+ - 'app/graphql/types/metrics/dashboard_type.rb'
+ - 'app/graphql/types/metrics/dashboards/annotation_type.rb'
+ - 'app/graphql/types/milestone_stats_type.rb'
+ - 'app/graphql/types/milestone_type.rb'
+ - 'app/graphql/types/namespace_type.rb'
+ - 'app/graphql/types/notes/diff_position_type.rb'
+ - 'app/graphql/types/notes/discussion_type.rb'
+ - 'app/graphql/types/notes/note_type.rb'
+ - 'app/graphql/types/notes/noteable_type.rb'
+ - 'app/graphql/types/package_type.rb'
+ - 'app/graphql/types/project_invitation_type.rb'
+ - 'app/graphql/types/project_member_type.rb'
+ - 'app/graphql/types/project_statistics_type.rb'
+ - 'app/graphql/types/project_type.rb'
+ - 'app/graphql/types/projects/service_type.rb'
+ - 'app/graphql/types/projects/services/jira_project_type.rb'
+ - 'app/graphql/types/projects/services/jira_service_type.rb'
+ - 'app/graphql/types/prometheus_alert_type.rb'
+ - 'app/graphql/types/query_type.rb'
+ - 'app/graphql/types/range_input_type.rb'
+ - 'app/graphql/types/release_asset_link_input_type.rb'
+ - 'app/graphql/types/release_asset_link_type.rb'
+ - 'app/graphql/types/release_assets_input_type.rb'
+ - 'app/graphql/types/release_assets_type.rb'
+ - 'app/graphql/types/release_links_type.rb'
+ - 'app/graphql/types/release_source_type.rb'
+ - 'app/graphql/types/release_type.rb'
+ - 'app/graphql/types/repository_type.rb'
+ - 'app/graphql/types/resolvable_interface.rb'
+ - 'app/graphql/types/root_storage_statistics_type.rb'
+ - 'app/graphql/types/snippet_type.rb'
+ - 'app/graphql/types/snippets/blob_action_input_type.rb'
+ - 'app/graphql/types/snippets/blob_type.rb'
+ - 'app/graphql/types/snippets/blob_viewer_type.rb'
+ - 'app/graphql/types/task_completion_status.rb'
+ - 'app/graphql/types/terraform/state_type.rb'
+ - 'app/graphql/types/terraform/state_version_type.rb'
+ - 'app/graphql/types/todo_type.rb'
+ - 'app/graphql/types/tree/blob_type.rb'
+ - 'app/graphql/types/tree/entry_type.rb'
+ - 'app/graphql/types/tree/submodule_type.rb'
+ - 'app/graphql/types/tree/tree_entry_type.rb'
+ - 'app/graphql/types/tree/tree_type.rb'
+ - 'app/graphql/types/user_status_type.rb'
+ - 'app/graphql/types/user_type.rb'
+ - 'ee/app/graphql/ee/mutations/boards/issues/issue_move_list.rb'
+ - 'ee/app/graphql/ee/mutations/boards/lists/create.rb'
+ - 'ee/app/graphql/ee/mutations/issues/create.rb'
+ - 'ee/app/graphql/ee/mutations/issues/update.rb'
+ - 'ee/app/graphql/ee/resolvers/issues_resolver.rb'
+ - 'ee/app/graphql/ee/resolvers/namespace_projects_resolver.rb'
+ - 'ee/app/graphql/ee/types/board_list_type.rb'
+ - 'ee/app/graphql/ee/types/board_type.rb'
+ - 'ee/app/graphql/ee/types/boards/board_issue_input_base_type.rb'
+ - 'ee/app/graphql/ee/types/boards/board_issue_input_type.rb'
+ - 'ee/app/graphql/ee/types/ci/pipeline_type.rb'
+ - 'ee/app/graphql/ee/types/group_type.rb'
+ - 'ee/app/graphql/ee/types/issue_connection_type.rb'
+ - 'ee/app/graphql/ee/types/merge_request_type.rb'
+ - 'ee/app/graphql/ee/types/namespace_type.rb'
+ - 'ee/app/graphql/ee/types/project_type.rb'
+ - 'ee/app/graphql/ee/types/query_type.rb'
+ - 'ee/app/graphql/mutations/admin/analytics/devops_adoption/segments/delete.rb'
+ - 'ee/app/graphql/mutations/admin/analytics/devops_adoption/segments/mixins.rb'
+ - 'ee/app/graphql/mutations/admin/analytics/devops_adoption/segments/update.rb'
+ - 'ee/app/graphql/mutations/boards/lists/update_limit_metrics.rb'
+ - 'ee/app/graphql/mutations/boards/update.rb'
+ - 'ee/app/graphql/mutations/boards/update_epic_user_preferences.rb'
+ - 'ee/app/graphql/mutations/compliance_management/frameworks/destroy.rb'
+ - 'ee/app/graphql/mutations/compliance_management/frameworks/update.rb'
+ - 'ee/app/graphql/mutations/clusters/agent_tokens/create.rb'
+ - 'ee/app/graphql/mutations/clusters/agent_tokens/delete.rb'
+ - 'ee/app/graphql/mutations/clusters/agents/create.rb'
+ - 'ee/app/graphql/mutations/clusters/agents/delete.rb'
+ - 'ee/app/graphql/mutations/concerns/mutations/shared_epic_arguments.rb'
+ - 'ee/app/graphql/mutations/epic_tree/reorder.rb'
+ - 'ee/app/graphql/mutations/epics/add_issue.rb'
+ - 'ee/app/graphql/mutations/epics/base.rb'
+ - 'ee/app/graphql/mutations/epics/create.rb'
+ - 'ee/app/graphql/mutations/epics/set_subscription.rb'
+ - 'ee/app/graphql/mutations/epics/update.rb'
+ - 'ee/app/graphql/mutations/incident_management/oncall_schedule/create.rb'
+ - 'ee/app/graphql/mutations/incident_management/oncall_schedule/destroy.rb'
+ - 'ee/app/graphql/mutations/incident_management/oncall_schedule/oncall_schedule_base.rb'
+ - 'ee/app/graphql/mutations/incident_management/oncall_schedule/update.rb'
+ - 'ee/app/graphql/mutations/instance_security_dashboard/add_project.rb'
+ - 'ee/app/graphql/mutations/instance_security_dashboard/remove_project.rb'
+ - 'ee/app/graphql/mutations/issues/common_ee_mutation_arguments.rb'
+ - 'ee/app/graphql/mutations/issues/promote_to_epic.rb'
+ - 'ee/app/graphql/mutations/issues/set_weight.rb'
+ - 'ee/app/graphql/mutations/iterations/create.rb'
+ - 'ee/app/graphql/mutations/namespaces/base.rb'
+ - 'ee/app/graphql/mutations/quality_management/test_cases/create.rb'
+ - 'ee/app/graphql/mutations/requirements_management/base_requirement.rb'
+ - 'ee/app/graphql/mutations/requirements_management/update_requirement.rb'
+ - 'ee/app/graphql/mutations/security/ci_configuration/configure_sast.rb'
+ - 'ee/app/graphql/mutations/vulnerabilities/confirm.rb'
+ - 'ee/app/graphql/mutations/vulnerabilities/dismiss.rb'
+ - 'ee/app/graphql/mutations/vulnerabilities/resolve.rb'
+ - 'ee/app/graphql/mutations/vulnerabilities/revert_to_detected.rb'
+ - 'ee/app/graphql/resolvers/board_groupings/epics_resolver.rb'
+ - 'ee/app/graphql/resolvers/boards/epic_boards_resolver.rb'
+ - 'ee/app/graphql/resolvers/ci/code_coverage_activities_resolver.rb'
+ - 'ee/app/graphql/resolvers/clusters/agents_resolver.rb'
+ - 'ee/app/graphql/resolvers/dast_site_profile_resolver.rb'
+ - 'ee/app/graphql/resolvers/dast_site_validation_resolver.rb'
+ - 'ee/app/graphql/resolvers/epics_resolver.rb'
+ - 'ee/app/graphql/resolvers/geo/registries_resolver.rb'
+ - 'ee/app/graphql/resolvers/requirements_management/requirements_resolver.rb'
+ - 'ee/app/graphql/resolvers/requirements_management/test_reports_resolver.rb'
+ - 'ee/app/graphql/resolvers/timelog_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerabilities/issue_links_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerabilities_count_per_day_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerabilities_grade_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerabilities_history_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerabilities_resolver.rb'
+ - 'ee/app/graphql/resolvers/vulnerability_severities_count_resolver.rb'
+ - 'ee/app/graphql/types/admin/analytics/devops_adoption/segment_type.rb'
+ - 'ee/app/graphql/types/admin/analytics/devops_adoption/snapshot_type.rb'
+ - 'ee/app/graphql/types/boards/board_epic_type.rb'
+ - 'ee/app/graphql/types/boards/epic_board_type.rb'
+ - 'ee/app/graphql/types/boards/epic_user_preferences_type.rb'
+ - 'ee/app/graphql/types/burnup_chart_daily_totals_type.rb'
+ - 'ee/app/graphql/types/ci_configuration/sast/analyzers_entity_input_type.rb'
+ - 'ee/app/graphql/types/ci_configuration/sast/analyzers_entity_type.rb'
+ - 'ee/app/graphql/types/ci_configuration/sast/entity_input_type.rb'
+ - 'ee/app/graphql/types/ci_configuration/sast/input_type.rb'
+ - 'ee/app/graphql/types/clusters/agent_token_type.rb'
+ - 'ee/app/graphql/types/clusters/agent_type.rb'
+ - 'ee/app/graphql/types/compliance_management/compliance_framework_type.rb'
+ - 'ee/app/graphql/types/dast_scanner_profile_type.rb'
+ - 'ee/app/graphql/types/dast_site_profile_type.rb'
+ - 'ee/app/graphql/types/dast_site_validation_type.rb'
+ - 'ee/app/graphql/types/epic_descendant_count_type.rb'
+ - 'ee/app/graphql/types/epic_descendant_weight_sum_type.rb'
+ - 'ee/app/graphql/types/epic_health_status_type.rb'
+ - 'ee/app/graphql/types/epic_issue_type.rb'
+ - 'ee/app/graphql/types/epic_tree/epic_tree_node_input_type.rb'
+ - 'ee/app/graphql/types/epic_type.rb'
+ - 'ee/app/graphql/types/external_issue_type.rb'
+ - 'ee/app/graphql/types/geo/geo_node_type.rb'
+ - 'ee/app/graphql/types/geo/merge_request_diff_registry_type.rb'
+ - 'ee/app/graphql/types/geo/package_file_registry_type.rb'
+ - 'ee/app/graphql/types/geo/snippet_repository_registry_type.rb'
+ - 'ee/app/graphql/types/geo/terraform_state_version_registry_type.rb'
+ - 'ee/app/graphql/types/group_stats_type.rb'
+ - 'ee/app/graphql/types/incident_management/oncall_schedule_type.rb'
+ - 'ee/app/graphql/types/instance_security_dashboard_type.rb'
+ - 'ee/app/graphql/types/iteration_type.rb'
+ - 'ee/app/graphql/types/metric_image_type.rb'
+ - 'ee/app/graphql/types/requirements_management/requirement_states_count_type.rb'
+ - 'ee/app/graphql/types/requirements_management/requirement_type.rb'
+ - 'ee/app/graphql/types/requirements_management/test_report_type.rb'
+ - 'ee/app/graphql/types/scanned_resource_type.rb'
+ - 'ee/app/graphql/types/security_report_summary_section_type.rb'
+ - 'ee/app/graphql/types/time_report_stats_type.rb'
+ - 'ee/app/graphql/types/timebox_metrics_type.rb'
+ - 'ee/app/graphql/types/timebox_report_interface.rb'
+ - 'ee/app/graphql/types/timebox_report_type.rb'
+ - 'ee/app/graphql/types/timelog_type.rb'
+ - 'ee/app/graphql/types/vulnerabilities_count_by_day_and_severity_type.rb'
+ - 'ee/app/graphql/types/vulnerabilities_count_by_day_type.rb'
+ - 'ee/app/graphql/types/vulnerability/external_issue_link_type.rb'
+ - 'ee/app/graphql/types/vulnerability/issue_link_type.rb'
+ - 'ee/app/graphql/types/vulnerability_identifier_type.rb'
+ - 'ee/app/graphql/types/vulnerability_location/container_scanning_type.rb'
+ - 'ee/app/graphql/types/vulnerability_location/coverage_fuzzing_type.rb'
+ - 'ee/app/graphql/types/vulnerability_location/dast_type.rb'
+ - 'ee/app/graphql/types/vulnerability_location/dependency_scanning_type.rb'
+ - 'ee/app/graphql/types/vulnerability_location/sast_type.rb'
+ - 'ee/app/graphql/types/vulnerability_location/secret_detection_type.rb'
+ - 'ee/app/graphql/types/vulnerability_scanner_type.rb'
+ - 'ee/app/graphql/types/vulnerability_type.rb'
+ - 'ee/app/graphql/types/vulnerable_dependency_type.rb'
+ - 'ee/app/graphql/types/vulnerable_package_type.rb'
+ - 'ee/app/graphql/types/vulnerable_projects_by_grade_type.rb'
+
+# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/34997
+RSpec/AnyInstanceOf:
+ Exclude:
+ - 'ee/spec/controllers/admin/geo/nodes_controller_spec.rb'
+ - 'ee/spec/controllers/ee/groups_controller_spec.rb'
+ - 'ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb'
+ - 'ee/spec/controllers/groups/epics/notes_controller_spec.rb'
+ - 'ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb'
+ - 'ee/spec/controllers/oauth/geo_auth_controller_spec.rb'
+ - 'ee/spec/controllers/projects/environments_controller_spec.rb'
+ - 'ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb'
+ - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
+ - 'ee/spec/controllers/projects/path_locks_controller_spec.rb'
+ - 'ee/spec/controllers/projects_controller_spec.rb'
+ - 'ee/spec/controllers/subscriptions_controller_spec.rb'
+ - 'ee/spec/controllers/trials_controller_spec.rb'
+ - 'ee/spec/features/admin/admin_audit_logs_spec.rb'
+ - 'ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb'
+ - 'ee/spec/features/admin/admin_users_spec.rb'
+ - 'ee/spec/features/admin/licenses/admin_views_license_spec.rb'
+ - 'ee/spec/features/boards/scoped_issue_board_spec.rb'
+ - 'ee/spec/features/ci_shared_runner_warnings_spec.rb'
+ - 'ee/spec/features/groups/group_settings_spec.rb'
+ - 'ee/spec/features/groups/navbar_spec.rb'
+ - 'ee/spec/features/groups/saml_providers_spec.rb'
+ - 'ee/spec/features/issues/form_spec.rb'
+ - 'ee/spec/features/merge_request/user_creates_merge_request_spec.rb'
+ - 'ee/spec/features/projects/new_project_spec.rb'
+ - 'ee/spec/features/projects/services/user_activates_jira_spec.rb'
+ - 'ee/spec/features/registrations/welcome_spec.rb'
+ - 'ee/spec/features/security/project/internal_access_spec.rb'
+ - 'ee/spec/features/security/project/private_access_spec.rb'
+ - 'ee/spec/features/security/project/public_access_spec.rb'
+ - 'ee/spec/features/trials/capture_lead_spec.rb'
+ - 'ee/spec/features/trials/select_namespace_spec.rb'
+ - 'ee/spec/features/users/login_spec.rb'
+ - 'ee/spec/graphql/mutations/dast_on_demand_scans/create_spec.rb'
+ - 'ee/spec/graphql/mutations/incident_management/oncall_schedule/create_spec.rb'
+ - 'ee/spec/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb'
+ - 'ee/spec/graphql/mutations/incident_management/oncall_schedule/update_spec.rb'
+ - 'ee/spec/helpers/application_helper_spec.rb'
+ - 'ee/spec/lib/ee/api/helpers_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb'
+ - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/group_saml/membership_enforcer_spec.rb'
+ - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/Verify/browser_performance_testing_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/container_scanning_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/license_scanning_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb'
+ - 'ee/spec/lib/gitlab/elastic/project_search_results_spec.rb'
+ - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb'
+ - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb'
+ - 'ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb'
+ - 'ee/spec/lib/omni_auth/strategies/group_saml_spec.rb'
+ - 'ee/spec/lib/security/ci_configuration/sast_build_actions_spec.rb'
+ - 'ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb'
+ - 'ee/spec/migrations/schedule_populate_resolved_on_default_branch_column_spec.rb'
+ - 'ee/spec/migrations/update_location_fingerprint_column_for_cs_spec.rb'
+ - 'ee/spec/migrations/update_occurrence_severity_column_spec.rb'
+ - 'ee/spec/migrations/update_undefined_confidence_from_occurrences_spec.rb'
+ - 'ee/spec/migrations/update_undefined_confidence_from_vulnerabilities_spec.rb'
+ - 'ee/spec/migrations/update_vulnerability_severity_column_spec.rb'
+ - 'ee/spec/models/ee/namespace_spec.rb'
+ - 'ee/spec/models/geo_node_status_spec.rb'
+ - 'ee/spec/models/group_spec.rb'
+ - 'ee/spec/models/issue_spec.rb'
+ - 'ee/spec/models/merge_request_spec.rb'
+ - 'ee/spec/models/project_import_state_spec.rb'
+ - 'ee/spec/models/push_rule_spec.rb'
+ - 'ee/spec/presenters/ci/pipeline_presenter_spec.rb'
+ - 'ee/spec/presenters/projects/security/configuration_presenter_spec.rb'
+ - 'ee/spec/requests/api/geo_nodes_spec.rb'
+ - 'ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb'
+ - 'ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb'
+ - 'ee/spec/requests/api/graphql/mutations/pipelines/run_dast_scan_spec.rb'
+ - 'ee/spec/requests/api/issues_spec.rb'
+ - 'ee/spec/requests/api/projects_spec.rb'
+ - 'ee/spec/requests/git_http_spec.rb'
+ - 'ee/spec/requests/groups_controller_spec.rb'
+ - 'ee/spec/requests/omniauth_kerberos_spnego_spec.rb'
+ - 'ee/spec/requests/repositories/git_http_controller_spec.rb'
+ - 'ee/spec/services/alert_management/network_alert_service_spec.rb'
+ - 'ee/spec/services/ci/expire_pipeline_cache_service_spec.rb'
+ - 'ee/spec/services/ci/run_dast_scan_service_spec.rb'
+ - 'ee/spec/services/ee/git/branch_push_service_spec.rb'
+ - 'ee/spec/services/ee/merge_requests/create_from_vulnerability_data_service_spec.rb'
+ - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb'
+ - 'ee/spec/services/ee/security/ingress_modsecurity_usage_service_spec.rb'
+ - 'ee/spec/services/ee/users/create_service_spec.rb'
+ - 'ee/spec/services/ee/users/destroy_service_spec.rb'
+ - 'ee/spec/services/geo/container_repository_sync_service_spec.rb'
+ - 'ee/spec/services/geo/design_repository_sync_service_spec.rb'
+ - 'ee/spec/services/geo/framework_repository_sync_service_spec.rb'
+ - 'ee/spec/services/geo/hashed_storage_migration_service_spec.rb'
+ - 'ee/spec/services/geo/metrics_update_service_spec.rb'
+ - 'ee/spec/services/geo/move_repository_service_spec.rb'
+ - 'ee/spec/services/geo/project_housekeeping_service_spec.rb'
+ - 'ee/spec/services/geo/rename_repository_service_spec.rb'
+ - 'ee/spec/services/geo/repository_destroy_service_spec.rb'
+ - 'ee/spec/services/geo/repository_sync_service_spec.rb'
+ - 'ee/spec/services/geo/wiki_sync_service_spec.rb'
+ - 'ee/spec/services/groups/destroy_service_spec.rb'
+ - 'ee/spec/services/groups/update_service_spec.rb'
+ - 'ee/spec/services/merge_trains/check_status_service_spec.rb'
+ - 'ee/spec/services/network_policies/resources_service_spec.rb'
+ - 'ee/spec/services/projects/destroy_service_spec.rb'
+ - 'ee/spec/services/projects/group_links/destroy_service_spec.rb'
+ - 'ee/spec/services/projects/update_service_spec.rb'
+ - 'ee/spec/services/slash_commands/global_slack_handler_spec.rb'
+ - 'ee/spec/support/helpers/ee/stub_configuration.rb'
+ - 'ee/spec/support/shared_examples/controllers/analytics/cycle_analytics/shared_stage_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/features/gold_trial_callout_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/lib/gitlab/geo/geo_logs_event_source_info_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/models/member_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb'
+ - 'ee/spec/support/shared_examples/services/geo/geo_request_service_shared_examples.rb'
+ - 'ee/spec/workers/build_finished_worker_spec.rb'
+ - 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb'
+ - 'ee/spec/workers/elastic_commit_indexer_worker_spec.rb'
+ - 'ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb'
+ - 'ee/spec/workers/geo/file_download_dispatch_worker_spec.rb'
+ - 'ee/spec/workers/geo/registry_sync_worker_spec.rb'
+ - 'ee/spec/workers/geo/repository_cleanup_worker_spec.rb'
+ - 'ee/spec/workers/geo/repository_shard_sync_worker_spec.rb'
+ - 'ee/spec/workers/project_cache_worker_spec.rb'
+ - 'ee/spec/workers/repository_import_worker_spec.rb'
+ - 'ee/spec/workers/vulnerability_exports/export_deletion_worker_spec.rb'
+ - 'qa/spec/runtime/release_spec.rb'
+ - 'spec/controllers/admin/sessions_controller_spec.rb'
+ - 'spec/controllers/application_controller_spec.rb'
+ - 'spec/controllers/concerns/issuable_actions_spec.rb'
+ - 'spec/controllers/concerns/static_object_external_storage_spec.rb'
+ - 'spec/controllers/explore/projects_controller_spec.rb'
+ - 'spec/controllers/groups/clusters_controller_spec.rb'
+ - 'spec/controllers/groups/settings/ci_cd_controller_spec.rb'
+ - 'spec/controllers/groups_controller_spec.rb'
+ - 'spec/controllers/import/bitbucket_controller_spec.rb'
+ - 'spec/controllers/oauth/jira/authorizations_controller_spec.rb'
+ - 'spec/controllers/omniauth_callbacks_controller_spec.rb'
+ - 'spec/controllers/projects/artifacts_controller_spec.rb'
+ - 'spec/controllers/projects/branches_controller_spec.rb'
+ - 'spec/controllers/projects/clusters_controller_spec.rb'
+ - 'spec/controllers/projects/commit_controller_spec.rb'
+ - 'spec/controllers/projects/commits_controller_spec.rb'
+ - 'spec/controllers/projects/environments_controller_spec.rb'
+ - 'spec/controllers/projects/imports_controller_spec.rb'
+ - 'spec/controllers/projects/issues_controller_spec.rb'
+ - 'spec/controllers/projects/jobs_controller_spec.rb'
+ - 'spec/controllers/projects/labels_controller_spec.rb'
+ - 'spec/controllers/projects/merge_requests_controller_spec.rb'
+ - 'spec/controllers/projects/pipelines_controller_spec.rb'
+ - 'spec/controllers/projects/service_hook_logs_controller_spec.rb'
+ - 'spec/controllers/projects/services_controller_spec.rb'
+ - 'spec/controllers/projects/tags_controller_spec.rb'
+ - 'spec/controllers/registrations/experience_levels_controller_spec.rb'
+ - 'spec/controllers/registrations_controller_spec.rb'
+ - 'spec/controllers/sessions_controller_spec.rb'
+ - 'spec/controllers/snippets/notes_controller_spec.rb'
+ - 'spec/controllers/snippets_controller_spec.rb'
+ - 'spec/features/admin/admin_mode/login_spec.rb'
+ - 'spec/features/groups/clusters/eks_spec.rb'
+ - 'spec/features/groups/members/tabs_spec.rb'
+ - 'spec/features/ide/static_object_external_storage_csp_spec.rb'
+ - 'spec/features/issuables/issuable_list_spec.rb'
+ - 'spec/features/issues/form_spec.rb'
+ - 'spec/features/merge_request/user_creates_image_diff_notes_spec.rb'
+ - 'spec/features/merge_request/user_reviews_image_spec.rb'
+ - 'spec/features/merge_request/user_sees_diff_spec.rb'
+ - 'spec/features/merge_request/user_sees_merge_widget_spec.rb'
+ - 'spec/features/profiles/personal_access_tokens_spec.rb'
+ - 'spec/features/projects/clusters/gcp_spec.rb'
+ - 'spec/features/projects/clusters_spec.rb'
+ - 'spec/features/projects/container_registry_spec.rb'
+ - 'spec/features/projects/files/user_browses_lfs_files_spec.rb'
+ - 'spec/features/projects/jobs_spec.rb'
+ - 'spec/features/projects/navbar_spec.rb'
+ - 'spec/features/projects/pages_spec.rb'
+ - 'spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb'
+ - 'spec/features/projects/settings/service_desk_setting_spec.rb'
+ - 'spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb'
+ - 'spec/features/snippets/embedded_snippet_spec.rb'
+ - 'spec/features/usage_stats_consent_spec.rb'
+ - 'spec/finders/prometheus_metrics_finder_spec.rb'
+ - 'spec/graphql/mutations/alert_management/create_alert_issue_spec.rb'
+ - 'spec/graphql/mutations/alert_management/http_integration/create_spec.rb'
+ - 'spec/graphql/mutations/alert_management/http_integration/destroy_spec.rb'
+ - 'spec/graphql/mutations/alert_management/http_integration/reset_token_spec.rb'
+ - 'spec/graphql/mutations/alert_management/http_integration/update_spec.rb'
+ - 'spec/graphql/mutations/alert_management/prometheus_integration/create_spec.rb'
+ - 'spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb'
+ - 'spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb'
+ - 'spec/helpers/analytics/unique_visits_helper_spec.rb'
+ - 'spec/helpers/projects_helper_spec.rb'
+ - 'spec/initializers/lograge_spec.rb'
+ - 'spec/lib/api/entities/merge_request_basic_spec.rb'
+ - 'spec/lib/api/entities/merge_request_changes_spec.rb'
+ - 'spec/lib/api/helpers_spec.rb'
+ - 'spec/lib/backup/files_spec.rb'
+ - 'spec/lib/backup/manager_spec.rb'
+ - 'spec/lib/banzai/commit_renderer_spec.rb'
+ - 'spec/lib/banzai/filter/external_issue_reference_filter_spec.rb'
+ - 'spec/lib/banzai/filter/issue_reference_filter_spec.rb'
+ - 'spec/lib/banzai/filter/repository_link_filter_spec.rb'
+ - 'spec/lib/banzai/pipeline/gfm_pipeline_spec.rb'
+ - 'spec/lib/extracts_ref_spec.rb'
+ - 'spec/lib/feature_spec.rb'
+ - 'spec/lib/gitlab/app_logger_spec.rb'
+ - 'spec/lib/gitlab/asciidoc_spec.rb'
+ - 'spec/lib/gitlab/auth/auth_finders_spec.rb'
+ - 'spec/lib/gitlab/auth/blocked_user_tracker_spec.rb'
+ - 'spec/lib/gitlab/auth/request_authenticator_spec.rb'
+ - 'spec/lib/gitlab/auth_spec.rb'
+ - 'spec/lib/gitlab/background_migration/populate_personal_snippet_statistics_spec.rb'
+ - 'spec/lib/gitlab/background_migration/populate_project_snippet_statistics_spec.rb'
+ - 'spec/lib/gitlab/checks/diff_check_spec.rb'
+ - 'spec/lib/gitlab/checks/lfs_check_spec.rb'
+ - 'spec/lib/gitlab/checks/lfs_integrity_spec.rb'
+ - 'spec/lib/gitlab/ci/config/external/file/base_spec.rb'
+ - 'spec/lib/gitlab/ci/config/external/file/local_spec.rb'
+ - 'spec/lib/gitlab/ci/config/external/processor_spec.rb'
+ - 'spec/lib/gitlab/ci/pipeline/chain/build_spec.rb'
+ - 'spec/lib/gitlab/ci/pipeline/chain/command_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/npm_spec.rb'
+ - 'spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb'
+ - 'spec/lib/gitlab/ci/trace_spec.rb'
+ - 'spec/lib/gitlab/current_settings_spec.rb'
+ - 'spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb'
+ - 'spec/lib/gitlab/database/multi_threaded_migration_spec.rb'
+ - 'spec/lib/gitlab/diff/highlight_cache_spec.rb'
+ - 'spec/lib/gitlab/diff/highlight_spec.rb'
+ - 'spec/lib/gitlab/diff/position_spec.rb'
+ - 'spec/lib/gitlab/email/handler/create_issue_handler_spec.rb'
+ - 'spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
+ - 'spec/lib/gitlab/etag_caching/middleware_spec.rb'
+ - 'spec/lib/gitlab/exclusive_lease_helpers_spec.rb'
+ - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb'
+ - 'spec/lib/gitlab/gfm/reference_rewriter_spec.rb'
+ - 'spec/lib/gitlab/git/repository_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/blob_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/commit_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/health_check_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/operation_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/praefect_info_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/ref_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/remote_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/repository_service_spec.rb'
+ - 'spec/lib/gitlab/gitaly_client/wiki_service_spec.rb'
+ - 'spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb'
+ - 'spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb'
+ - 'spec/lib/gitlab/hashed_storage/migrator_spec.rb'
+ - 'spec/lib/gitlab/import/merge_request_helpers_spec.rb'
+ - 'spec/lib/gitlab/import_export/config_spec.rb'
+ - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb'
+ - 'spec/lib/gitlab/import_export/importer_spec.rb'
+ - 'spec/lib/gitlab/import_export/lfs_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb'
+ - 'spec/lib/gitlab/import_export/version_checker_spec.rb'
+ - 'spec/lib/gitlab/job_waiter_spec.rb'
+ - 'spec/lib/gitlab/legacy_github_import/importer_spec.rb'
+ - 'spec/lib/gitlab/legacy_github_import/project_creator_spec.rb'
+ - 'spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb'
+ - 'spec/lib/gitlab/metrics/rack_middleware_spec.rb'
+ - 'spec/lib/gitlab/metrics/subscribers/active_record_spec.rb'
+ - 'spec/lib/gitlab/metrics_spec.rb'
+ - 'spec/lib/gitlab/patch/action_dispatch_journey_formatter_spec.rb'
+ - 'spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb'
+ - 'spec/lib/gitlab/sidekiq_middleware_spec.rb'
+ - 'spec/lib/gitlab/tracking/destinations/product_analytics_spec.rb'
+ - 'spec/lib/gitlab/tracking/destinations/snowplow_spec.rb'
+ - 'spec/lib/gitlab/tracking_spec.rb'
+ - 'spec/lib/gitlab/usage_data_spec.rb'
+ - 'spec/lib/gitlab/workhorse_spec.rb'
+ - 'spec/lib/gitlab/x509/commit_spec.rb'
+ - 'spec/lib/gitlab/x509/signature_spec.rb'
+ - 'spec/lib/google_api/cloud_platform/client_spec.rb'
+ - 'spec/lib/json_web_token/rsa_token_spec.rb'
+ - 'spec/lib/mattermost/command_spec.rb'
+ - 'spec/lib/mattermost/team_spec.rb'
+ - 'spec/lib/system_check/simple_executor_spec.rb'
+ - 'spec/models/ci/build_spec.rb'
+ - 'spec/models/ci/runner_spec.rb'
+ - 'spec/models/commit_spec.rb'
+ - 'spec/models/environment_spec.rb'
+ - 'spec/models/group_spec.rb'
+ - 'spec/models/hooks/service_hook_spec.rb'
+ - 'spec/models/hooks/system_hook_spec.rb'
+ - 'spec/models/hooks/web_hook_spec.rb'
+ - 'spec/models/issue_spec.rb'
+ - 'spec/models/key_spec.rb'
+ - 'spec/models/member_spec.rb'
+ - 'spec/models/merge_request_diff_spec.rb'
+ - 'spec/models/merge_request_spec.rb'
+ - 'spec/models/note_spec.rb'
+ - 'spec/models/project_import_state_spec.rb'
+ - 'spec/models/project_services/jira_service_spec.rb'
+ - 'spec/models/project_services/mattermost_slash_commands_service_spec.rb'
+ - 'spec/models/project_spec.rb'
+ - 'spec/models/repository_spec.rb'
+ - 'spec/models/user_spec.rb'
+ - 'spec/models/x509_certificate_spec.rb'
+ - 'spec/policies/ci/build_policy_spec.rb'
+ - 'spec/policies/ci/pipeline_policy_spec.rb'
+ - 'spec/presenters/gitlab/blame_presenter_spec.rb'
+ - 'spec/presenters/merge_request_presenter_spec.rb'
+ - 'spec/requests/api/api_spec.rb'
+ - 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb'
+ - 'spec/requests/api/ci/runner/jobs_put_spec.rb'
+ - 'spec/requests/api/ci/runner/jobs_request_post_spec.rb'
+ - 'spec/requests/api/ci/runner/jobs_trace_spec.rb'
+ - 'spec/requests/api/ci/runner/runners_delete_spec.rb'
+ - 'spec/requests/api/ci/runner/runners_post_spec.rb'
+ - 'spec/requests/api/ci/runner/runners_verify_post_spec.rb'
+ - 'spec/requests/api/graphql/gitlab_schema_spec.rb'
+ - 'spec/requests/api/graphql/project/error_tracking/sentry_detailed_error_request_spec.rb'
+ - 'spec/requests/api/graphql/project/error_tracking/sentry_errors_request_spec.rb'
+ - 'spec/requests/api/graphql_spec.rb'
+ - 'spec/requests/api/helpers_spec.rb'
+ - 'spec/requests/api/internal/base_spec.rb'
+ - 'spec/requests/api/maven_packages_spec.rb'
+ - 'spec/requests/api/merge_requests_spec.rb'
+ - 'spec/requests/api/pages/pages_spec.rb'
+ - 'spec/requests/api/project_export_spec.rb'
+ - 'spec/requests/api/project_import_spec.rb'
+ - 'spec/requests/api/projects_spec.rb'
+ - 'spec/requests/api/snippets_spec.rb'
+ - 'spec/requests/api/todos_spec.rb'
+ - 'spec/requests/git_http_spec.rb'
+ - 'spec/requests/import/gitlab_projects_controller_spec.rb'
+ - 'spec/routing/routing_spec.rb'
+ - 'spec/serializers/analytics_stage_serializer_spec.rb'
+ - 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb'
+ - 'spec/serializers/merge_request_poll_widget_entity_spec.rb'
+ - 'spec/services/application_settings/update_service_spec.rb'
+ - 'spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb'
+ - 'spec/services/boards/lists/update_service_spec.rb'
+ - 'spec/services/ci/create_pipeline_service_spec.rb'
+ - 'spec/services/ci/destroy_expired_job_artifacts_service_spec.rb'
+ - 'spec/services/ci/expire_pipeline_cache_service_spec.rb'
+ - 'spec/services/ci/list_config_variables_service_spec.rb'
+ - 'spec/services/ci/register_job_service_spec.rb'
+ - 'spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb'
+ - 'spec/services/ci/retry_build_service_spec.rb'
+ - 'spec/services/ci/retry_pipeline_service_spec.rb'
+ - 'spec/services/ci/stop_environments_service_spec.rb'
+ - 'spec/services/clusters/applications/create_service_spec.rb'
+ - 'spec/services/clusters/cleanup/project_namespace_service_spec.rb'
+ - 'spec/services/clusters/cleanup/service_account_service_spec.rb'
+ - 'spec/services/deployments/older_deployments_drop_service_spec.rb'
+ - 'spec/services/deployments/update_environment_service_spec.rb'
+ - 'spec/services/draft_notes/destroy_service_spec.rb'
+ - 'spec/services/events/render_service_spec.rb'
+ - 'spec/services/git/branch_push_service_spec.rb'
+ - 'spec/services/git/process_ref_changes_service_spec.rb'
+ - 'spec/services/groups/create_service_spec.rb'
+ - 'spec/services/groups/update_service_spec.rb'
+ - 'spec/services/integrations/test/project_service_spec.rb'
+ - 'spec/services/issuable/destroy_service_spec.rb'
+ - 'spec/services/issues/close_service_spec.rb'
+ - 'spec/services/issues/reopen_service_spec.rb'
+ - 'spec/services/members/destroy_service_spec.rb'
+ - 'spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb'
+ - 'spec/services/merge_requests/build_service_spec.rb'
+ - 'spec/services/merge_requests/merge_service_spec.rb'
+ - 'spec/services/merge_requests/mergeability_check_service_spec.rb'
+ - 'spec/services/merge_requests/refresh_service_spec.rb'
+ - 'spec/services/merge_requests/reload_diffs_service_spec.rb'
+ - 'spec/services/merge_requests/resolved_discussion_notification_service_spec.rb'
+ - 'spec/services/metrics/dashboard/custom_dashboard_service_spec.rb'
+ - 'spec/services/metrics/dashboard/transient_embed_service_spec.rb'
+ - 'spec/services/notes/create_service_spec.rb'
+ - 'spec/services/notes/render_service_spec.rb'
+ - 'spec/services/packages/conan/create_package_file_service_spec.rb'
+ - 'spec/services/packages/nuget/metadata_extraction_service_spec.rb'
+ - 'spec/services/packages/nuget/update_package_from_metadata_service_spec.rb'
+ - 'spec/services/pages/delete_services_spec.rb'
+ - 'spec/services/pod_logs/elasticsearch_service_spec.rb'
+ - 'spec/services/pod_logs/kubernetes_service_spec.rb'
+ - 'spec/services/post_receive_service_spec.rb'
+ - 'spec/services/projects/after_rename_service_spec.rb'
+ - 'spec/services/projects/container_repository/cleanup_tags_service_spec.rb'
+ - 'spec/services/projects/container_repository/delete_tags_service_spec.rb'
+ - 'spec/services/projects/container_repository/gitlab/delete_tags_service_spec.rb'
+ - 'spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb'
+ - 'spec/services/projects/destroy_service_spec.rb'
+ - 'spec/services/projects/fork_service_spec.rb'
+ - 'spec/services/projects/import_service_spec.rb'
+ - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb'
+ - 'spec/services/projects/lfs_pointers/lfs_object_download_list_service_spec.rb'
+ - 'spec/services/projects/prometheus/alerts/notify_service_spec.rb'
+ - 'spec/services/projects/transfer_service_spec.rb'
+ - 'spec/services/projects/update_remote_mirror_service_spec.rb'
+ - 'spec/services/projects/update_service_spec.rb'
+ - 'spec/services/projects/update_statistics_service_spec.rb'
+ - 'spec/services/resource_events/change_labels_service_spec.rb'
+ - 'spec/services/search_service_spec.rb'
+ - 'spec/services/snippets/create_service_spec.rb'
+ - 'spec/services/test_hooks/project_service_spec.rb'
+ - 'spec/services/test_hooks/system_service_spec.rb'
+ - 'spec/services/todo_service_spec.rb'
+ - 'spec/services/users/destroy_service_spec.rb'
+ - 'spec/services/users/migrate_to_ghost_user_service_spec.rb'
+ - 'spec/spec_helper.rb'
+ - 'spec/support/capybara.rb'
+ - 'spec/support/helpers/api_helpers.rb'
+ - 'spec/support/helpers/graphql_helpers.rb'
+ - 'spec/support/helpers/ldap_helpers.rb'
+ - 'spec/support/helpers/login_helpers.rb'
+ - 'spec/support/helpers/metrics_dashboard_url_helpers.rb'
+ - 'spec/support/helpers/rake_helpers.rb'
+ - 'spec/support/helpers/stub_configuration.rb'
+ - 'spec/support/helpers/stub_gitlab_calls.rb'
+ - 'spec/support/helpers/test_env.rb'
+ - 'spec/support/import_export/common_util.rb'
+ - 'spec/support/services/migrate_to_ghost_user_service_shared_examples.rb'
+ - 'spec/support/shared_contexts/email_shared_context.rb'
+ - 'spec/support/shared_contexts/services/projects/container_repository/delete_tags_service_shared_context.rb'
+ - 'spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/issuable_notes_filter_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/issuables_requiring_filter_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/repository_lfs_file_load_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/set_sort_order_from_user_preference_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/unique_visits_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/update_invalid_issuable_shared_examples.rb'
+ - 'spec/support/shared_examples/controllers/uploads_actions_shared_examples.rb'
+ - 'spec/support/shared_examples/features/archive_download_buttons_shared_examples.rb'
+ - 'spec/support/shared_examples/features/snippets_shared_examples.rb'
+ - 'spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb'
+ - 'spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb'
+ - 'spec/support/shared_examples/models/chat_slash_commands_shared_examples.rb'
+ - 'spec/support/shared_examples/models/diff_note_after_commit_shared_examples.rb'
+ - 'spec/support/shared_examples/models/mentionable_shared_examples.rb'
+ - 'spec/support/shared_examples/models/with_uploads_shared_examples.rb'
+ - 'spec/support/shared_examples/path_extraction_shared_examples.rb'
+ - 'spec/support/shared_examples/requests/api/discussions_shared_examples.rb'
+ - 'spec/support/shared_examples/requests/api/snippets_shared_examples.rb'
+ - 'spec/support/shared_examples/requests/rack_attack_shared_examples.rb'
+ - 'spec/support/shared_examples/requests/snippet_shared_examples.rb'
+ - 'spec/support/shared_examples/services/alert_management_shared_examples.rb'
+ - 'spec/support/shared_examples/services/boards/boards_list_service_shared_examples.rb'
+ - 'spec/support/shared_examples/services/boards/issues_list_service_shared_examples.rb'
+ - 'spec/support/shared_examples/services/boards/issues_move_service_shared_examples.rb'
+ - 'spec/support/shared_examples/services/issuable_shared_examples.rb'
+ - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb'
+ - 'spec/support/shared_examples/workers/authorized_projects_worker_shared_example.rb'
+ - 'spec/support/shared_examples/workers/reactive_cacheable_shared_examples.rb'
+ - 'spec/support/snowplow.rb'
+ - 'spec/support/unicorn.rb'
+ - 'spec/tasks/gitlab/cleanup_rake_spec.rb'
+ - 'spec/tasks/gitlab/container_registry_rake_spec.rb'
+ - 'spec/tasks/gitlab/db_rake_spec.rb'
+ - 'spec/tasks/gitlab/git_rake_spec.rb'
+ - 'spec/tasks/gitlab/praefect_rake_spec.rb'
+ - 'spec/tasks/gitlab/shell_rake_spec.rb'
+ - 'spec/tasks/gitlab/x509/update_rake_spec.rb'
+ - 'spec/uploaders/file_mover_spec.rb'
+ - 'spec/uploaders/records_uploads_spec.rb'
+ - 'spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb'
+ - 'spec/views/layouts/_head.html.haml_spec.rb'
+ - 'spec/views/projects/artifacts/_artifact.html.haml_spec.rb'
+ - 'spec/views/shared/runners/show.html.haml_spec.rb'
+ - 'spec/workers/archive_trace_worker_spec.rb'
+ - 'spec/workers/build_coverage_worker_spec.rb'
+ - 'spec/workers/build_hooks_worker_spec.rb'
+ - 'spec/workers/build_trace_sections_worker_spec.rb'
+ - 'spec/workers/ci/build_schedule_worker_spec.rb'
+ - 'spec/workers/ci/daily_build_group_report_results_worker_spec.rb'
+ - 'spec/workers/cluster_configure_istio_worker_spec.rb'
+ - 'spec/workers/cluster_provision_worker_spec.rb'
+ - 'spec/workers/clusters/cleanup/project_namespace_worker_spec.rb'
+ - 'spec/workers/clusters/cleanup/service_account_worker_spec.rb'
+ - 'spec/workers/concerns/project_import_options_spec.rb'
+ - 'spec/workers/create_commit_signature_worker_spec.rb'
+ - 'spec/workers/create_note_diff_file_worker_spec.rb'
+ - 'spec/workers/delete_diff_files_worker_spec.rb'
+ - 'spec/workers/email_receiver_worker_spec.rb'
+ - 'spec/workers/emails_on_push_worker_spec.rb'
+ - 'spec/workers/error_tracking_issue_link_worker_spec.rb'
+ - 'spec/workers/expire_pipeline_cache_worker_spec.rb'
+ - 'spec/workers/git_garbage_collect_worker_spec.rb'
+ - 'spec/workers/group_export_worker_spec.rb'
+ - 'spec/workers/group_import_worker_spec.rb'
+ - 'spec/workers/namespaceless_project_destroy_worker_spec.rb'
+ - 'spec/workers/namespaces/root_statistics_worker_spec.rb'
+ - 'spec/workers/new_note_worker_spec.rb'
+ - 'spec/workers/object_pool/create_worker_spec.rb'
+ - 'spec/workers/packages/nuget/extraction_worker_spec.rb'
+ - 'spec/workers/pages_remove_worker_spec.rb'
+ - 'spec/workers/pipeline_hooks_worker_spec.rb'
+ - 'spec/workers/pipeline_process_worker_spec.rb'
+ - 'spec/workers/pipeline_schedule_worker_spec.rb'
+ - 'spec/workers/project_cache_worker_spec.rb'
+ - 'spec/workers/stage_update_worker_spec.rb'
+ - 'spec/workers/stuck_ci_jobs_worker_spec.rb'
+ - 'spec/workers/wait_for_cluster_creation_worker_spec.rb'
+ - 'ee/spec/workers/security/auto_fix_worker_spec.rb'
diff --git a/.vale.ini b/.vale.ini
index 13b198b914..3c6e0d38b5 100644
--- a/.vale.ini
+++ b/.vale.ini
@@ -7,3 +7,6 @@ MinAlertLevel = suggestion
[*.md]
BasedOnStyles = gitlab
+
+# Ignore SVG markup
+TokenIgnores = (\*\*\{\w*\}\*\*)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ddb9a4fb0c..9b5728c53a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,20 +2,22 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
-## 13.6.7 (2021-02-11)
+## 13.7.7 (2021-02-11)
-### Security (7 changes)
+### Security (9 changes)
- Cancel running and pending jobs when a project is deleted. !1220
-- Updates authorization for linting API.
-- Prevent exposure of confidential issue titles in file browser.
-- Check user access on API merge request read actions.
- Prevent Denial of Service Attack on gitlab-shell.
+- Prevent exposure of confidential issue titles in file browser.
+- Updates authorization for linting API.
+- Check user access on API merge request read actions.
- Limit daily invitations to groups and projects.
+- Enforce the analytics enabled project setting for project-level analytics features.
+- Perform SSL verification for FortiTokenCloud Integration.
- Prevent Server-side Request Forgery for Prometheus when secured by Google IAP.
-## 13.6.6 (2021-02-01)
+## 13.7.6 (2021-02-01)
### Security (5 changes)
@@ -26,14 +28,35 @@ entry.
- Add routes for unmatched url for not-get requests.
-## 13.6.5 (2021-01-13)
+## 13.7.5 (2021-01-25)
+
+### Fixed (2 changes, 1 of them is from the community)
+
+- New project guidelines are no longer displayed. !50736 (Roger Meier)
+- Fix LFS not working with S3 specific-storage settings. !52296
+
+
+## 13.7.4 (2021-01-13)
### Security (1 change)
- Deny implicit flow for confidential apps.
-## 13.6.4 (2021-01-07)
+## 13.7.3 (2021-01-08)
+
+### Fixed (7 changes)
+
+- Fix Canary Ingress weight is not reflected on UI immediately. !50246
+- Change pages deployments size to bigint. !50262
+- Fix viewing container repositories with tags with corrupted manifest. !50362
+- Fix the graphQL type for container repository tags. !50419
+- Fix(eetrialbanner): fix EE trial banner to allow dismiss. !50436
+- Update Helm 2 version to 2.17.0. !50547
+- Fix project access token regression. !50800
+
+
+## 13.7.2 (2021-01-07)
### Security (7 changes)
@@ -41,9 +64,478 @@ 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.30.2.
+- Fix stealing API token from GitLab Pages and DoS Prometheus through GitLab Pages.
- Update trusted OAuth applications to set them as confidential.
-- Upgrade Workhorse to 8.54.2.
+- Upgrade Workhorse to 8.58.2.
+
+
+## 13.7.1 (2020-12-23)
+
+### Fixed (1 change)
+
+- Fix project transfer corrupting shared runners state. !47316
+
+
+## 13.7.0 (2020-12-22)
+
+### Security (1 change)
+
+- Fix regular expression backtracking issue in custom emoji name validation.
+
+### Removed (2 changes, 1 of them is from the community)
+
+- Remove Google Code importer. !48139 (Getulio Valentin Sánchez)
+- Remove release notes from Tags page. !49979
+
+### Fixed (109 changes, 7 of them are from the community)
+
+- Update user mentions when markdown columns are directly saved to DB. !38034
+- Retain spinner when applying MR suggestions. !46203
+- Skipped jobs no longer trigger a cancelled deployment. !46614 (David Barr @davebarr)
+- Catch wiki timeouts when rendering pages. !46627
+- Fix single file snippets display for Geo secondary sites. !46812
+- Fix Jira Connect styles not loaded when startup_css is enabled. !47043
+- Add migration that updated users that don't need to have 2fa established. !47193
+- Fix project integration form validation when integration is inactive. !47201
+- Fix project access token build authentication error. !47247
+- Support S3 server side encryption in CI cloud native job logs. !47536
+- Fix repository clone panel for wikis. !47676
+- Hide Mark as draft button in a merged MR even on mobile. !47678 (Takuya Noguchi)
+- Eliminate N+1 performance issues in MergeRequest.pipelines in GraphQL API. !47784
+- Add cascade delete foreign key to web_hooks on service_id without validation. !47821
+- Implement passing dotenv variables to bridge jobs. !47905
+- Allow canceling all pipelines with auto-cancel. !47906
+- Fix error in Issuable::ImportCsv::BaseService when CSV file is empty. !47918
+- Fixed editing labels on the swimlanes sidebar. !47946
+- Scroll exactly to the top of a discussion on the MR Overview tab. !47970
+- Search page: fix empty results status. !48034
+- Move fuzz license check to .pre stage. !48076
+- Add link in Access Request API. !48081 (jimcser)
+- Add gitlab:db:active task. !48083
+- Fix overscroll for MR diffs in mobile view. !48091
+- Fix incorrect line height in file header. !48117
+- Repopulate historical vulnerability statistics. !48128
+- Fixed image diff comments positioning. !48132
+- Manually trigger pipelines correctly when branches and tags have the same name. Separate tags and branches in trigger pipeline form. !48142
+- Allow failure for Secret Detection job. !48152
+- Change services.inherit_from_id foreign key to ON DELETE CASCADE. !48163
+- Avoid exception when validating diff_note support. !48187
+- Avoid invalid notes on Project Import. !48189
+- Update alert setting form to handle JSON payload submit when mapping builder is not enabled. !48231
+- Adds id desc to index_ci_builds_on_runner_id_and_id_desc. !48241
+- Adds type="button" to the close button for the issue type selector to prevent accidental form submission. !48249
+- Remove orphan service hooks. !48263
+- Fix console error being thrown when file is renamed. !48275
+- Update alert details sidebar assignee dropdown to use correct styling and formatting. !48285
+- Consider design repositories when determining if there is a git transfer in progress. !48304
+- Set Retry-After header when RackAttack throttling. !48310
+- Fix misaligned buttons for CI Jobs page. !48332 (mgandres)
+- Use incident instead of issue for operation settings. !48406
+- Fix missing item with same name in autocomplete suggestions. !48410 (Paul Ungureanu @ungps)
+- Fix misalignment of commit search by message input. !48430
+- Prometheus integration name should not have a modifiable input field. !48437
+- Fix stretched flash in project commit show page. !48439
+- Ensure job trace endpoint is not called if the current job has not started or the browser is not visible. !48516
+- Update fog-aws to v3.6.7. !48519
+- Fixed double-border style on WebIDE button. !48605
+- Fix spacing between buttons on pipeline header. !48660
+- Fix vulnerability deduplication logic for the "pipeline security tab". !48704
+- Add type filtering in appearance page of the admin panel. !48709 (Paul Ungureanu @ungps)
+- Fix confirmation modal showing on project integration. !48720
+- Fix import of LFS files in GitHub import. !48722
+- Github importer - Avoid touching MR when importing pull request `merged by` field. !48729
+- Fix styling of various dropdowns. !48800
+- Fix MR buttons when fork is deleted. !48813
+- Add menu-item class to non-details-job-component. !48834
+- GraphQL: Add gitlay field to CiStatusAction. !48892
+- Global Search - Fix Dark Mode Font. !48927
+- Fix flex overflow bug. !48931
+- Restrict access to job page to developers only when use CI_DEBUG_TRACE is true. !48932
+- Resolve Cannot remove namespace. !48973
+- Resolve Save button should have a different color on press. !48975
+- Fix last_value record in internal_ids for epics. !48988
+- Fix failed group imports getting stuck by long error messages. !48989
+- Avoid branch name checking when creating a new snippet. !48995
+- Ensure default_branch from settings is not blank. !49018
+- Make sure Sourcegraph asset always loads successfully. !49030
+- Fix avatar size in profile activity. !49047
+- Fix margin and selected state in file header. !49059
+- Fix comment highlighting for unified diff components. !49061
+- Fix Jupyter notebook code and image rendering. !49067
+- Fix bug in ProjectRepositoryStorageMove transition to scheduled. !49105
+- Do not crash the ingestion of all security reports if there is an invalid report artifact. !49181
+- Do not automatically reapply incident label after user removes it. !49188
+- Update fog-google to v1.12. !49196
+- Check for a status in the current user dropdown. !49203
+- Fix pipeline page in dark mode. !49214
+- Handle prometheus-formatted alert notifications through HTTP integrations. !49268
+- Update repository size after import. !49319
+- Fix typo on merge locally step. !49330
+- Fix getting security report information on merge requests from forks. !49354
+- Conan packages show build and commit information when published using CI. !49426
+- Clear emoji status in issue/mr header. !49439
+- Hide extra breadcrumb arrow that overlaps with last breadcrumb item. !49456
+- Fix division by error when upload max size is set to 0. !49482
+- Capture subgroup creation failure during Group Import via archive file. !49484
+- Alert Service integration only available for projects. !49561
+- Update projects_imported.total usage metric. !49568
+- Fix usage data tracking of some issue events. !49571
+- Fix copy to clipboard on Firefox. !49648
+- Fix outline on selected button in Snippets Rendered/Source buttons. !49676
+- Add final newline on submit in blob editor. !49681
+- Fail import state whenever repository import fails. !49682
+- Fix author on /clone quickaction usage to be current user. !49830
+- Upgrade mailroom to v0.0.8. !49834
+- Fix the header name for basic auth authentication in package managers APIs. !49836
+- Allow opsgenie manage form to be displayed when opsgenie is enabled. !49863
+- Add custom cop to prevent invalid HTTParty usage. !49878 (Ethan Reesor (@firelizzard))
+- Remove last-child bottom-margin: 0 from page-title class. !49884
+- Fix wording of some 400 Bad request API responses. !49895
+- Set Web IDE Live Preview default background to white. !49901
+- Fix bug in snippets mark as spam mutation. !49912
+- Make the strategies env wrap. !49951
+- Fix get endpoint not returning members with minimal access. !49996
+- Fix feature flag logging is not working on API. !50025
+- Resolve No boards found message showing when loading boards. !50140
+- Fix Markdown attachments in Releases not rendering with full URL. !50146
+
+### Deprecated (1 change)
+
+- Drop unused feature_filter_type experiment column. !48221
+
+### Changed (124 changes, 12 of them are from the community)
+
+- Move Jenkins to Core. !37797 (Ben Bodenmiller (@bbodenmiller))
+- Migrate Bootstrap button to GitLab UI GlButton in IDE. !39988
+- Replace bootstrap alerts in ee/app/views/admin/licenses/new.html.haml. !41275 (Gilang Gumilar)
+- Replace bootstrap alerts in app/views/profiles/notifications/show.html.haml. !41310 (Gilang Gumilar)
+- Replace bootstrap alerts in app/views/admin/runners/show.html.haml. !41378 (Gilang Gumilar)
+- Replace Runner Page Title with Runner’s Hash. !44854 (Kev @KevSlashNull)
+- Rename Piwik config items and layout file after rebranding to Matomo. !45658 (Kate Grechishkina @kategrechishkina)
+- Improve clarity of admin Rate Limiting UI. !46142
+- Replace fa-exclamation-triangle icons with GitLab SVG warning-solid icon. !47089
+- Add `converted_at` timestamp column to `experiment_users` to record when the user performs an experiment's conversion action. !47093
+- Preserve cross references in AsciiDoc documents. !47131 (Guillaume Grossetie)
+- Darker background for dark mode, plus small fixes to MR page. !47359
+- Add option to uninstall the legacy Tiller server for clusters added before GitLab 13.2. !47457
+- Use GitLab UI styles on Integrations page. !47478
+- Add a job to the DAST template that shows an error in the console if the user is not licensed to use DAST. !47484
+- Add BulkImports::Failure to store import failures of the Group Migration (BulkImports) process. !47526
+- Remove brackets in no scopes selected message in access and deploy tokens lists. !47628
+- Begin auto-stop countdown for environment after initial creation. !47702
+- Change default project listing sort order to name. !47734 (Lee Tickett)
+- Finalize new create project UI experiment. !47804
+- Make ImportIssuesCsvWorker idempotent. !47808
+- Remove "Details" from breadcrumb item and LD+JSON from Project top. !47817 (Takuya Noguchi)
+- Convert knative error alert to glalert. !47840
+- Remember last used project ordering option across groups. !47850 (Lee Tickett)
+- Remove "Details" from breadcrumb and JSON+JD on Group top page. !47854 (Takuya Noguchi)
+- Hide open registration user callout on gitlab.com. !47865
+- Make "How to merge" modal in merge requests conform to correct modal styling. !47889
+- Remove `Add Issues` button and a related modal. !47898
+- Remove Feature Flag that controls data limit on Deploy Boards, thus making 10MB limits mandatory. !47950
+- Removed boards promotion. !47972
+- Replace fa-chevron-down in template selector dropdown. !48015
+- Remove http_integrations_list feature flag. !48030
+- Add filtering by current iteration to issue lists and issue boards. !48040
+- Implement smart cobertura class path correction. !48048
+- Replace fa-chevron-down icon in pikaday. !48054
+- Add User.location field to GraphQL API. !48059
+- Add support for filtering direct group members by 2FA enabled/disabled. !48084
+- Iterate on the copy in the “Novice or Experienced” page of the registration onboarding flow. !48086
+- Add metrics for count of unique users of alerts and incidents to usage ping. !48087
+- Allow Pages to define a storage-specific connection. !48098
+- Replace fa-exclamation-triangle in users select. !48116
+- Add a generic packages tab to the Packages UI. !48121
+- Replace fa icons in single file diff. !48136
+- Add `checksum` column into the `vulnerability_remediations` table. !48165
+- Replace fa-chevron-down with GitLab SVG in dropdowns. !48171
+- Add ldap encrypted credentials to the usage data. !48210
+- Replace fa-spinner in metrics dashboard yaml definition. !48227
+- Update Design of the Container Registry Cleanup Policy for tags. !48243
+- Enable LFS chunked encoding. !48269
+- Authorize the project for the cluster agent if it is the agent's project. !48314
+- Add GlFormCheckbox to squash commits. !48338
+- Add metric for dead Sidekiq jobs. !48361
+- Make How to merge modal in merge requests widget conform to correct modal styling. !48370
+- Allow filtering project and group members by relationship in GraphQL. !48372
+- Add Attributes cleaner to Group Migration. !48374
+- Add additional fields to GraphQl terraform state version. !48411
+- Bumps Managed-Cluster-Applications CI template to v0.36.0, which upgrades Runner. !48444
+- Expose public email field for user in GraphQL. !48468
+- Add MAU counter for snippet show action. !48477
+- Refine group creation form. !48490
+- Geo: Remove unused indexes. !48504
+- Update empty state for no commits result. !48538
+- Github Importer - import the pull request `merged by` field. !48561
+- Refactor container registry list page to grapqhl. !48602
+- Transfer a project/group to a new namespace inheriting integrations. !48621
+- Replace fa-chevron-down icons with GitLab SVG in gcp cluster form. !48656
+- Add containerRepositoriesCount to project and group queries. !48685
+- Track test failures on pipeline completion. !48695
+- Include actual limit in pipeline limit errors. !48710
+- Replace how to merge HAML with Vue component. !48766
+- Global Search - Fix Sidebar Whitespace. !48832
+- Move CanaryIngress to core. !48836
+- Finish removing unused replication columns from terraform state. !48839
+- The dependency proxy caches manifests and makes HEAD requests to help with rate limiting. !48845
+- Update package_file table to display commits when present. !48882
+- Avoid creating wiki empty repo when not present in export files. !48890
+- Update nodejs-scan rule to wildcard prefix. !48902
+- Add primary key to elasticsearch_indexed_projects. !48919
+- Upgrade fog-aws to v3.7.0. !48921
+- Add new column `finding_uuid` into `vulnerability_feedback` table. !48923
+- Add primary key to elasticsearch_indexed_namespaces. !48944
+- Add ability to type a number in related issues and prepend #. !48952
+- Improve CI for external repo with configurable maximum mirroring frequency on self-hosted. !48955
+- Enable pages_serve_from_deployments FF by default. !48974
+- Replace fa-cirlce in runners helper. !48981
+- Add GitHub Importer pagination. !48983
+- Add primary key to merge_request_context_commit_diff_files. !49024
+- Update template to use codequality 0.85.18-gitlab.1. !49034
+- Display more pipelines info in package history. !49040
+- Use a separate commit to store formatting changes in the Static Site Editor. !49052
+- Delete manifests when purging the dependency proxy using the API. !49056
+- Auto approve users if Admin approval after sign up setting is disabled. !49068
+- Boards - Remove default labels lists generation. !49071
+- Sort merge request diff files directory first. !49118
+- Add user ID based allowlist for Rack::Attack. !49127
+- Sort commit/compare diff files directory first. !49136
+- Move IssueType notes and discussions count logic to resolvers. !49160
+- Let `rake gitlab:workhorse:install` use vendored workhorse. !49250
+- Allow alert list to be visible when alerts exist, even if alerting integrations are disabled. !49257
+- EKS: Provide user feedback on AWS authorization errors. !49278
+- Remove user_search_secondary_email feature flag. !49312
+- Update gitlab-kas to v13.7.0. !49318
+- Convert fa-caret-down icons to chevron-down SVG. !49332
+- Enable file tree highlighting by default. !49356
+- Merge 'Sample Data' and 'Built-in' tabs on Project Templates page. !49374
+- Add Merge Train Setting to the graphql api. !49402
+- Migrate HAML buttons to Pajamas in app/views/profiles/keys. !49421 (Jonston Chan @JonstonChan)
+- Migrate `createBoard` away from boardStore. !49450
+- Support merge requests filtered by reviewer in GraphQL API. !49464
+- Gradually load more diffs async. !49476
+- Require users to copy, download, or print 2FA recovery codes. !49493
+- Convert group member filter dropdowns to filtered search bar. !49505
+- Update GitLab Workhorse to v8.58.0. !49534
+- Refactor container registry to use GraphQL API. !49584
+- Remove unneeded pagination code for project importers. !49589
+- Update deprecated button on pipeline security table. !49620
+- Update ide pipeline alert to use gitlab ui. !49634
+- Updates the copy on empty users list tabs. !49642
+- Enable LFS chunked encoding by default. !49649
+- Add visibility and last updated image repository details. !49703
+- Allow updating `hideBacklogList` and `hideClosedList` board attributes. !49947
+- Add expires_at param to GroupMemberBuilder data. !49981
+- Change the unique index on `security_findings` table. !50046
+- Remove dast_unlicensed job. !50129
+
+### Performance (24 changes, 2 of them are from the community)
+
+- Remove redundant index. !47072
+- Add database index for deployment rollback targets. !47159
+- Add index for API Fuzzing usage data. !47692
+- Paginate unit test report. !47953
+- Remove .issue-box from static (classic) Issuable list. !47998 (Takuya Noguchi)
+- Remove Bootstrap 4's Cards components from Issuables and Todos. !48004 (Takuya Noguchi)
+- Fix N+1 when looking up user's solo owned groups. !48340
+- Paginate first page of branches using Gitaly. !48595
+- Add approvals created_at index. !48684
+- Update index for notes to include `system`. !48864
+- Remove unnecessary Gitaly calls from raw endpoint. !48917
+- Reduce SQL queries when no pipeline hooks are active. !49186
+- Improve query that finds all pipelines in the same family. !49240
+- Rendering Loading State of Last Commit earlier. !49362
+- Fix N+1 queries loading milestones when exporting CSVs. !49429
+- Update snippet repository finder for namespace replication. !49518
+- Reduce object allocations for large merge request. !49563
+- Remove unnecessary Gitaly calls from projects#show. !49565
+- Expand index on ci_pipelines. !49604
+- Remove unnecessary queries in milestone page. !49662
+- Improve the performance of the diff change access check. !49803
+- Remove initial data check on project level value stream page. !49936
+- Improve UI and performance of branches overview page. !50096
+- Use the improved version of Value Stream Analytics backend on the project level. !50141
+
+### Added (125 changes, 13 of them are from the community)
+
+- Configurable personal access token prefix. !20968 (Max Wittig & Diego Louzán)
+- Add CI_OPEN_MERGE_REQUESTS environment variable. !38673 (Ben Bodenmiller @bbodenmiller)
+- Add Kroki to support more diagrams in AsciiDoc and Markdown. !44851 (Guillaume Grossetie)
+- Fix the unreachable CLI image in OpenShift CI template. !44933 (Klaus Mueller @klml)
+- Add other role column in user details table. !45635
+- Add encrypted ldap secrets support. !45712
+- Add the gitlab-experiment gem, with configuration. !45840
+- Support Git access for group wikis. !45892
+- Add toggle to remove Analytics left nav item. !46011
+- Add merge requests total time to merge field to the GraphQL API. !46040
+- Cleanup webauthn background migration. !46179 (Jan Beckmann)
+- Add GraphQL mutation to update a release. !46611
+- Capture design detail views via usage ping. !46751
+- Add metric image uploading to incidents via REST API. !46845
+- Expose GraphQL resolver for processing CI config. !46912
+- Limit maximum deployments per pipeline to 500. !46931
+- Enable Crowd auth for git-over-https. !46935 (Thomas Mendoza @tgmachina)
+- Create a new `ExperimentSubject` model, associated to the `Experiment` model, and related database migrations. !47042
+- Add GraphQL mutations for Devops Adoption Segment. !47066
+- Allow passing `commit_id` when creating MR discussions via the API and expose `commit_id` for MR diff notes. !47130 (Johannes Altmanninger @krobelus)
+- Adds bulk project repository storage move API. !47142
+- Add packages_size to ProjectStatistics API entity. !47156 (Roger Meier)
+- Create `vulnerability_findings_remediations` and `vulnerability_remediations` tables. !47166
+- Geo: Add verification state machine fields to package files table. !47260
+- Add `increment_counter` to Usage Ping API. !47309
+- Geo: Add verification indexes for package files. !47372
+- Add SEO structured markup for groups. !47374
+- Create `incident_management_oncall_schedules` table. !47407
+- Add confirm modal to unblock user. !47442
+- Add API endoint for Administrators to approve pending users. !47564
+- Allow secondary emails in user search. !47587
+- Frontend client for increment_counter API. !47622
+- Schedule CreateEvidenceWorker jobs in a sliding window. !47638
+- Send Static Site Editor events to Usage Ping API. !47640
+- Add rake task to disable personal project and group creation. !47655
+- Add assign self to group boards sidebar. !47705
+- Toggle File-By-File setting from the MR settings dropdown. !47726
+- Add regulated field to compliance management frameworks. !47761
+- Add lock button to the Terraform State list view. !47842
+- Adds migration for user permission uploads. !47846
+- Add loading state to boards assignees header dropdown. !47848
+- Use CS_ANALYZER_IMAGE in CS template. !47856
+- Add cloud_license_enabled column to application_settings. !47882
+- Add invitation reminders. !47920
+- Create namespace onboarding actions table. !48018
+- Expose creation/update times for issue links. !48051
+- Add upcoming deployment column to Environments page. !48062
+- Add `service_desk_reply_to` to issues list and header. !48089 (Lee Tickett)
+- Add iteration_id column to lists. !48103
+- Add Epic Board Position model to store relative positioning of epics on a board. !48120
+- Add code coverage overall activity to group repository analytics. !48155
+- Add confirm modal to reactivate user. !48173
+- Email user when registration request is rejected. !48185
+- Add artifacts field to JobType. !48207
+- Add database index on deployments. !48265
+- Add secondary indexes to partitioned audit_events. !48270
+- Obfuscate user profile for unconfirmed users. !48271
+- Add flash message for setAssignees on group issue boards. !48277
+- Add an URL to get user's GPG key if registerd. !48321 (Shimura Rin @blackenedgold)
+- Add Operations project setting logic. !48347
+- Add GraphQL mutation to delete a release. !48364
+- Track MAU for SSE edit. !48377
+- Add loading state to assignees header. !48392
+- Implement a /clone quick-action to quickly clone an Issue. !48394
+- Expose upcoming deployment in environment.json. !48449
+- Add Vulnerabilities External Link model. !48465
+- Add migration to populate remaining dismissal information for vulnerabilities. !48472
+- Mark SCIM-created accounts as provisioned by group. !48483
+- Add delete button to terraform list vue. !48485
+- Show if a Pipeline was Ran in a Fork. !48517
+- Added email notifications when an Issue is cloned. !48534
+- Add dependency_proxy_manifests table and associations. !48535
+- Add usage metrics for issue clone. !48537
+- Implement a /clone_with_notes quick-action to quickly clone an Issue will all its notes. !48539
+- Tracks guest package events. !48547
+- Retry rsync when source files vanish during backup. !48568
+- Add Setting to disable feed_tokens. !48600
+- Enable by default usage data API tracking. !48607
+- Add GraphQL API to delete container repository tags. !48617
+- Github Importer - import pull request reviews from Github. !48632
+- Added epic boards and epic board labels tables. !48658
+- Allow alerts to be filtered by monitoring tool. !48699
+- Adds guest package events to usage data. !48734
+- Render http and https URLs as clickable links in Job logs. !48758 (Łukasz Groszkowski @falxcerebri)
+- Add Merge Request diff CI variables. !48764 (Jonas Hahnfeld)
+- Add admin users serializer and entity. !48791
+- Set vulnerability as dismissed when there is dismissal feedback. !48795
+- Create package build_info records for Conan, NuGet, PyPI, and Composer packages and package files. !48811
+- Add download action to the Terraform state listing. !48837
+- Add context to the experiment user records. !48896
+- Add index for the `vulnerabilities` table on `project_id`, `state`, and `severity` columns. !48930
+- Add uuid column into security_findings table. !48968 (Harrison Brock @harrisonbrock)
+- Detect corrupted build logs and report them by incrementing Prometheus counter. !49004
+- Add details column to vulnerability findings table. !49005
+- Add Project to ContainerRepository GraphQL type. !49019
+- Add pipeline information to Terraform state list. !49042
+- Add oncall rotations and participants tables. !49058
+- Add domain column to alerts table. !49120
+- Add dependency proxy predefined environment variables. !49133
+- Add usage data rake tasks to prettify JSON output. !49137
+- Resolve Transition ID section should include help text. !49204
+- Support instance profiles for IAM role for Amazon EKS integration. !49212
+- Add `project_id` column into the `vulnerability_remediations` table to scope the records with projects. !49219
+- Add member_events column to web_hooks table. !49273
+- Upgrade Pages to 1.31.0. !49352
+- Add CI/CD analytics GraphQL types. !49384
+- Truncate the `security_findings` table. !49385
+- Add validating jsonb fields with json schema draft-07. !49451
+- Adds sha checksum to composer URL. !49511
+- Dependency Proxy for private groups and Dependency Proxy authentication. !49519
+- Save usage ping payload in raw_usage_data table. !49559
+- Allow downloading of security reports directly from merge request page. !49572
+- Show upgrade popover in security widget in merge requests when the user is able to upgrade. !49613
+- Introduce frontend for group migration MVC. !49709
+- Add issue header mobile dropdown loading state. !49734
+- Support extensions as configurable ES6 classes in Editor Lite. !49813
+- Allow job to download artifacts in parent-child pipeline hierarchy. !49837
+- Add ability to aggregated metrics in Usage Ping. !49886
+- Add expiration policy completed at support in container repositories. !49924
+- Allow to configure custom service desk email address suffix. !49932
+- Add payload_example and payload_attribute_mapping columns to alert_management_http_integrations table. !49941
+- Add prefilled variables for run pipeline page. !49985
+- Add operations_access_level to project settings API. !50023
+- Upgrade GitLab Pages to 1.32.0. !50062
+- Add MergeRequest to VulnerabilityType in GraphQL. !50082
+
+### Other (49 changes, 15 of them are from the community)
+
+- Replace-GlDeprecatedDropdown-with-GlDropdown-in-app/assets/javascripts/boards. !41410 (nuwe1)
+- Migrate bootstrap dropdown to GlDropdown in app/assets/javascripts/diffs. !41451 (nuwe1)
+- Migrate awards list buttons to new buttons. !43061
+- Apply GitLab UI button styles to buttons in app/views/projects/graphs directory. !44295 (Lakshit)
+- Use GitLab's standard dropdown for the review mode chooser in the WebIDE. !46820
+- Replaces elements with the bs-callout class with gl-alert vue component. !47331 (Gary Bell @garybell)
+- Add analytics_devops_adoption_snapshots table. !47388
+- Add relation name to indexes view. !47422
+- Migrate chevron-down icon to svg. !47591
+- Disable auto admin mode in features. !47670 (Diego Louzán)
+- Remove avg_cycle_analytics from usage ping. !47812
+- Remove unused .issue-box CSS. !48002 (Takuya Noguchi)
+- Convert shared runner limit alert to gl-alert. !48063
+- Remove temporary blocking issues scheduling indexes. !48064
+- Update icons to svg in several sort dropdowns. !48092
+- Move Terraform state versioning default to database. !48194
+- Replace wrong index definition on labels (project_id, title). !48238
+- Update GitLab Runner Helm Chart to 0.23.0. !48284
+- Add `external_author` alias to `service_desk_reply_to`. !48363 (Lee Tickett)
+- Migrate bs-callout to GlAlert in …/unmet_prerequisites_block.vue. !48398
+- Improve logging on feature flag modification. !48417
+- Replace bootstrap caret-down with chevron-down. !48424
+- Convert bootstrap carets to svg chevrons. !48492
+- Rename "Cycle Analytics" with "Value Stream Analytics" under /spec. !48531 (Takuya Noguchi)
+- Update GitLab Workhorse to v8.56.0. !48592
+- Update gitaly gem to 13.6.1. !48601
+- Rename "CYCLE_ANALYTICS_*" variables for CI with "VSA_*". !48675 (Takuya Noguchi)
+- Adds gl button classes to manifest imports. !48697
+- Add btree bloat estimation view. !48698
+- Disable auto admin mode on requests and views specs. !48700 (Diego Louzán)
+- Move users#show.json to users#activity.json. !48712 (Takuya Noguchi)
+- Remove `view_diffs_file_by_file` feature flag. !48966
+- Move profiles/keys#get_keys to users#ssh_keys. !48991 (Takuya Noguchi)
+- Replace wiki fontawesome icons with emojis. !49097
+- Add a project setting to allow editing commit messages. !49152
+- Updated UI text to match style guidelines. !49275
+- Move profiles/gpg_keys#get_keys to users#gpg_keys. !49448 (Takuya Noguchi)
+- Remove references to cross_project_pipeline source in documentation. !49579
+- Updated UI text to match style guidelines. !49632
+- Migrate bs-callout to GlAlert for components using app/assets/javascripts/vue_shared/components/callout.vue. !49732 (Gary Bell @garybell)
+- Bump gitlab-shell version to v13.14.0. !49810
+- Track index bloat estimate. !49822
+- Conver create merge request button to gl. !49864
+- Adds gitlab ui classes to project dir buttons. !49939
+- Removed count_uploads_size_in_storage_stats feature flag. !49998
+- Delete MockDeploymentService records, used only in development environments. !50030
+- Add feed_token specs to spec/features/profiles/personal_access_tokens_spec.rb. !50059
+- Replace spec/controllers/ide_controller_spec.rb with request spec. !50075 (Takuya Noguchi)
+- Update GitLab Workhorse to v8.57.0.
## 13.6.3 (2020-12-10)
@@ -604,6 +1096,22 @@ entry.
- Change wording on the project remove fork page. !47878
+## 13.5.5 (2020-12-07)
+
+### Security (10 changes)
+
+- Validate zoom links to start with https only. !1055
+- Require at least 3 characters when searching for project in the Explore page.
+- Do not show emails of users in confirmation page.
+- Forbid setting a gitlabUserList strategy to a list from another project.
+- Fix mermaid resource consumption in GFM fields.
+- Ensure group and project memberships are not leaked via API for users with private profiles.
+- GraphQL User: do not expose email if set to private.
+- Filter search parameter to prevent data leaks.
+- Do not expose starred projects of users with private profile via API.
+- Do not show starred & contributed projects of users with private profile.
+
+
## 13.5.4 (2020-11-13)
### Fixed (4 changes)
@@ -1223,6 +1731,22 @@ entry.
- Bump cluster applications CI template. !45472
+## 13.4.7 (2020-12-07)
+
+### Security (10 changes)
+
+- Validate zoom links to start with https only. !1055
+- Require at least 3 characters when searching for project in the Explore page.
+- Do not show emails of users in confirmation page.
+- Forbid setting a gitlabUserList strategy to a list from another project.
+- Fix mermaid resource consumption in GFM fields.
+- Ensure group and project memberships are not leaked via API for users with private profiles.
+- GraphQL User: do not expose email if set to private.
+- Filter search parameter to prevent data leaks.
+- Do not expose starred projects of users with private profile via API.
+- Do not show starred & contributed projects of users with private profile.
+
+
## 13.4.6 (2020-11-03)
### Fixed (1 change)
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index 51067b9c1d..097a182f11 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-13.6.7
\ No newline at end of file
+13.7.7
\ No newline at end of file
diff --git a/GITLAB_ELASTICSEARCH_INDEXER_VERSION b/GITLAB_ELASTICSEARCH_INDEXER_VERSION
index 24ba9a38de..834f262953 100644
--- a/GITLAB_ELASTICSEARCH_INDEXER_VERSION
+++ b/GITLAB_ELASTICSEARCH_INDEXER_VERSION
@@ -1 +1 @@
-2.7.0
+2.8.0
diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION
index 4daad9a5c1..d6ef99820f 100644
--- a/GITLAB_KAS_VERSION
+++ b/GITLAB_KAS_VERSION
@@ -1 +1 @@
-13.6.1
+13.7.0
diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION
index d1eaa3ba0b..2b17ffd504 100644
--- a/GITLAB_PAGES_VERSION
+++ b/GITLAB_PAGES_VERSION
@@ -1 +1 @@
-1.30.2
+1.34.0
diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION
index 4a60601836..5813fef380 100644
--- a/GITLAB_SHELL_VERSION
+++ b/GITLAB_SHELL_VERSION
@@ -1 +1 @@
-13.13.1
+13.14.1
diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION
index 275754a681..8aa8b5f68b 100644
--- a/GITLAB_WORKHORSE_VERSION
+++ b/GITLAB_WORKHORSE_VERSION
@@ -1 +1 @@
-8.54.2
+8.58.2
diff --git a/Gemfile b/Gemfile
index d60fefe29d..49d0841be3 100644
--- a/Gemfile
+++ b/Gemfile
@@ -66,7 +66,7 @@ gem 'attr_encrypted', '~> 3.1.0'
gem 'u2f', '~> 0.2.1'
# GitLab Pages
-gem 'validates_hostname', '~> 1.0.10'
+gem 'validates_hostname', '~> 1.0.11'
gem 'rubyzip', '~> 2.0.0', require: 'zip'
# GitLab Pages letsencrypt support
gem 'acme-client', '~> 2.0', '>= 2.0.6'
@@ -115,11 +115,11 @@ gem 'carrierwave', '~> 1.3'
gem 'mini_magick', '~> 4.10.1'
# for backups
-gem 'fog-aws', '~> 3.5'
+gem 'fog-aws', '~> 3.7'
# 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.11'
+gem 'fog-google', '~> 1.12'
gem 'fog-local', '~> 0.6'
gem 'fog-openstack', '~> 1.0'
gem 'fog-rackspace', '~> 0.1.1'
@@ -149,7 +149,7 @@ gem 'html-pipeline', '~> 2.12'
gem 'deckar01-task_list', '2.3.1'
gem 'gitlab-markup', '~> 1.7.1'
gem 'github-markup', '~> 1.7.0', require: 'github/markup'
-gem 'commonmarker', '~> 0.20'
+gem 'commonmarker', '~> 0.21'
gem 'kramdown', '~> 2.3.0'
gem 'RedCloth', '~> 4.3.2'
gem 'rdoc', '~> 6.1.2'
@@ -159,7 +159,8 @@ 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.25.0'
+gem 'asciidoctor-kroki', '~> 0.2.2', require: false
+gem 'rouge', '~> 3.26.0'
gem 'truncato', '~> 0.7.11'
gem 'bootstrap_form', '~> 4.2.0'
gem 'nokogiri', '~> 1.10.9'
@@ -209,7 +210,7 @@ gem 'httparty', '~> 0.16.4'
gem 'rainbow', '~> 3.0'
# Progress bar
-gem 'ruby-progressbar'
+gem 'ruby-progressbar', '~> 1.10'
# GitLab settings
gem 'settingslogic', '~> 2.0.9'
@@ -291,7 +292,6 @@ gem 'sassc-rails', '~> 2.1.0'
gem 'terser', '1.0.2'
gem 'addressable', '~> 2.7'
-gem 'font-awesome-rails', '~> 4.7'
gem 'gemojione', '~> 3.3'
gem 'gon', '~> 6.2'
gem 'request_store', '~> 1.5'
@@ -311,7 +311,7 @@ gem 'gitlab-pg_query', '~> 1.3', require: 'pg_query'
gem 'premailer-rails', '~> 1.10.3'
# LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '0.13.1'
+gem 'gitlab-labkit', '0.13.3'
# I18n
gem 'ruby_parser', '~> 3.15', require: false
@@ -351,6 +351,7 @@ group :development do
end
group :development, :test do
+ gem 'deprecation_toolkit', '~> 1.5.1', require: false
gem 'bullet', '~> 6.1.0'
gem 'pry-byebug', '~> 3.9.0', platform: :mri
gem 'pry-rails', '~> 0.3.9'
@@ -370,7 +371,7 @@ group :development, :test do
gem 'spring', '~> 2.1.0'
gem 'spring-commands-rspec', '~> 1.0.4'
- gem 'gitlab-styles', '~> 5.1.0', require: false
+ gem 'gitlab-styles', '~> 5.3.0', require: false
gem 'scss_lint', '~> 0.59.0', require: false
gem 'haml_lint', '~> 0.36.0', require: false
@@ -428,7 +429,7 @@ end
gem 'octokit', '~> 4.15'
# https://gitlab.com/gitlab-org/gitlab/issues/207207
-gem 'gitlab-mail_room', '~> 0.0.7', require: 'mail_room'
+gem 'gitlab-mail_room', '~> 0.0.8', require: 'mail_room'
gem 'email_reply_trimmer', '~> 0.1'
gem 'html2text'
@@ -464,7 +465,7 @@ group :ed25519 do
end
# Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 13.5.0-rc2'
+gem 'gitaly', '~> 13.7.0.pre.rc1'
gem 'grpc', '~> 1.30.2'
@@ -477,6 +478,7 @@ gem 'flipper', '~> 0.17.1'
gem 'flipper-active_record', '~> 0.17.1'
gem 'flipper-active_support_cache_store', '~> 0.17.1'
gem 'unleash', '~> 0.1.5'
+gem 'gitlab-experiment', '~> 0.4.4'
# Structured logging
gem 'lograge', '~> 0.5'
diff --git a/Gemfile.lock b/Gemfile.lock
index 64179847dd..1cd90080fd 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -84,6 +84,8 @@ GEM
asciidoctor (2.0.10)
asciidoctor-include-ext (0.3.1)
asciidoctor (>= 1.5.6, < 3.0.0)
+ asciidoctor-kroki (0.2.2)
+ asciidoctor (~> 2.0)
asciidoctor-plantuml (0.0.12)
asciidoctor (>= 1.5.6, < 3.0.0)
ast (2.4.1)
@@ -177,7 +179,7 @@ GEM
open4 (~> 1.3)
coderay (1.1.3)
colored2 (3.1.2)
- commonmarker (0.20.1)
+ commonmarker (0.21.0)
ruby-enum (~> 0.5)
concord (0.1.5)
adamantium (~> 0.2.0)
@@ -220,10 +222,12 @@ GEM
debugger-ruby_core_source (1.3.8)
deckar01-task_list (2.3.1)
html-pipeline
- declarative (0.0.10)
+ declarative (0.0.20)
declarative-option (0.1.0)
default_value_for (3.3.0)
activerecord (>= 3.2.0, < 6.1)
+ deprecation_toolkit (1.5.1)
+ activesupport (>= 4.2)
derailed_benchmarks (1.7.0)
benchmark-ips (~> 2)
get_process_mem (~> 0)
@@ -359,7 +363,7 @@ GEM
fog-json
ipaddress (~> 0.8)
xml-simple (~> 1.1)
- fog-aws (3.5.2)
+ fog-aws (3.7.0)
fog-core (~> 2.1)
fog-json (~> 1.1)
fog-xml (~> 0.1)
@@ -369,11 +373,11 @@ GEM
excon (~> 0.58)
formatador (~> 0.2)
mime-types
- fog-google (1.11.0)
+ fog-google (1.12.0)
fog-core (<= 2.1.0)
fog-json (~> 1.2)
fog-xml (~> 0.1.0)
- google-api-client (>= 0.32, < 0.34)
+ google-api-client (>= 0.44.2, < 0.51)
google-cloud-env (~> 1.2)
fog-json (1.2.0)
fog-core
@@ -392,8 +396,6 @@ GEM
fog-xml (0.1.3)
fog-core
nokogiri (>= 1.5.11, < 2.0.0)
- font-awesome-rails (4.7.0.5)
- railties (>= 3.2, < 6.1)
formatador (0.2.5)
fugit (1.2.1)
et-orbi (~> 1.1, >= 1.1.8)
@@ -418,11 +420,14 @@ GEM
rails (>= 3.2.0)
git (1.7.0)
rchardet (~> 1.8)
- gitaly (13.5.0.pre.rc2)
+ gitaly (13.7.0.pre.rc1)
grpc (~> 1.0)
github-markup (1.7.0)
gitlab-chronic (0.10.5)
numerizer (~> 0.2)
+ gitlab-experiment (0.4.4)
+ activesupport (>= 3.0)
+ scientist (~> 1.5, >= 1.5.0)
gitlab-fog-azure-rm (1.0.0)
azure-storage-blob (~> 2.0)
azure-storage-common (~> 2.0)
@@ -430,15 +435,16 @@ GEM
fog-json (~> 1.2.0)
mime-types
ms_rest_azure (~> 0.12.0)
- gitlab-labkit (0.13.1)
+ gitlab-labkit (0.13.3)
actionpack (>= 5.0.0, < 6.1.0)
activesupport (>= 5.0.0, < 6.1.0)
+ gitlab-pg_query (~> 1.3)
grpc (~> 1.19)
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-mail_room (0.0.8)
gitlab-markup (1.7.1)
gitlab-net-dns (0.9.1)
gitlab-pg_query (1.3.0)
@@ -449,7 +455,7 @@ GEM
gitlab-puma (>= 2.7, < 5)
gitlab-sidekiq-fetcher (0.5.2)
sidekiq (~> 5)
- gitlab-styles (5.1.0)
+ gitlab-styles (5.3.0)
rubocop (~> 0.89.1)
rubocop-gitlab-security (~> 0.1.0)
rubocop-performance (~> 1.8.1)
@@ -468,20 +474,21 @@ GEM
actionpack (>= 3.0)
multi_json
request_store (>= 1.0)
- google-api-client (0.33.2)
+ google-api-client (0.50.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
+ rexml
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)
- googleauth (0.12.0)
+ googleauth (0.14.0)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
@@ -691,7 +698,7 @@ GEM
marginalia (1.9.0)
actionpack (>= 2.3)
activerecord (>= 2.3)
- memoist (0.16.0)
+ memoist (0.16.2)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
memory_profiler (0.9.14)
@@ -832,7 +839,7 @@ GEM
org-ruby (0.9.12)
rubypants (~> 0.2)
orm_adapter (0.5.0)
- os (1.0.0)
+ os (1.1.1)
parallel (1.19.2)
parser (2.7.2.0)
ast (~> 2.4.1)
@@ -977,7 +984,7 @@ GEM
rexml (3.2.4)
rinku (2.0.0)
rotp (2.1.2)
- rouge (3.25.0)
+ rouge (3.26.0)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
@@ -1041,7 +1048,7 @@ GEM
rubocop-rspec (1.44.1)
rubocop (~> 0.87)
rubocop-ast (>= 0.7.1)
- ruby-enum (0.7.2)
+ ruby-enum (0.8.0)
i18n
ruby-fogbugz (0.2.1)
crack (~> 0.4)
@@ -1081,6 +1088,7 @@ GEM
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
+ scientist (1.5.0)
scss_lint (0.59.0)
sass (~> 3.5, >= 3.5.5)
securecompare (1.0.0)
@@ -1215,7 +1223,7 @@ GEM
validate_url (1.0.8)
activemodel (>= 3.0.0)
public_suffix
- validates_hostname (1.0.10)
+ validates_hostname (1.0.11)
activerecord (>= 3.0)
activesupport (>= 3.0)
version_sorter (2.2.4)
@@ -1267,6 +1275,7 @@ DEPENDENCIES
asana (= 0.10.2)
asciidoctor (~> 2.0.10)
asciidoctor-include-ext (~> 0.3.1)
+ asciidoctor-kroki (~> 0.2.2)
asciidoctor-plantuml (~> 0.0.12)
atlassian-jwt (~> 0.2.0)
attr_encrypted (~> 3.1.0)
@@ -1292,7 +1301,7 @@ DEPENDENCIES
capybara-screenshot (~> 1.0.22)
carrierwave (~> 1.3)
charlock_holmes (~> 0.7.7)
- commonmarker (~> 0.20)
+ commonmarker (~> 0.21)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.0)
countries (~> 3.0)
@@ -1302,6 +1311,7 @@ DEPENDENCIES
database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.3.1)
default_value_for (~> 3.3.0)
+ deprecation_toolkit (~> 1.5.1)
derailed_benchmarks
device_detector
devise (~> 4.7.2)
@@ -1329,33 +1339,33 @@ DEPENDENCIES
flipper-active_support_cache_store (~> 0.17.1)
flowdock (~> 0.7)
fog-aliyun (~> 0.3)
- fog-aws (~> 3.5)
+ fog-aws (~> 3.7)
fog-core (= 2.1.0)
- fog-google (~> 1.11)
+ fog-google (~> 1.12)
fog-local (~> 0.6)
fog-openstack (~> 1.0)
fog-rackspace (~> 0.1.1)
- font-awesome-rails (~> 4.7)
fugit (~> 1.2.1)
fuubar (~> 2.2.0)
gemojione (~> 3.3)
gettext (~> 3.3)
gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3)
- gitaly (~> 13.5.0.pre.rc2)
+ gitaly (~> 13.7.0.pre.rc1)
github-markup (~> 1.7.0)
gitlab-chronic (~> 0.10.5)
+ gitlab-experiment (~> 0.4.4)
gitlab-fog-azure-rm (~> 1.0)
- gitlab-labkit (= 0.13.1)
+ gitlab-labkit (= 0.13.3)
gitlab-license (~> 1.0)
- gitlab-mail_room (~> 0.0.7)
+ gitlab-mail_room (~> 0.0.8)
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 (~> 5.1.0)
+ gitlab-styles (~> 5.3.0)
gitlab_chronic_duration (~> 0.10.6.2)
gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.2)
@@ -1468,7 +1478,7 @@ DEPENDENCIES
request_store (~> 1.5)
responders (~> 3.0)
retriable (~> 3.1.2)
- rouge (~> 3.25.0)
+ rouge (~> 3.26.0)
rqrcode-rails3 (~> 0.1.7)
rspec-parameterized
rspec-rails (~> 4.0.0)
@@ -1477,7 +1487,7 @@ DEPENDENCIES
rspec_profiling (~> 0.0.6)
ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 1.3.0)
- ruby-progressbar
+ ruby-progressbar (~> 1.10)
ruby_parser (~> 3.15)
rubyzip (~> 2.0.0)
rugged (~> 0.28)
@@ -1515,7 +1525,7 @@ DEPENDENCIES
unicorn-worker-killer (~> 0.4.4)
unleash (~> 0.1.5)
valid_email (~> 0.1)
- validates_hostname (~> 1.0.10)
+ validates_hostname (~> 1.0.11)
version_sorter (~> 2.2.4)
vmstat (~> 2.3.0)
webauthn (~> 2.3)
diff --git a/VERSION b/VERSION
index 51067b9c1d..097a182f11 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-13.6.7
\ No newline at end of file
+13.7.7
\ No newline at end of file
diff --git a/app/assets/images/checkmark.png b/app/assets/images/checkmark.png
new file mode 100644
index 0000000000..6e47fda5cd
Binary files /dev/null and b/app/assets/images/checkmark.png differ
diff --git a/app/assets/images/chevron-down.png b/app/assets/images/chevron-down.png
new file mode 100644
index 0000000000..3f269e05d0
Binary files /dev/null and b/app/assets/images/chevron-down.png differ
diff --git a/app/assets/images/jobs-empty-state.svg b/app/assets/images/jobs-empty-state.svg
new file mode 100644
index 0000000000..e6e0681a00
--- /dev/null
+++ b/app/assets/images/jobs-empty-state.svg
@@ -0,0 +1,33 @@
+
diff --git a/app/assets/javascripts/admin/users/components/app.vue b/app/assets/javascripts/admin/users/components/app.vue
new file mode 100644
index 0000000000..a3abd904a6
--- /dev/null
+++ b/app/assets/javascripts/admin/users/components/app.vue
@@ -0,0 +1,26 @@
+
+
+
+
-
+
{{ __('Are you sure you want to delete this board?') }}
- -+ {{ s__('IssueBoards|Switch board') }} +
+