New upstream version 14.6.3+ds1
This commit is contained in:
parent
62ea58294d
commit
09bec643e8
4961 changed files with 173269 additions and 85607 deletions
|
@ -63,11 +63,11 @@ rules:
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: emojis/**
|
- pattern: emojis/**
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: '{ee_,}empty_states/**'
|
- pattern: '{ee_,jh_,}empty_states/**'
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: '{ee_,}icons/**'
|
- pattern: '{ee_,jh_,}icons/**'
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: '{ee_,}images/**'
|
- pattern: '{ee_,jh_,}images/**'
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: vendor/**
|
- pattern: vendor/**
|
||||||
group: internal
|
group: internal
|
||||||
|
@ -75,13 +75,17 @@ rules:
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: '{ee_,}spec/**'
|
- pattern: '{ee_,}spec/**'
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: '{ee_,}jest/**'
|
- pattern: '{ee_,jh_,}jest/**'
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: ee_else_ce/**
|
- pattern: '{ee_,jh_,any_}else_ce/**'
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: ee/**
|
- pattern: ee/**
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: ee_component/**
|
- pattern: '{ee_,jh_,}component/**'
|
||||||
|
group: internal
|
||||||
|
- pattern: jh_else_ee/**
|
||||||
|
group: internal
|
||||||
|
- pattern: jh/**
|
||||||
group: internal
|
group: internal
|
||||||
- pattern: '{test_,}helpers/**'
|
- pattern: '{test_,}helpers/**'
|
||||||
group: internal
|
group: internal
|
||||||
|
@ -120,9 +124,9 @@ overrides:
|
||||||
parserOptions:
|
parserOptions:
|
||||||
parser: '@graphql-eslint/eslint-plugin'
|
parser: '@graphql-eslint/eslint-plugin'
|
||||||
operations:
|
operations:
|
||||||
- '{,ee/,jh/}app/**/*.graphql'
|
- '{,ee/,jh/}app/**/*.graphql'
|
||||||
# You can run `bundle exec rake gitlab:graphql:schema:dump` and then uncomment this line
|
# You can run `bundle exec rake gitlab:graphql:schema:dump` and then uncomment this line
|
||||||
# schema: './tmp/tests/graphql/gitlab_schema.graphql'
|
# schema: './tmp/tests/graphql/gitlab_schema.graphql'
|
||||||
rules:
|
rules:
|
||||||
filenames/match-regex: off
|
filenames/match-regex: off
|
||||||
spaced-comment: off
|
spaced-comment: off
|
||||||
|
@ -134,3 +138,4 @@ overrides:
|
||||||
#'@graphql-eslint/known-type-names': error
|
#'@graphql-eslint/known-type-names': error
|
||||||
'@graphql-eslint/no-anonymous-operations': error
|
'@graphql-eslint/no-anonymous-operations': error
|
||||||
'@graphql-eslint/unique-operation-name': error
|
'@graphql-eslint/unique-operation-name': error
|
||||||
|
'@graphql-eslint/require-id-when-available': error
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -95,7 +95,6 @@ jsdoc/
|
||||||
webpack-dev-server.json
|
webpack-dev-server.json
|
||||||
/.nvimrc
|
/.nvimrc
|
||||||
.solargraph.yml
|
.solargraph.yml
|
||||||
apollo.config.js
|
|
||||||
/tmp/matching_foss_tests.txt
|
/tmp/matching_foss_tests.txt
|
||||||
/tmp/matching_tests.txt
|
/tmp/matching_tests.txt
|
||||||
ee/changelogs/unreleased-ee
|
ee/changelogs/unreleased-ee
|
||||||
|
|
|
@ -16,7 +16,7 @@ stages:
|
||||||
# in cases where jobs require Docker-in-Docker, the job
|
# in cases where jobs require Docker-in-Docker, the job
|
||||||
# definition must be extended with `.use-docker-in-docker`
|
# definition must be extended with `.use-docker-in-docker`
|
||||||
default:
|
default:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36
|
||||||
tags:
|
tags:
|
||||||
- gitlab-org
|
- gitlab-org
|
||||||
# All jobs are interruptible by default
|
# All jobs are interruptible by default
|
||||||
|
@ -72,6 +72,7 @@ variables:
|
||||||
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json
|
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json
|
||||||
RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json
|
RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json
|
||||||
RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json
|
RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json
|
||||||
|
FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json
|
||||||
|
|
||||||
ES_JAVA_OPTS: "-Xms256m -Xmx256m"
|
ES_JAVA_OPTS: "-Xms256m -Xmx256m"
|
||||||
ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200"
|
ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200"
|
||||||
|
@ -95,6 +96,9 @@ variables:
|
||||||
# Default latest tag for particular branch
|
# Default latest tag for particular branch
|
||||||
QA_IMAGE_BRANCH: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_REF_SLUG}"
|
QA_IMAGE_BRANCH: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_REF_SLUG}"
|
||||||
|
|
||||||
|
REGISTRY_HOST: "registry.gitlab.com"
|
||||||
|
REGISTRY_GROUP: "gitlab-org"
|
||||||
|
|
||||||
# Preparing custom clone path to reduce space used by all random forks
|
# Preparing custom clone path to reduce space used by all random forks
|
||||||
# on GitLab.com's Shared Runners. Our main forks - especially the security
|
# on GitLab.com's Shared Runners. Our main forks - especially the security
|
||||||
# ones - will have this variable overwritten in the project settings, so that
|
# ones - will have this variable overwritten in the project settings, so that
|
||||||
|
|
|
@ -11,22 +11,23 @@
|
||||||
/doc/.markdownlint @marcel.amirault @eread @aqualls @cnorris
|
/doc/.markdownlint @marcel.amirault @eread @aqualls @cnorris
|
||||||
/doc/ @gl-docsteam
|
/doc/ @gl-docsteam
|
||||||
/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris
|
/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris
|
||||||
/doc/administration/geo/ @marcel.amirault
|
/doc/administration/geo/ @axil
|
||||||
/doc/administration/gitaly/ @eread
|
/doc/administration/gitaly/ @eread
|
||||||
/doc/administration/lfs/ @aqualls
|
/doc/administration/lfs/ @aqualls
|
||||||
/doc/administration/monitoring/ @ngaskill
|
/doc/administration/monitoring/ @ngaskill
|
||||||
/doc/administration/operations/ @marcel.amirault @eread @marcia
|
/doc/administration/operations/ @axil @eread @marcia
|
||||||
/doc/administration/packages/ @ngaskill
|
/doc/administration/packages/ @ngaskill
|
||||||
/doc/administration/pages/ @rdickenson @kpaizee
|
/doc/administration/pages/ @rdickenson @kpaizee
|
||||||
/doc/administration/postgresql/ @marcia
|
/doc/administration/postgresql/ @marcia
|
||||||
/doc/administration/raketasks/ @marcel.amirault @eread
|
/doc/administration/raketasks/ @axil @eread
|
||||||
/doc/administration/redis/ @marcel.amirault
|
/doc/administration/redis/ @axil
|
||||||
/doc/administration/reference_architectures/ @marcel.amirault
|
/doc/administration/reference_architectures/ @axil
|
||||||
/doc/administration/snippets/ @aqualls
|
/doc/administration/snippets/ @aqualls
|
||||||
/doc/administration/troubleshooting @marcel.amirault @marcia @eread
|
/doc/administration/troubleshooting @axil @marcia @eread
|
||||||
/doc/api/graphql/ @msedlakjakubowski @kpaizee
|
/doc/api/graphql/ @msedlakjakubowski @kpaizee
|
||||||
/doc/api/graphql/reference/ @kpaizee
|
/doc/api/graphql/reference/ @kpaizee
|
||||||
/doc/api/group_activity_analytics.md @fneill
|
/doc/api/group_activity_analytics.md @fneill
|
||||||
|
/doc/api/vulnerabilities.md @fneill
|
||||||
/doc/ci/ @marcel.amirault @sselhorn
|
/doc/ci/ @marcel.amirault @sselhorn
|
||||||
/doc/ci/environments/ @rdickenson
|
/doc/ci/environments/ @rdickenson
|
||||||
/doc/ci/services/ @sselhorn
|
/doc/ci/services/ @sselhorn
|
||||||
|
@ -36,7 +37,7 @@
|
||||||
/doc/development/i18n/ @ngaskill
|
/doc/development/i18n/ @ngaskill
|
||||||
/doc/development/value_stream_analytics.md @fneill
|
/doc/development/value_stream_analytics.md @fneill
|
||||||
/doc/gitlab-basics/ @aqualls
|
/doc/gitlab-basics/ @aqualls
|
||||||
/doc/install/ @marcel.amirault
|
/doc/install/ @axil
|
||||||
/doc/operations/ @ngaskill @rdickenson
|
/doc/operations/ @ngaskill @rdickenson
|
||||||
/doc/push_rules/ @aqualls
|
/doc/push_rules/ @aqualls
|
||||||
/doc/security/ @eread
|
/doc/security/ @eread
|
||||||
|
@ -44,11 +45,15 @@
|
||||||
/doc/subscriptions/ @sselhorn
|
/doc/subscriptions/ @sselhorn
|
||||||
/doc/topics/autodevops/ @marcia
|
/doc/topics/autodevops/ @marcia
|
||||||
/doc/topics/git/ @aqualls
|
/doc/topics/git/ @aqualls
|
||||||
/doc/update/ @marcel.amirault @marcia
|
/doc/update/ @axil @marcia
|
||||||
/doc/user/analytics/ @fneill @ngaskill
|
/doc/user/analytics/ @fneill @ngaskill
|
||||||
/doc/user/application_security/ @rdickenson
|
/doc/user/application_security/ @rdickenson
|
||||||
/doc/user/application_security/container_scanning/ @ngaskill
|
/doc/user/application_security/container_scanning/ @ngaskill
|
||||||
/doc/user/application_security/cluster_image_scanning/ @ngaskill
|
/doc/user/application_security/cluster_image_scanning/ @ngaskill
|
||||||
|
/doc/user/application_security/cve_id_request.md @fneill
|
||||||
|
/doc/user/application_security/security_dashboard @fneill
|
||||||
|
/doc/user/application_security/vulnerabilities @fneill
|
||||||
|
/doc/user/application_security/vulnerability_report @fneill
|
||||||
/doc/user/clusters/ @marcia
|
/doc/user/clusters/ @marcia
|
||||||
/doc/user/compliance/ @rdickenson @eread
|
/doc/user/compliance/ @rdickenson @eread
|
||||||
/doc/user/group/ @msedlakjakubowski
|
/doc/user/group/ @msedlakjakubowski
|
||||||
|
@ -80,7 +85,6 @@
|
||||||
|
|
||||||
[Docs Create]
|
[Docs Create]
|
||||||
/doc/administration/file_hooks.md @aqualls
|
/doc/administration/file_hooks.md @aqualls
|
||||||
/doc/administration/git_annex.md @aqualls
|
|
||||||
/doc/administration/git_protocol.md @aqualls
|
/doc/administration/git_protocol.md @aqualls
|
||||||
/doc/administration/invalidate_markdown_cache.md @aqualls
|
/doc/administration/invalidate_markdown_cache.md @aqualls
|
||||||
/doc/administration/issue_closing_pattern.md @aqualls
|
/doc/administration/issue_closing_pattern.md @aqualls
|
||||||
|
@ -173,7 +177,6 @@
|
||||||
/lib/gitlab/background_migration/ @gitlab-org/maintainers/database
|
/lib/gitlab/background_migration/ @gitlab-org/maintainers/database
|
||||||
/ee/lib/ee/gitlab/background_migration/ @gitlab-org/maintainers/database
|
/ee/lib/ee/gitlab/background_migration/ @gitlab-org/maintainers/database
|
||||||
/lib/gitlab/database/ @gitlab-org/maintainers/database
|
/lib/gitlab/database/ @gitlab-org/maintainers/database
|
||||||
/ee/lib/gitlab/database/ @gitlab-org/maintainers/database
|
|
||||||
/lib/gitlab/sql/ @gitlab-org/maintainers/database
|
/lib/gitlab/sql/ @gitlab-org/maintainers/database
|
||||||
/lib/gitlab/github_import/ @gitlab-org/maintainers/database
|
/lib/gitlab/github_import/ @gitlab-org/maintainers/database
|
||||||
/app/finders/ @gitlab-org/maintainers/database
|
/app/finders/ @gitlab-org/maintainers/database
|
||||||
|
@ -185,7 +188,6 @@
|
||||||
/.gitlab/ci/ @gl-quality/eng-prod
|
/.gitlab/ci/ @gl-quality/eng-prod
|
||||||
/.gitlab/ci/docs.gitlab-ci.yml @gl-quality/eng-prod @gl-docsteam
|
/.gitlab/ci/docs.gitlab-ci.yml @gl-quality/eng-prod @gl-docsteam
|
||||||
/.gitlab/ci/releases.gitlab-ci.yml @gl-quality/eng-prod @gitlab-org/delivery
|
/.gitlab/ci/releases.gitlab-ci.yml @gl-quality/eng-prod @gitlab-org/delivery
|
||||||
/.gitlab/ci/dast.gitlab-ci.yml @dappelt @ngeorge1 @gl-quality/eng-prod
|
|
||||||
/.gitlab/ci/reports.gitlab-ci.yml @gitlab-com/gl-security/appsec @gl-quality/eng-prod
|
/.gitlab/ci/reports.gitlab-ci.yml @gitlab-com/gl-security/appsec @gl-quality/eng-prod
|
||||||
/.gitlab/CODEOWNERS @gl-quality/eng-prod
|
/.gitlab/CODEOWNERS @gl-quality/eng-prod
|
||||||
Dangerfile @gl-quality/eng-prod
|
Dangerfile @gl-quality/eng-prod
|
||||||
|
@ -198,6 +200,8 @@ Dangerfile @gl-quality/eng-prod
|
||||||
|
|
||||||
[Backend Static Code Analysis]
|
[Backend Static Code Analysis]
|
||||||
.rubocop*.yml @dstull @splattael @gl-quality/eng-prod
|
.rubocop*.yml @dstull @splattael @gl-quality/eng-prod
|
||||||
|
.rubocop_todo.yml @dstull @splattael @gl-quality/eng-prod
|
||||||
|
.rubocop_todo/ @dstull @splattael @gl-quality/eng-prod
|
||||||
/rubocop/ @dstull @splattael @gl-quality/eng-prod
|
/rubocop/ @dstull @splattael @gl-quality/eng-prod
|
||||||
/spec/rubocop/ @dstull @splattael @gl-quality/eng-prod
|
/spec/rubocop/ @dstull @splattael @gl-quality/eng-prod
|
||||||
|
|
||||||
|
@ -230,8 +234,6 @@ Dangerfile @gl-quality/eng-prod
|
||||||
/ee/app/policies/vulnerability*.rb @gitlab-org/secure/threat-insights-backend-team
|
/ee/app/policies/vulnerability*.rb @gitlab-org/secure/threat-insights-backend-team
|
||||||
/ee/app/presenters/projects/security/ @gitlab-org/secure/threat-insights-backend-team
|
/ee/app/presenters/projects/security/ @gitlab-org/secure/threat-insights-backend-team
|
||||||
/ee/lib/api/vulnerabilit*.rb @gitlab-org/secure/threat-insights-backend-team
|
/ee/lib/api/vulnerabilit*.rb @gitlab-org/secure/threat-insights-backend-team
|
||||||
/ee/lib/gitlab/ci/reports/security/vulnerability_reports_comparer.rb @gitlab-org/secure/threat-insights-backend-team
|
|
||||||
/ee/spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb @gitlab-org/secure/threat-insights-backend-team
|
|
||||||
/ee/spec/policies/vulnerabilities/ @gitlab-org/secure/threat-insights-backend-team
|
/ee/spec/policies/vulnerabilities/ @gitlab-org/secure/threat-insights-backend-team
|
||||||
/ee/spec/policies/vulnerability*.rb @gitlab-org/secure/threat-insights-backend-team
|
/ee/spec/policies/vulnerability*.rb @gitlab-org/secure/threat-insights-backend-team
|
||||||
/ee/spec/presenters/projects/security/ @gitlab-org/secure/threat-insights-backend-team
|
/ee/spec/presenters/projects/security/ @gitlab-org/secure/threat-insights-backend-team
|
||||||
|
@ -267,8 +269,6 @@ Dangerfile @gl-quality/eng-prod
|
||||||
/spec/lib/gitlab/kubernetes/network_policy_spec.rb @gitlab-org/protect/container-security-backend
|
/spec/lib/gitlab/kubernetes/network_policy_spec.rb @gitlab-org/protect/container-security-backend
|
||||||
/ee/app/services/network_policies/** @gitlab-org/protect/container-security-backend
|
/ee/app/services/network_policies/** @gitlab-org/protect/container-security-backend
|
||||||
/ee/spec/services/network_policies/** @gitlab-org/protect/container-security-backend
|
/ee/spec/services/network_policies/** @gitlab-org/protect/container-security-backend
|
||||||
/ee/app/controllers/projects/security/waf_anomalies_controller.rb @gitlab-org/protect/container-security-backend
|
|
||||||
/ee/spec/controllers/projects/security/waf_anomalies_controller_spec.rb @gitlab-org/protect/container-security-backend
|
|
||||||
/app/models/clusters/applications/cilium.rb @gitlab-org/protect/container-security-backend
|
/app/models/clusters/applications/cilium.rb @gitlab-org/protect/container-security-backend
|
||||||
/spec/models/clusters/applications/cilium_spec.rb @gitlab-org/protect/container-security-backend
|
/spec/models/clusters/applications/cilium_spec.rb @gitlab-org/protect/container-security-backend
|
||||||
/ee/app/controllers/projects/security/network_policies_controller.rb @gitlab-org/protect/container-security-backend
|
/ee/app/controllers/projects/security/network_policies_controller.rb @gitlab-org/protect/container-security-backend
|
||||||
|
@ -298,7 +298,7 @@ Dangerfile @gl-quality/eng-prod
|
||||||
/lib/gitlab/discussions_diff/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
/lib/gitlab/discussions_diff/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
||||||
/lib/gitlab/quick_actions/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
/lib/gitlab/quick_actions/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
||||||
|
|
||||||
/ee/app/models/merge_request.rb @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
/ee/app/models/ee/merge_request.rb @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
||||||
/ee/app/services/merge_requests/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
/ee/app/services/merge_requests/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
||||||
/ee/app/workers/merge_requests/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
/ee/app/workers/merge_requests/ @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
||||||
/ee/app/workers/merge_request_reset_approvals_worker.rb @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
/ee/app/workers/merge_request_reset_approvals_worker.rb @dskim_gitlab @garyh @patrickbajao @marc_shaw @kerrizor
|
||||||
|
@ -306,7 +306,6 @@ Dangerfile @gl-quality/eng-prod
|
||||||
/app/assets/javascripts/diffs @viktomas @jboyson @iamphill @thomasrandolph
|
/app/assets/javascripts/diffs @viktomas @jboyson @iamphill @thomasrandolph
|
||||||
/app/assets/javascripts/batch_comments/ @viktomas @jboyson @iamphill @thomasrandolph
|
/app/assets/javascripts/batch_comments/ @viktomas @jboyson @iamphill @thomasrandolph
|
||||||
/app/assets/javascripts/notes @viktomas @jboyson @iamphill @thomasrandolph
|
/app/assets/javascripts/notes @viktomas @jboyson @iamphill @thomasrandolph
|
||||||
/app/assets/javascripts/merge_request @viktomas @jboyson @iamphill @thomasrandolph
|
|
||||||
/app/assets/javascripts/merge_conflicts @viktomas @jboyson @iamphill @thomasrandolph
|
/app/assets/javascripts/merge_conflicts @viktomas @jboyson @iamphill @thomasrandolph
|
||||||
/app/assets/javascripts/mr_notes @viktomas @jboyson @iamphill @thomasrandolph
|
/app/assets/javascripts/mr_notes @viktomas @jboyson @iamphill @thomasrandolph
|
||||||
/app/assets/javascripts/mr_popover @viktomas @jboyson @iamphill @thomasrandolph
|
/app/assets/javascripts/mr_popover @viktomas @jboyson @iamphill @thomasrandolph
|
||||||
|
@ -328,7 +327,6 @@ Dangerfile @gl-quality/eng-prod
|
||||||
/lib/gitlab/usage_data_counters/ @gitlab-org/growth/product-intelligence/engineers
|
/lib/gitlab/usage_data_counters/ @gitlab-org/growth/product-intelligence/engineers
|
||||||
|
|
||||||
[Growth Experiments]
|
[Growth Experiments]
|
||||||
/app/assets/javascripts/lib/utils/experimentation.js @gitlab-org/growth/experiment-devs
|
|
||||||
/app/experiments/ @gitlab-org/growth/experiment-devs
|
/app/experiments/ @gitlab-org/growth/experiment-devs
|
||||||
/app/models/experiment.rb @gitlab-org/growth/experiment-devs
|
/app/models/experiment.rb @gitlab-org/growth/experiment-devs
|
||||||
/app/models/experiment_subject.rb @gitlab-org/growth/experiment-devs
|
/app/models/experiment_subject.rb @gitlab-org/growth/experiment-devs
|
||||||
|
|
|
@ -53,7 +53,7 @@ docs-lint markdown:
|
||||||
docs-lint links:
|
docs-lint links:
|
||||||
extends:
|
extends:
|
||||||
- .docs:rules:docs-lint
|
- .docs:rules:docs-lint
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.14-ruby-2.7.4-0fae0f62
|
image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.14-ruby-2.7.5-08847baa
|
||||||
stage: lint
|
stage: lint
|
||||||
needs: []
|
needs: []
|
||||||
script:
|
script:
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
- .default-retry
|
- .default-retry
|
||||||
- .default-before_script
|
- .default-before_script
|
||||||
- .assets-compile-cache
|
- .assets-compile-cache
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36
|
||||||
variables:
|
variables:
|
||||||
SETUP_DB: "false"
|
SETUP_DB: "false"
|
||||||
WEBPACK_VENDOR_DLL: "true"
|
WEBPACK_VENDOR_DLL: "true"
|
||||||
|
@ -331,7 +331,7 @@ bundle-size-review:
|
||||||
extends:
|
extends:
|
||||||
- .default-retry
|
- .default-retry
|
||||||
- .frontend:rules:bundle-size-review
|
- .frontend:rules:bundle-size-review
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-build-images:danger
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:danger
|
||||||
stage: test
|
stage: test
|
||||||
needs: ["compile-production-assets"]
|
needs: ["compile-production-assets"]
|
||||||
script:
|
script:
|
||||||
|
|
|
@ -213,7 +213,7 @@
|
||||||
- *storybook-node-modules-cache-push
|
- *storybook-node-modules-cache-push
|
||||||
|
|
||||||
.use-pg11:
|
.use-pg11:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36
|
||||||
services:
|
services:
|
||||||
- name: postgres:11.6
|
- name: postgres:11.6
|
||||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||||
|
@ -222,7 +222,7 @@
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
|
||||||
.use-pg12:
|
.use-pg12:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36
|
||||||
services:
|
services:
|
||||||
- name: postgres:12
|
- name: postgres:12
|
||||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||||
|
@ -231,7 +231,7 @@
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
|
||||||
.use-pg13:
|
.use-pg13:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36
|
||||||
services:
|
services:
|
||||||
- name: postgres:13
|
- name: postgres:13
|
||||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
|
||||||
.use-pg11-ee:
|
.use-pg11-ee:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36
|
||||||
services:
|
services:
|
||||||
- name: postgres:11.6
|
- name: postgres:11.6
|
||||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||||
|
@ -251,7 +251,7 @@
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
|
||||||
.use-pg12-ee:
|
.use-pg12-ee:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36
|
||||||
services:
|
services:
|
||||||
- name: postgres:12
|
- name: postgres:12
|
||||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||||
|
@ -262,7 +262,7 @@
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
|
||||||
.use-pg13-ee:
|
.use-pg13-ee:
|
||||||
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36"
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36
|
||||||
services:
|
services:
|
||||||
- name: postgres:13
|
- name: postgres:13
|
||||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||||
|
@ -274,7 +274,7 @@
|
||||||
|
|
||||||
.use-kaniko:
|
.use-kaniko:
|
||||||
image:
|
image:
|
||||||
name: registry.gitlab.com/gitlab-org/gitlab-build-images:kaniko
|
name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:kaniko
|
||||||
entrypoint: [""]
|
entrypoint: [""]
|
||||||
before_script:
|
before_script:
|
||||||
- source scripts/utils.sh
|
- source scripts/utils.sh
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
test-reliability-report:
|
|
||||||
extends:
|
|
||||||
- .qa:rules:reliable-reports:schedule
|
|
||||||
image:
|
|
||||||
name: ${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_DEFAULT_BRANCH}
|
|
||||||
entrypoint: [""]
|
|
||||||
before_script:
|
|
||||||
- cd /home/gitlab/qa
|
|
||||||
script:
|
|
||||||
- echo "Generate report for 'staging-full' runs"
|
|
||||||
- bundle exec rake "reliable_spec_report[staging-full,30,true]"
|
|
||||||
- bundle exec rake "unreliable_spec_report[staging-full,30,true]"
|
|
||||||
- echo "Generate report for 'package-and-qa' runs"
|
|
||||||
- bundle exec rake "reliable_spec_report[package-and-qa,30,true]"
|
|
||||||
- bundle exec rake "unreliable_spec_report[package-and-qa,30,true]"
|
|
|
@ -57,8 +57,12 @@ update-qa-cache:
|
||||||
- install_gitlab_gem
|
- install_gitlab_gem
|
||||||
- tooling/bin/find_change_diffs ${CHANGES_DIFFS_DIR}
|
- tooling/bin/find_change_diffs ${CHANGES_DIFFS_DIR}
|
||||||
script:
|
script:
|
||||||
|
- tooling/bin/qa/check_if_qa_only_spec_changes ${CHANGES_FILE} ${ONLY_QA_CHANGES_FILE}
|
||||||
|
- '[ -f $ONLY_QA_CHANGES_FILE ] && export QA_TESTS="`cat $ONLY_QA_CHANGES_FILE`"'
|
||||||
|
- 'echo "QA_TESTS: $QA_TESTS"'
|
||||||
|
- exit_code=0 && tooling/bin/qa/package_and_qa_check ${CHANGES_DIFFS_DIR} || exit_code=$?
|
||||||
|
- echo $exit_code
|
||||||
- |
|
- |
|
||||||
tooling/bin/qa/package_and_qa_check ${CHANGES_DIFFS_DIR} && exit_code=$?
|
|
||||||
if [ $exit_code -eq 0 ]; then
|
if [ $exit_code -eq 0 ]; then
|
||||||
./scripts/trigger-build omnibus
|
./scripts/trigger-build omnibus
|
||||||
elif [ $exit_code -eq 1 ]; then
|
elif [ $exit_code -eq 1 ]; then
|
||||||
|
@ -80,16 +84,25 @@ update-qa-cache:
|
||||||
expire_in: 7d
|
expire_in: 7d
|
||||||
paths:
|
paths:
|
||||||
- ${CHANGES_FILE}
|
- ${CHANGES_FILE}
|
||||||
|
- ${ONLY_QA_CHANGES_FILE}
|
||||||
- ${CHANGES_DIFFS_DIR}/*
|
- ${CHANGES_DIFFS_DIR}/*
|
||||||
variables:
|
variables:
|
||||||
CHANGES_FILE: tmp/changed_files.txt
|
CHANGES_FILE: tmp/changed_files.txt
|
||||||
|
ONLY_QA_CHANGES_FILE: tmp/qa_only_changed_files.txt
|
||||||
CHANGES_DIFFS_DIR: tmp/diffs
|
CHANGES_DIFFS_DIR: tmp/diffs
|
||||||
|
ALLURE_JOB_NAME: $CI_JOB_NAME
|
||||||
|
|
||||||
.package-and-qa-ff-base:
|
.package-and-qa-ff-base:
|
||||||
script:
|
script:
|
||||||
- export GITLAB_QA_OPTIONS="--set-feature-flags $(scripts/changed-feature-flags --files $(cat $CHANGES_FILE | tr ' ' ',') --state $QA_FF_STATE)"
|
- |
|
||||||
- echo $GITLAB_QA_OPTIONS
|
feature_flags=$(scripts/changed-feature-flags --files $(cat $CHANGES_FILE | tr ' ' ',') --state $QA_FF_STATE)
|
||||||
- ./scripts/trigger-build omnibus
|
if [[ $feature_flags ]]; then
|
||||||
|
export GITLAB_QA_OPTIONS="--set-feature-flags $feature_flags"
|
||||||
|
echo $GITLAB_QA_OPTIONS
|
||||||
|
./scripts/trigger-build omnibus
|
||||||
|
else
|
||||||
|
echo "No changed feature flag found to test. The tests are skipped if the flag was removed."
|
||||||
|
fi
|
||||||
|
|
||||||
package-and-qa:
|
package-and-qa:
|
||||||
extends:
|
extends:
|
||||||
|
|
|
@ -18,9 +18,13 @@
|
||||||
variables:
|
variables:
|
||||||
RSPEC_TESTS_MAPPING_ENABLED: "true"
|
RSPEC_TESTS_MAPPING_ENABLED: "true"
|
||||||
|
|
||||||
.decomposed-database-rspec:
|
.decomposed-database:
|
||||||
variables:
|
variables:
|
||||||
DECOMPOSED_DB: "true"
|
DECOMPOSED_DB: "true"
|
||||||
|
|
||||||
|
.decomposed-database-rspec:
|
||||||
|
extends: .decomposed-database
|
||||||
|
variables:
|
||||||
GITLAB_LOAD_BALANCING_REUSE_PRIMARY_ci: "main"
|
GITLAB_LOAD_BALANCING_REUSE_PRIMARY_ci: "main"
|
||||||
GITLAB_USE_MODEL_LOAD_BALANCING: "true"
|
GITLAB_USE_MODEL_LOAD_BALANCING: "true"
|
||||||
|
|
||||||
|
@ -31,6 +35,7 @@
|
||||||
RUBY_GC_MALLOC_LIMIT: 67108864
|
RUBY_GC_MALLOC_LIMIT: 67108864
|
||||||
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
|
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
|
||||||
RECORD_DEPRECATIONS: "true"
|
RECORD_DEPRECATIONS: "true"
|
||||||
|
GEO_SECONDARY_PROXY: 0
|
||||||
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
|
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
|
||||||
script:
|
script:
|
||||||
- !reference [.base-script, script]
|
- !reference [.base-script, script]
|
||||||
|
@ -151,16 +156,16 @@
|
||||||
parallel: 3
|
parallel: 3
|
||||||
|
|
||||||
.rspec-unit-parallel:
|
.rspec-unit-parallel:
|
||||||
parallel: 20
|
parallel: 22
|
||||||
|
|
||||||
.rspec-ee-unit-parallel:
|
.rspec-ee-unit-parallel:
|
||||||
parallel: 12
|
parallel: 14
|
||||||
|
|
||||||
.rspec-ee-unit-geo-parallel:
|
.rspec-ee-unit-geo-parallel:
|
||||||
parallel: 2
|
parallel: 2
|
||||||
|
|
||||||
.rspec-integration-parallel:
|
.rspec-integration-parallel:
|
||||||
parallel: 8
|
parallel: 10
|
||||||
|
|
||||||
.rspec-ee-integration-parallel:
|
.rspec-ee-integration-parallel:
|
||||||
parallel: 4
|
parallel: 4
|
||||||
|
@ -341,8 +346,14 @@ rspec fast_spec_helper minimal:
|
||||||
db:rollback:
|
db:rollback:
|
||||||
extends: .db-job-base
|
extends: .db-job-base
|
||||||
script:
|
script:
|
||||||
- bundle exec rake db:migrate VERSION=20181228175414
|
- scripts/db_tasks db:migrate VERSION=20181228175414
|
||||||
- bundle exec rake db:migrate SKIP_SCHEMA_VERSION_CHECK=true
|
- scripts/db_tasks db:migrate SKIP_SCHEMA_VERSION_CHECK=true
|
||||||
|
|
||||||
|
db:rollback decomposed:
|
||||||
|
extends:
|
||||||
|
- db:rollback
|
||||||
|
- .decomposed-database
|
||||||
|
- .rails:rules:decomposed-databases
|
||||||
|
|
||||||
db:migrate:reset:
|
db:migrate:reset:
|
||||||
extends: .db-job-base
|
extends: .db-job-base
|
||||||
|
@ -367,19 +378,34 @@ db:migrate-from-previous-major-version:
|
||||||
- git checkout -f $CI_COMMIT_SHA
|
- git checkout -f $CI_COMMIT_SHA
|
||||||
- SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh
|
- SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh
|
||||||
script:
|
script:
|
||||||
- run_timed_command "bundle exec rake db:migrate"
|
- run_timed_command "scripts/db_tasks db:migrate"
|
||||||
|
|
||||||
db:check-schema:
|
db:migrate-from-previous-major-version-decomposed:
|
||||||
extends:
|
extends:
|
||||||
- db:migrate-from-previous-major-version
|
- db:migrate-from-previous-major-version
|
||||||
|
- .decomposed-database
|
||||||
|
- .rails:rules:decomposed-databases
|
||||||
|
|
||||||
|
.db:check-schema-base:
|
||||||
|
extends:
|
||||||
- .rails:rules:ee-mr-and-default-branch-only
|
- .rails:rules:ee-mr-and-default-branch-only
|
||||||
variables:
|
variables:
|
||||||
TAG_TO_CHECKOUT: "v14.4.0"
|
TAG_TO_CHECKOUT: "v14.4.0"
|
||||||
script:
|
script:
|
||||||
- run_timed_command "bundle exec rake db:migrate"
|
- run_timed_command "scripts/db_tasks db:migrate"
|
||||||
- scripts/schema_changed.sh
|
- scripts/schema_changed.sh
|
||||||
- scripts/validate_migration_timestamps
|
- scripts/validate_migration_timestamps
|
||||||
|
|
||||||
|
db:check-schema:
|
||||||
|
extends:
|
||||||
|
- db:migrate-from-previous-major-version
|
||||||
|
- .db:check-schema-base
|
||||||
|
|
||||||
|
db:check-schema-decomposed:
|
||||||
|
extends:
|
||||||
|
- db:migrate-from-previous-major-version-decomposed
|
||||||
|
- .db:check-schema-base
|
||||||
|
|
||||||
db:check-migrations:
|
db:check-migrations:
|
||||||
extends:
|
extends:
|
||||||
- .db-job-base
|
- .db-job-base
|
||||||
|
@ -389,6 +415,12 @@ db:check-migrations:
|
||||||
- scripts/validate_migration_schema
|
- scripts/validate_migration_schema
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
|
db:check-migrations-decomposed:
|
||||||
|
extends:
|
||||||
|
- db:check-migrations
|
||||||
|
- .decomposed-database
|
||||||
|
- .rails:rules:decomposed-databases
|
||||||
|
|
||||||
db:gitlabcom-database-testing:
|
db:gitlabcom-database-testing:
|
||||||
extends: .rails:rules:db:gitlabcom-database-testing
|
extends: .rails:rules:db:gitlabcom-database-testing
|
||||||
stage: test
|
stage: test
|
||||||
|
@ -487,6 +519,11 @@ rspec:coverage:
|
||||||
- rspec unit pg12 minimal
|
- rspec unit pg12 minimal
|
||||||
- rspec integration pg12 minimal
|
- rspec integration pg12 minimal
|
||||||
- rspec system pg12 minimal
|
- rspec system pg12 minimal
|
||||||
|
# FOSS/EE decomposed jobs
|
||||||
|
- rspec migration pg12 decomposed
|
||||||
|
- rspec unit pg12 decomposed
|
||||||
|
- rspec integration pg12 decomposed
|
||||||
|
- rspec system pg12 decomposed
|
||||||
# EE jobs
|
# EE jobs
|
||||||
- rspec-ee migration pg12
|
- rspec-ee migration pg12
|
||||||
- rspec-ee unit pg12
|
- rspec-ee unit pg12
|
||||||
|
@ -497,6 +534,11 @@ rspec:coverage:
|
||||||
- rspec-ee unit pg12 minimal
|
- rspec-ee unit pg12 minimal
|
||||||
- rspec-ee integration pg12 minimal
|
- rspec-ee integration pg12 minimal
|
||||||
- rspec-ee system pg12 minimal
|
- rspec-ee system pg12 minimal
|
||||||
|
# EE decomposed jobs
|
||||||
|
- rspec-ee migration pg12 decomposed
|
||||||
|
- rspec-ee unit pg12 decomposed
|
||||||
|
- rspec-ee integration pg12 decomposed
|
||||||
|
- rspec-ee system pg12 decomposed
|
||||||
# Geo jobs
|
# Geo jobs
|
||||||
- rspec-ee unit pg12 geo
|
- rspec-ee unit pg12 geo
|
||||||
- rspec-ee integration pg12 geo
|
- rspec-ee integration pg12 geo
|
||||||
|
@ -508,6 +550,19 @@ rspec:coverage:
|
||||||
# Memory jobs
|
# Memory jobs
|
||||||
- memory-static
|
- memory-static
|
||||||
- memory-on-boot
|
- memory-on-boot
|
||||||
|
# As-if-FOSS jobs
|
||||||
|
- rspec migration pg12-as-if-foss
|
||||||
|
- rspec migration pg12-as-if-foss minimal
|
||||||
|
- rspec migration pg12-as-if-foss decomposed
|
||||||
|
- rspec unit pg12-as-if-foss
|
||||||
|
- rspec unit pg12-as-if-foss minimal
|
||||||
|
- rspec unit pg12-as-if-foss decomposed
|
||||||
|
- rspec integration pg12-as-if-foss
|
||||||
|
- rspec integration pg12-as-if-foss minimal
|
||||||
|
- rspec integration pg12-as-if-foss decomposed
|
||||||
|
- rspec system pg12-as-if-foss
|
||||||
|
- rspec system pg12-as-if-foss minimal
|
||||||
|
- rspec system pg12-as-if-foss decomposed
|
||||||
script:
|
script:
|
||||||
- run_timed_command "bundle exec scripts/merge-simplecov"
|
- run_timed_command "bundle exec scripts/merge-simplecov"
|
||||||
- run_timed_command "bundle exec scripts/gather-test-memory-data"
|
- run_timed_command "bundle exec scripts/gather-test-memory-data"
|
||||||
|
@ -518,10 +573,29 @@ rspec:coverage:
|
||||||
paths:
|
paths:
|
||||||
- coverage/index.html
|
- coverage/index.html
|
||||||
- coverage/assets/
|
- coverage/assets/
|
||||||
|
- coverage/lcov/
|
||||||
- tmp/memory_test/
|
- tmp/memory_test/
|
||||||
reports:
|
reports:
|
||||||
cobertura: coverage/coverage.xml
|
cobertura: coverage/coverage.xml
|
||||||
|
|
||||||
|
rspec:undercoverage:
|
||||||
|
extends:
|
||||||
|
- .coverage-base
|
||||||
|
- .rails:rules:rspec-undercoverage
|
||||||
|
stage: post-test
|
||||||
|
needs: ["rspec:coverage"]
|
||||||
|
script:
|
||||||
|
- if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA" ]; then
|
||||||
|
echo "Checking out \$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA ($CI_MERGE_REQUEST_SOURCE_BRANCH_SHA) instead of \$CI_COMMIT_SHA (merge result commit $CI_COMMIT_SHA) so we can use $CI_MERGE_REQUEST_DIFF_BASE_SHA for undercoverage in this merged result pipeline";
|
||||||
|
git checkout -f ${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA};
|
||||||
|
bundle_install_script;
|
||||||
|
else
|
||||||
|
echo "Using \$CI_COMMIT_SHA ($CI_COMMIT_SHA) for this non-merge result pipeline.";
|
||||||
|
fi;
|
||||||
|
- if [ -f scripts/undercoverage ]; then
|
||||||
|
run_timed_command "scripts/undercoverage";
|
||||||
|
fi;
|
||||||
|
|
||||||
rspec:feature-flags:
|
rspec:feature-flags:
|
||||||
extends:
|
extends:
|
||||||
- .coverage-base
|
- .coverage-base
|
||||||
|
@ -880,8 +954,8 @@ db:rollback geo:
|
||||||
- db:rollback
|
- db:rollback
|
||||||
- .rails:rules:ee-only-migration
|
- .rails:rules:ee-only-migration
|
||||||
script:
|
script:
|
||||||
- bundle exec rake geo:db:migrate VERSION=20170627195211
|
- bundle exec rake db:migrate:geo VERSION=20170627195211
|
||||||
- bundle exec rake geo:db:migrate
|
- bundle exec rake db:migrate:geo
|
||||||
# EE: default refs (MRs, default branch, schedules) jobs #
|
# EE: default refs (MRs, default branch, schedules) jobs #
|
||||||
##################################################
|
##################################################
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ gemnasium-python-dependency_scanning:
|
||||||
|
|
||||||
yarn-audit-dependency_scanning:
|
yarn-audit-dependency_scanning:
|
||||||
extends: .ds-analyzer
|
extends: .ds-analyzer
|
||||||
image: "registry.gitlab.com/gitlab-org/security-products/analyzers/npm-audit:1.4.0"
|
image: "registry.gitlab.com/gitlab-org/security-products/analyzers/npm-audit:1.4.1"
|
||||||
variables:
|
variables:
|
||||||
TOOL: yarn
|
TOOL: yarn
|
||||||
rules: !reference [".reports:rules:yarn-audit-dependency_scanning", rules]
|
rules: !reference [".reports:rules:yarn-audit-dependency_scanning", rules]
|
||||||
|
|
|
@ -34,12 +34,12 @@ review-build-cng:
|
||||||
.review-workflow-base:
|
.review-workflow-base:
|
||||||
extends:
|
extends:
|
||||||
- .default-retry
|
- .default-retry
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-helm3.5-kubectl1.17
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:gitlab-helm3.5-kubectl1.17
|
||||||
resource_group: "review/${CI_COMMIT_REF_NAME}"
|
resource_group: "review/${CI_COMMIT_REF_NAME}"
|
||||||
variables:
|
variables:
|
||||||
HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}"
|
HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}"
|
||||||
DOMAIN: "-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}"
|
DOMAIN: "-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}"
|
||||||
GITLAB_HELM_CHART_REF: "v5.4.1"
|
GITLAB_HELM_CHART_REF: "v5.5.0"
|
||||||
environment:
|
environment:
|
||||||
name: review/${CI_COMMIT_REF_SLUG}${FREQUENCY}
|
name: review/${CI_COMMIT_REF_SLUG}${FREQUENCY}
|
||||||
url: https://gitlab-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}
|
url: https://gitlab-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}
|
||||||
|
@ -65,6 +65,7 @@ review-deploy:
|
||||||
- deploy || (display_deployment_debug && exit 1)
|
- deploy || (display_deployment_debug && exit 1)
|
||||||
- verify_deploy || exit 1
|
- verify_deploy || exit 1
|
||||||
- disable_sign_ups || (delete_release && exit 1)
|
- disable_sign_ups || (delete_release && exit 1)
|
||||||
|
- create_sample_projects
|
||||||
after_script:
|
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.
|
# 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.
|
# Set DAST_RUN to true when jobs are manually scheduled.
|
||||||
|
@ -104,4 +105,4 @@ review-stop:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
needs: []
|
needs: []
|
||||||
script:
|
script:
|
||||||
- delete_k8s_release_namespace
|
- delete_namespace
|
||||||
|
|
|
@ -16,16 +16,19 @@
|
||||||
GITLAB_ADMIN_PASSWORD: "${REVIEW_APPS_ROOT_PASSWORD}"
|
GITLAB_ADMIN_PASSWORD: "${REVIEW_APPS_ROOT_PASSWORD}"
|
||||||
GITLAB_QA_ADMIN_ACCESS_TOKEN: "${REVIEW_APPS_ROOT_TOKEN}"
|
GITLAB_QA_ADMIN_ACCESS_TOKEN: "${REVIEW_APPS_ROOT_TOKEN}"
|
||||||
GITHUB_ACCESS_TOKEN: "${REVIEW_APPS_QA_GITHUB_ACCESS_TOKEN}"
|
GITHUB_ACCESS_TOKEN: "${REVIEW_APPS_QA_GITHUB_ACCESS_TOKEN}"
|
||||||
EE_LICENSE: "${REVIEW_APPS_EE_LICENSE}"
|
|
||||||
SIGNUP_DISABLED: "true"
|
SIGNUP_DISABLED: "true"
|
||||||
before_script:
|
before_script:
|
||||||
# Use $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA so that GitLab image built in omnibus-gitlab-mirror and QA image are in sync.
|
# Use $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA so that GitLab image built in omnibus-gitlab-mirror and QA image are in sync.
|
||||||
|
- export EE_LICENSE="$(cat $REVIEW_APPS_EE_LICENSE_FILE)"
|
||||||
- if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA" ]; then
|
- if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA" ]; then
|
||||||
git checkout -f ${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA};
|
git checkout -f ${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA};
|
||||||
fi
|
fi
|
||||||
- export CI_ENVIRONMENT_URL="$(cat environment_url.txt)"
|
- export CI_ENVIRONMENT_URL="$(cat environment_url.txt)"
|
||||||
- echo "${CI_ENVIRONMENT_URL}"
|
- echo "${CI_ENVIRONMENT_URL}"
|
||||||
- cd qa
|
- cd qa
|
||||||
|
- if [ -n "$KNAPSACK_REPORT_PATH" ]; then
|
||||||
|
bundle exec rake knapsack:download;
|
||||||
|
fi
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- qa/tmp
|
- qa/tmp
|
||||||
|
@ -34,21 +37,28 @@
|
||||||
|
|
||||||
.parallel-qa-base:
|
.parallel-qa-base:
|
||||||
parallel: 5
|
parallel: 5
|
||||||
|
variables:
|
||||||
|
KNAPSACK_TEST_FILE_PATTERN: "qa/specs/features/**/*_spec.rb"
|
||||||
script:
|
script:
|
||||||
- export KNAPSACK_REPORT_PATH=knapsack/master_report.json
|
|
||||||
- export KNAPSACK_TEST_FILE_PATTERN=qa/specs/features/**/*_spec.rb
|
|
||||||
- |
|
- |
|
||||||
bin/test "${QA_SCENARIO}" "${CI_ENVIRONMENT_URL}" \
|
bin/test "${QA_SCENARIO}" "${CI_ENVIRONMENT_URL}" \
|
||||||
-- \
|
-- \
|
||||||
--color --format documentation \
|
--color --format documentation \
|
||||||
--format RspecJunitFormatter --out tmp/rspec.xml
|
--format RspecJunitFormatter --out tmp/rspec.xml
|
||||||
|
after_script:
|
||||||
|
- if [ -n "$KNAPSACK_GENERATE_REPORT" ]; then
|
||||||
|
mv qa/${KNAPSACK_REPORT_PATH} qa/knapsack/gcs/regenerated-${CI_NODE_INDEX}.json;
|
||||||
|
fi
|
||||||
artifacts:
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- qa/tmp # we can't merge list so need to include explicitly once more
|
||||||
|
- qa/knapsack/gcs/regenerated-*.json
|
||||||
reports:
|
reports:
|
||||||
junit: qa/tmp/rspec.xml
|
junit: qa/tmp/rspec.xml
|
||||||
|
|
||||||
.allure-report-base:
|
.allure-report-base:
|
||||||
image:
|
image:
|
||||||
name: ${GITLAB_DEPENDENCY_PROXY}andrcuns/allure-report-publisher:0.4.1
|
name: ${GITLAB_DEPENDENCY_PROXY}andrcuns/allure-report-publisher:0.4.2
|
||||||
entrypoint: [""]
|
entrypoint: [""]
|
||||||
stage: post-qa
|
stage: post-qa
|
||||||
variables:
|
variables:
|
||||||
|
@ -69,6 +79,16 @@
|
||||||
--ignore-missing-results \
|
--ignore-missing-results \
|
||||||
--color
|
--color
|
||||||
|
|
||||||
|
.knapsack-upload-base:
|
||||||
|
image:
|
||||||
|
name: ${QA_IMAGE}
|
||||||
|
entrypoint: [""]
|
||||||
|
stage: post-qa
|
||||||
|
before_script:
|
||||||
|
- cd qa
|
||||||
|
script:
|
||||||
|
- bundle exec rake 'knapsack:upload[knapsack/gcs/regenerated-*.json]'
|
||||||
|
|
||||||
review-qa-smoke:
|
review-qa-smoke:
|
||||||
extends:
|
extends:
|
||||||
- .review-qa-base
|
- .review-qa-base
|
||||||
|
@ -84,9 +104,11 @@ review-qa-reliable:
|
||||||
- .review-qa-base
|
- .review-qa-base
|
||||||
- .review:rules:review-qa-reliable
|
- .review:rules:review-qa-reliable
|
||||||
- .parallel-qa-base
|
- .parallel-qa-base
|
||||||
|
retry: 1
|
||||||
variables:
|
variables:
|
||||||
QA_RUN_TYPE: review-qa-reliable
|
QA_RUN_TYPE: review-qa-reliable
|
||||||
QA_SCENARIO: Test::Instance::Reliable
|
QA_SCENARIO: Test::Instance::Reliable
|
||||||
|
KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-reliable.json
|
||||||
|
|
||||||
review-qa-all:
|
review-qa-all:
|
||||||
extends:
|
extends:
|
||||||
|
@ -96,6 +118,7 @@ review-qa-all:
|
||||||
variables:
|
variables:
|
||||||
QA_RUN_TYPE: review-qa-all
|
QA_RUN_TYPE: review-qa-all
|
||||||
QA_SCENARIO: Test::Instance::All
|
QA_SCENARIO: Test::Instance::All
|
||||||
|
KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-all.json
|
||||||
|
|
||||||
review-performance:
|
review-performance:
|
||||||
extends:
|
extends:
|
||||||
|
@ -140,3 +163,19 @@ allure-report-qa-all:
|
||||||
variables:
|
variables:
|
||||||
ALLURE_REPORT_PATH_PREFIX: gitlab-review-all
|
ALLURE_REPORT_PATH_PREFIX: gitlab-review-all
|
||||||
ALLURE_JOB_NAME: review-qa-all
|
ALLURE_JOB_NAME: review-qa-all
|
||||||
|
|
||||||
|
knapsack-report-qa-all:
|
||||||
|
extends:
|
||||||
|
- .knapsack-upload-base
|
||||||
|
- .review:rules:knapsack-report-qa-all
|
||||||
|
needs: ["review-qa-all"]
|
||||||
|
variables:
|
||||||
|
KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-all.json
|
||||||
|
|
||||||
|
knapsack-report-qa-reliable:
|
||||||
|
extends:
|
||||||
|
- .knapsack-upload-base
|
||||||
|
- .review:rules:knapsack-report-qa-reliable
|
||||||
|
needs: ["review-qa-reliable"]
|
||||||
|
variables:
|
||||||
|
KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-reliable.json
|
||||||
|
|
|
@ -2,23 +2,26 @@ review-cleanup:
|
||||||
extends:
|
extends:
|
||||||
- .default-retry
|
- .default-retry
|
||||||
- .review:rules:review-cleanup
|
- .review:rules:review-cleanup
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-helm3-kubectl1.14
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:gitlab-helm3-kubectl1.14
|
||||||
stage: prepare
|
stage: prepare
|
||||||
environment:
|
environment:
|
||||||
name: review/auto-cleanup
|
name: review/${CI_COMMIT_REF_SLUG}${FREQUENCY}
|
||||||
action: stop
|
action: stop
|
||||||
before_script:
|
before_script:
|
||||||
- source scripts/utils.sh
|
- source scripts/utils.sh
|
||||||
|
- source scripts/review_apps/review-apps.sh
|
||||||
- source scripts/review_apps/gcp_cleanup.sh
|
- source scripts/review_apps/gcp_cleanup.sh
|
||||||
- install_gitlab_gem
|
- install_gitlab_gem
|
||||||
- setup_gcp_dependencies
|
- setup_gcp_dependencies
|
||||||
script:
|
script:
|
||||||
|
- delete_release
|
||||||
|
- delete_namespace
|
||||||
- ruby -rrubygems scripts/review_apps/automated_cleanup.rb
|
- ruby -rrubygems scripts/review_apps/automated_cleanup.rb
|
||||||
- gcp_cleanup
|
- gcp_cleanup
|
||||||
|
|
||||||
start-review-app-pipeline:
|
start-review-app-pipeline:
|
||||||
extends:
|
extends:
|
||||||
- .review:rules:review-app-pipeline
|
- .review:rules:start-review-app-pipeline
|
||||||
stage: review
|
stage: review
|
||||||
needs:
|
needs:
|
||||||
- job: build-assets-image
|
- job: build-assets-image
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
if: '$CI_PROJECT_NAME != "gitlab-foss" && $CI_PROJECT_NAME != "gitlab-ce" && $CI_PROJECT_NAME != "gitlabhq"'
|
if: '$CI_PROJECT_NAME != "gitlab-foss" && $CI_PROJECT_NAME != "gitlab-ce" && $CI_PROJECT_NAME != "gitlabhq"'
|
||||||
|
|
||||||
.if-jh: &if-jh
|
.if-jh: &if-jh
|
||||||
if: '$CI_PROJECT_PATH == "gitlab-jh/gitlab"'
|
if: '$CI_PROJECT_PATH =~ /^gitlab-(jh|cn)\/.*/'
|
||||||
|
|
||||||
.if-default-refs: &if-default-refs
|
.if-default-refs: &if-default-refs
|
||||||
if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/ || $CI_COMMIT_REF_NAME =~ /^\d+-\d+-auto-deploy-\d+$/ || $CI_COMMIT_REF_NAME =~ /^security\// || $CI_MERGE_REQUEST_IID || $CI_COMMIT_TAG || $FORCE_GITLAB_CI'
|
if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/ || $CI_COMMIT_REF_NAME =~ /^\d+-\d+-auto-deploy-\d+$/ || $CI_COMMIT_REF_NAME =~ /^security\// || $CI_MERGE_REQUEST_IID || $CI_COMMIT_TAG || $FORCE_GITLAB_CI'
|
||||||
|
@ -67,6 +67,9 @@
|
||||||
.if-merge-request-labels-run-review-app: &if-merge-request-labels-run-review-app
|
.if-merge-request-labels-run-review-app: &if-merge-request-labels-run-review-app
|
||||||
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/'
|
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/'
|
||||||
|
|
||||||
|
.if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage
|
||||||
|
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/'
|
||||||
|
|
||||||
.if-security-merge-request: &if-security-merge-request
|
.if-security-merge-request: &if-security-merge-request
|
||||||
if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID'
|
if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID'
|
||||||
|
|
||||||
|
@ -82,9 +85,6 @@
|
||||||
.if-dot-com-gitlab-org-schedule: &if-dot-com-gitlab-org-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"'
|
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"'
|
||||||
|
|
||||||
.if-dot-com-gitlab-org-schedule-child-pipeline: &if-dot-com-gitlab-org-schedule-child-pipeline
|
|
||||||
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "parent_pipeline" && $FREQUENCY'
|
|
||||||
|
|
||||||
.if-dot-com-ee-schedule: &if-dot-com-ee-schedule
|
.if-dot-com-ee-schedule: &if-dot-com-ee-schedule
|
||||||
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule"'
|
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule"'
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@
|
||||||
- "scripts/lint-doc.sh"
|
- "scripts/lint-doc.sh"
|
||||||
|
|
||||||
.docs-deprecations-patterns: &docs-deprecations-patterns
|
.docs-deprecations-patterns: &docs-deprecations-patterns
|
||||||
- "doc/deprecations/index.md"
|
- "doc/update/deprecations.md"
|
||||||
- "data/deprecations/*.yml"
|
- "data/deprecations/*.yml"
|
||||||
- "data/deprecations/templates/_deprecation_template.md.erb"
|
- "data/deprecations/templates/_deprecation_template.md.erb"
|
||||||
- "lib/tasks/gitlab/docs/compile_deprecations.rake"
|
- "lib/tasks/gitlab/docs/compile_deprecations.rake"
|
||||||
|
@ -271,6 +271,7 @@
|
||||||
- "danger/**/*"
|
- "danger/**/*"
|
||||||
- "{,ee/,jh/}fixtures/**/*"
|
- "{,ee/,jh/}fixtures/**/*"
|
||||||
- "{,ee/,jh/}rubocop/**/*"
|
- "{,ee/,jh/}rubocop/**/*"
|
||||||
|
- ".rubocop_todo/**/*.yml"
|
||||||
- "{,ee/,jh/}spec/**/*"
|
- "{,ee/,jh/}spec/**/*"
|
||||||
- "{,spec/}tooling/**/*"
|
- "{,spec/}tooling/**/*"
|
||||||
|
|
||||||
|
@ -288,7 +289,8 @@
|
||||||
- "Dockerfile.assets"
|
- "Dockerfile.assets"
|
||||||
- "vendor/assets/**/*"
|
- "vendor/assets/**/*"
|
||||||
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
||||||
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml"
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
|
||||||
|
- ".rubocop_todo/**/*.yml"
|
||||||
- "*_VERSION"
|
- "*_VERSION"
|
||||||
- "{,jh/}Gemfile{,.lock}"
|
- "{,jh/}Gemfile{,.lock}"
|
||||||
- "Rakefile"
|
- "Rakefile"
|
||||||
|
@ -311,7 +313,8 @@
|
||||||
- "Dockerfile.assets"
|
- "Dockerfile.assets"
|
||||||
- "vendor/assets/**/*"
|
- "vendor/assets/**/*"
|
||||||
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
||||||
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml"
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
|
||||||
|
- ".rubocop_todo/**/*.yml"
|
||||||
- "*_VERSION"
|
- "*_VERSION"
|
||||||
- "{,jh/}Gemfile{,.lock}"
|
- "{,jh/}Gemfile{,.lock}"
|
||||||
- "Rakefile"
|
- "Rakefile"
|
||||||
|
@ -341,7 +344,8 @@
|
||||||
- "Dockerfile.assets"
|
- "Dockerfile.assets"
|
||||||
- "vendor/assets/**/*"
|
- "vendor/assets/**/*"
|
||||||
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
||||||
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml"
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
|
||||||
|
- ".rubocop_todo/**/*.yml"
|
||||||
- "*_VERSION"
|
- "*_VERSION"
|
||||||
- "{,jh/}Gemfile{,.lock}"
|
- "{,jh/}Gemfile{,.lock}"
|
||||||
- "Rakefile"
|
- "Rakefile"
|
||||||
|
@ -367,7 +371,8 @@
|
||||||
- "Dockerfile.assets"
|
- "Dockerfile.assets"
|
||||||
- "vendor/assets/**/*"
|
- "vendor/assets/**/*"
|
||||||
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
||||||
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml"
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
|
||||||
|
- ".rubocop_todo/**/*.yml"
|
||||||
- "*_VERSION"
|
- "*_VERSION"
|
||||||
- "{,jh/}Gemfile{,.lock}"
|
- "{,jh/}Gemfile{,.lock}"
|
||||||
- "Rakefile"
|
- "Rakefile"
|
||||||
|
@ -400,7 +405,8 @@
|
||||||
- "Dockerfile.assets"
|
- "Dockerfile.assets"
|
||||||
- "vendor/assets/**/*"
|
- "vendor/assets/**/*"
|
||||||
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
||||||
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml"
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
|
||||||
|
- ".rubocop_todo/**/*.yml"
|
||||||
- "*_VERSION"
|
- "*_VERSION"
|
||||||
- "{,jh/}Gemfile{,.lock}"
|
- "{,jh/}Gemfile{,.lock}"
|
||||||
- "Rakefile"
|
- "Rakefile"
|
||||||
|
@ -642,8 +648,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
- <<: *if-default-refs
|
- <<: *if-security-merge-request
|
||||||
changes: *backend-patterns
|
changes: *code-backstage-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-default-refs
|
- <<: *if-default-refs
|
||||||
|
@ -655,14 +661,13 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-jest
|
- <<: *if-merge-request-labels-run-all-jest
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-default-refs
|
- <<: *if-default-refs
|
||||||
changes: *core-frontend-patterns
|
changes: *core-frontend-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-default-refs
|
|
||||||
changes: *backend-patterns
|
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
when: never
|
when: never
|
||||||
|
@ -785,11 +790,6 @@
|
||||||
changes: *feature-flag-development-config-patterns
|
changes: *feature-flag-development-config-patterns
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
.qa:rules:reliable-reports:schedule:
|
|
||||||
rules:
|
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $QA_RELIABLE_REPORT == "true"'
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Rails rules #
|
# Rails rules #
|
||||||
###############
|
###############
|
||||||
|
@ -814,6 +814,8 @@
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *db-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *db-patterns
|
- changes: *db-patterns
|
||||||
|
@ -824,6 +826,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -859,6 +863,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *backend-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *backend-patterns
|
- changes: *backend-patterns
|
||||||
|
@ -869,6 +875,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -889,6 +897,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *backend-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *backend-patterns
|
- changes: *backend-patterns
|
||||||
|
@ -899,6 +909,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -919,6 +931,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *code-backstage-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *code-backstage-patterns
|
- changes: *code-backstage-patterns
|
||||||
|
@ -929,6 +943,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -949,6 +965,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: ["config/**/*"]
|
changes: ["config/**/*"]
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: ["config/**/*"]
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: ["config/**/*"]
|
- changes: ["config/**/*"]
|
||||||
|
@ -959,6 +977,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -988,6 +1008,8 @@
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *db-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *db-patterns
|
- changes: *db-patterns
|
||||||
|
@ -1000,6 +1022,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -1023,6 +1047,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *backend-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *backend-patterns
|
- changes: *backend-patterns
|
||||||
|
@ -1035,6 +1061,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -1057,6 +1085,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *backend-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *backend-patterns
|
- changes: *backend-patterns
|
||||||
|
@ -1069,6 +1099,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -1091,6 +1123,8 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *code-backstage-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
- changes: *code-backstage-patterns
|
- changes: *code-backstage-patterns
|
||||||
|
@ -1103,6 +1137,8 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
|
@ -1129,6 +1165,8 @@
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
changes: *db-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
- <<: *if-merge-request-not-approved
|
||||||
when: never
|
when: never
|
||||||
|
|
||||||
|
@ -1140,15 +1178,14 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *core-backend-patterns
|
changes: *core-backend-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-security-merge-request
|
|
||||||
changes: *db-patterns
|
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *db-patterns
|
changes: *db-patterns
|
||||||
when: never
|
when: never
|
||||||
|
@ -1164,10 +1201,10 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
|
||||||
when: never
|
|
||||||
- <<: *if-security-merge-request
|
- <<: *if-security-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
- <<: *if-merge-request-not-approved
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
|
||||||
|
@ -1179,14 +1216,14 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *core-backend-patterns
|
changes: *core-backend-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-security-merge-request
|
|
||||||
changes: *backend-patterns
|
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
|
||||||
|
@ -1201,10 +1238,10 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
|
||||||
when: never
|
|
||||||
- <<: *if-security-merge-request
|
- <<: *if-security-merge-request
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
- <<: *if-merge-request-not-approved
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
|
||||||
|
@ -1216,14 +1253,14 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *core-backend-patterns
|
changes: *core-backend-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-security-merge-request
|
|
||||||
changes: *backend-patterns
|
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *backend-patterns
|
changes: *backend-patterns
|
||||||
|
|
||||||
|
@ -1238,10 +1275,10 @@
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
- <<: *if-merge-request-not-approved
|
|
||||||
when: never
|
|
||||||
- <<: *if-security-merge-request
|
- <<: *if-security-merge-request
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
|
- <<: *if-merge-request-not-approved
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
|
|
||||||
|
@ -1253,14 +1290,14 @@
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-automated-merge-request
|
- <<: *if-automated-merge-request
|
||||||
when: never
|
when: never
|
||||||
|
- <<: *if-security-merge-request
|
||||||
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *core-backend-patterns
|
changes: *core-backend-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-merge-request
|
- <<: *if-merge-request
|
||||||
changes: *ci-patterns
|
changes: *ci-patterns
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-security-merge-request
|
|
||||||
changes: *code-backstage-patterns
|
|
||||||
- <<: *if-merge-request-labels-as-if-foss
|
- <<: *if-merge-request-labels-as-if-foss
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
|
|
||||||
|
@ -1367,6 +1404,16 @@
|
||||||
- <<: *if-merge-request-labels-run-all-rspec
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
when: always
|
when: always
|
||||||
|
|
||||||
|
.rails:rules:rspec-undercoverage:
|
||||||
|
rules:
|
||||||
|
- <<: *if-not-ee
|
||||||
|
when: never
|
||||||
|
- <<: *if-merge-request-labels-skip-undercoverage
|
||||||
|
when: never
|
||||||
|
- <<: *if-merge-request-labels-run-all-rspec
|
||||||
|
- <<: *if-merge-request
|
||||||
|
changes: *backend-patterns
|
||||||
|
|
||||||
.rails:rules:default-branch-schedule-nightly--code-backstage:
|
.rails:rules:default-branch-schedule-nightly--code-backstage:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-default-branch-schedule-nightly
|
- <<: *if-default-branch-schedule-nightly
|
||||||
|
@ -1556,7 +1603,7 @@
|
||||||
################
|
################
|
||||||
# Review rules #
|
# Review rules #
|
||||||
################
|
################
|
||||||
.review:rules:review-app-pipeline:
|
.review:rules:start-review-app-pipeline:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- <<: *if-not-ee
|
||||||
when: never
|
when: never
|
||||||
|
@ -1572,82 +1619,34 @@
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
- <<: *if-dot-com-gitlab-org-merge-request
|
||||||
changes: *qa-patterns
|
changes: *qa-patterns
|
||||||
- <<: *if-dot-com-gitlab-org-schedule
|
- <<: *if-dot-com-gitlab-org-schedule
|
||||||
|
variables:
|
||||||
|
KNAPSACK_GENERATE_REPORT: "true"
|
||||||
|
|
||||||
.review:rules:review-build-cng:
|
.review:rules:review-build-cng:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: always
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *ci-review-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *frontend-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-patterns
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *qa-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-schedule-child-pipeline
|
|
||||||
|
|
||||||
.review:rules:review-deploy:
|
.review:rules:review-deploy:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: on_success
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *ci-review-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *frontend-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-patterns
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *qa-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-schedule-child-pipeline
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
.review:rules:review-performance:
|
.review:rules:review-performance:
|
||||||
rules:
|
rules:
|
||||||
- if: '$DAST_RUN == "true"' # Skip this job when DAST is run
|
- if: '$DAST_RUN == "true"' # Skip this job when DAST is run
|
||||||
when: never
|
when: never
|
||||||
- <<: *if-not-ee
|
- <<: *if-merge-request-labels-run-review-app # we explicitely don't allow the job to fail in that case
|
||||||
when: never
|
- <<: *if-dot-com-gitlab-org-merge-request # we explicitely don't allow the job to fail in that case
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *ci-review-patterns
|
changes: *ci-review-patterns
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
- when: on_success
|
||||||
changes: *frontend-patterns
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-qa-patterns
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-gitlab-org-schedule-child-pipeline
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
.review:rules:review-delete-deployment:
|
.review:rules:review-delete-deployment:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: on_success
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-qa-patterns
|
|
||||||
|
|
||||||
.review:rules:review-qa-smoke:
|
.review:rules:review-qa-smoke:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: on_success
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *ci-review-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *frontend-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *qa-patterns
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-patterns
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-ee-schedule-child-pipeline
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
# The rule needs to be duplicated between `on_success` and `on_failure`
|
# The rule needs to be duplicated between `on_success` and `on_failure`
|
||||||
# because the jobs `needs` the previous job to complete.
|
# because the jobs `needs` the previous job to complete.
|
||||||
|
@ -1656,34 +1655,8 @@
|
||||||
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63844#note_599012559
|
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63844#note_599012559
|
||||||
.review:rules:review-qa-smoke-report:
|
.review:rules:review-qa-smoke-report:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: on_success
|
||||||
when: never
|
- when: on_failure
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
when: on_success
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
when: on_failure
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *ci-review-patterns
|
|
||||||
when: on_success
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *ci-review-patterns
|
|
||||||
when: on_failure
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *frontend-patterns
|
|
||||||
when: on_success
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *frontend-patterns
|
|
||||||
when: on_failure
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-qa-patterns
|
|
||||||
when: on_success
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-qa-patterns
|
|
||||||
when: on_failure
|
|
||||||
- <<: *if-dot-com-ee-schedule-child-pipeline
|
|
||||||
when: on_success
|
|
||||||
- <<: *if-dot-com-ee-schedule-child-pipeline
|
|
||||||
when: on_failure
|
|
||||||
|
|
||||||
.review:rules:review-qa-reliable:
|
.review:rules:review-qa-reliable:
|
||||||
rules:
|
rules:
|
||||||
|
@ -1692,17 +1665,12 @@
|
||||||
|
|
||||||
.review:rules:review-qa-all:
|
.review:rules:review-qa-all:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- <<: *if-merge-request-labels-run-review-app # we explicitely don't allow the job to fail in that case
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
- <<: *if-dot-com-gitlab-org-merge-request
|
||||||
changes: *code-patterns
|
changes: *code-patterns
|
||||||
when: manual
|
when: manual
|
||||||
allow_failure: true
|
allow_failure: true # manual jobs needs to be allowd to fail, otherwise they block the pipeline
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
- when: on_success
|
||||||
changes: *qa-patterns
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-ee-nightly-schedule-child-pipeline
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
# The rule needs to be duplicated between `on_success` and `on_failure`
|
# The rule needs to be duplicated between `on_success` and `on_failure`
|
||||||
|
@ -1712,29 +1680,23 @@
|
||||||
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63844#note_599012559
|
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63844#note_599012559
|
||||||
.review:rules:review-qa-all-report:
|
.review:rules:review-qa-all-report:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: on_success
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
when: on_success
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
when: on_failure
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-patterns
|
|
||||||
when: manual
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
- when: on_failure
|
||||||
changes: *qa-patterns
|
allow_failure: true
|
||||||
|
|
||||||
|
# Generate knapsack report on successful runs only
|
||||||
|
# Reliable suite will pass most of the time so this should yield best distribution
|
||||||
|
.review:rules:knapsack-report-qa-reliable:
|
||||||
|
rules:
|
||||||
|
- if: '$KNAPSACK_GENERATE_REPORT == "true"'
|
||||||
when: on_success
|
when: on_success
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *qa-patterns
|
.review:rules:knapsack-report-qa-all:
|
||||||
when: on_failure
|
rules:
|
||||||
allow_failure: true
|
- if: '$KNAPSACK_GENERATE_REPORT == "true"'
|
||||||
- <<: *if-dot-com-ee-nightly-schedule-child-pipeline
|
when: always
|
||||||
when: on_success
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-ee-nightly-schedule-child-pipeline
|
|
||||||
when: on_failure
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
.review:rules:review-cleanup:
|
.review:rules:review-cleanup:
|
||||||
|
@ -1750,23 +1712,16 @@
|
||||||
|
|
||||||
.review:rules:review-stop:
|
.review:rules:review-stop:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- when: manual
|
||||||
when: never
|
|
||||||
- <<: *if-merge-request-labels-run-review-app
|
|
||||||
when: manual
|
|
||||||
allow_failure: true
|
|
||||||
- <<: *if-dot-com-gitlab-org-merge-request
|
|
||||||
changes: *code-qa-patterns
|
|
||||||
when: manual
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
.review:rules:danger:
|
.review:rules:danger:
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_MERGE_REQUEST_IID'
|
- <<: *if-merge-request
|
||||||
|
|
||||||
.review:rules:danger-local:
|
.review:rules:danger-local:
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_MERGE_REQUEST_IID'
|
- <<: *if-merge-request
|
||||||
changes: *danger-patterns
|
changes: *danger-patterns
|
||||||
|
|
||||||
###############
|
###############
|
||||||
|
@ -1819,6 +1774,16 @@
|
||||||
changes: *code-backstage-patterns
|
changes: *code-backstage-patterns
|
||||||
when: on_success
|
when: on_success
|
||||||
|
|
||||||
|
.setup:rules:generate-frontend-fixtures-mapping:
|
||||||
|
rules:
|
||||||
|
- <<: *if-not-ee
|
||||||
|
when: never
|
||||||
|
- <<: *if-dot-com-ee-2-hourly-schedule
|
||||||
|
- changes:
|
||||||
|
- ".gitlab/ci/setup.gitlab-ci.yml"
|
||||||
|
- ".gitlab/ci/test-metadata.gitlab-ci.yml"
|
||||||
|
- "scripts/rspec_helpers.sh"
|
||||||
|
|
||||||
.setup:rules:add-jh-folder:
|
.setup:rules:add-jh-folder:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-not-ee
|
- <<: *if-not-ee
|
||||||
|
|
|
@ -68,6 +68,24 @@ verify-tests-yml:
|
||||||
- install_tff_gem
|
- install_tff_gem
|
||||||
- scripts/verify-tff-mapping
|
- scripts/verify-tff-mapping
|
||||||
|
|
||||||
|
generate-frontend-fixtures-mapping:
|
||||||
|
extends:
|
||||||
|
- .setup:rules:generate-frontend-fixtures-mapping
|
||||||
|
- .use-pg12
|
||||||
|
- .rails-cache
|
||||||
|
needs: ["setup-test-env"]
|
||||||
|
stage: prepare
|
||||||
|
before_script:
|
||||||
|
- !reference [.default-before_script, before_script]
|
||||||
|
- source ./scripts/rspec_helpers.sh
|
||||||
|
- run_timed_command "scripts/gitaly-test-spawn"
|
||||||
|
script:
|
||||||
|
- generate_frontend_fixtures_mapping
|
||||||
|
artifacts:
|
||||||
|
expire_in: 7d
|
||||||
|
paths:
|
||||||
|
- ${FRONTEND_FIXTURES_MAPPING_PATH}
|
||||||
|
|
||||||
.detect-test-base:
|
.detect-test-base:
|
||||||
image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7
|
image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7
|
||||||
needs: []
|
needs: []
|
||||||
|
@ -78,17 +96,21 @@ verify-tests-yml:
|
||||||
- install_gitlab_gem
|
- install_gitlab_gem
|
||||||
- install_tff_gem
|
- install_tff_gem
|
||||||
- retrieve_tests_mapping
|
- retrieve_tests_mapping
|
||||||
|
- retrieve_frontend_fixtures_mapping
|
||||||
- |
|
- |
|
||||||
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
|
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
|
||||||
tooling/bin/find_changes ${CHANGES_FILE};
|
tooling/bin/find_changes ${CHANGES_FILE};
|
||||||
tooling/bin/find_tests ${CHANGES_FILE} ${MATCHED_TESTS_FILE};
|
tooling/bin/find_tests ${CHANGES_FILE} ${MATCHED_TESTS_FILE};
|
||||||
echo "related rspec tests: $(cat $MATCHED_TESTS_FILE)";
|
tooling/bin/find_changes ${CHANGES_FILE} ${MATCHED_TESTS_FILE} ${FRONTEND_FIXTURES_MAPPING_PATH};
|
||||||
|
echo "Changed files: $(cat $CHANGES_FILE)";
|
||||||
|
echo "Related rspec tests: $(cat $MATCHED_TESTS_FILE)";
|
||||||
fi
|
fi
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 7d
|
expire_in: 7d
|
||||||
paths:
|
paths:
|
||||||
- ${CHANGES_FILE}
|
- ${CHANGES_FILE}
|
||||||
- ${MATCHED_TESTS_FILE}
|
- ${MATCHED_TESTS_FILE}
|
||||||
|
- ${FRONTEND_FIXTURES_MAPPING_PATH}
|
||||||
|
|
||||||
detect-tests:
|
detect-tests:
|
||||||
extends:
|
extends:
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
# Disable warnings in browserslist which can break on backports
|
# Disable warnings in browserslist which can break on backports
|
||||||
# https://github.com/browserslist/browserslist/blob/a287ec6/node.js#L367-L384
|
# https://github.com/browserslist/browserslist/blob/a287ec6/node.js#L367-L384
|
||||||
BROWSERSLIST_IGNORE_OLD_DATA: "true"
|
BROWSERSLIST_IGNORE_OLD_DATA: "true"
|
||||||
|
GRAPHQL_SCHEMA_APOLLO_FILE: "tmp/tests/graphql/gitlab_schema_apollo.graphql"
|
||||||
|
|
||||||
update-static-analysis-cache:
|
update-static-analysis-cache:
|
||||||
extends:
|
extends:
|
||||||
|
@ -47,17 +48,34 @@ static-verification-with-database:
|
||||||
variables:
|
variables:
|
||||||
SETUP_DB: "true"
|
SETUP_DB: "true"
|
||||||
|
|
||||||
|
generate-apollo-graphl-schema:
|
||||||
|
extends:
|
||||||
|
- .static-analysis-base
|
||||||
|
- .frontend:rules:default-frontend-jobs
|
||||||
|
image:
|
||||||
|
name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:apollo
|
||||||
|
entrypoint: [""]
|
||||||
|
needs: ['graphql-schema-dump']
|
||||||
|
variables:
|
||||||
|
USE_BUNDLE_INSTALL: "false"
|
||||||
|
script:
|
||||||
|
- apollo client:download-schema --config=config/apollo.config.js ${GRAPHQL_SCHEMA_APOLLO_FILE}
|
||||||
|
artifacts:
|
||||||
|
name: graphql-schema-apollo
|
||||||
|
paths:
|
||||||
|
- "${GRAPHQL_SCHEMA_APOLLO_FILE}"
|
||||||
|
|
||||||
eslint:
|
eslint:
|
||||||
extends:
|
extends:
|
||||||
- .static-analysis-base
|
- .static-analysis-base
|
||||||
- .yarn-cache
|
- .yarn-cache
|
||||||
- .static-analysis:rules:ee
|
- .frontend:rules:default-frontend-jobs
|
||||||
needs: []
|
needs: ['generate-apollo-graphl-schema']
|
||||||
variables:
|
variables:
|
||||||
USE_BUNDLE_INSTALL: "false"
|
USE_BUNDLE_INSTALL: "false"
|
||||||
script:
|
script:
|
||||||
- run_timed_command "retry yarn install --frozen-lockfile"
|
- run_timed_command "retry yarn install --frozen-lockfile"
|
||||||
- run_timed_command "yarn run lint:eslint:all"
|
- run_timed_command "yarn run lint:eslint:all --parser-options=schema:${GRAPHQL_SCHEMA_APOLLO_FILE}"
|
||||||
|
|
||||||
eslint as-if-foss:
|
eslint as-if-foss:
|
||||||
extends:
|
extends:
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
- knapsack/
|
- knapsack/
|
||||||
- rspec_flaky/
|
- rspec_flaky/
|
||||||
- rspec_profiling/
|
- rspec_profiling/
|
||||||
- crystalball/packed-mapping.json.gz
|
- crystalball/
|
||||||
|
|
||||||
retrieve-tests-metadata:
|
retrieve-tests-metadata:
|
||||||
extends:
|
extends:
|
||||||
|
@ -27,6 +27,7 @@ update-tests-metadata:
|
||||||
stage: post-test
|
stage: post-test
|
||||||
dependencies:
|
dependencies:
|
||||||
- retrieve-tests-metadata
|
- retrieve-tests-metadata
|
||||||
|
- generate-frontend-fixtures-mapping
|
||||||
- setup-test-env
|
- setup-test-env
|
||||||
- rspec migration pg12
|
- rspec migration pg12
|
||||||
- rspec-all frontend_fixture
|
- rspec-all frontend_fixture
|
||||||
|
|
|
@ -22,8 +22,8 @@ workhorse:verify:
|
||||||
|
|
||||||
workhorse:test using go 1.16:
|
workhorse:test using go 1.16:
|
||||||
extends: .workhorse:test
|
extends: .workhorse:test
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7-golang-1.16-git-2.31
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7-golang-1.16-git-2.31
|
||||||
|
|
||||||
workhorse:test using go 1.17:
|
workhorse:test using go 1.17:
|
||||||
extends: .workhorse:test
|
extends: .workhorse:test
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7-golang-1.17-git-2.31
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:ruby-2.7-golang-1.17-git-2.31
|
||||||
|
|
|
@ -12,7 +12,10 @@ The description of the deprecation should state what actions the user should tak
|
||||||
|
|
||||||
### Breaking Change
|
### Breaking Change
|
||||||
|
|
||||||
<!-- Is this a breaking change or not? If so, please add instructions for how users can update their workflow. -->
|
<!-- Does this MR contain a breaking change? If yes:
|
||||||
|
- Add the ~"breaking change" label to this issue.
|
||||||
|
- Add instructions for how users can update their workflow. -->
|
||||||
|
|
||||||
### Affected Topology
|
### Affected Topology
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -52,3 +55,20 @@ Which tier is this feature available in?
|
||||||
<!--
|
<!--
|
||||||
Add links to any relevant documentation or code that will provide additional details or clarity regarding the planned change. Also, include a link to the removal issue if relevant.
|
Add links to any relevant documentation or code that will provide additional details or clarity regarding the planned change. Also, include a link to the removal issue if relevant.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<!-- Label reminders - you should have one of each of the following labels.
|
||||||
|
Use the following resources to find the appropriate labels:
|
||||||
|
- https://gitlab.com/gitlab-org/gitlab/-/labels
|
||||||
|
- https://about.gitlab.com/handbook/product/categories/features/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Populate the Section, Group, and Category -->
|
||||||
|
/label ~devops:: ~group: ~Category:
|
||||||
|
|
||||||
|
<!-- Choose the Pricing Tier(s) -->
|
||||||
|
/label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate"
|
||||||
|
|
||||||
|
<!-- Identifies that this Issue is related to deprecating a feature -->
|
||||||
|
/label ~"type::deprecation"
|
||||||
|
|
||||||
|
<!-- Add the ~"breaking change" label to this issue if necessary -->
|
|
@ -20,6 +20,6 @@
|
||||||
- [json schema](https://gitlab.com/gitlab-org/iglu/-/blob/master/public/schemas/com.gitlab/gitlab_experiment/jsonschema/0-3-0) used in `gitlab-experiment` tracking.
|
- [json schema](https://gitlab.com/gitlab-org/iglu/-/blob/master/public/schemas/com.gitlab/gitlab_experiment/jsonschema/0-3-0) used in `gitlab-experiment` tracking.
|
||||||
- see [taxonomy](https://docs.gitlab.com/ee/development/snowplow/index.html#structured-event-taxonomy) for a guide.
|
- see [taxonomy](https://docs.gitlab.com/ee/development/snowplow/index.html#structured-event-taxonomy) for a guide.
|
||||||
|
|
||||||
| activity | category | action | label | context | property | value |
|
| sequence | activity | category | action | label | property | value |
|
||||||
| -------- | -------- | ------ | ----- | ------- | -------- | ----- |
|
| -------- | -------- | ------ | ----- | ------- | -------- | ----- |
|
||||||
| | | | | json schema | | |
|
| | | | | | | |
|
||||||
|
|
|
@ -82,7 +82,7 @@ In this rollout issue, ensure the scoped `experiment::` label is kept accurate.
|
||||||
|
|
||||||
## Roll Out Steps
|
## 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))
|
- [ ] [Confirm that end-to-end tests pass with the feature flag enabled](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html#confirming-that-end-to-end-tests-pass-with-a-feature-flag-enabled). If there are failing tests, contact the relevant [stable counterpart in the Quality department](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors) to collaborate in updating the tests or confirming that the failing tests are not caused by the changes behind the enabled feature flag.
|
||||||
- [ ] Enable on staging (`/chatops run feature set <experiment-key> true --staging`)
|
- [ ] Enable on staging (`/chatops run feature set <experiment-key> true --staging`)
|
||||||
- [ ] Test on staging
|
- [ ] Test on staging
|
||||||
- [ ] Ensure that documentation has been updated
|
- [ ] Ensure that documentation has been updated
|
||||||
|
|
|
@ -94,10 +94,7 @@ _Consider adding links to check for Sentry errors, Production logs for 5xx, 302s
|
||||||
|
|
||||||
### Global rollout on production
|
### Global rollout on production
|
||||||
|
|
||||||
For visibility, all `/chatops` commands that target production should be:
|
For visibility, all `/chatops` commands that target production should be executed in the `#production` slack channel and cross-posted (with the command results) to the responsible team's slack channel (`#g_TEAM_NAME`).
|
||||||
|
|
||||||
- Executed in the `#production` slack channel.
|
|
||||||
- Cross-posted (with the command results) to the responsible team's slack channel (`#g_TEAM_NAME`).
|
|
||||||
|
|
||||||
- [ ] [Incrementally roll out](https://docs.gitlab.com/ee/development/feature_flags/controls.html#process) the feature.
|
- [ ] [Incrementally roll out](https://docs.gitlab.com/ee/development/feature_flags/controls.html#process) the feature.
|
||||||
- If the feature flag in code has [an actor](https://docs.gitlab.com/ee/development/feature_flags/#feature-actors), perform **actor-based** rollout.
|
- If the feature flag in code has [an actor](https://docs.gitlab.com/ee/development/feature_flags/#feature-actors), perform **actor-based** rollout.
|
||||||
|
|
|
@ -13,4 +13,6 @@ Use the following resources to find the appropriate labels:
|
||||||
- https://about.gitlab.com/handbook/product/categories/features/
|
- https://about.gitlab.com/handbook/product/categories/features/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
/label ~"type::feature" ~feature::addition ~"group::" ~"section::" ~"Category:" ~"GitLab Core"/~"GitLab Premium"/~"GitLab Ultimate"
|
/label ~"group::" ~"section::" ~"Category::"
|
||||||
|
/label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate"
|
||||||
|
/label ~"type::feature" ~"feature::addition" ~documentation
|
||||||
|
|
|
@ -40,7 +40,7 @@ Personas are described at https://about.gitlab.com/handbook/marketing/product-ma
|
||||||
|
|
||||||
### Metrics
|
### Metrics
|
||||||
|
|
||||||
<!-- How are you going to track uage of this feature? Think about user behavior and their interaction with the product. What indicates someone is getting value from it?
|
<!-- How are you going to track usage of this feature? Think about user behavior and their interaction with the product. What indicates someone is getting value from it?
|
||||||
|
|
||||||
Create tracking issue using the Snowplow event tracking template. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Snowplow%20event%20tracking.md
|
Create tracking issue using the Snowplow event tracking template. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Snowplow%20event%20tracking.md
|
||||||
|
|
||||||
|
@ -52,4 +52,7 @@ Use the following resources to find the appropriate labels:
|
||||||
- https://about.gitlab.com/handbook/product/categories/features/
|
- https://about.gitlab.com/handbook/product/categories/features/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
/label ~"type::feature" ~"group::" ~"section::" ~"Category::" ~"GitLab Free"/~"GitLab Premium"/~"GitLab Ultimate" ~documentation ~direction
|
/label ~"type::feature"
|
||||||
|
/label ~"group::" ~"section::" ~"Category::"
|
||||||
|
/label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate"
|
||||||
|
/label ~documentation ~direction
|
||||||
|
|
|
@ -118,6 +118,6 @@ Use the following resources to find the appropriate labels:
|
||||||
- https://gitlab.com/gitlab-org/gitlab/-/labels
|
- https://gitlab.com/gitlab-org/gitlab/-/labels
|
||||||
- https://about.gitlab.com/handbook/product/categories/features/
|
- https://about.gitlab.com/handbook/product/categories/features/
|
||||||
-->
|
-->
|
||||||
/label ~devops:: ~group: ~Category:
|
/label ~"group::" ~"section::" ~"Category::"
|
||||||
/label ~"GitLab Free"/~"GitLab Premium"/~"GitLab Ultimate"
|
/label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate"
|
||||||
/label ~"type::feature" ~documentation ~direction
|
/label ~"type::feature" ~documentation ~direction
|
||||||
|
|
58
.gitlab/issue_templates/Fulfillment Group UX Issue.md
Normal file
58
.gitlab/issue_templates/Fulfillment Group UX Issue.md
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<!-- This issue template can be used as a starting point for a UX Issue. This is not a feature request, rather an issue that is being created for a product designer to solve a problem.
|
||||||
|
|
||||||
|
The goal of this template is to ensure we have captured all the information available to the product designer so they can approach the problem creatively and efficiently. Please add links to SSOT if this informatin exists elsewhere. -->
|
||||||
|
|
||||||
|
### Who will use this solution?
|
||||||
|
|
||||||
|
<!-- If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later.
|
||||||
|
|
||||||
|
Personas are described at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/
|
||||||
|
|
||||||
|
* [Cameron (Compliance Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#cameron-compliance-manager)
|
||||||
|
* [Parker (Product Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#parker-product-manager)
|
||||||
|
* [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead)
|
||||||
|
* [Presley (Product Designer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#presley-product-designer)
|
||||||
|
* [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer)
|
||||||
|
* [Devon (DevOps Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#devon-devops-engineer)
|
||||||
|
* [Sidney (Systems Administrator)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator)
|
||||||
|
* [Sam (Security Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sam-security-analyst)
|
||||||
|
* [Rachel (Release Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#rachel-release-manager)
|
||||||
|
* [Alex (Security Operations Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#alex-security-operations-engineer)
|
||||||
|
* [Simone (Software Engineer in Test)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#simone-software-engineer-in-test)
|
||||||
|
* [Allison (Application Ops)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#allison-application-ops)
|
||||||
|
* [Priyanka (Platform Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#priyanka-platform-engineer)
|
||||||
|
* [Dana (Data Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#dana-data-analyst)
|
||||||
|
* [Eddie (Content Editor)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#eddie-content-editor)
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
### What problem do they have?
|
||||||
|
|
||||||
|
|
||||||
|
### When do they have the problem?
|
||||||
|
|
||||||
|
|
||||||
|
### Where in the app do they have the problem and at what frequency (if known)?
|
||||||
|
|
||||||
|
|
||||||
|
### Why will a design help them?
|
||||||
|
|
||||||
|
|
||||||
|
### What is the JTBD and/or Tasks?
|
||||||
|
|
||||||
|
|
||||||
|
### Is this problem supported by user research (please link relevant research issue/s)?
|
||||||
|
|
||||||
|
|
||||||
|
### Known technical constraints
|
||||||
|
|
||||||
|
|
||||||
|
### How does this help the business?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/label ~"group::" ~"section::" ~"Category::" ~UX
|
||||||
|
|
|
@ -56,9 +56,7 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org
|
||||||
```ruby
|
```ruby
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class CreateCoolWidgetRegistry < ActiveRecord::Migration[6.0]
|
class CreateCoolWidgetRegistry < Gitlab::Database::Migration[1.0]
|
||||||
include Gitlab::Database::MigrationHelpers
|
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
def up
|
def up
|
||||||
|
@ -80,8 +78,8 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org
|
||||||
t.boolean :missing_on_primary, default: false, null: false
|
t.boolean :missing_on_primary, default: false, null: false
|
||||||
t.binary :verification_checksum
|
t.binary :verification_checksum
|
||||||
t.binary :verification_checksum_mismatched
|
t.binary :verification_checksum_mismatched
|
||||||
t.string :verification_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806
|
t.text :verification_failure, limit: 255
|
||||||
t.string :last_sync_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806
|
t.text :last_sync_failure, limit: 255
|
||||||
|
|
||||||
t.index :cool_widget_id, name: :index_cool_widget_registry_on_cool_widget_id, unique: true
|
t.index :cool_widget_id, name: :index_cool_widget_registry_on_cool_widget_id, unique: true
|
||||||
t.index :retry_at
|
t.index :retry_at
|
||||||
|
@ -126,9 +124,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
|
||||||
```ruby
|
```ruby
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class CreateCoolWidgetStates < ActiveRecord::Migration[6.0]
|
class CreateCoolWidgetStates < Gitlab::Database::Migration[1.0]
|
||||||
include Gitlab::Database::MigrationHelpers
|
|
||||||
|
|
||||||
VERIFICATION_STATE_INDEX_NAME = "index_cool_widget_states_on_verification_state"
|
VERIFICATION_STATE_INDEX_NAME = "index_cool_widget_states_on_verification_state"
|
||||||
PENDING_VERIFICATION_INDEX_NAME = "index_cool_widget_states_pending_verification"
|
PENDING_VERIFICATION_INDEX_NAME = "index_cool_widget_states_pending_verification"
|
||||||
FAILED_VERIFICATION_INDEX_NAME = "index_cool_widget_states_failed_verification"
|
FAILED_VERIFICATION_INDEX_NAME = "index_cool_widget_states_failed_verification"
|
||||||
|
@ -137,27 +133,23 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
def up
|
def up
|
||||||
unless table_exists?(:cool_widget_states)
|
with_lock_retries do
|
||||||
with_lock_retries do
|
create_table :cool_widget_states, id: false do |t|
|
||||||
create_table :cool_widget_states, id: false do |t|
|
t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade }
|
||||||
t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade }
|
t.integer :verification_state, default: 0, limit: 2, null: false
|
||||||
t.integer :verification_state, default: 0, limit: 2, null: false
|
t.column :verification_started_at, :datetime_with_timezone
|
||||||
t.column :verification_started_at, :datetime_with_timezone
|
t.datetime_with_timezone :verification_retry_at
|
||||||
t.datetime_with_timezone :verification_retry_at
|
t.datetime_with_timezone :verified_at
|
||||||
t.datetime_with_timezone :verified_at
|
t.integer :verification_retry_count, limit: 2
|
||||||
t.integer :verification_retry_count, limit: 2
|
t.binary :verification_checksum, using: 'verification_checksum::bytea'
|
||||||
t.binary :verification_checksum, using: 'verification_checksum::bytea'
|
t.text :verification_failure, limit: 255
|
||||||
t.text :verification_failure
|
|
||||||
|
|
||||||
t.index :verification_state, name: VERIFICATION_STATE_INDEX_NAME
|
t.index :verification_state, name: VERIFICATION_STATE_INDEX_NAME
|
||||||
t.index :verified_at, where: "(verification_state = 0)", order: { verified_at: 'ASC NULLS FIRST' }, name: PENDING_VERIFICATION_INDEX_NAME
|
t.index :verified_at, where: "(verification_state = 0)", order: { verified_at: 'ASC NULLS FIRST' }, name: PENDING_VERIFICATION_INDEX_NAME
|
||||||
t.index :verification_retry_at, where: "(verification_state = 3)", order: { verification_retry_at: 'ASC NULLS FIRST' }, name: FAILED_VERIFICATION_INDEX_NAME
|
t.index :verification_retry_at, where: "(verification_state = 3)", order: { verification_retry_at: 'ASC NULLS FIRST' }, name: FAILED_VERIFICATION_INDEX_NAME
|
||||||
t.index :verification_state, where: "(verification_state = 0 OR verification_state = 3)", name: NEEDS_VERIFICATION_INDEX_NAME
|
t.index :verification_state, where: "(verification_state = 0 OR verification_state = 3)", name: NEEDS_VERIFICATION_INDEX_NAME
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
add_text_limit :cool_widget_states, :verification_failure, 255
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def down
|
def down
|
||||||
|
@ -209,6 +201,8 @@ That's all of the required database changes.
|
||||||
|
|
||||||
has_one :cool_widget_state, autosave: false, inverse_of: :cool_widget, class_name: 'Geo::CoolWidgetState'
|
has_one :cool_widget_state, autosave: false, inverse_of: :cool_widget, class_name: 'Geo::CoolWidgetState'
|
||||||
|
|
||||||
|
after_save :save_verification_details
|
||||||
|
|
||||||
delegate :verification_retry_at, :verification_retry_at=,
|
delegate :verification_retry_at, :verification_retry_at=,
|
||||||
:verified_at, :verified_at=,
|
:verified_at, :verified_at=,
|
||||||
:verification_checksum, :verification_checksum=,
|
:verification_checksum, :verification_checksum=,
|
||||||
|
@ -223,6 +217,8 @@ That's all of the required database changes.
|
||||||
scope :checksummed, -> { joins(:cool_widget_state).where.not(cool_widget_states: { verification_checksum: nil } ) }
|
scope :checksummed, -> { joins(:cool_widget_state).where.not(cool_widget_states: { verification_checksum: nil } ) }
|
||||||
scope :not_checksummed, -> { joins(:cool_widget_state).where(cool_widget_states: { verification_checksum: nil } ) }
|
scope :not_checksummed, -> { joins(:cool_widget_state).where(cool_widget_states: { verification_checksum: nil } ) }
|
||||||
|
|
||||||
|
scope :available_verifiables, -> { joins(:cool_widget_state) }
|
||||||
|
|
||||||
# Override the `all` default if not all records can be replicated. For an
|
# Override the `all` default if not all records can be replicated. For an
|
||||||
# example of an existing Model that needs to do this, see
|
# example of an existing Model that needs to do this, see
|
||||||
# `EE::MergeRequestDiff`.
|
# `EE::MergeRequestDiff`.
|
||||||
|
@ -358,10 +354,11 @@ That's all of the required database changes.
|
||||||
|
|
||||||
- [ ] Make sure a Geo secondary site can replicate Cool Widgets where repository does not exist on the Geo primary site. The only way to know about this is to parse the error text. You may need to make some changes to `Gitlab::CoolWidgetReplicator.no_repo_message` to return the proper error message. For example, see [this change for Group-level Wikis](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74133).
|
- [ ] Make sure a Geo secondary site can replicate Cool Widgets where repository does not exist on the Geo primary site. The only way to know about this is to parse the error text. You may need to make some changes to `Gitlab::CoolWidgetReplicator.no_repo_message` to return the proper error message. For example, see [this change for Group-level Wikis](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74133).
|
||||||
|
|
||||||
- [ ] Generate the feature flag definition file by running the feature flag command and following the command prompts:
|
- [ ] Generate the feature flag definition files by running the feature flag commands and following the command prompts:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo'
|
bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo'
|
||||||
|
bin/feature-flag --ee geo_cool_widget_verification --type development --group 'group::geo'
|
||||||
```
|
```
|
||||||
|
|
||||||
- [ ] Add this replicator class to the method `replicator_classes` in
|
- [ ] Add this replicator class to the method `replicator_classes` in
|
||||||
|
@ -491,9 +488,14 @@ That's all of the required database changes.
|
||||||
|
|
||||||
module Geo
|
module Geo
|
||||||
class CoolWidgetState < ApplicationRecord
|
class CoolWidgetState < ApplicationRecord
|
||||||
|
include EachBatch
|
||||||
|
|
||||||
self.primary_key = :cool_widget_id
|
self.primary_key = :cool_widget_id
|
||||||
|
|
||||||
belongs_to :cool_widget, inverse_of: :cool_widget_state
|
belongs_to :cool_widget, inverse_of: :cool_widget_state
|
||||||
|
|
||||||
|
validates :verification_failure, length: { maximum: 255 }
|
||||||
|
validates :verification_state, :cool_widget, presence: true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
|
@ -58,42 +58,38 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org
|
||||||
```ruby
|
```ruby
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class CreateCoolWidgetRegistry < ActiveRecord::Migration[6.0]
|
class CreateCoolWidgetRegistry < Gitlab::Database::Migration[1.0]
|
||||||
include Gitlab::Database::MigrationHelpers
|
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
def up
|
def up
|
||||||
unless table_exists?(:cool_widget_registry)
|
ActiveRecord::Base.transaction do
|
||||||
ActiveRecord::Base.transaction do
|
create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t|
|
||||||
create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t|
|
t.bigint :cool_widget_id, null: false
|
||||||
t.bigint :cool_widget_id, null: false
|
t.datetime_with_timezone :created_at, null: false
|
||||||
t.datetime_with_timezone :created_at, null: false
|
t.datetime_with_timezone :last_synced_at
|
||||||
t.datetime_with_timezone :last_synced_at
|
t.datetime_with_timezone :retry_at
|
||||||
t.datetime_with_timezone :retry_at
|
t.datetime_with_timezone :verified_at
|
||||||
t.datetime_with_timezone :verified_at
|
t.datetime_with_timezone :verification_started_at
|
||||||
t.datetime_with_timezone :verification_started_at
|
t.datetime_with_timezone :verification_retry_at
|
||||||
t.datetime_with_timezone :verification_retry_at
|
t.integer :state, default: 0, null: false, limit: 2
|
||||||
t.integer :state, default: 0, null: false, limit: 2
|
t.integer :verification_state, default: 0, null: false, limit: 2
|
||||||
t.integer :verification_state, default: 0, null: false, limit: 2
|
t.integer :retry_count, default: 0, limit: 2, null: false
|
||||||
t.integer :retry_count, default: 0, limit: 2, null: false
|
t.integer :verification_retry_count, default: 0, limit: 2, null: false
|
||||||
t.integer :verification_retry_count, default: 0, limit: 2, null: false
|
t.boolean :checksum_mismatch, default: false, null: false
|
||||||
t.boolean :checksum_mismatch, default: false, null: false
|
t.binary :verification_checksum
|
||||||
t.binary :verification_checksum
|
t.binary :verification_checksum_mismatched
|
||||||
t.binary :verification_checksum_mismatched
|
t.text :verification_failure, limit: 255
|
||||||
t.string :verification_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806
|
t.text :last_sync_failure, limit: 255
|
||||||
t.string :last_sync_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806
|
|
||||||
|
|
||||||
t.index :cool_widget_id, name: :index_cool_widget_registry_on_cool_widget_id, unique: true
|
t.index :cool_widget_id, name: :index_cool_widget_registry_on_cool_widget_id, unique: true
|
||||||
t.index :retry_at
|
t.index :retry_at
|
||||||
t.index :state
|
t.index :state
|
||||||
# To optimize performance of CoolWidgetRegistry.verification_failed_batch
|
# To optimize performance of CoolWidgetRegistry.verification_failed_batch
|
||||||
t.index :verification_retry_at, name: :cool_widget_registry_failed_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 3))"
|
t.index :verification_retry_at, name: :cool_widget_registry_failed_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 3))"
|
||||||
# To optimize performance of CoolWidgetRegistry.needs_verification_count
|
# To optimize performance of CoolWidgetRegistry.needs_verification_count
|
||||||
t.index :verification_state, name: :cool_widget_registry_needs_verification, where: "((state = 2) AND (verification_state = ANY (ARRAY[0, 3])))"
|
t.index :verification_state, name: :cool_widget_registry_needs_verification, where: "((state = 2) AND (verification_state = ANY (ARRAY[0, 3])))"
|
||||||
# To optimize performance of CoolWidgetRegistry.verification_pending_batch
|
# To optimize performance of CoolWidgetRegistry.verification_pending_batch
|
||||||
t.index :verified_at, name: :cool_widget_registry_pending_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 0))"
|
t.index :verified_at, name: :cool_widget_registry_pending_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 0))"
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -130,9 +126,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
|
||||||
```ruby
|
```ruby
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class CreateCoolWidgetStates < ActiveRecord::Migration[6.0]
|
class CreateCoolWidgetStates < Gitlab::Database::Migration[1.0]
|
||||||
include Gitlab::Database::MigrationHelpers
|
|
||||||
|
|
||||||
VERIFICATION_STATE_INDEX_NAME = "index_cool_widget_states_on_verification_state"
|
VERIFICATION_STATE_INDEX_NAME = "index_cool_widget_states_on_verification_state"
|
||||||
PENDING_VERIFICATION_INDEX_NAME = "index_cool_widget_states_pending_verification"
|
PENDING_VERIFICATION_INDEX_NAME = "index_cool_widget_states_pending_verification"
|
||||||
FAILED_VERIFICATION_INDEX_NAME = "index_cool_widget_states_failed_verification"
|
FAILED_VERIFICATION_INDEX_NAME = "index_cool_widget_states_failed_verification"
|
||||||
|
@ -141,27 +135,23 @@ The Geo primary site needs to checksum every replicable so secondaries can verif
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
def up
|
def up
|
||||||
unless table_exists?(:cool_widget_states)
|
with_lock_retries do
|
||||||
with_lock_retries do
|
create_table :cool_widget_states, id: false do |t|
|
||||||
create_table :cool_widget_states, id: false do |t|
|
t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade }
|
||||||
t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade }
|
t.integer :verification_state, default: 0, limit: 2, null: false
|
||||||
t.integer :verification_state, default: 0, limit: 2, null: false
|
t.column :verification_started_at, :datetime_with_timezone
|
||||||
t.column :verification_started_at, :datetime_with_timezone
|
t.datetime_with_timezone :verification_retry_at
|
||||||
t.datetime_with_timezone :verification_retry_at
|
t.datetime_with_timezone :verified_at
|
||||||
t.datetime_with_timezone :verified_at
|
t.integer :verification_retry_count, limit: 2
|
||||||
t.integer :verification_retry_count, limit: 2
|
t.binary :verification_checksum, using: 'verification_checksum::bytea'
|
||||||
t.binary :verification_checksum, using: 'verification_checksum::bytea'
|
t.text :verification_failure, limit: 255
|
||||||
t.text :verification_failure
|
|
||||||
|
|
||||||
t.index :verification_state, name: VERIFICATION_STATE_INDEX_NAME
|
t.index :verification_state, name: VERIFICATION_STATE_INDEX_NAME
|
||||||
t.index :verified_at, where: "(verification_state = 0)", order: { verified_at: 'ASC NULLS FIRST' }, name: PENDING_VERIFICATION_INDEX_NAME
|
t.index :verified_at, where: "(verification_state = 0)", order: { verified_at: 'ASC NULLS FIRST' }, name: PENDING_VERIFICATION_INDEX_NAME
|
||||||
t.index :verification_retry_at, where: "(verification_state = 3)", order: { verification_retry_at: 'ASC NULLS FIRST' }, name: FAILED_VERIFICATION_INDEX_NAME
|
t.index :verification_retry_at, where: "(verification_state = 3)", order: { verification_retry_at: 'ASC NULLS FIRST' }, name: FAILED_VERIFICATION_INDEX_NAME
|
||||||
t.index :verification_state, where: "(verification_state = 0 OR verification_state = 3)", name: NEEDS_VERIFICATION_INDEX_NAME
|
t.index :verification_state, where: "(verification_state = 0 OR verification_state = 3)", name: NEEDS_VERIFICATION_INDEX_NAME
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
add_text_limit :cool_widget_states, :verification_failure, 255
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def down
|
def down
|
||||||
|
@ -201,7 +191,7 @@ That's all of the required database changes.
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class CoolWidget < ApplicationRecord
|
class CoolWidget < ApplicationRecord
|
||||||
...
|
...
|
||||||
include ::Gitlab::Geo::ReplicableModel
|
include ::Gitlab::Geo::ReplicableModel
|
||||||
|
@ -213,6 +203,8 @@ That's all of the required database changes.
|
||||||
|
|
||||||
has_one :cool_widget_state, autosave: false, inverse_of: :cool_widget, class_name: 'Geo::CoolWidgetState'
|
has_one :cool_widget_state, autosave: false, inverse_of: :cool_widget, class_name: 'Geo::CoolWidgetState'
|
||||||
|
|
||||||
|
after_save :save_verification_details
|
||||||
|
|
||||||
delegate :verification_retry_at, :verification_retry_at=,
|
delegate :verification_retry_at, :verification_retry_at=,
|
||||||
:verified_at, :verified_at=,
|
:verified_at, :verified_at=,
|
||||||
:verification_checksum, :verification_checksum=,
|
:verification_checksum, :verification_checksum=,
|
||||||
|
@ -227,6 +219,8 @@ That's all of the required database changes.
|
||||||
scope :checksummed, -> { joins(:cool_widget_state).where.not(cool_widget_states: { verification_checksum: nil } ) }
|
scope :checksummed, -> { joins(:cool_widget_state).where.not(cool_widget_states: { verification_checksum: nil } ) }
|
||||||
scope :not_checksummed, -> { joins(:cool_widget_state).where(cool_widget_states: { verification_checksum: nil } ) }
|
scope :not_checksummed, -> { joins(:cool_widget_state).where(cool_widget_states: { verification_checksum: nil } ) }
|
||||||
|
|
||||||
|
scope :available_verifiables, -> { joins(:cool_widget_state) }
|
||||||
|
|
||||||
# Override the `all` default if not all records can be replicated. For an
|
# Override the `all` default if not all records can be replicated. For an
|
||||||
# example of an existing Model that needs to do this, see
|
# example of an existing Model that needs to do this, see
|
||||||
# `EE::MergeRequestDiff`.
|
# `EE::MergeRequestDiff`.
|
||||||
|
@ -326,10 +320,11 @@ That's all of the required database changes.
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
- [ ] Generate the feature flag definition file by running the feature flag command and following the command prompts:
|
- [ ] Generate the feature flag definition fileы by running the feature flag commands and following the command prompts:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo'
|
bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo'
|
||||||
|
bin/feature-flag --ee geo_cool_widget_verification --type development --group 'group::geo'
|
||||||
```
|
```
|
||||||
|
|
||||||
- [ ] Add this replicator class to the method `replicator_classes` in
|
- [ ] Add this replicator class to the method `replicator_classes` in
|
||||||
|
@ -457,9 +452,14 @@ That's all of the required database changes.
|
||||||
``` ruby
|
``` ruby
|
||||||
module Geo
|
module Geo
|
||||||
class CoolWidgetState < ApplicationRecord
|
class CoolWidgetState < ApplicationRecord
|
||||||
|
include EachBatch
|
||||||
|
|
||||||
self.primary_key = :cool_widget_id
|
self.primary_key = :cool_widget_id
|
||||||
|
|
||||||
belongs_to :cool_widget, inverse_of: :cool_widget_state
|
belongs_to :cool_widget, inverse_of: :cool_widget_state
|
||||||
|
|
||||||
|
validates :verification_failure, length: { maximum: 255 }
|
||||||
|
validates :verification_state, :cool_widget, presence: true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
|
@ -18,7 +18,7 @@ We generally recommend events be tracked using a [structured event](https://docs
|
||||||
* Action: A string that is used to define the user action. The first word should always describe the action or aspect: clicks should be `click`, activations should be `activate`, creations should be `create`, etc. Use underscores to describe what was acted on; for example, activating a form field would be `activate_form_input`. An interface action like clicking on a dropdown would be `click_dropdown`, while a behavior like creating a project record from the backend would be `create_project`
|
* Action: A string that is used to define the user action. The first word should always describe the action or aspect: clicks should be `click`, activations should be `activate`, creations should be `create`, etc. Use underscores to describe what was acted on; for example, activating a form field would be `activate_form_input`. An interface action like clicking on a dropdown would be `click_dropdown`, while a behavior like creating a project record from the backend would be `create_project`
|
||||||
* Label: Optional. The specific element, or object that's being acted on. This is either the label of the element (e.g. a tab labeled 'Create from template' may be `create_from_template`) or a unique identifier if no text is available (e.g. closing the Groups dropdown in the top navbar might be `groups_dropdown_close`), or it could be the name or title attribute of a record being created.
|
* Label: Optional. The specific element, or object that's being acted on. This is either the label of the element (e.g. a tab labeled 'Create from template' may be `create_from_template`) or a unique identifier if no text is available (e.g. closing the Groups dropdown in the top navbar might be `groups_dropdown_close`), or it could be the name or title attribute of a record being created.
|
||||||
* Property: Optional. Any additional property of the element, or object being acted on.
|
* Property: Optional. Any additional property of the element, or object being acted on.
|
||||||
* Value: Optional, numeric. Describes a numeric value or something directly related to the event. This could be the value of an input (e.g. `10` when clicking `internal` visibility)
|
* Value: Optional, numeric. Describes a numeric value (decimal) directly related to the event. This could be the value of an input (e.g. `10` when clicking `internal` visibility)
|
||||||
|
|
||||||
| Category | Action | Label | Property | Feature Issue | Additional Information |
|
| Category | Action | Label | Property | Feature Issue | Additional Information |
|
||||||
| ------ | ------ | ------ | ------ | ------ | ------ |
|
| ------ | ------ | ------ | ------ | ------ | ------ |
|
||||||
|
|
|
@ -24,7 +24,7 @@ https://docs.gitlab.com/ee/development/documentation/index.html#move-or-rename-a
|
||||||
specifically under the `app/views/` and `ee/app/views` (for GitLab EE) directories.
|
specifically under the `app/views/` and `ee/app/views` (for GitLab EE) directories.
|
||||||
- [ ] Make sure to add [`redirect_from`](https://docs.gitlab.com/ee/development/documentation/index.html#redirections-for-pages-with-disqus-comments)
|
- [ ] Make sure to add [`redirect_from`](https://docs.gitlab.com/ee/development/documentation/index.html#redirections-for-pages-with-disqus-comments)
|
||||||
to the new document if there are any Disqus comments on the old document thread.
|
to the new document if there are any Disqus comments on the old document thread.
|
||||||
- [ ] Update the link in `features.yml` (if applicable)
|
- [ ] Update the link in `features.yml` (if applicable).
|
||||||
- [ ] Assign one of the technical writers for review.
|
- [ ] Assign one of the technical writers for review.
|
||||||
|
|
||||||
/label ~documentation ~"Technical Writing"
|
/label ~documentation ~"Technical Writing"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<!-- Set the correct label and milestone using autocomplete for guidance. Please @mention only the DRI(s) for each stage or group rather than an entire department. -->
|
<!-- Set the correct label and milestone using autocomplete for guidance. Please @mention only the DRI(s) for each stage or group rather than an entire department. -->
|
||||||
|
|
||||||
/label ~"release post" ~"release post item" ~"Technical Writing" ~"devops::" ~"group::"
|
/label ~"release post" ~"release post item" ~"Technical Writing" ~"devops::" ~"group::" ~"release post item::deprecation"
|
||||||
/milestone %
|
/milestone %
|
||||||
/assign `@PM`
|
/assign `@PM`
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ They are frequently updated, and everyone should make sure they are aware of the
|
||||||
|
|
||||||
## Reviewers
|
## Reviewers
|
||||||
|
|
||||||
When the content is ready for review, it must be reviewed by Technical Writer and Engineering Manager, but can also be reviewed by
|
When the content is ready for review, it must be reviewed by a Technical Writer and Engineering Manager, but can also be reviewed by
|
||||||
Product Marketing, Product Design, and the Product Leaders for this area. Please use the
|
Product Marketing, Product Design, and the Product Leaders for this area. Please use the
|
||||||
[Reviewers for Merge Requests](https://docs.gitlab.com/ee/user/project/merge_requests/getting_started#reviewer)
|
[Reviewers for Merge Requests](https://docs.gitlab.com/ee/user/project/merge_requests/getting_started#reviewer)
|
||||||
feature for all reviews. Reviewers will then `approve` the MR and remove themselves from Reviewers when their review is complete.
|
feature for all reviews. Reviewers will then `approve` the MR and remove themselves from Reviewers when their review is complete.
|
||||||
|
@ -61,7 +61,7 @@ as needed, @ message the PM to inform them the first review is complete, and rem
|
||||||
yourself as a reviewer if it's not ready for merge yet.
|
yourself as a reviewer if it's not ready for merge yet.
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Expand for Details </summary>
|
<summary>Expand for Details</summary>
|
||||||
|
|
||||||
- [ ] Title:
|
- [ ] Title:
|
||||||
- Length limit: 7 words (not including articles or prepositions).
|
- Length limit: 7 words (not including articles or prepositions).
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
## Author's checklist
|
## Author's checklist
|
||||||
|
|
||||||
- [ ] Consider taking [the GitLab Technical Writing Fundamentals course](https://gitlab.edcast.com/pathways/ECL-02528ee2-c334-4e16-abf3-e9d8b8260de4)
|
- [ ] Consider taking [the GitLab Technical Writing Fundamentals course](https://gitlab.edcast.com/pathways/ECL-02528ee2-c334-4e16-abf3-e9d8b8260de4).
|
||||||
- [ ] Follow the:
|
- [ ] Follow the:
|
||||||
- [Documentation process](https://docs.gitlab.com/ee/development/documentation/workflow.html).
|
- [Documentation process](https://docs.gitlab.com/ee/development/documentation/workflow.html).
|
||||||
- [Documentation guidelines](https://docs.gitlab.com/ee/development/documentation/).
|
- [Documentation guidelines](https://docs.gitlab.com/ee/development/documentation/).
|
||||||
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
If you are only adding documentation, do not add any of the following labels:
|
If you are only adding documentation, do not add any of the following labels:
|
||||||
|
|
||||||
- `~"type::feature"`
|
|
||||||
- `~"frontend"`
|
- `~"frontend"`
|
||||||
- `~"backend"`
|
- `~"backend"`
|
||||||
- `~"type::bug"`
|
- `~"type::bug"`
|
||||||
|
@ -41,8 +40,8 @@ Documentation-related MRs should be reviewed by a Technical Writer for a non-blo
|
||||||
- [ ] The headings (other than the page title) should be active. Instead of `Configuring GDK`, say something like `Configure GDK`.
|
- [ ] The headings (other than the page title) should be active. Instead of `Configuring GDK`, say something like `Configure GDK`.
|
||||||
- [ ] Any task steps should be written as a numbered list.
|
- [ ] Any task steps should be written as a numbered list.
|
||||||
- If the content still needs to be edited for topic types, you can create a follow-up issue with the ~"docs-technical-debt" label.
|
- If the content still needs to be edited for topic types, you can create a follow-up issue with the ~"docs-technical-debt" label.
|
||||||
- [ ] Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
|
- [ ] Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
|
||||||
- [ ] Ensure a release milestone is set.
|
- [ ] Ensure a release milestone is set.
|
||||||
|
|
||||||
/label ~documentation
|
/label ~documentation ~"type::maintenance"
|
||||||
/assign me
|
/assign me
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
Please link to the respective test case in the testcases project
|
Please link to the respective test case in the testcases project
|
||||||
-->
|
-->
|
||||||
|
|
||||||
### Check-list
|
### Checklist
|
||||||
|
|
||||||
- [ ] 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.
|
- [ ] 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.
|
- [ ] 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.
|
||||||
|
@ -15,7 +15,7 @@ Please link to the respective test case in the testcases project
|
||||||
- [ ] Verify the tags to ensure it runs on the desired test environments.
|
- [ ] 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 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
|
- [ ] (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
|
||||||
- [ ] If the test requires an admin's personal access token, ensure that the test passes on your local with and without the `GITLAB_QA_ADMIN_ACCESS_TOKEN` provided.
|
- [ ] If the test requires an admin's personal access token, ensure that the test passes on your local environment with and without the `GITLAB_QA_ADMIN_ACCESS_TOKEN` provided.
|
||||||
|
|
||||||
<!-- Base labels. -->
|
<!-- Base labels. -->
|
||||||
/label ~"Quality" ~"QA" ~test
|
/label ~"Quality" ~"QA" ~test
|
||||||
|
|
|
@ -12,20 +12,20 @@ Please describe the proposal and add a link to the source (for example, http://w
|
||||||
### Check-list
|
### Check-list
|
||||||
|
|
||||||
- [ ] Make sure this MR enables a static analysis check rule for new usage but
|
- [ ] Make sure this MR enables a static analysis check rule for new usage but
|
||||||
ignores current offenses
|
ignores current offenses.
|
||||||
- [ ] Mention this proposal in the relevant Slack channels (e.g. `#development`, `#backend`, `#frontend`)
|
- [ ] Mention this proposal in the relevant Slack channels (e.g. `#development`, `#backend`, `#frontend`).
|
||||||
- [ ] If there is a choice to make between two potential styles, set up an emoji vote in the MR:
|
- [ ] If there is a choice to make between two potential styles, set up an emoji vote in the MR:
|
||||||
- CHOICE_A: :a:
|
- CHOICE_A: :a:
|
||||||
- CHOICE_B: :b:
|
- CHOICE_B: :b:
|
||||||
- Vote yourself for both choices so that people know these are the choices
|
- Vote for both choices, so they are visible to others.
|
||||||
- [ ] The MR doesn't have significant objections, and is getting a majority of :+1: vs :-1: (remember that [we don't need to reach a consensus](https://about.gitlab.com/handbook/values/#collaboration-is-not-consensus))
|
- [ ] The MR doesn't have significant objections, and is getting a majority of :+1: vs :-1: (remember that [we don't need to reach a consensus](https://about.gitlab.com/handbook/values/#collaboration-is-not-consensus)).
|
||||||
- [ ] (If applicable) One style is getting a majority of vote (compared to the other choice)
|
- [ ] (If applicable) One style is getting a majority of vote (compared to the other choice).
|
||||||
- [ ] (If applicable) Update the MR with the chosen style
|
- [ ] (If applicable) Update the MR with the chosen style.
|
||||||
- [ ] Create a follow-up issue to fix the current offenses as a separate iteration: ISSUE_LINK
|
- [ ] Create a follow-up issue to fix the current offenses as a separate iteration: ISSUE_LINK
|
||||||
- [ ] Follow the [review process](https://docs.gitlab.com/ee/development/code_review.html) as usual
|
- [ ] Follow the [review process](https://docs.gitlab.com/ee/development/code_review.html) as usual.
|
||||||
- [ ] Once approved and merged by a maintainer, mention it again:
|
- [ ] Once approved and merged by a maintainer, mention it again:
|
||||||
- [ ] In the relevant Slack channels (e.g. `#development`, `#backend`, `#frontend`)
|
- [ ] In the relevant Slack channels (e.g. `#development`, `#backend`, `#frontend`).
|
||||||
- [ ] (Optional depending on the impact of the change) In the Engineering Week in Review
|
- [ ] (Optional depending on the impact of the change) In the Engineering Week in Review.
|
||||||
|
|
||||||
/label ~"Engineering Productivity" ~"development guidelines" ~"static code analysis"
|
/label ~"Engineering Productivity" ~"development guidelines" ~"static code analysis"
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
<!-- Link related issues below. -->
|
<!-- Link related issues below. -->
|
||||||
|
|
||||||
## Check-list
|
## Checklist
|
||||||
|
|
||||||
### Pre-merge
|
### Pre-merge
|
||||||
|
|
||||||
|
|
|
@ -19,14 +19,14 @@ the noise (due to constantly failing tests, flaky tests, and so on) so that new
|
||||||
- [ ] [Code review guidelines](https://docs.gitlab.com/ee/development/code_review.html)
|
- [ ] [Code review guidelines](https://docs.gitlab.com/ee/development/code_review.html)
|
||||||
- [ ] [Style guides](https://docs.gitlab.com/ee/development/contributing/style_guides.html)
|
- [ ] [Style guides](https://docs.gitlab.com/ee/development/contributing/style_guides.html)
|
||||||
- [ ] Quarantine test check-list
|
- [ ] Quarantine test check-list
|
||||||
- [ ] Follow the [Quarantining Tests guide](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#quarantining-tests).
|
- [ ] Follow the [Quarantining Tests guide](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/debugging-qa-test-failures/#quarantining-tests).
|
||||||
- [ ] Confirm the test has a [`quarantine:` tag with the specified quarantine type](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#quarantined-test-types).
|
- [ ] Confirm the test has a [`quarantine:` tag with the specified quarantine type](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/debugging-qa-test-failures/#quarantined-test-types).
|
||||||
- [ ] Note if the test should be [quarantined for a specific environment](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/execution_context_selection.html#quarantine-a-test-for-a-specific-environment).
|
- [ ] Note if the test should be [quarantined for a specific environment](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/execution_context_selection.html#quarantine-a-test-for-a-specific-environment).
|
||||||
- [ ] (Optionally) In case of an emergency (e.g. blocked deployments), consider adding labels to pick into auto-deploy (~"Pick into auto-deploy" ~"priority::1" ~"severity::1").
|
- [ ] (Optionally) In case of an emergency (e.g. blocked deployments), consider adding labels to pick into auto-deploy (~"Pick into auto-deploy" ~"priority::1" ~"severity::1").
|
||||||
- [ ] Dequarantine test check-list
|
- [ ] Dequarantine test check-list
|
||||||
- [ ] Follow the [Dequarantining Tests guide](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#dequarantining-tests).
|
- [ ] Follow the [Dequarantining Tests guide](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/debugging-qa-test-failures/#dequarantining-tests).
|
||||||
- [ ] Confirm the test consistently passes on the target GitLab environment(s).
|
- [ ] Confirm the test consistently passes on the target GitLab environment(s).
|
||||||
- [ ] (Optionally) [Trigger a manual GitLab-QA pipeline](https://about.gitlab.com/handbook/engineering/quality/guidelines/tips-and-tricks/#running-gitlab-qa-pipeline-against-a-specific-gitlab-release) against a specific GitLab environment using the `RELEASE` variable from the `package-and-qa` job of the current merge request.
|
- [ ] (Optionally) [Trigger a manual GitLab-QA pipeline](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/tips-and-tricks/#running-gitlab-qa-pipeline-against-a-specific-gitlab-release) against a specific GitLab environment using the `RELEASE` variable from the `package-and-qa` job of the current merge request.
|
||||||
- [ ] To ensure a faster turnaround, ask in the `#quality` Slack channel for someone to review and merge the merge request, rather than assigning it directly.
|
- [ ] To ensure a faster turnaround, ask in the `#quality` Slack channel for someone to review and merge the merge request, rather than assigning it directly.
|
||||||
|
|
||||||
<!-- Base labels. -->
|
<!-- Base labels. -->
|
||||||
|
|
|
@ -20,13 +20,13 @@ See [the general developer security release guidelines](https://gitlab.com/gitla
|
||||||
- [ ] Assign to a reviewer and maintainer, per our [Code Review process].
|
- [ ] Assign to a reviewer and maintainer, per our [Code Review process].
|
||||||
- [ ] Ensure it's approved according to our [Approval Guidelines].
|
- [ ] Ensure it's approved according to our [Approval Guidelines].
|
||||||
- [ ] Ensure it's approved by an AppSec engineer.
|
- [ ] Ensure it's approved by an AppSec engineer.
|
||||||
- Please see the security release [Code reviews and Approvals](https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#code-reviews-and-approvals) documentation for details on which AppSec team member to ping for approval.
|
- Please see the security release [Code reviews and Approvals] documentation for details on which AppSec team member to ping for approval.
|
||||||
- Trigger the [`package-and-qa` build]. The docker image generated will be used by the AppSec engineer to validate the security vulnerability has been remediated.
|
- Trigger the [`package-and-qa` build]. The docker image generated will be used by the AppSec engineer to validate the security vulnerability has been remediated.
|
||||||
- [ ] For a backport MR targeting a versioned stable branch (`X-Y-stable-ee`)
|
- [ ] For a backport MR targeting a versioned stable branch (`X-Y-stable-ee`).
|
||||||
- [ ] Milestone is set to the version this backport applies to. A closed milestone can be assigned via [quick actions].
|
- [ ] Milestone is set to the version this backport applies to. A closed milestone can be assigned via [quick actions].
|
||||||
- [ ] Ensure it's approved by a maintainer.
|
- [ ] Ensure it's approved by a maintainer.
|
||||||
|
|
||||||
**Note:** Reviewer/maintainer should not be a Release Manager
|
**Note:** Reviewer/maintainer should not be a Release Manager.
|
||||||
|
|
||||||
## Maintainer checklist
|
## Maintainer checklist
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@ See [the general developer security release guidelines](https://gitlab.com/gitla
|
||||||
[quick actions]: https://docs.gitlab.com/ee/user/project/quick_actions.html#quick-actions-for-issues-merge-requests-and-epics
|
[quick actions]: https://docs.gitlab.com/ee/user/project/quick_actions.html#quick-actions-for-issues-merge-requests-and-epics
|
||||||
[CHANGELOG entry]: https://docs.gitlab.com/ee/development/changelog.html#overview
|
[CHANGELOG entry]: https://docs.gitlab.com/ee/development/changelog.html#overview
|
||||||
[Code Review process]: https://docs.gitlab.com/ee/development/code_review.html
|
[Code Review process]: https://docs.gitlab.com/ee/development/code_review.html
|
||||||
|
[Code reviews and Approvals]: (https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#code-reviews-and-approvals)
|
||||||
[Approval Guidelines]: https://docs.gitlab.com/ee/development/code_review.html#approval-guidelines
|
[Approval Guidelines]: https://docs.gitlab.com/ee/development/code_review.html#approval-guidelines
|
||||||
[Canonical repository]: https://gitlab.com/gitlab-org/gitlab
|
[Canonical repository]: https://gitlab.com/gitlab-org/gitlab
|
||||||
[`package-and-qa` build]: https://docs.gitlab.com/ee/development/testing_guide/end_to_end/#using-the-package-and-qa-job
|
[`package-and-qa` build]: https://docs.gitlab.com/ee/development/testing_guide/end_to_end/#using-the-package-and-qa-job
|
||||||
|
|
|
@ -19,6 +19,7 @@ tasks:
|
||||||
# ensure gdk.yml has correct instance settings
|
# ensure gdk.yml has correct instance settings
|
||||||
gdk config set gitlab.rails.port 443
|
gdk config set gitlab.rails.port 443
|
||||||
gdk config set gitlab.rails.https.enabled true
|
gdk config set gitlab.rails.https.enabled true
|
||||||
|
gdk config set webpack.host 127.0.0.1
|
||||||
# make documentation builds available
|
# make documentation builds available
|
||||||
gdk config set gitlab_docs.enabled true
|
gdk config set gitlab_docs.enabled true
|
||||||
# reconfigure GDK
|
# reconfigure GDK
|
||||||
|
@ -47,6 +48,7 @@ tasks:
|
||||||
gdk config set gitlab.rails.hostname $(gp url 3000 | sed -e 's+^http[s]*://++')
|
gdk config set gitlab.rails.hostname $(gp url 3000 | sed -e 's+^http[s]*://++')
|
||||||
gdk config set gitlab.rails.port 443
|
gdk config set gitlab.rails.port 443
|
||||||
gdk config set gitlab.rails.https.enabled true
|
gdk config set gitlab.rails.https.enabled true
|
||||||
|
gdk config set webpack.host 127.0.0.1
|
||||||
# reconfigure GDK
|
# reconfigure GDK
|
||||||
echo "$(date) – Reconfiguring GDK" | tee -a /workspace/startup.log
|
echo "$(date) – Reconfiguring GDK" | tee -a /workspace/startup.log
|
||||||
gdk reconfigure
|
gdk reconfigure
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
---
|
---
|
||||||
# Base Markdownlint configuration
|
# Base Markdownlint configuration
|
||||||
# Extended Markdownlint configuration in doc/.markdownlint/
|
# Extended Markdownlint configuration in doc/.markdownlint/
|
||||||
"default": true
|
default: true
|
||||||
"first-header-h1": true
|
first-header-h1: true
|
||||||
"header-style":
|
header-style:
|
||||||
"style": "atx"
|
style: "atx"
|
||||||
"ul-style":
|
ul-style:
|
||||||
"style": "dash"
|
style: "dash"
|
||||||
"no-trailing-spaces": false
|
no-trailing-spaces: false
|
||||||
"line-length": false
|
line-length: false
|
||||||
"no-duplicate-header":
|
no-duplicate-header:
|
||||||
"allow_different_nesting": true
|
allow_different_nesting: true
|
||||||
"no-trailing-punctuation":
|
no-trailing-punctuation:
|
||||||
"punctuation": ".,;:!。,;:!?"
|
punctuation: ".,;:!。,;:!?"
|
||||||
"ol-prefix":
|
ol-prefix:
|
||||||
"style": "one"
|
style: "one"
|
||||||
"no-inline-html": false
|
no-inline-html: false
|
||||||
"hr-style":
|
hr-style:
|
||||||
"style": "---"
|
style: "---"
|
||||||
"no-emphasis-as-heading": false
|
no-emphasis-as-heading: false
|
||||||
"first-line-h1": false
|
first-line-h1: false
|
||||||
"code-block-style":
|
code-block-style:
|
||||||
"style": "fenced"
|
style: "fenced"
|
||||||
"proper-names":
|
proper-names:
|
||||||
"names": [
|
names: [
|
||||||
"Akismet",
|
"Akismet",
|
||||||
"Alertmanager",
|
"Alertmanager",
|
||||||
"API",
|
"API",
|
||||||
|
@ -139,4 +139,4 @@
|
||||||
"YAML",
|
"YAML",
|
||||||
"YouTrack"
|
"YouTrack"
|
||||||
]
|
]
|
||||||
"code_blocks": false
|
code_blocks: false
|
||||||
|
|
|
@ -1,4 +1,12 @@
|
||||||
{
|
{
|
||||||
|
"config/initializers/*.rb": {
|
||||||
|
"alternate": "spec/initializers/{}_spec.rb",
|
||||||
|
"type": "source"
|
||||||
|
},
|
||||||
|
"spec/initializers/*_spec.rb": {
|
||||||
|
"alternate": "config/initializers/{}.rb",
|
||||||
|
"type": "test"
|
||||||
|
},
|
||||||
"app/*.rb": {
|
"app/*.rb": {
|
||||||
"alternate": "spec/{}_spec.rb",
|
"alternate": "spec/{}_spec.rb",
|
||||||
"type": "source"
|
"type": "source"
|
||||||
|
|
|
@ -8,7 +8,9 @@ require:
|
||||||
|
|
||||||
inherit_from:
|
inherit_from:
|
||||||
<% unless ENV['REVEAL_RUBOCOP_TODO'] == '1' %>
|
<% unless ENV['REVEAL_RUBOCOP_TODO'] == '1' %>
|
||||||
- '.rubocop_manual_todo.yml'
|
<% Dir.glob('.rubocop_todo/**/*.yml').each do |rubocop_todo_yaml| %>
|
||||||
|
- '<%= rubocop_todo_yaml %>'
|
||||||
|
<% end %>
|
||||||
- '.rubocop_todo.yml'
|
- '.rubocop_todo.yml'
|
||||||
<% end %>
|
<% end %>
|
||||||
- ./rubocop/rubocop-migrations.yml
|
- ./rubocop/rubocop-migrations.yml
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -289,17 +289,6 @@ Performance/DeleteSuffix:
|
||||||
- 'ee/app/models/geo/upload_registry.rb'
|
- 'ee/app/models/geo/upload_registry.rb'
|
||||||
- 'ee/app/workers/geo/file_download_dispatch_worker/attachment_job_finder.rb'
|
- 'ee/app/workers/geo/file_download_dispatch_worker/attachment_job_finder.rb'
|
||||||
|
|
||||||
# Offense count: 13
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
Performance/Detect:
|
|
||||||
Exclude:
|
|
||||||
- 'ee/spec/controllers/projects/dependencies_controller_spec.rb'
|
|
||||||
- 'ee/spec/requests/api/dependencies_spec.rb'
|
|
||||||
- 'qa/qa/runtime/feature.rb'
|
|
||||||
- 'spec/lib/gitlab/git/tree_spec.rb'
|
|
||||||
- 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
|
|
||||||
- 'spec/models/event_spec.rb'
|
|
||||||
|
|
||||||
# Offense count: 121
|
# Offense count: 121
|
||||||
Performance/MethodObjectAsBlock:
|
Performance/MethodObjectAsBlock:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
@ -543,7 +532,7 @@ Rails/LexicallyScopedActionFilter:
|
||||||
Rails/LinkToBlank:
|
Rails/LinkToBlank:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'app/helpers/projects_helper.rb'
|
- 'app/helpers/projects_helper.rb'
|
||||||
- 'ee/app/helpers/ee/user_callouts_helper.rb'
|
- 'ee/app/helpers/ee/users/callouts_helper.rb'
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
|
@ -827,11 +816,6 @@ Style/RescueModifier:
|
||||||
Style/SingleArgumentDig:
|
Style/SingleArgumentDig:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
# Offense count: 45
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
Style/SlicingWithRange:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Offense count: 63
|
# Offense count: 63
|
||||||
# Configuration parameters: AllowModifier.
|
# Configuration parameters: AllowModifier.
|
||||||
Style/SoleNestedConditional:
|
Style/SoleNestedConditional:
|
||||||
|
|
70
.rubocop_todo/cop/user_admin.yml
Normal file
70
.rubocop_todo/cop/user_admin.yml
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
---
|
||||||
|
Cop/UserAdmin:
|
||||||
|
Exclude:
|
||||||
|
- app/controllers/admin/impersonations_controller.rb
|
||||||
|
- app/controllers/concerns/spammable_actions.rb
|
||||||
|
- app/controllers/sessions_controller.rb
|
||||||
|
- app/finders/autocomplete/routes_finder.rb
|
||||||
|
- app/finders/ci/jobs_finder.rb
|
||||||
|
- app/finders/ci/runners_finder.rb
|
||||||
|
- app/finders/personal_access_tokens_finder.rb
|
||||||
|
- app/finders/users_finder.rb
|
||||||
|
- app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb
|
||||||
|
- app/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver.rb
|
||||||
|
- app/helpers/application_helper.rb
|
||||||
|
- app/helpers/import_helper.rb
|
||||||
|
- app/helpers/nav_helper.rb
|
||||||
|
- app/helpers/projects_helper.rb
|
||||||
|
- app/helpers/search_helper.rb
|
||||||
|
- app/helpers/users/callouts_helper.rb
|
||||||
|
- app/helpers/users_helper.rb
|
||||||
|
- app/helpers/visibility_level_helper.rb
|
||||||
|
- app/models/concerns/protected_ref_access.rb
|
||||||
|
- app/models/concerns/spammable.rb
|
||||||
|
- app/models/issue_collection.rb
|
||||||
|
- app/models/merge_requests_closing_issues.rb
|
||||||
|
- app/models/protected_branch.rb
|
||||||
|
- app/models/user.rb
|
||||||
|
- app/policies/note_policy.rb
|
||||||
|
- app/serializers/deploy_key_entity.rb
|
||||||
|
- app/services/auth/container_registry_authentication_service.rb
|
||||||
|
- app/services/emails/create_service.rb
|
||||||
|
- app/services/projects/enable_deploy_key_service.rb
|
||||||
|
- app/services/projects/fork_service.rb
|
||||||
|
- app/services/users/build_service.rb
|
||||||
|
- ee/app/controllers/ee/projects_controller.rb
|
||||||
|
- ee/app/graphql/mutations/admin/analytics/devops_adoption/segments/mixins.rb
|
||||||
|
- ee/app/graphql/resolvers/admin/analytics/devops_adoption/segments_resolver.rb
|
||||||
|
- ee/app/helpers/ee/dashboard_helper.rb
|
||||||
|
- ee/app/helpers/ee/import_helper.rb
|
||||||
|
- ee/app/helpers/ee/subscribable_banner_helper.rb
|
||||||
|
- ee/app/helpers/ee/users/callouts_helper.rb
|
||||||
|
- ee/app/helpers/license_monitoring_helper.rb
|
||||||
|
- ee/app/helpers/push_rules_helper.rb
|
||||||
|
- ee/app/models/concerns/ee/protected_ref_access.rb
|
||||||
|
- ee/app/models/ee/user.rb
|
||||||
|
- ee/app/models/protected_environment/deploy_access_level.rb
|
||||||
|
- ee/app/policies/ee/group_policy.rb
|
||||||
|
- ee/app/policies/ee/project_policy.rb
|
||||||
|
- ee/app/services/ee/groups/create_service.rb
|
||||||
|
- ee/app/services/ee/groups/update_service.rb
|
||||||
|
- ee/app/services/ee/projects/update_service.rb
|
||||||
|
- ee/lib/ee/api/helpers.rb
|
||||||
|
- ee/lib/ee/gitlab/git_access.rb
|
||||||
|
- lib/api/award_emoji.rb
|
||||||
|
- lib/api/ci/runners.rb
|
||||||
|
- lib/api/entities/ci/runner_details.rb
|
||||||
|
- lib/api/entities/ci/user_safe.rb
|
||||||
|
- lib/api/groups.rb
|
||||||
|
- lib/api/helpers.rb
|
||||||
|
- lib/api/personal_access_tokens.rb
|
||||||
|
- lib/api/users.rb
|
||||||
|
- lib/api/v3/github.rb
|
||||||
|
- lib/constraints/admin_constrainer.rb
|
||||||
|
- lib/gitlab/auth.rb
|
||||||
|
- lib/gitlab/background_migration/user_mentions/models/group.rb
|
||||||
|
- lib/gitlab/ci/runner_instructions.rb
|
||||||
|
- lib/gitlab/import_export/members_mapper.rb
|
||||||
|
- lib/gitlab/performance_bar.rb
|
||||||
|
- lib/gitlab/visibility_level.rb
|
||||||
|
- qa/qa/runtime/api/client.rb
|
60
.rubocop_todo/database/multiple_databases.yml
Normal file
60
.rubocop_todo/database/multiple_databases.yml
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
---
|
||||||
|
Database/MultipleDatabases:
|
||||||
|
Exclude:
|
||||||
|
- ee/lib/ee/gitlab/database.rb
|
||||||
|
- ee/lib/gitlab/geo/database_tasks.rb
|
||||||
|
- ee/lib/gitlab/geo/geo_tasks.rb
|
||||||
|
- ee/lib/gitlab/geo/health_check.rb
|
||||||
|
- ee/lib/gitlab/geo/log_cursor/daemon.rb
|
||||||
|
- ee/lib/pseudonymizer/dumper.rb
|
||||||
|
- ee/lib/pseudonymizer/pager.rb
|
||||||
|
- ee/lib/system_check/geo/geo_database_configured_check.rb
|
||||||
|
- ee/spec/lib/pseudonymizer/dumper_spec.rb
|
||||||
|
- ee/spec/services/ee/merge_requests/update_service_spec.rb
|
||||||
|
- lib/backup/database.rb
|
||||||
|
- lib/backup/manager.rb
|
||||||
|
- lib/gitlab/current_settings.rb
|
||||||
|
- lib/gitlab/database/load_balancing/load_balancer.rb
|
||||||
|
- lib/gitlab/database/load_balancing.rb
|
||||||
|
- lib/gitlab/database/load_balancing/sticking.rb
|
||||||
|
- lib/gitlab/database/migrations/observers/migration_observer.rb
|
||||||
|
- lib/gitlab/database/migrations/observers/query_log.rb
|
||||||
|
- lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb
|
||||||
|
- lib/gitlab/database.rb
|
||||||
|
- lib/gitlab/database/schema_cache_with_renamed_table.rb
|
||||||
|
- lib/gitlab/database/with_lock_retries.rb
|
||||||
|
- lib/gitlab/gitlab_import/importer.rb
|
||||||
|
- lib/gitlab/health_checks/db_check.rb
|
||||||
|
- lib/gitlab/import_export/base/relation_factory.rb
|
||||||
|
- lib/gitlab/import_export/group/relation_tree_restorer.rb
|
||||||
|
- lib/gitlab/legacy_github_import/importer.rb
|
||||||
|
- lib/gitlab/metrics/samplers/database_sampler.rb
|
||||||
|
- lib/gitlab/seeder.rb
|
||||||
|
- lib/gitlab/sherlock/query.rb
|
||||||
|
- lib/system_check/orphans/repository_check.rb
|
||||||
|
- spec/db/schema_spec.rb
|
||||||
|
- spec/initializers/database_config_spec.rb
|
||||||
|
- spec/lib/backup/manager_spec.rb
|
||||||
|
- spec/lib/gitlab/current_settings_spec.rb
|
||||||
|
- spec/lib/gitlab/database_spec.rb
|
||||||
|
- spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
|
||||||
|
- spec/lib/gitlab/profiler_spec.rb
|
||||||
|
- spec/lib/gitlab/usage_data_metrics_spec.rb
|
||||||
|
- spec/lib/gitlab/usage_data_queries_spec.rb
|
||||||
|
- spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb
|
||||||
|
- spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb
|
||||||
|
- spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb
|
||||||
|
- spec/lib/gitlab/utils/usage_data_spec.rb
|
||||||
|
- spec/models/project_feature_usage_spec.rb
|
||||||
|
- spec/models/users_statistics_spec.rb
|
||||||
|
- spec/services/users/activity_service_spec.rb
|
||||||
|
- spec/support/caching.rb
|
||||||
|
- spec/support/gitlab/usage/metrics_instrumentation_shared_examples.rb
|
||||||
|
- spec/support/helpers/database_connection_helpers.rb
|
||||||
|
- spec/support/helpers/database/database_helpers.rb
|
||||||
|
- spec/support/helpers/database/table_schema_helpers.rb
|
||||||
|
- spec/support/helpers/migrations_helpers.rb
|
||||||
|
- spec/support/helpers/query_recorder.rb
|
||||||
|
- spec/support/helpers/usage_data_helpers.rb
|
||||||
|
- spec/tasks/gitlab/backup_rake_spec.rb
|
||||||
|
- spec/tasks/gitlab/db_rake_spec.rb
|
10
.rubocop_todo/gitlab/delegate_predicate_methods.yml
Normal file
10
.rubocop_todo/gitlab/delegate_predicate_methods.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
Gitlab/DelegatePredicateMethods:
|
||||||
|
Exclude:
|
||||||
|
- app/models/clusters/cluster.rb
|
||||||
|
- app/models/concerns/ci/metadatable.rb
|
||||||
|
- app/models/concerns/integrations/base_data_fields.rb
|
||||||
|
- app/models/project.rb
|
||||||
|
- ee/app/models/concerns/ee/ci/metadatable.rb
|
||||||
|
- ee/app/models/license.rb
|
||||||
|
- lib/gitlab/ci/trace/stream.rb
|
189
.rubocop_todo/gitlab/feature_available_usage.yml
Normal file
189
.rubocop_todo/gitlab/feature_available_usage.yml
Normal file
|
@ -0,0 +1,189 @@
|
||||||
|
---
|
||||||
|
Gitlab/FeatureAvailableUsage:
|
||||||
|
Exclude:
|
||||||
|
- app/controllers/projects/application_controller.rb
|
||||||
|
- app/graphql/types/project_type.rb
|
||||||
|
- app/helpers/events_helper.rb
|
||||||
|
- app/helpers/labels_helper.rb
|
||||||
|
- app/policies/project_policy.rb
|
||||||
|
- app/views/shared/boards/_switcher.html.haml
|
||||||
|
- ee/app/controllers/concerns/description_diff_actions.rb
|
||||||
|
- ee/app/controllers/concerns/ee/boards_actions.rb
|
||||||
|
- ee/app/controllers/concerns/security_dashboards_permissions.rb
|
||||||
|
- ee/app/controllers/ee/boards/lists_controller.rb
|
||||||
|
- ee/app/controllers/ee/projects/autocomplete_sources_controller.rb
|
||||||
|
- ee/app/controllers/ee/projects/issues_controller.rb
|
||||||
|
- ee/app/controllers/ee/projects/security/configuration_controller.rb
|
||||||
|
- ee/app/controllers/ee/projects/settings/ci_cd_controller.rb
|
||||||
|
- ee/app/controllers/ee/projects/settings/operations_controller.rb
|
||||||
|
- ee/app/controllers/ee/projects/settings/repository_controller.rb
|
||||||
|
- ee/app/controllers/projects/audit_events_controller.rb
|
||||||
|
- ee/app/controllers/projects/cluster_agents_controller.rb
|
||||||
|
- ee/app/controllers/projects/iterations/inherited_controller.rb
|
||||||
|
- ee/app/controllers/projects/iterations_controller.rb
|
||||||
|
- ee/app/controllers/projects/path_locks_controller.rb
|
||||||
|
- ee/app/controllers/projects/subscriptions_controller.rb
|
||||||
|
- ee/app/finders/autocomplete/vulnerabilities_autocomplete_finder.rb
|
||||||
|
- ee/app/finders/clusters/agents_finder.rb
|
||||||
|
- ee/app/finders/ee/alert_management/alerts_finder.rb
|
||||||
|
- ee/app/finders/ee/alert_management/http_integrations_finder.rb
|
||||||
|
- ee/app/graphql/ee/types/group_type.rb
|
||||||
|
- ee/app/graphql/mutations/dast/profiles/create.rb
|
||||||
|
- ee/app/graphql/mutations/dast/profiles/run.rb
|
||||||
|
- ee/app/graphql/mutations/dast/profiles/update.rb
|
||||||
|
- ee/app/graphql/mutations/instance_security_dashboard/remove_project.rb
|
||||||
|
- ee/app/graphql/resolvers/clusters/agent_tokens_resolver.rb
|
||||||
|
- ee/app/helpers/ee/application_helper.rb
|
||||||
|
- ee/app/helpers/ee/boards_helper.rb
|
||||||
|
- ee/app/helpers/ee/clusters_helper.rb
|
||||||
|
- ee/app/helpers/ee/dashboard_helper.rb
|
||||||
|
- ee/app/helpers/ee/form_helper.rb
|
||||||
|
- ee/app/helpers/ee/graph_helper.rb
|
||||||
|
- ee/app/helpers/ee/issues_helper.rb
|
||||||
|
- ee/app/helpers/ee/lock_helper.rb
|
||||||
|
- ee/app/helpers/ee/operations_helper.rb
|
||||||
|
- ee/app/helpers/ee/projects/incidents_helper.rb
|
||||||
|
- ee/app/helpers/ee/projects_helper.rb
|
||||||
|
- ee/app/helpers/ee/releases_helper.rb
|
||||||
|
- ee/app/helpers/ee/search_helper.rb
|
||||||
|
- ee/app/helpers/ee/tree_helper.rb
|
||||||
|
- ee/app/models/approval_state.rb
|
||||||
|
- ee/app/models/concerns/approvable.rb
|
||||||
|
- ee/app/models/concerns/ee/project_security_scanners_information.rb
|
||||||
|
- ee/app/models/concerns/ee/protected_ref_access.rb
|
||||||
|
- ee/app/models/concerns/has_timelogs_report.rb
|
||||||
|
- ee/app/models/concerns/insights_feature.rb
|
||||||
|
- ee/app/models/ee/board.rb
|
||||||
|
- ee/app/models/ee/ci/build.rb
|
||||||
|
- ee/app/models/ee/ci/build_dependencies.rb
|
||||||
|
- ee/app/models/ee/ci/pipeline.rb
|
||||||
|
- ee/app/models/ee/group.rb
|
||||||
|
- ee/app/models/ee/group_member.rb
|
||||||
|
- ee/app/models/ee/issue.rb
|
||||||
|
- ee/app/models/ee/list.rb
|
||||||
|
- ee/app/models/ee/merge_request.rb
|
||||||
|
- ee/app/models/ee/milestone_release.rb
|
||||||
|
- ee/app/models/ee/namespace.rb
|
||||||
|
- ee/app/models/ee/namespace_setting.rb
|
||||||
|
- ee/app/models/ee/project.rb
|
||||||
|
- ee/app/models/ee/project_ci_cd_setting.rb
|
||||||
|
- ee/app/models/namespace_statistics.rb
|
||||||
|
- ee/app/models/project_security_setting.rb
|
||||||
|
- ee/app/policies/compliance_management/framework_policy.rb
|
||||||
|
- ee/app/policies/ee/group_policy.rb
|
||||||
|
- ee/app/policies/ee/namespace_policy.rb
|
||||||
|
- ee/app/policies/ee/project_policy.rb
|
||||||
|
- ee/app/policies/ee/protected_branch_policy.rb
|
||||||
|
- ee/app/presenters/ee/label_presenter.rb
|
||||||
|
- ee/app/presenters/merge_request_approver_presenter.rb
|
||||||
|
- ee/app/serializers/dashboard_operations_project_entity.rb
|
||||||
|
- ee/app/serializers/ee/environment_entity.rb
|
||||||
|
- ee/app/serializers/ee/evidences/release_entity.rb
|
||||||
|
- ee/app/serializers/ee/note_entity.rb
|
||||||
|
- ee/app/services/boards/epic_boards/update_service.rb
|
||||||
|
- ee/app/services/ci/audit_variable_change_service.rb
|
||||||
|
- ee/app/services/clusters/agent_tokens/create_service.rb
|
||||||
|
- ee/app/services/clusters/agents/create_service.rb
|
||||||
|
- ee/app/services/dashboard/projects/create_service.rb
|
||||||
|
- ee/app/services/dashboard/projects/list_service.rb
|
||||||
|
- ee/app/services/dast/profiles/create_service.rb
|
||||||
|
- ee/app/services/dast/profiles/update_service.rb
|
||||||
|
- ee/app/services/dast_on_demand_scans/create_service.rb
|
||||||
|
- ee/app/services/dast_site_tokens/create_service.rb
|
||||||
|
- ee/app/services/dast_site_validations/create_service.rb
|
||||||
|
- ee/app/services/dast_site_validations/revoke_service.rb
|
||||||
|
- ee/app/services/dast_site_validations/validate_service.rb
|
||||||
|
- ee/app/services/ee/alert_management/http_integrations/create_service.rb
|
||||||
|
- ee/app/services/ee/audit_event_service.rb
|
||||||
|
- ee/app/services/ee/boards/issues/list_service.rb
|
||||||
|
- ee/app/services/ee/boards/lists/create_service.rb
|
||||||
|
- ee/app/services/ee/boards/update_service.rb
|
||||||
|
- ee/app/services/ee/ide/schemas_config_service.rb
|
||||||
|
- ee/app/services/ee/issuable_base_service.rb
|
||||||
|
- ee/app/services/ee/issue_links/create_service.rb
|
||||||
|
- ee/app/services/ee/issues/build_service.rb
|
||||||
|
- ee/app/services/ee/lfs/lock_file_service.rb
|
||||||
|
- ee/app/services/ee/lfs/unlock_file_service.rb
|
||||||
|
- ee/app/services/ee/merge_requests/approval_service.rb
|
||||||
|
- ee/app/services/ee/merge_requests/build_service.rb
|
||||||
|
- ee/app/services/ee/merge_requests/merge_base_service.rb
|
||||||
|
- ee/app/services/ee/merge_requests/refresh_service.rb
|
||||||
|
- ee/app/services/ee/merge_requests/update_service.rb
|
||||||
|
- ee/app/services/ee/projects/create_service.rb
|
||||||
|
- ee/app/services/ee/protected_branches/create_service.rb
|
||||||
|
- ee/app/services/ee/releases/create_evidence_service.rb
|
||||||
|
- ee/app/services/iterations/create_service.rb
|
||||||
|
- ee/app/services/iterations/update_service.rb
|
||||||
|
- ee/app/services/merge_requests/sync_report_approver_approval_rules.rb
|
||||||
|
- ee/app/services/merge_requests/update_blocks_service.rb
|
||||||
|
- ee/app/services/projects/mark_for_deletion_service.rb
|
||||||
|
- ee/app/services/quality_management/test_cases/create_service.rb
|
||||||
|
- ee/app/services/requirements_management/process_test_reports_service.rb
|
||||||
|
- ee/app/services/security/store_scans_service.rb
|
||||||
|
- ee/app/views/layouts/nav/_test_cases_link.html.haml
|
||||||
|
- ee/app/views/layouts/nav/sidebar/_project_iterations_link.html.haml
|
||||||
|
- ee/app/views/projects/_merge_request_approvals_settings.html.haml
|
||||||
|
- ee/app/views/projects/_merge_request_settings.html.haml
|
||||||
|
- ee/app/views/projects/_merge_request_settings_description_text.html.haml
|
||||||
|
- ee/app/views/projects/audit_events/index.html.haml
|
||||||
|
- ee/app/views/projects/blob/_header_file_locks.html.haml
|
||||||
|
- ee/app/views/projects/issues/_related_issues.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/merge_requests/show.html.haml
|
||||||
|
- ee/app/views/projects/pipelines/_tabs_content.html.haml
|
||||||
|
- ee/app/views/projects/protected_branches/ee/_code_owner_approval_form.html.haml
|
||||||
|
- ee/app/views/projects/protected_branches/ee/_code_owner_approval_table.html.haml
|
||||||
|
- ee/app/views/projects/protected_branches/ee/_code_owner_approval_table_head.html.haml
|
||||||
|
- ee/app/views/projects/push_rules/_index.html.haml
|
||||||
|
- ee/app/views/projects/settings/_default_issue_template.html.haml
|
||||||
|
- ee/app/views/projects/settings/_marked_for_removal.html.haml
|
||||||
|
- ee/app/views/projects/settings/_restore.html.haml
|
||||||
|
- ee/app/views/projects/settings/ci_cd/_auto_rollback.html.haml
|
||||||
|
- ee/app/views/projects/settings/ci_cd/_pipeline_subscriptions.html.haml
|
||||||
|
- ee/app/views/projects/settings/operations/_status_page.html.haml
|
||||||
|
- ee/app/views/projects/settings/repository/_protected_branches.html.haml
|
||||||
|
- ee/app/views/projects/sidebar/_repository_locked_files.html.haml
|
||||||
|
- ee/app/views/shared/issuable/_group_bulk_update_sidebar.html.haml
|
||||||
|
- ee/app/views/shared/issuable/form/_default_templates.html.haml
|
||||||
|
- ee/app/views/shared/labels/_create_label_help_text.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_mr_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_mr_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
|
||||||
|
- ee/app/views/shared/promotions/_promote_repository_features.html.haml
|
||||||
|
- ee/app/workers/analytics/code_review_metrics_worker.rb
|
||||||
|
- ee/app/workers/group_saml_group_sync_worker.rb
|
||||||
|
- ee/lib/api/external_status_checks.rb
|
||||||
|
- ee/lib/ee/api/entities/approval_state.rb
|
||||||
|
- ee/lib/ee/api/entities/board.rb
|
||||||
|
- ee/lib/ee/api/entities/issue.rb
|
||||||
|
- ee/lib/ee/api/entities/project.rb
|
||||||
|
- ee/lib/ee/api/helpers.rb
|
||||||
|
- ee/lib/ee/api/internal/kubernetes.rb
|
||||||
|
- ee/lib/ee/api/job_artifacts.rb
|
||||||
|
- ee/lib/ee/api/projects.rb
|
||||||
|
- ee/lib/ee/gitlab/alert_management/payload/generic.rb
|
||||||
|
- ee/lib/ee/gitlab/checks/diff_check.rb
|
||||||
|
- ee/lib/ee/gitlab/gon_helper.rb
|
||||||
|
- ee/lib/ee/gitlab/tree_summary.rb
|
||||||
|
- ee/lib/gitlab/alert_management.rb
|
||||||
|
- ee/lib/gitlab/ci/pipeline/chain/config/content/compliance.rb
|
||||||
|
- ee/lib/gitlab/code_owners.rb
|
||||||
|
- ee/lib/gitlab/incident_management.rb
|
||||||
|
- ee/lib/gitlab/path_locks_finder.rb
|
||||||
|
- ee/lib/incident_management/incident_sla.rb
|
||||||
|
- ee/spec/models/instance_security_dashboard_spec.rb
|
||||||
|
- ee/spec/models/license_spec.rb
|
||||||
|
- ee/spec/models/project_spec.rb
|
||||||
|
- lib/api/helpers/related_resources_helpers.rb
|
||||||
|
- spec/models/concerns/featurable_spec.rb
|
1198
.rubocop_todo/gitlab/namespaced_class.yml
Normal file
1198
.rubocop_todo/gitlab/namespaced_class.yml
Normal file
File diff suppressed because it is too large
Load diff
4
.rubocop_todo/graphql/argument_name.yml
Normal file
4
.rubocop_todo/graphql/argument_name.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
GraphQL/ArgumentName:
|
||||||
|
Exclude:
|
||||||
|
- ee/app/graphql/mutations/audit_events/external_audit_event_destinations/update.rb
|
16
.rubocop_todo/graphql/field_definitions.yml
Normal file
16
.rubocop_todo/graphql/field_definitions.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
GraphQL/FieldDefinitions:
|
||||||
|
Exclude:
|
||||||
|
- app/graphql/types/commit_type.rb
|
||||||
|
- app/graphql/types/group_type.rb
|
||||||
|
- app/graphql/types/issue_type.rb
|
||||||
|
- app/graphql/types/label_type.rb
|
||||||
|
- app/graphql/types/project_type.rb
|
||||||
|
- app/graphql/types/projects/topic_type.rb
|
||||||
|
- app/graphql/types/release_type.rb
|
||||||
|
- ee/app/graphql/types/ci/code_quality_degradation_type.rb
|
||||||
|
- ee/app/graphql/types/epic_type.rb
|
||||||
|
- ee/app/graphql/types/group_release_stats_type.rb
|
||||||
|
- ee/app/graphql/types/iteration_type.rb
|
||||||
|
- ee/app/graphql/types/requirements_management/requirement_type.rb
|
||||||
|
- ee/app/graphql/types/vulnerability_type.rb
|
7
.rubocop_todo/graphql/field_hash_key.yml
Normal file
7
.rubocop_todo/graphql/field_hash_key.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
GraphQL/FieldHashKey:
|
||||||
|
Exclude:
|
||||||
|
- app/graphql/types/ci/config/job_type.rb
|
||||||
|
- app/graphql/types/ci/status_action_type.rb
|
||||||
|
- app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb
|
||||||
|
- app/graphql/types/packages/helm/dependency_type.rb
|
12
.rubocop_todo/graphql/field_method.yml
Normal file
12
.rubocop_todo/graphql/field_method.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
GraphQL/FieldMethod:
|
||||||
|
Exclude:
|
||||||
|
- app/graphql/types/ci/job_type.rb
|
||||||
|
- app/graphql/types/merge_request_type.rb
|
||||||
|
- app/graphql/types/metrics/dashboards/annotation_type.rb
|
||||||
|
- app/graphql/types/packages/package_details_type.rb
|
||||||
|
- app/graphql/types/project_type.rb
|
||||||
|
- ee/app/graphql/types/dast/profile_type.rb
|
||||||
|
- ee/app/graphql/types/dast_site_validation_type.rb
|
||||||
|
- ee/app/graphql/types/group_release_stats_type.rb
|
||||||
|
- ee/app/graphql/types/incident_management/oncall_rotation_type.rb
|
20
.rubocop_todo/graphql/ordered_arguments.yml
Normal file
20
.rubocop_todo/graphql/ordered_arguments.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
GraphQL/OrderedArguments:
|
||||||
|
Exclude:
|
||||||
|
- app/graphql/resolvers/base_issues_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/group_milestones_resolver.rb
|
||||||
|
- app/graphql/resolvers/merge_requests_resolver.rb
|
||||||
|
- app/graphql/resolvers/paginated_tree_resolver.rb
|
||||||
|
- app/graphql/resolvers/tree_resolver.rb
|
||||||
|
- app/graphql/resolvers/users/groups_resolver.rb
|
||||||
|
- app/graphql/types/commit_action_type.rb
|
||||||
|
- app/graphql/types/diff_paths_input_type.rb
|
||||||
|
- app/graphql/types/issues/negated_issue_filter_input_type.rb
|
||||||
|
- app/graphql/types/jira_users_mapping_input_type.rb
|
||||||
|
- app/graphql/types/notes/diff_image_position_input_type.rb
|
||||||
|
- app/graphql/types/notes/diff_position_base_input_type.rb
|
||||||
|
- app/graphql/types/notes/diff_position_input_type.rb
|
89
.rubocop_todo/graphql/ordered_fields.yml
Normal file
89
.rubocop_todo/graphql/ordered_fields.yml
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
---
|
||||||
|
GraphQL/OrderedFields:
|
||||||
|
Exclude:
|
||||||
|
- app/graphql/types/board_list_type.rb
|
||||||
|
- app/graphql/types/ci/analytics_type.rb
|
||||||
|
- app/graphql/types/ci/ci_cd_setting_type.rb
|
||||||
|
- app/graphql/types/ci/config/group_type.rb
|
||||||
|
- app/graphql/types/ci/config/job_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_type.rb
|
||||||
|
- app/graphql/types/ci/runner_architecture_type.rb
|
||||||
|
- app/graphql/types/ci/runner_platform_type.rb
|
||||||
|
- app/graphql/types/ci/runner_type.rb
|
||||||
|
- app/graphql/types/ci/stage_type.rb
|
||||||
|
- app/graphql/types/ci/status_action_type.rb
|
||||||
|
- app/graphql/types/ci/template_type.rb
|
||||||
|
- app/graphql/types/commit_type.rb
|
||||||
|
- app/graphql/types/container_expiration_policy_type.rb
|
||||||
|
- app/graphql/types/container_repository_tag_type.rb
|
||||||
|
- app/graphql/types/container_repository_type.rb
|
||||||
|
- app/graphql/types/dependency_proxy/blob_type.rb
|
||||||
|
- app/graphql/types/dependency_proxy/image_ttl_group_policy_type.rb
|
||||||
|
- app/graphql/types/dependency_proxy/manifest_type.rb
|
||||||
|
- app/graphql/types/design_management/design_collection_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/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_type.rb
|
||||||
|
- app/graphql/types/evidence_type.rb
|
||||||
|
- app/graphql/types/grafana_integration_type.rb
|
||||||
|
- app/graphql/types/issue_type.rb
|
||||||
|
- app/graphql/types/jira_import_type.rb
|
||||||
|
- app/graphql/types/jira_user_type.rb
|
||||||
|
- app/graphql/types/label_type.rb
|
||||||
|
- app/graphql/types/merge_request_type.rb
|
||||||
|
- app/graphql/types/metadata/kas_type.rb
|
||||||
|
- app/graphql/types/metadata_type.rb
|
||||||
|
- app/graphql/types/namespace/package_settings_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/packages/composer/json_type.rb
|
||||||
|
- app/graphql/types/packages/composer/metadatum_type.rb
|
||||||
|
- app/graphql/types/packages/conan/file_metadatum_type.rb
|
||||||
|
- app/graphql/types/packages/conan/metadatum_type.rb
|
||||||
|
- app/graphql/types/packages/helm/dependency_type.rb
|
||||||
|
- app/graphql/types/packages/helm/maintainer_type.rb
|
||||||
|
- app/graphql/types/packages/helm/metadata_type.rb
|
||||||
|
- app/graphql/types/packages/maven/metadatum_type.rb
|
||||||
|
- app/graphql/types/packages/nuget/metadatum_type.rb
|
||||||
|
- app/graphql/types/packages/package_dependency_link_type.rb
|
||||||
|
- app/graphql/types/packages/package_file_type.rb
|
||||||
|
- app/graphql/types/packages/package_tag_type.rb
|
||||||
|
- app/graphql/types/packages/package_type.rb
|
||||||
|
- app/graphql/types/project_statistics_type.rb
|
||||||
|
- app/graphql/types/project_type.rb
|
||||||
|
- app/graphql/types/projects/services/jira_project_type.rb
|
||||||
|
- app/graphql/types/release_asset_link_type.rb
|
||||||
|
- app/graphql/types/release_links_type.rb
|
||||||
|
- app/graphql/types/release_type.rb
|
||||||
|
- app/graphql/types/repository_type.rb
|
||||||
|
- app/graphql/types/root_storage_statistics_type.rb
|
||||||
|
- app/graphql/types/task_completion_status.rb
|
||||||
|
- app/graphql/types/tree/blob_type.rb
|
||||||
|
- app/graphql/types/tree/submodule_type.rb
|
||||||
|
- app/graphql/types/tree/tree_entry_type.rb
|
||||||
|
- app/graphql/types/user_callout_type.rb
|
||||||
|
- app/graphql/types/user_status_type.rb
|
||||||
|
- ee/app/graphql/types/analytics/devops_adoption/snapshot_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_type.rb
|
||||||
|
- ee/app/graphql/types/geo/geo_node_type.rb
|
||||||
|
- ee/app/graphql/types/requirements_management/requirement_states_count_type.rb
|
||||||
|
- ee/app/graphql/types/scan_execution_policy_type.rb
|
||||||
|
- ee/app/graphql/types/scan_type.rb
|
||||||
|
- ee/app/graphql/types/scanned_resource_type.rb
|
||||||
|
- ee/app/graphql/types/security_report_summary_section_type.rb
|
||||||
|
- ee/app/graphql/types/timebox_report_type.rb
|
7
.rubocop_todo/graphql/resolver_method_length.yml
Normal file
7
.rubocop_todo/graphql/resolver_method_length.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
GraphQL/ResolverMethodLength:
|
||||||
|
Exclude:
|
||||||
|
- app/graphql/types/ci/detailed_status_type.rb
|
||||||
|
- app/graphql/types/ci/runner_type.rb
|
||||||
|
- app/graphql/types/ci/stage_type.rb
|
||||||
|
- app/graphql/types/packages/package_type.rb
|
|
@ -0,0 +1,62 @@
|
||||||
|
---
|
||||||
|
Performance/ActiveRecordSubtransactionMethods:
|
||||||
|
Exclude:
|
||||||
|
- app/controllers/clusters/clusters_controller.rb
|
||||||
|
- app/controllers/repositories/lfs_storage_controller.rb
|
||||||
|
- app/controllers/search_controller.rb
|
||||||
|
- app/models/application_record.rb
|
||||||
|
- app/models/ci/ref.rb
|
||||||
|
- app/models/container_repository.rb
|
||||||
|
- app/models/design_management/design_collection.rb
|
||||||
|
- app/models/error_tracking/error.rb
|
||||||
|
- app/models/external_pull_request.rb
|
||||||
|
- app/models/merge_request.rb
|
||||||
|
- app/models/plan.rb
|
||||||
|
- app/models/project.rb
|
||||||
|
- app/models/shard.rb
|
||||||
|
- app/models/x509_certificate.rb
|
||||||
|
- app/models/x509_commit_signature.rb
|
||||||
|
- app/models/x509_issuer.rb
|
||||||
|
- app/models/concerns/commit_signature.rb
|
||||||
|
- app/services/bulk_imports/relation_export_service.rb
|
||||||
|
- app/services/ci/update_build_state_service.rb
|
||||||
|
- app/services/event_create_service.rb
|
||||||
|
- app/services/groups/import_export/import_service.rb
|
||||||
|
- app/services/lfs/file_transformer.rb
|
||||||
|
- app/services/merge_requests/approval_service.rb
|
||||||
|
- app/services/namespaces/statistics_refresher_service.rb
|
||||||
|
- app/services/packages/rubygems/create_dependencies_service.rb
|
||||||
|
- app/services/packages/rubygems/metadata_extraction_service.rb
|
||||||
|
- app/services/projects/create_service.rb
|
||||||
|
- app/services/projects/lfs_pointers/lfs_download_service.rb
|
||||||
|
- app/services/service_desk_settings/update_service.rb
|
||||||
|
- app/services/service_ping/submit_service.rb
|
||||||
|
- app/services/terraform/remote_state_handler.rb
|
||||||
|
- app/workers/namespaces/schedule_aggregation_worker.rb
|
||||||
|
- app/workers/project_export_worker.rb
|
||||||
|
- db/migrate/20200212014653_rename_security_dashboard_feature_flag_to_instance_security_dashboard.rb
|
||||||
|
- db/post_migrate/20200214034836_remove_security_dashboard_feature_flag.rb
|
||||||
|
- db/post_migrate/20210824174615_prepare_ci_builds_metadata_and_ci_build_async_indexes.rb
|
||||||
|
- ee/app/models/ci/minutes/namespace_monthly_usage.rb
|
||||||
|
- ee/app/models/ci/minutes/project_monthly_usage.rb
|
||||||
|
- ee/app/models/concerns/deprecated_approvals_before_merge.rb
|
||||||
|
- ee/app/models/ee/iteration.rb
|
||||||
|
- ee/app/models/ee/plan.rb
|
||||||
|
- ee/app/models/elastic/index_setting.rb
|
||||||
|
- ee/app/models/gitlab_subscription.rb
|
||||||
|
- ee/app/models/software_license.rb
|
||||||
|
- ee/app/services/boards/user_preferences/update_service.rb
|
||||||
|
- ee/app/services/ci/minutes/update_project_and_namespace_usage_service.rb
|
||||||
|
- ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb
|
||||||
|
- ee/app/services/security/store_report_service.rb
|
||||||
|
- ee/app/services/security/store_scan_service.rb
|
||||||
|
- ee/app/workers/import_software_licenses_worker.rb
|
||||||
|
- ee/db/fixtures/production/027_plans.rb
|
||||||
|
- ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb
|
||||||
|
- ee/lib/gitlab/elastic/indexer.rb
|
||||||
|
- lib/gitlab/ci/pipeline/seed/environment.rb
|
||||||
|
- lib/gitlab/ci/pipeline/seed/processable/resource_group.rb
|
||||||
|
- lib/gitlab/ci/trace/chunked_io.rb
|
||||||
|
- lib/gitlab/composer/cache.rb
|
||||||
|
- lib/gitlab/database/async_indexes/migration_helpers.rb
|
||||||
|
- lib/gitlab/issuables_count_for_state.rb
|
5
.rubocop_todo/performance/rubyzip.yml
Normal file
5
.rubocop_todo/performance/rubyzip.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
Performance/Rubyzip:
|
||||||
|
Exclude:
|
||||||
|
- app/services/packages/nuget/metadata_extraction_service.rb
|
||||||
|
- lib/gitlab/ci/artifact_file_reader.rb
|
38
.rubocop_todo/rails/include_url_helper.yml
Normal file
38
.rubocop_todo/rails/include_url_helper.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
Rails/IncludeUrlHelper:
|
||||||
|
Exclude:
|
||||||
|
- app/models/integrations/asana.rb
|
||||||
|
- app/models/integrations/bamboo.rb
|
||||||
|
- app/models/integrations/bugzilla.rb
|
||||||
|
- app/models/integrations/campfire.rb
|
||||||
|
- app/models/integrations/confluence.rb
|
||||||
|
- app/models/integrations/custom_issue_tracker.rb
|
||||||
|
- app/models/integrations/datadog.rb
|
||||||
|
- app/models/integrations/discord.rb
|
||||||
|
- app/models/integrations/ewm.rb
|
||||||
|
- app/models/integrations/external_wiki.rb
|
||||||
|
- app/models/integrations/flowdock.rb
|
||||||
|
- app/models/integrations/hangouts_chat.rb
|
||||||
|
- app/models/integrations/irker.rb
|
||||||
|
- app/models/integrations/jenkins.rb
|
||||||
|
- app/models/integrations/mattermost.rb
|
||||||
|
- app/models/integrations/pivotaltracker.rb
|
||||||
|
- app/models/integrations/redmine.rb
|
||||||
|
- app/models/integrations/webex_teams.rb
|
||||||
|
- app/models/integrations/youtrack.rb
|
||||||
|
- app/presenters/alert_management/alert_presenter.rb
|
||||||
|
- app/presenters/environment_presenter.rb
|
||||||
|
- app/presenters/gitlab/blame_presenter.rb
|
||||||
|
- app/presenters/merge_request_presenter.rb
|
||||||
|
- app/presenters/project_presenter.rb
|
||||||
|
- app/presenters/release_presenter.rb
|
||||||
|
- app/presenters/releases/evidence_presenter.rb
|
||||||
|
- ee/app/helpers/license_helper.rb
|
||||||
|
- ee/app/models/integrations/github.rb
|
||||||
|
- ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb
|
||||||
|
- ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb
|
||||||
|
- spec/helpers/merge_requests_helper_spec.rb
|
||||||
|
- spec/helpers/nav/top_nav_helper_spec.rb
|
||||||
|
- spec/helpers/notify_helper_spec.rb
|
||||||
|
- spec/lib/banzai/filter/reference_redactor_filter_spec.rb
|
||||||
|
- spec/lib/banzai/reference_redactor_spec.rb
|
98
.rubocop_todo/rails/save_bang.yml
Normal file
98
.rubocop_todo/rails/save_bang.yml
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
---
|
||||||
|
Rails/SaveBang:
|
||||||
|
Exclude:
|
||||||
|
- ee/spec/initializers/fog_google_https_private_urls_spec.rb
|
||||||
|
- ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/ldap/access_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/o_auth/user_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/saml/user_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/elastic/search_results_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/email/handler/ee/service_desk_handler_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/git_access_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/mirror_spec.rb
|
||||||
|
- ee/spec/models/application_setting_spec.rb
|
||||||
|
- ee/spec/models/approval_merge_request_rule_spec.rb
|
||||||
|
- ee/spec/models/approval_project_rule_spec.rb
|
||||||
|
- ee/spec/models/burndown_spec.rb
|
||||||
|
- ee/spec/models/elasticsearch_indexed_namespace_spec.rb
|
||||||
|
- ee/spec/models/gitlab_subscription_spec.rb
|
||||||
|
- ee/spec/models/issue_spec.rb
|
||||||
|
- ee/spec/models/protected_environment_spec.rb
|
||||||
|
- ee/spec/models/repository_spec.rb
|
||||||
|
- ee/spec/models/scim_identity_spec.rb
|
||||||
|
- ee/spec/models/scim_oauth_access_token_spec.rb
|
||||||
|
- ee/spec/models/upload_spec.rb
|
||||||
|
- ee/spec/models/user_preference_spec.rb
|
||||||
|
- ee/spec/models/visible_approvable_spec.rb
|
||||||
|
- ee/spec/models/vulnerabilities/feedback_spec.rb
|
||||||
|
- ee/spec/models/vulnerabilities/issue_link_spec.rb
|
||||||
|
- ee/spec/services/ee/merge_requests/update_service_spec.rb
|
||||||
|
- ee/spec/services/ee/notes/quick_actions_service_spec.rb
|
||||||
|
- ee/spec/services/ee/notification_service_spec.rb
|
||||||
|
- ee/spec/services/epic_links/create_service_spec.rb
|
||||||
|
- ee/spec/services/epics/close_service_spec.rb
|
||||||
|
- ee/spec/services/epics/issue_promote_service_spec.rb
|
||||||
|
- ee/spec/services/epics/reopen_service_spec.rb
|
||||||
|
- ee/spec/services/epics/tree_reorder_service_spec.rb
|
||||||
|
- ee/spec/services/epics/update_dates_service_spec.rb
|
||||||
|
- ee/spec/services/epics/update_service_spec.rb
|
||||||
|
- ee/spec/services/geo/blob_verification_secondary_service_spec.rb
|
||||||
|
- ee/spec/services/geo/files_expire_service_spec.rb
|
||||||
|
- ee/spec/services/geo/metrics_update_service_spec.rb
|
||||||
|
- ee/spec/services/geo/registry_consistency_service_spec.rb
|
||||||
|
- ee/spec/services/geo/repository_verification_secondary_service_spec.rb
|
||||||
|
- ee/spec/services/groups/autocomplete_service_spec.rb
|
||||||
|
- ee/spec/services/ldap_group_reset_service_spec.rb
|
||||||
|
- ee/spec/services/lfs/unlock_file_service_spec.rb
|
||||||
|
- ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb
|
||||||
|
- ee/spec/services/quick_actions/interpret_service_spec.rb
|
||||||
|
- ee/spec/services/slash_commands/global_slack_handler_spec.rb
|
||||||
|
- ee/spec/services/start_pull_mirroring_service_spec.rb
|
||||||
|
- ee/spec/services/status_page/trigger_publish_service_spec.rb
|
||||||
|
- ee/spec/services/todo_service_spec.rb
|
||||||
|
- ee/spec/services/vulnerability_feedback/create_service_spec.rb
|
||||||
|
- spec/lib/backup/manager_spec.rb
|
||||||
|
- spec/lib/gitlab/alerting/alert_spec.rb
|
||||||
|
- spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb
|
||||||
|
- spec/lib/gitlab/auth/ldap/user_spec.rb
|
||||||
|
- spec/lib/gitlab/auth/o_auth/user_spec.rb
|
||||||
|
- spec/lib/gitlab/auth/saml/user_spec.rb
|
||||||
|
- spec/lib/gitlab/auth_spec.rb
|
||||||
|
- spec/lib/gitlab/authorized_keys_spec.rb
|
||||||
|
- spec/lib/gitlab/bitbucket_server_import/importer_spec.rb
|
||||||
|
- spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb
|
||||||
|
- spec/lib/gitlab/database/custom_structure_spec.rb
|
||||||
|
- spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb
|
||||||
|
- spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb
|
||||||
|
- spec/lib/gitlab/gfm/reference_rewriter_spec.rb
|
||||||
|
- spec/lib/gitlab/git_access_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/avatar_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/base/relation_factory_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/design_repo_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/fork_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/group/relation_factory_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/group/tree_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/importer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/lfs_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/lfs_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/members_mapper_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/project/relation_factory_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/project/tree_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/project/tree_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/repo_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/uploads_manager_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/uploads_saver_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/wiki_restorer_spec.rb
|
||||||
|
- spec/lib/gitlab/lets_encrypt/client_spec.rb
|
||||||
|
- spec/lib/gitlab/middleware/go_spec.rb
|
||||||
|
- spec/lib/gitlab/shard_health_cache_spec.rb
|
||||||
|
- spec/mailers/notify_spec.rb
|
154
.rubocop_todo/rails/time_zone.yml
Normal file
154
.rubocop_todo/rails/time_zone.yml
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
---
|
||||||
|
Rails/TimeZone:
|
||||||
|
Enabled: true
|
||||||
|
Exclude:
|
||||||
|
- lib/gitlab/popen.rb
|
||||||
|
- ee/lib/delay.rb
|
||||||
|
- ee/lib/gitlab/elastic/helper.rb
|
||||||
|
- ee/lib/gitlab/elastic/indexer.rb
|
||||||
|
- ee/lib/gitlab/geo/base_request.rb
|
||||||
|
- ee/lib/gitlab/geo/event_gap_tracking.rb
|
||||||
|
- ee/lib/gitlab/geo/log_cursor/events/design_repository_updated_event.rb
|
||||||
|
- ee/lib/gitlab/geo/log_cursor/events/repository_updated_event.rb
|
||||||
|
- ee/lib/gitlab/geo/log_cursor/logger.rb
|
||||||
|
- ee/lib/gitlab/geo/oauth/login_state.rb
|
||||||
|
- ee/lib/gitlab/prometheus/queries/cluster_query.rb
|
||||||
|
- ee/lib/gitlab/prometheus/queries/packet_flow_query.rb
|
||||||
|
- ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb
|
||||||
|
- ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/ldap/access_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/smartcard/session_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/elastic/client_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/base_request_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/lfs_object_deleted_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/repository_deleted_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/events/reset_checksum_event_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/logger_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/git_access_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/prometheus/queries/packet_flow_query_spec.rb
|
||||||
|
- lib/api/helpers.rb
|
||||||
|
- lib/api/sidekiq_metrics.rb
|
||||||
|
- lib/backup/manager.rb
|
||||||
|
- lib/bitbucket_server/representation/base.rb
|
||||||
|
- lib/gitlab/auth/current_user_mode.rb
|
||||||
|
- lib/gitlab/auth/ldap/access.rb
|
||||||
|
- lib/gitlab/chaos.rb
|
||||||
|
- lib/gitlab/checks/timed_logger.rb
|
||||||
|
- lib/gitlab/ci/ansi2json/line.rb
|
||||||
|
- lib/gitlab/ci/pipeline/chain/sequence.rb
|
||||||
|
- lib/gitlab/ci/pipeline/duration.rb
|
||||||
|
- lib/gitlab/cycle_analytics/summary/deployment_frequency.rb
|
||||||
|
- lib/gitlab/database.rb
|
||||||
|
- lib/gitlab/external_authorization/access.rb
|
||||||
|
- lib/gitlab/external_authorization/cache.rb
|
||||||
|
- lib/gitlab/gitaly_client.rb
|
||||||
|
- lib/gitlab/gitaly_client/ref_service.rb
|
||||||
|
- lib/gitlab/github_import/representation.rb
|
||||||
|
- lib/gitlab/grape_logging/loggers/queue_duration_logger.rb
|
||||||
|
- lib/gitlab/health_checks/base_abstract_check.rb
|
||||||
|
- lib/gitlab/import_export.rb
|
||||||
|
- lib/gitlab/instrumentation/elasticsearch_transport.rb
|
||||||
|
- lib/gitlab/instrumentation/redis_interceptor.rb
|
||||||
|
- lib/gitlab/instrumentation_helper.rb
|
||||||
|
- lib/gitlab/kubernetes/helm/certificate.rb
|
||||||
|
- lib/gitlab/lfs_token.rb
|
||||||
|
- lib/gitlab/loop_helpers.rb
|
||||||
|
- lib/gitlab/phabricator_import/representation/task.rb
|
||||||
|
- lib/gitlab/prometheus/queries/additional_metrics_environment_query.rb
|
||||||
|
- lib/gitlab/prometheus/queries/matched_metric_query.rb
|
||||||
|
- lib/gitlab/prometheus_client.rb
|
||||||
|
- lib/gitlab/sherlock/transaction.rb
|
||||||
|
- lib/gitlab/task_helpers.rb
|
||||||
|
- lib/gitlab/x509/tag.rb
|
||||||
|
- lib/grafana/time_window.rb
|
||||||
|
- lib/json_web_token/token.rb
|
||||||
|
- lib/object_storage/direct_upload.rb
|
||||||
|
- lib/quality/seeders/issues.rb
|
||||||
|
- tooling/rspec_flaky/flaky_example.rb
|
||||||
|
- tooling/rspec_flaky/report.rb
|
||||||
|
- lib/tasks/gitlab/assets.rake
|
||||||
|
- lib/tasks/gitlab/backup.rake
|
||||||
|
- lib/tasks/gitlab/cleanup.rake
|
||||||
|
- lib/tasks/gitlab/list_repos.rake
|
||||||
|
- spec/lib/api/helpers_spec.rb
|
||||||
|
- spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb
|
||||||
|
- spec/lib/gitlab/app_json_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/app_text_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/auth/current_user_mode_spec.rb
|
||||||
|
- spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb
|
||||||
|
- spec/lib/gitlab/background_migration/wrongfully_confirmed_email_unconfirmer_spec.rb
|
||||||
|
- spec/lib/gitlab/bitbucket_import/importer_spec.rb
|
||||||
|
- spec/lib/gitlab/bitbucket_server_import/importer_spec.rb
|
||||||
|
- spec/lib/gitlab/checks/timed_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/ci/cron_parser_spec.rb
|
||||||
|
- spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb
|
||||||
|
- spec/lib/gitlab/cycle_analytics/usage_data_spec.rb
|
||||||
|
- spec/lib/gitlab/data_builder/note_spec.rb
|
||||||
|
- spec/lib/gitlab/database/background_migration_job_spec.rb
|
||||||
|
- spec/lib/gitlab/database_spec.rb
|
||||||
|
- spec/lib/gitlab/discussions_diff/file_collection_spec.rb
|
||||||
|
- spec/lib/gitlab/external_authorization/access_spec.rb
|
||||||
|
- spec/lib/gitlab/external_authorization/cache_spec.rb
|
||||||
|
- spec/lib/gitlab/external_authorization/logger_spec.rb
|
||||||
|
- spec/lib/gitlab/fogbugz_import/importer_spec.rb
|
||||||
|
- spec/lib/gitlab/git/branch_spec.rb
|
||||||
|
- spec/lib/gitlab/git/commit_spec.rb
|
||||||
|
- spec/lib/gitlab/git/repository_spec.rb
|
||||||
|
- spec/lib/gitlab/git_access_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/issue_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/issues_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/note_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/importer/releases_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/representation/diff_note_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/representation/issue_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/representation/note_spec.rb
|
||||||
|
- spec/lib/gitlab/github_import/representation/pull_request_spec.rb
|
||||||
|
- spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb
|
||||||
|
- spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/graphql_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/graphs/commits_spec.rb
|
||||||
|
- spec/lib/gitlab/import_export/project/relation_factory_spec.rb
|
||||||
|
- spec/lib/gitlab/json_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/lfs_token_spec.rb
|
||||||
|
- spec/lib/gitlab/log_timestamp_formatter_spec.rb
|
||||||
|
- spec/lib/gitlab/middleware/rails_queue_duration_spec.rb
|
||||||
|
- spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb
|
||||||
|
- spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb
|
||||||
|
- spec/lib/gitlab/phabricator_import/representation/task_spec.rb
|
||||||
|
- spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb
|
||||||
|
- spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb
|
||||||
|
- spec/lib/gitlab/prometheus/queries/validate_query_spec.rb
|
||||||
|
- spec/lib/gitlab/sherlock/transaction_spec.rb
|
||||||
|
- spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb
|
||||||
|
- spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb
|
||||||
|
- spec/lib/gitlab/updated_notes_paginator_spec.rb
|
||||||
|
- spec/lib/gitlab/utils/json_size_estimator_spec.rb
|
||||||
|
- spec/lib/gitlab/x509/signature_spec.rb
|
||||||
|
- spec/lib/grafana/time_window_spec.rb
|
||||||
|
- spec/lib/json_web_token/hmac_token_spec.rb
|
||||||
|
- spec/tooling/rspec_flaky/flaky_example_spec.rb
|
||||||
|
- spec/tooling/rspec_flaky/listener_spec.rb
|
||||||
|
- spec/tooling/rspec_flaky/report_spec.rb
|
508
.rubocop_todo/rspec/any_instance_of.yml
Normal file
508
.rubocop_todo/rspec/any_instance_of.yml
Normal file
|
@ -0,0 +1,508 @@
|
||||||
|
---
|
||||||
|
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/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/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/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/ultimate_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/references/external_issue_reference_filter_spec.rb
|
||||||
|
- spec/lib/banzai/filter/references/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/integrations/jira_spec.rb
|
||||||
|
- spec/models/integrations/mattermost_slash_commands_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_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/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_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/diff_note_after_commit_shared_examples.rb
|
||||||
|
- spec/support/shared_examples/models/integrations/base_slash_commands_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/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/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/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
|
29
.rubocop_todo/rspec/timecop_freeze.yml
Normal file
29
.rubocop_todo/rspec/timecop_freeze.yml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
RSpec/TimecopFreeze:
|
||||||
|
Exclude:
|
||||||
|
- ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/git_push_http_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb
|
||||||
|
- ee/spec/models/merge_train_spec.rb
|
||||||
|
- ee/spec/support/shared_contexts/lib/gitlab/insights/reducers/reducers_shared_contexts.rb
|
||||||
|
- qa/spec/support/repeater_spec.rb
|
||||||
|
- spec/features/users/active_sessions_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/auth/unique_ips_limiter_spec.rb
|
||||||
|
- spec/lib/gitlab/checks/timed_logger_spec.rb
|
||||||
|
- spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb
|
||||||
|
- spec/lib/gitlab/puma_logging/json_formatter_spec.rb
|
||||||
|
- spec/lib/json_web_token/hmac_token_spec.rb
|
||||||
|
- spec/models/active_session_spec.rb
|
||||||
|
- spec/serializers/entity_date_helper_spec.rb
|
||||||
|
- spec/support/cycle_analytics_helpers/test_generation.rb
|
||||||
|
- spec/support/helpers/cycle_analytics_helpers.rb
|
||||||
|
- spec/support/helpers/javascript_fixtures_helpers.rb
|
||||||
|
- spec/support/shared_contexts/rack_attack_shared_context.rb
|
||||||
|
- spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb
|
||||||
|
- spec/workers/concerns/reenqueuer_spec.rb
|
||||||
|
- spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb
|
21
.rubocop_todo/rspec/timecop_travel.yml
Normal file
21
.rubocop_todo/rspec/timecop_travel.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
RSpec/TimecopTravel:
|
||||||
|
Exclude:
|
||||||
|
- ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/git_push_http_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb
|
||||||
|
- ee/spec/models/broadcast_message_spec.rb
|
||||||
|
- ee/spec/models/burndown_spec.rb
|
||||||
|
- qa/spec/support/repeater_spec.rb
|
||||||
|
- spec/features/users/terms_spec.rb
|
||||||
|
- spec/lib/feature_spec.rb
|
||||||
|
- spec/models/broadcast_message_spec.rb
|
||||||
|
- spec/models/concerns/issuable_spec.rb
|
||||||
|
- spec/requests/api/ci/runner/jobs_trace_spec.rb
|
||||||
|
- spec/requests/api/issues/put_projects_issues_spec.rb
|
||||||
|
- spec/support/shared_contexts/cache_allowed_users_in_namespace_shared_context.rb
|
||||||
|
- spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb
|
||||||
|
- spec/support/shared_examples/workers/concerns/reenqueuer_shared_examples.rb
|
||||||
|
- spec/workers/concerns/reenqueuer_spec.rb
|
||||||
|
- spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb
|
45
.rubocop_todo/style/open_struct_use.yml
Normal file
45
.rubocop_todo/style/open_struct_use.yml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
---
|
||||||
|
Style/OpenStructUse:
|
||||||
|
Exclude:
|
||||||
|
- app/helpers/application_settings_helper.rb
|
||||||
|
- ee/spec/features/projects/new_project_spec.rb
|
||||||
|
- ee/spec/finders/template_finder_spec.rb
|
||||||
|
- ee/spec/helpers/ee/blob_helper_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb
|
||||||
|
- ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb
|
||||||
|
- lib/api/wikis.rb
|
||||||
|
- lib/gitlab/git/diff_collection.rb
|
||||||
|
- lib/gitlab/import_export/after_export_strategies/base_after_export_strategy.rb
|
||||||
|
- lib/gitlab/testing/request_inspector_middleware.rb
|
||||||
|
- lib/mattermost/session.rb
|
||||||
|
- spec/controllers/groups/clusters_controller_spec.rb
|
||||||
|
- spec/controllers/import/gitlab_controller_spec.rb
|
||||||
|
- spec/controllers/projects/clusters_controller_spec.rb
|
||||||
|
- spec/factories/go_module_versions.rb
|
||||||
|
- spec/factories/wiki_pages.rb
|
||||||
|
- spec/features/projects/clusters_spec.rb
|
||||||
|
- spec/finders/template_finder_spec.rb
|
||||||
|
- spec/graphql/mutations/branches/create_spec.rb
|
||||||
|
- spec/graphql/mutations/clusters/agent_tokens/create_spec.rb
|
||||||
|
- spec/graphql/mutations/clusters/agents/create_spec.rb
|
||||||
|
- spec/graphql/mutations/clusters/agents/delete_spec.rb
|
||||||
|
- spec/graphql/mutations/commits/create_spec.rb
|
||||||
|
- spec/helpers/application_settings_helper_spec.rb
|
||||||
|
- spec/helpers/profiles_helper_spec.rb
|
||||||
|
- spec/initializers/doorkeeper_spec.rb
|
||||||
|
- spec/lib/gitlab/auth/o_auth/provider_spec.rb
|
||||||
|
- spec/lib/gitlab/database/migrations/runner_spec.rb
|
||||||
|
- spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb
|
||||||
|
- spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb
|
||||||
|
- spec/lib/gitlab/legacy_github_import/project_creator_spec.rb
|
||||||
|
- spec/lib/gitlab/quick_actions/command_definition_spec.rb
|
||||||
|
- spec/models/design_management/design_action_spec.rb
|
||||||
|
- spec/models/design_management/design_at_version_spec.rb
|
||||||
|
- spec/models/user_spec.rb
|
||||||
|
- spec/presenters/packages/nuget/search_results_presenter_spec.rb
|
||||||
|
- spec/services/packages/nuget/metadata_extraction_service_spec.rb
|
||||||
|
- spec/services/projects/import_service_spec.rb
|
||||||
|
- spec/services/system_note_service_spec.rb
|
||||||
|
- spec/support/helpers/import_spec_helper.rb
|
||||||
|
- spec/support/helpers/login_helpers.rb
|
||||||
|
- spec/support/helpers/repo_helpers.rb
|
|
@ -1 +1 @@
|
||||||
2.7.4
|
2.7.5
|
||||||
|
|
441
CHANGELOG.md
441
CHANGELOG.md
|
@ -2,10 +2,404 @@
|
||||||
documentation](doc/development/changelog.md) for instructions on adding your own
|
documentation](doc/development/changelog.md) for instructions on adding your own
|
||||||
entry.
|
entry.
|
||||||
|
|
||||||
## 14.5.3 (2022-01-11)
|
## 14.6.3 (2022-01-18)
|
||||||
|
|
||||||
|
### Fixed (4 changes)
|
||||||
|
|
||||||
|
- [Fix destruction of projects with pipelines](gitlab-org/gitlab@83e1616fe46b933c5b78b2d43e08463fdae4264a) ([merge request](gitlab-org/gitlab!78401))
|
||||||
|
- [Geo: Resolve "undefined method each_batch"](gitlab-org/gitlab@a38bf23ebd0a9931ec5bb91377955824dcda39ea) ([merge request](gitlab-org/gitlab!78401)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix migration for cases with empty strings](gitlab-org/gitlab@ddda8880db35b7d48ca8e4ec8efe54954d64f41f) ([merge request](gitlab-org/gitlab!78401))
|
||||||
|
- [Geo: adapt verification timed out query to use state table](gitlab-org/gitlab@89212752226d6c5f34830e3f4a73c5a56764ed17) ([merge request](gitlab-org/gitlab!78401)) **GitLab Enterprise Edition**
|
||||||
|
|
||||||
|
## 14.6.2 (2022-01-10)
|
||||||
|
|
||||||
No changes.
|
No changes.
|
||||||
|
|
||||||
|
## 14.6.1 (2022-01-04)
|
||||||
|
|
||||||
|
### Fixed (2 changes)
|
||||||
|
|
||||||
|
- [Ignore new line differences when deciding whether to squash MR](gitlab-org/gitlab@9d25380756bbc11ad5d18ea268b0ed0b60bf92fb) ([merge request](gitlab-org/gitlab!77499))
|
||||||
|
- [Fix re-use of extensions between instances](gitlab-org/gitlab@0ad3357123bbb72493b965b0ab769dab81890397) ([merge request](gitlab-org/gitlab!77499))
|
||||||
|
|
||||||
|
## 14.6.0 (2021-12-21)
|
||||||
|
|
||||||
|
### Added (76 changes)
|
||||||
|
|
||||||
|
- [Create table to store merge request compliance violations](gitlab-org/gitlab@6020f42812e3dc09d4163488e35d9a75f20da9ff) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74290))
|
||||||
|
- [Upgrade GitLab Pages to 1.49.0](gitlab-org/gitlab@b10f47f58cc3c7998e6815580405d00575595715) ([merge request](gitlab-org/gitlab!76908))
|
||||||
|
- [Add create crm organization component](gitlab-org/gitlab@20998c7f182a6f12001ac10b515fc8c20147b56a) by @leetickett ([merge request](gitlab-org/gitlab!76059))
|
||||||
|
- [Registration features info for setting repo size](gitlab-org/gitlab@d857bc88bfe2dff493b73934c39ac89c25a4381a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73222)) **GitLab Enterprise Edition**
|
||||||
|
- [Log structured message when LFS object is auto-linked from parent](gitlab-org/gitlab@fe545efa9f3c138a1f65bed0f021525b8cb3fc22) ([merge request](gitlab-org/gitlab!76818))
|
||||||
|
- [Enable display_outdated_line_diff by default](gitlab-org/gitlab@3f368ddb4378101757f7a3ce7a92d0d36bcf7823) ([merge request](gitlab-org/gitlab!76887))
|
||||||
|
- [Default enable webauthn feature flag](gitlab-org/gitlab@81a6ee387a3f4b593859c04d52245312b9b194ba) by @kingjan1999 ([merge request](gitlab-org/gitlab!50735))
|
||||||
|
- [Update return type for previousStageJobsOrNeeds](gitlab-org/gitlab@ca6c6a70b0e054b24cd331b0ce6bedb383a86dff) ([merge request](gitlab-org/gitlab!76444))
|
||||||
|
- [Add support for Rel-License microformat](gitlab-org/gitlab@dd445481700a90c9e9fd645c2315e94b22df4889) ([merge request](gitlab-org/gitlab!76471))
|
||||||
|
- [Add error alerts and badge for webhooks](gitlab-org/gitlab@d366378ce6612db8316a07e60eb139d4e7eb39da) ([merge request](gitlab-org/gitlab!76871))
|
||||||
|
- [Add alert for rate limited webhooks](gitlab-org/gitlab@d163f4c929d696884438cb139329cdb3bae75803) ([merge request](gitlab-org/gitlab!76743))
|
||||||
|
- [Expose iid in pipelines api](gitlab-org/gitlab@a7f53bddf1cfc64d471b13312dd01c42015799c4) ([merge request](gitlab-org/gitlab!76625))
|
||||||
|
- [Implement separate status for bulk imports](gitlab-org/gitlab@96db744c439129de268cf05f4e7e5b41597ff751) ([merge request](gitlab-org/gitlab!73960))
|
||||||
|
- [Include parent_iid and parent link in epic responses](gitlab-org/gitlab@16c439adab336b115f9cfa532e5ff4e640a21ddc) by @espadav8 ([merge request](gitlab-org/gitlab!76443)) **GitLab Enterprise Edition**
|
||||||
|
- [Add `ClusterImageScanningType` to `VulnerabilitiesResolver`](gitlab-org/gitlab@38d8bf4f680a8a5f8f391e162ef3cfa41578ebec) ([merge request](gitlab-org/gitlab!75797)) **GitLab Enterprise Edition**
|
||||||
|
- [Add ability to retry scans from on-demand scans list](gitlab-org/gitlab@d703847ed921e394ee655afd851b4b36ccd41e61) ([merge request](gitlab-org/gitlab!76448)) **GitLab Enterprise Edition**
|
||||||
|
- [Add ability to cancel on-demand scans](gitlab-org/gitlab@a77440d405caa34a9e8a6d9661ae32d31124aa99) ([merge request](gitlab-org/gitlab!76448)) **GitLab Enterprise Edition**
|
||||||
|
- [Add Geo proxied/local events service ping](gitlab-org/gitlab@b500b2cf65ec30ec832dd68259e2d979fb75fe01) ([merge request](gitlab-org/gitlab!76389)) **GitLab Enterprise Edition**
|
||||||
|
- [Allow use of `when` and `rules`](gitlab-org/gitlab@035e3d34a78b4675ae17e2e64969fa3bdd4a724b) ([merge request](gitlab-org/gitlab!76158))
|
||||||
|
- [Add Workhorse metrics for secondary proxy requests](gitlab-org/gitlab@a2d4990281f1e130e2267003ded6c02c6abaf7aa) ([merge request](gitlab-org/gitlab!75936)) **GitLab Enterprise Edition**
|
||||||
|
- [Delete project events before the project](gitlab-org/gitlab@eb8bb098c76575a0cdb558b9f162881ab5527258) ([merge request](gitlab-org/gitlab!76465))
|
||||||
|
- [Capture job executor value in ci_runners table](gitlab-org/gitlab@251420dc2a2a2e509c079d5b90836c447fc9de78) ([merge request](gitlab-org/gitlab!76368))
|
||||||
|
- [Add markdown support for Vulnerability Description](gitlab-org/gitlab@0a6c6fddd18359b9184cb6c6e00617693fcb2fde) ([merge request](gitlab-org/gitlab!75859)) **GitLab Enterprise Edition**
|
||||||
|
- [ADd deprecation warning for group import/export](gitlab-org/gitlab@c11f62f5b8447df1c6d9be35c36265a71d850c20) ([merge request](gitlab-org/gitlab!76442))
|
||||||
|
- [Add sticky header to group migration table](gitlab-org/gitlab@61fbe8b507adc82fdc95ccef1dd5b1c428a8a19d) ([merge request](gitlab-org/gitlab!76439))
|
||||||
|
- [Add a total number of jobs run by a runner](gitlab-org/gitlab@a8d84a77a63b9585366c5fdc3737a82679aaae76) ([merge request](gitlab-org/gitlab!76211))
|
||||||
|
- [GraphQL: Allow filtering runners by active status](gitlab-org/gitlab@39183eb80c31ff868370d851d7d1d221ef1aa2c6) ([merge request](gitlab-org/gitlab!76108))
|
||||||
|
- [Log an activity event when an Agent connects](gitlab-org/gitlab@0d50fdfb0c8a2c1306d71d7ba1cb826dbc8751ac) ([merge request](gitlab-org/gitlab!75487))
|
||||||
|
- [Added tracking events for the validation errors](gitlab-org/gitlab@6b3867a319acc08d1cfaab12afddd32398a152f3) ([merge request](gitlab-org/gitlab!75255))
|
||||||
|
- [Add handling for pending incident escalations](gitlab-org/gitlab@1bd8f8e3c49896558d51d82a9abb22830648f4a7) ([merge request](gitlab-org/gitlab!74337)) **GitLab Enterprise Edition**
|
||||||
|
- [Add future_subscriptions column](gitlab-org/gitlab@eb3f46880d5ee5e0b46064940e6600633362febc) ([merge request](gitlab-org/gitlab!75716))
|
||||||
|
- [Create data model for Deployment Approvals](gitlab-org/gitlab@c4d5ac49db3d87792ef4eadd6c55b1129ccac3d4) ([merge request](gitlab-org/gitlab!74932))
|
||||||
|
- [Add event streaming metrics](gitlab-org/gitlab@2a4da833925458f1a43af248ab0b44246a71a407) ([merge request](gitlab-org/gitlab!75504)) **GitLab Enterprise Edition**
|
||||||
|
- [Enable bulk delete in tags list](gitlab-org/gitlab@edc3beb193a3d686c4f2c780a690c68a05793d16) ([merge request](gitlab-org/gitlab!75655))
|
||||||
|
- [Encrypt plaintext static_objects_external_storage_auth_token](gitlab-org/gitlab@a37ffbb1add2a243bdc0e2a0b4aa0f0965b79aff) ([merge request](gitlab-org/gitlab!75417))
|
||||||
|
- [Enable SSH key lifetime settings by default](gitlab-org/gitlab@e38f70c752c917936b04e696975595eb359870cb) ([merge request](gitlab-org/gitlab!76217)) **GitLab Enterprise Edition**
|
||||||
|
- [Adds graphql markdown field for Vulnerability Description](gitlab-org/gitlab@3ad73fc5f61aeb697a09f5897b61a310975fdfea) ([merge request](gitlab-org/gitlab!76202)) **GitLab Enterprise Edition**
|
||||||
|
- [Add first_commit and first_multiline_commit to commit template](gitlab-org/gitlab@be1b5c22d1f8919e154c4cdc59e63b6d75961799) by @trakos ([merge request](gitlab-org/gitlab!75819))
|
||||||
|
- [Add the "Scheduled" tab to the on-demand scans page](gitlab-org/gitlab@0cf30a7340ce32fb31d2beb5daeebf2d68857e34) ([merge request](gitlab-org/gitlab!75372)) **GitLab Enterprise Edition**
|
||||||
|
- [Add index snippets on project_id and title](gitlab-org/gitlab@d5b0bcaf05b845b1e97492b39cab7ae6c0bfe66a) ([merge request](gitlab-org/gitlab!76161))
|
||||||
|
- [Put vuln finding link ingest behind feature flag](gitlab-org/gitlab@654fb040de721e31449fa0106ac56a9805d3979c) ([merge request](gitlab-org/gitlab!76167))
|
||||||
|
- [Add stale runners filters and badge](gitlab-org/gitlab@82e179e89a70e94d0a36f71a33c15241496289e7) ([merge request](gitlab-org/gitlab!75244))
|
||||||
|
- [Add feature to limit the lifetime of SSH keys](gitlab-org/gitlab@02fef58edab24c092da1140e79b782b3d25d1e83) ([merge request](gitlab-org/gitlab!75098))
|
||||||
|
- [Add Task work item type to the database](gitlab-org/gitlab@b003d23b3350f95b6ccc07d72e0a79e3f3b33c35) ([merge request](gitlab-org/gitlab!75447))
|
||||||
|
- [Remove importer usage ping feature flag](gitlab-org/gitlab@d93a676545584712f48d3afeb733bb5891d182fe) ([merge request](gitlab-org/gitlab!75663))
|
||||||
|
- [Enable FF multiple_gpg_signatures](gitlab-org/gitlab@14c1db2f6c8fd4ef317ca3c183672f420f5838ef) ([merge request](gitlab-org/gitlab!74385))
|
||||||
|
- [Fixed sign-in via LDAP when a user cap is set](gitlab-org/gitlab@79d33c5132a820aa6e8b726608c652e638cd5df4) ([merge request](gitlab-org/gitlab!75555)) **GitLab Enterprise Edition**
|
||||||
|
- [Support expanded reference formats for URLs](gitlab-org/gitlab@175b336a81cd1b50f4aa7f5bddb551aec93651be) ([merge request](gitlab-org/gitlab!75719))
|
||||||
|
- [Create vulnerability read model](gitlab-org/gitlab@90ca3058d1e44a60c56d505052ecb4f95e32ad7f) ([merge request](gitlab-org/gitlab!74733))
|
||||||
|
- [Execute build hooks on pending status](gitlab-org/gitlab@242d363597e47ef5507b64012d1554683c487c2c) ([merge request](gitlab-org/gitlab!75737))
|
||||||
|
- [Include `Last Activity` in User Permissions CSV export](gitlab-org/gitlab@c95987e5a5b98f9b60e3d78d7c143f65a9d421bc) ([merge request](gitlab-org/gitlab!75652)) **GitLab Enterprise Edition**
|
||||||
|
- [Introduce API to transfer groups to a new parent group](gitlab-org/gitlab@c3f71ada42976cd4cb980df616b33c7cb701fb1d) ([merge request](gitlab-org/gitlab!75205))
|
||||||
|
- [Added Snowplow events to the Clusters page](gitlab-org/gitlab@eb01d7be919cd15e2d01be0329885fe51ffe402b) ([merge request](gitlab-org/gitlab!75223))
|
||||||
|
- [Return job failure reason in API responses](gitlab-org/gitlab@7b143a405dac3f184b2f6253afb90b83dcb39c1a) by @albertvaka ([merge request](gitlab-org/gitlab!74888))
|
||||||
|
- [Add project CI CD tab tracking](gitlab-org/gitlab@ecdd2b6bc9d4afecd8062b40754b90c5498df7d6) ([merge request](gitlab-org/gitlab!75187))
|
||||||
|
- [Add incident_management_timeline_events table](gitlab-org/gitlab@7d8c3c4c5cc85ba50de4fbde83b174c7addaa89f) ([merge request](gitlab-org/gitlab!74530))
|
||||||
|
- [Set `CS_DEFAULT_BRANCH_IMAGE` in Auto DevOps template](gitlab-org/gitlab@77d1224ba0ee259e99a471cf394ce31dd34667c8) ([merge request](gitlab-org/gitlab!74627))
|
||||||
|
- [Add confidential filter to board list in GraphQL](gitlab-org/gitlab@28d98d1aafba58a51840e9becc4aec31fd90e802) ([merge request](gitlab-org/gitlab!75380))
|
||||||
|
- [Add canCurrentUserPushToBranch permission](gitlab-org/gitlab@c38e4ccde4272ef572b531d478f9803d1e7e4234) ([merge request](gitlab-org/gitlab!75017))
|
||||||
|
- [Use Keyset pagination for Groups API by default](gitlab-org/gitlab@39e5b880c94d38cb349eda3e875001211598993b) ([merge request](gitlab-org/gitlab!75078))
|
||||||
|
- [Add GraphQL type and resolver for agent activity events](gitlab-org/gitlab@a61b8130687e4b60a0c59ede4f7f9b2a902d4adf) ([merge request](gitlab-org/gitlab!74651))
|
||||||
|
- [Create default squash commit message using customizable template](gitlab-org/gitlab@42375dd47442ec61f05e7b1eed52f447a30429bc) by @trakos ([merge request](gitlab-org/gitlab!74340))
|
||||||
|
- [Display issue crm contacts in UI](gitlab-org/gitlab@db0b92544f740b3ffe4e55e1d14f08f84dfacac1) by @leetickett ([merge request](gitlab-org/gitlab!74346))
|
||||||
|
- [Create a note when replied to the email creating the service desk issue](gitlab-org/gitlab@ebcfb38567c59197d9975cb893d78b21ef76894e) ([merge request](gitlab-org/gitlab!71749))
|
||||||
|
- [Update Member entity to expose member state](gitlab-org/gitlab@2f60cfca85e36327b26a2267f58f76633c66dc45) ([merge request](gitlab-org/gitlab!74624)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove tag limit feature flag](gitlab-org/gitlab@39952697e877d9075c37764fec310111dae45908) ([merge request](gitlab-org/gitlab!74813))
|
||||||
|
- [Migrate remaining U2fRegistrations to WebauthnRegistrations](gitlab-org/gitlab@453758b6f0f3556903488a839ac59bbe4d0061d6) ([merge request](gitlab-org/gitlab!74671))
|
||||||
|
- [Create `agent_activity_events` table for storing Agent activity](gitlab-org/gitlab@4ef36dfb25fe6104c3240e247cf43eaf01bc47ae) ([merge request](gitlab-org/gitlab!74577))
|
||||||
|
- [Invite members for tasks](gitlab-org/gitlab@dc21cfe23f0796b37230b9911790e3158f8acce7) ([merge request](gitlab-org/gitlab!74898))
|
||||||
|
- [Add issue customer relations contacts quick actions](gitlab-org/gitlab@b5e6f7b38b39ec6124c5582fab4647ed1dadd654) by @leetickett ([merge request](gitlab-org/gitlab!73413))
|
||||||
|
- [Allow board issue filtering by iteration cadence ID in GraphQL](gitlab-org/gitlab@42202aeab8e419f0068074c09cc8c2e6a2d2d36a) ([merge request](gitlab-org/gitlab!74451)) **GitLab Enterprise Edition**
|
||||||
|
- [Make invite members in quick menu permanent](gitlab-org/gitlab@74e014e6a0e2419738126c2a99642ac5d76ac8cc) ([merge request](gitlab-org/gitlab!74760))
|
||||||
|
- [Partition pruning for the web_hook_logs table](gitlab-org/gitlab@988a96c7e03315df8acac41610784338bf53a0de) ([merge request](gitlab-org/gitlab!74739))
|
||||||
|
- [Moved user cap worker logic to User](gitlab-org/gitlab@aee2f5bccc0fd32b3201e3cf2ef1416497b779e7) ([merge request](gitlab-org/gitlab!73991)) **GitLab Enterprise Edition**
|
||||||
|
- [Validate batched migration jobs](gitlab-org/gitlab@f9652cad762a4b97dffa4427029a6f4760c48090) ([merge request](gitlab-org/gitlab!72607))
|
||||||
|
- [Track created_at on CI minutes records](gitlab-org/gitlab@bf88bdf14db22e501d446c05e29708f291af0372) ([merge request](gitlab-org/gitlab!74533))
|
||||||
|
|
||||||
|
### Fixed (93 changes)
|
||||||
|
|
||||||
|
- [Fix foreign key and index names in `ci_sources_pipelines`](gitlab-org/gitlab@3fa6e65f34085580ee5ec51770a79faea4e73f44) ([merge request](gitlab-org/gitlab!76171))
|
||||||
|
- [Strip leading and trailing whitespace from user's name](gitlab-org/gitlab@51ce5737d1e8f3e4967ab5356a298e6af2c5b8a8) ([merge request](gitlab-org/gitlab!76706))
|
||||||
|
- [Ensure all scanners are translated in alerts](gitlab-org/gitlab@75fd592a9992741681f831cf3c54840f2b7415ff) ([merge request](gitlab-org/gitlab!76940))
|
||||||
|
- [Fixed cache_key ids](gitlab-org/gitlab@37291085032e8d38028129a9d25d2cce80a6c13e) by @akumar1503 ([merge request](gitlab-org/gitlab!75454))
|
||||||
|
- [Fix N+1 problem for system notes metadata association](gitlab-org/gitlab@3bc94ab8b4106a9f0171d01c5f30ac5396fed21d) ([merge request](gitlab-org/gitlab!76951))
|
||||||
|
- [Fix updating emails for group notifications](gitlab-org/gitlab@89ca2e3a19ea0e8693864cd2f837cbebd432913f) ([merge request](gitlab-org/gitlab!76636))
|
||||||
|
- [Handle nil services error in external pipeline validation](gitlab-org/gitlab@cb1742b80e73baa83f6bd475827c41e5b01b2ab7) ([merge request](gitlab-org/gitlab!76902))
|
||||||
|
- [Fix expose status in Runners API](gitlab-org/gitlab@6b007a608fd72bc95f9b1b20d3e6e727f9a72260) ([merge request](gitlab-org/gitlab!76761))
|
||||||
|
- [Fix N+1 problem for notes association](gitlab-org/gitlab@fad40e756e89cba6f39d398f3970152fca78a136) ([merge request](gitlab-org/gitlab!76764))
|
||||||
|
- [Copy auth field objects when serializing values](gitlab-org/gitlab@5eebc6b3d86e3eab26ba96e0b606cca80bb85cee) ([merge request](gitlab-org/gitlab!76845)) **GitLab Enterprise Edition**
|
||||||
|
- [Update gitlab-markup gem to 1.8.0](gitlab-org/gitlab@cd57920a1aac2522d42067919c5c469fca9be06c) ([merge request](gitlab-org/gitlab!76386))
|
||||||
|
- [Expose finished_at in job details JSON](gitlab-org/gitlab@049a865798e336ea73a9756e1acad93be0ff18dc) by @KevSlashNull ([merge request](gitlab-org/gitlab!76668))
|
||||||
|
- [Fix OlderDeploymentsDropService drops manual deployments](gitlab-org/gitlab@1c2bca949583139e9a0b6613e9f758932c47584a) ([merge request](gitlab-org/gitlab!76632))
|
||||||
|
- [Unescape and sanitize protected tag name on create and update](gitlab-org/gitlab@a5d837098f0188714df935454682fd0a0140e7a6) ([merge request](gitlab-org/gitlab!76198))
|
||||||
|
- [Gracefully handle bad dependency scanner input](gitlab-org/gitlab@a139d7db9b881d4cb7f210a36fa301551f43911a) ([merge request](gitlab-org/gitlab!76597)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix CI/CD settings available when CI/CD is off](gitlab-org/gitlab@b213e3958d0f6e59485e27b1962f2f83cae47d39) by @KevSlashNull ([merge request](gitlab-org/gitlab!76009))
|
||||||
|
- [Add new line to code nav popover](gitlab-org/gitlab@07f0995a41624fc202313f330a70fa237d958342) ([merge request](gitlab-org/gitlab!76545))
|
||||||
|
- [Error Tracking: Allow event payload to contain null bytes](gitlab-org/gitlab@cf5d0a4dad83a7286745b6be7c8cda1271e26ff2) ([merge request](gitlab-org/gitlab!76279))
|
||||||
|
- [Only trigger housekeeping once per push](gitlab-org/gitlab@12353a2281ef7ab6dd64c6234e96b00861f58b0e) ([merge request](gitlab-org/gitlab!75581))
|
||||||
|
- [Link existing LFS objects from parent fork during uploads](gitlab-org/gitlab@0a374212eae43589c0309b84f6498079053e67a1) ([merge request](gitlab-org/gitlab!75972))
|
||||||
|
- [Fix SMIME signed email sending, do not overwrite Content-Disposition](gitlab-org/gitlab@8dc47e60863415e317c2184afda1e8b8ba9adc97) by @bufferoverflow ([merge request](gitlab-org/gitlab!76233))
|
||||||
|
- [GithubImporter: Fallback to LegacyDiffNote when DiffNote fails](gitlab-org/gitlab@0b8c2beaf4a7e12206a456a32312e9629e623eed) ([merge request](gitlab-org/gitlab!76376))
|
||||||
|
- [Fixed NoMethodError on import from GitHub Enterprise on RFC1918 IP](gitlab-org/gitlab@e10c6951e0296d384cfaa9bde5db8efeb2b9e97b) by @colinbarr ([merge request](gitlab-org/gitlab!76060))
|
||||||
|
- [Fix issue sidebar keyboard shortcuts](gitlab-org/gitlab@57abb1cdcafb23e7c5f0b31b2602e159e4a7cb82) ([merge request](gitlab-org/gitlab!76415))
|
||||||
|
- [Fix 'Erase job log' button is misleading](gitlab-org/gitlab@b742d57ed51aadc95590133b34c2b5ed8d0d8bea) by @KevSlashNull ([merge request](gitlab-org/gitlab!75892))
|
||||||
|
- [Generate human readable message on duplicate dotenv variables](gitlab-org/gitlab@eda1c64e57e6328c51932492b1d39a688992d148) ([merge request](gitlab-org/gitlab!75861))
|
||||||
|
- [Optimize query for issue neighbors](gitlab-org/gitlab@cbc50b76a7caafa6bf6ea2d4ef7d75b98242d262) ([merge request](gitlab-org/gitlab!76073))
|
||||||
|
- [Fix commit sha being used instead of tag for tagged pipelines](gitlab-org/gitlab@9ee563ec913be019ddbaf57cbdf1d0bc5aa19872) ([merge request](gitlab-org/gitlab!76047))
|
||||||
|
- [Ensure Jira users and labels have `id` attribute](gitlab-org/gitlab@fb59909b09f692103e201e80996824c3f83a8dfc) ([merge request](gitlab-org/gitlab!75966)) **GitLab Enterprise Edition**
|
||||||
|
- [Present pipeline coverage in pipeline API entity as string](gitlab-org/gitlab@0582b70a590b717a0f2a1af3f3b3ab889c1aad55) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76299))
|
||||||
|
- [Fix user list selection is not in sync with UI](gitlab-org/gitlab@6bd6e91f45d8f84ca62eaa67233cdc6400af541b) by @KevSlashNull ([merge request](gitlab-org/gitlab!75928))
|
||||||
|
- [Fix schedule ID is show on schedule edit page](gitlab-org/gitlab@1a4d10e8f5bb3464361e87904b622d86c7544249) by @KevSlashNull ([merge request](gitlab-org/gitlab!75804))
|
||||||
|
- [Use additional headers for matching service desk email](gitlab-org/gitlab@acf5c801cfe6153f54e7d6fac64437f3f42236d4) ([merge request](gitlab-org/gitlab!75443))
|
||||||
|
- [Fix vulnerability report tab querystring removed when filters changed](gitlab-org/gitlab@aaf6dc48796bce839207f780cc4f0851d17ab527) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76208)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix occasional failure when updating labels from sidebar](gitlab-org/gitlab@52e7bdbe62f0e04388a60c2da4c3fd3c124d5e24) ([merge request](gitlab-org/gitlab!76099))
|
||||||
|
- [Fix wrong end date in query for contributions](gitlab-org/gitlab@3a358c55644d6d685fd370fdb8e491ef9a6837fc) ([merge request](gitlab-org/gitlab!76077))
|
||||||
|
- [Copy manual variables when retrying job](gitlab-org/gitlab@b73f9d390a32a7c02cfff6b83ff6de78e478ae81) ([merge request](gitlab-org/gitlab!75720))
|
||||||
|
- [Fix some private contributions being hidden on the contribution calendar](gitlab-org/gitlab@826220e196c1bd41b659b8755fb99fee2c23b1bb) by @eggerd ([merge request](gitlab-org/gitlab!74826))
|
||||||
|
- [Fix permissions for label promotion via API](gitlab-org/gitlab@be1b386c4a387ee03ba7d5f8dcda0b5922a91d2e) ([merge request](gitlab-org/gitlab!75930))
|
||||||
|
- [Fix serverity and alert sidebar edit button style](gitlab-org/gitlab@7c6d82df028c3fd505a273958b5b3e20b29ec8f4) by @orozot ([merge request](gitlab-org/gitlab!75914))
|
||||||
|
- [Pass current_user when rendering Markdown in email](gitlab-org/gitlab@d789d73f07f2a0fa68b55ff1ba2bfc1823a436f4) ([merge request](gitlab-org/gitlab!75635))
|
||||||
|
- [Fix infinite loop on saml login of a blocked user](gitlab-org/gitlab@00a4831dfff04da1b4c4e4b7219d288ebcf8a047) ([merge request](gitlab-org/gitlab!75887))
|
||||||
|
- [Add ci_status.scss for commit piplines page](gitlab-org/gitlab@2b31f599daa64849917104486faa68be86381dd7) by @orozot ([merge request](gitlab-org/gitlab!75878))
|
||||||
|
- [Fix button variant in maintenance mode settings](gitlab-org/gitlab@6a683d68670b994906df0a7fd52219c09efae824) by @KevSlashNull ([merge request](gitlab-org/gitlab!75870))
|
||||||
|
- [Fix epic date changes without user input](gitlab-org/gitlab@813257fd5e470e6374310330d8883a078db13535) ([merge request](gitlab-org/gitlab!75817))
|
||||||
|
- [Fix cut off focus ring in commit container](gitlab-org/gitlab@16b9d6fbb84d4f5e15e979af7580c3d8a9170513) by @KevSlashNull ([merge request](gitlab-org/gitlab!75812))
|
||||||
|
- [Add patch for WikiCloth](gitlab-org/gitlab@c8a0ad0bb54ca6bb80c730eeac5bb1ebcadf5f9b) ([merge request](...))
|
||||||
|
- [Fix pride flag emoji rendering](gitlab-org/gitlab@a568cb884a8113ba36a666eb52363ece32223bbf) ([merge request](gitlab-org/gitlab!75011))
|
||||||
|
- [Fix order in monthly events boundary query](gitlab-org/gitlab@ccae3d568d13992ef761c530cbae998e4950274f) ([merge request](gitlab-org/gitlab!75722))
|
||||||
|
- [Do not run service discovery for DB load balancing for rake tasks](gitlab-org/gitlab@e460765de45bf01c3e94ca5ed0f79926cce843d2) ([merge request](gitlab-org/gitlab!75612))
|
||||||
|
- [Ensure current user and variables are updated when playing a job](gitlab-org/gitlab@8b3ba6f3c0a72d17476cfb86a52373c7dc604fbd) ([merge request](gitlab-org/gitlab!75657))
|
||||||
|
- [Allow creating a group access token for a group with SSO enforcement](gitlab-org/gitlab@96150fbc52fe39ccadceef231cf3fda65688a758) ([merge request](gitlab-org/gitlab!75023)) **GitLab Enterprise Edition**
|
||||||
|
- [Fixes pending note avatar size in diff view](gitlab-org/gitlab@748c33737782bfe6ed1cc2615b1e900ae17a1972) ([merge request](gitlab-org/gitlab!75130))
|
||||||
|
- [Fix link to docs in the "Transfer Group" section](gitlab-org/gitlab@6bb12aedf6d2f2508d4fc403efa4ce6a2a3d61c7) by @gizero ([merge request](gitlab-org/gitlab!66246))
|
||||||
|
- [Fix Wiki Pipeline network error if wiki does not exist](gitlab-org/gitlab@c3d0947e5bca64b69ddfb2e70e9ec2ceacafe8ab) ([merge request](gitlab-org/gitlab!74731))
|
||||||
|
- [Fix for hexadecimal branch deletion](gitlab-org/gitlab@dc82ec85d4ea6f6fa7846c3f0939959996075724) ([merge request](gitlab-org/gitlab!75344))
|
||||||
|
- [Fix column order in jobs tab in the pipelines details page](gitlab-org/gitlab@7edd0b370ac9c9a7fbd8d2b67d35f892d9f85549) ([merge request](gitlab-org/gitlab!75160))
|
||||||
|
- [Fix import from remote object storage documentation](gitlab-org/gitlab@dcf9e51c57b6816d56126237648b64d4a5e5da2d) ([merge request](gitlab-org/gitlab!75158))
|
||||||
|
- [Fix Gitlab Pages deployment wrong if a project has a public folder](gitlab-org/gitlab@653d77132e9094391660c9de7549834ab97258b0) by @sodepr ([merge request](gitlab-org/gitlab!74952))
|
||||||
|
- [Catch YAML errors when parsing security policies](gitlab-org/gitlab@19a5e9153e307b7bf9d81b5f64c654a289390055) ([merge request](gitlab-org/gitlab!75092)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix Debian Sources file name](gitlab-org/gitlab@a629da2abe6deca7071e587c77da72acd3df60e3) by @sathieu ([merge request](gitlab-org/gitlab!74445))
|
||||||
|
- [Fix the SSL_CERT_DIR logging on git operations](gitlab-org/gitlab@6f7b88c7bb4874dd603c07373b89d3feefc40941) ([merge request](gitlab-org/gitlab!75196))
|
||||||
|
- [Fix cross database transaction when blocking users](gitlab-org/gitlab@0f030f83991f32aeeeb2cf670a3b918f73c0826c) ([merge request](gitlab-org/gitlab!75195))
|
||||||
|
- [Support Action Cable on GCP Memorystore](gitlab-org/gitlab@57141bd04ccd71ce1fd4a2984b8a33597d4a9b35) ([merge request](gitlab-org/gitlab!75173))
|
||||||
|
- [Update dependency proxy copy and help text](gitlab-org/gitlab@d94017a793f6aaec2d46f8dbabb493cce5df485a) ([merge request](gitlab-org/gitlab!74806))
|
||||||
|
- [Only display user bio for confirmed and active users](gitlab-org/gitlab@f2d0766731a753c3194c0f2930b8c1a5be0fc654) ([merge request](gitlab-org/gitlab!75032))
|
||||||
|
- [Heartbeat runner only for specific job-context requests](gitlab-org/gitlab@aa5e73e7a7c51c035dd0e5532d05ec0eda19c830) ([merge request](https://gitlab.com/foo/bar/-/merge_requests/123))
|
||||||
|
- [Sort months of the CI minutes chart app](gitlab-org/gitlab@55da27bed7efc74dbc34f3259dfc5ab8a4586830) ([merge request](gitlab-org/gitlab!74917)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix broken project creation without import sources](gitlab-org/gitlab@e97a9e239f2ad84eeb84cd5af4664521ada8882b) ([merge request](gitlab-org/gitlab!75121))
|
||||||
|
- [Do not try to auto-complete vulnerabilities if the user is nil](gitlab-org/gitlab@3e0173cc3d6e644f6422222642e885a7e39ec66c) ([merge request](gitlab-org/gitlab!75112)) **GitLab Enterprise Edition**
|
||||||
|
- [Do not show primary email as secondary email in admin view](gitlab-org/gitlab@c00c8fd22adaf1b0f96f8b3048c789458dfc32e7) ([merge request](gitlab-org/gitlab!75095)) **GitLab Enterprise Edition**
|
||||||
|
- [Ensure coverage approval rule sync is successful](gitlab-org/gitlab@791b267b28570c8391b214ba7a6e16cf085285d7) ([merge request](gitlab-org/gitlab!75087)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix Sidekiq sleep time for jobs that use replicas](gitlab-org/gitlab@80e0b45eb19ada2081a95c89346a800b1ea72444) ([merge request](gitlab-org/gitlab!75081))
|
||||||
|
- [Fix border spacing on multi-line comments](gitlab-org/gitlab@4b2f5e38af82b593f14335172004bb4dd18c25fb) ([merge request](gitlab-org/gitlab!74486)) **GitLab Enterprise Edition**
|
||||||
|
- [Add retries to github importer on client errors](gitlab-org/gitlab@2cf4f47daefd4190ed1e9fe5896b32fd70a5ea92) ([merge request](gitlab-org/gitlab!74966))
|
||||||
|
- [Update dotNET-Core.gitlab-ci.yml template image](gitlab-org/gitlab@2209c3d60523c9c92f36b2b24802ecfa8cc5b329) by @softis-software ([merge request](gitlab-org/gitlab!74744))
|
||||||
|
- [Fix wrong default branch imported with Bitbucket Server](gitlab-org/gitlab@006f6c73a3480892f03c9152ed5d30f966cf2e1e) ([merge request](gitlab-org/gitlab!74858))
|
||||||
|
- [Upgrading ipynbdiff to 0.3.8](gitlab-org/gitlab@f7bce9de5ebe7c00a52e92f7bb1fd5503ae41d2f) ([merge request](gitlab-org/gitlab!74820))
|
||||||
|
- [Allow to create issues by email when it contains only quotes](gitlab-org/gitlab@8cebd721e9c1ec75ad8da7b526646e9866fa953a) ([merge request](gitlab-org/gitlab!74413))
|
||||||
|
- [Grant permissions for oauth users based on scopes](gitlab-org/gitlab@33390e155221d5cb0dc48e33ccee635934d61739) ([merge request](gitlab-org/gitlab!74646))
|
||||||
|
- [Fix security report schema validation logic](gitlab-org/gitlab@262b237145469287e3e5714687bd7c95b7a4bd9d) ([merge request](gitlab-org/gitlab!74793)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix docs error in NuGet API](gitlab-org/gitlab@e6a43962aa566a7ebe4b1dd242ade7f79dad93b8) by @wwwjon ([merge request](gitlab-org/gitlab!74780))
|
||||||
|
- [Allow uploading up to 10 files](gitlab-org/gitlab@451f9c6ce071b3dd727d1cc097da9c58a08c4dc7) ([merge request](gitlab-org/gitlab!74377))
|
||||||
|
- [Fix issue and MR exports to support NOT filters](gitlab-org/gitlab@cc00ac7f1c2989336002214e2e2428f47d23cdb5) ([merge request](gitlab-org/gitlab!74764))
|
||||||
|
- [Create missing /root/.gnupg dir in Scala.gitlab-ci.yml](gitlab-org/gitlab@45825580daede20e597658ca6f83fb23bf982250) by @carlosrogue ([merge request](gitlab-org/gitlab!71561))
|
||||||
|
- [Don't try to generate url for an finding records](gitlab-org/gitlab@b686da2581c5cbaed62155bc145d503ead95f1fd) ([merge request](gitlab-org/gitlab!74724)) **GitLab Enterprise Edition**
|
||||||
|
- [Use gpg --recv-keys instead of curl in Scala.gitlab-ci.yml](gitlab-org/gitlab@965546cbf22671f8c86e9eeaa0e9ee651003cff9) by @carlosrogue ([merge request](gitlab-org/gitlab!71561))
|
||||||
|
- [Error Tracking: Support exceptions from Python's repl](gitlab-org/gitlab@bb6706cdd66e3d94b0dfa8882a60b0cf84178e92) ([merge request](gitlab-org/gitlab!74717))
|
||||||
|
- [Move VSA stage options to footer](gitlab-org/gitlab@17755bf7ed6b5cf1f700ff21d490c08839099082) ([merge request](gitlab-org/gitlab!74683)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix discussions filter not working](gitlab-org/gitlab@aaba5cf78aa57442ad38ab880142485a509ef972) ([merge request](gitlab-org/gitlab!74662))
|
||||||
|
- [Remove deprecated apt-key usage on Scala.gitlab-ci.yml](gitlab-org/gitlab@531c292205adc0975b693eb9642bef4551f9f629) by @carlosrogue ([merge request](gitlab-org/gitlab!71561))
|
||||||
|
- [Fix display of times in access and deploy token table](gitlab-org/gitlab@5346cfc625ffe68d9376a1cab00e61321ab2ac07) by @edith007 ([merge request](gitlab-org/gitlab!72212))
|
||||||
|
- [Add emoji aliases for :) and :(](gitlab-org/gitlab@c6fc80be61a03e069cd1b21355bb2a3bb942293a) ([merge request](gitlab-org/gitlab!74204))
|
||||||
|
|
||||||
|
### Changed (95 changes)
|
||||||
|
|
||||||
|
- [Use linear version GroupsWithTemplatesFinder#extended_group_search](gitlab-org/gitlab@5fe40a793d74ec6b17b566a3974ded3b593afc1d) ([merge request](gitlab-org/gitlab!75981)) **GitLab Enterprise Edition**
|
||||||
|
- [Add Pajamas badge for pipelines license tab](gitlab-org/gitlab@5eef869f95c55ce05fd30a19d249486ac1516baa) ([merge request](gitlab-org/gitlab!76997)) **GitLab Enterprise Edition**
|
||||||
|
- [Add copy issue URL button to vulnerability error message](gitlab-org/gitlab@46c207ebba53cb25cf6ea424768680fec3b532c2) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76215)) **GitLab Enterprise Edition**
|
||||||
|
- [Make badge in admin/users/_access_levels.html.haml Pajamas compliant](gitlab-org/gitlab@63feb703eca8de278693ba1b43061e8d58779c3c) ([merge request](gitlab-org/gitlab!76973))
|
||||||
|
- [Update badges for ci builds to use helper](gitlab-org/gitlab@89a1adbe264929792a1e32ebd9e11fa2d67dcb58) ([merge request](gitlab-org/gitlab!76791))
|
||||||
|
- [Update project runner badges to pajamas](gitlab-org/gitlab@cbc62f37616cd13e343b82e0a37ed3d3df5fdf7c) ([merge request](gitlab-org/gitlab!76985))
|
||||||
|
- [Removes all ci_optimize_project_records_destruction ff](gitlab-org/gitlab@651259ee3593e5bba2d9571420396a14a8125939) ([merge request](gitlab-org/gitlab!72600))
|
||||||
|
- [Update user signups cap to allow values greater than licensed user count](gitlab-org/gitlab@75a71bc0d3abd9c4c47a4a8065a98aa2d7b68796) ([merge request](gitlab-org/gitlab!76829)) **GitLab Enterprise Edition**
|
||||||
|
- [Make use of the project data served by Rails](gitlab-org/gitlab@4d1eb551e32b1ef72f52ded40f9e576998ae2378) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/72218))
|
||||||
|
- [Remove Analytics menu item from unlicensed EE](gitlab-org/gitlab@fd29568620702c0dddf2ebe961f276a1df9fa80f) ([merge request](gitlab-org/gitlab!76212)) **GitLab Enterprise Edition**
|
||||||
|
- [Geo: Treat missing files as sync failures](gitlab-org/gitlab@af2a926a098eb8105142c61e430da5047b3d833b) ([merge request](gitlab-org/gitlab!76801)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove FF avoid_cross_joins_environments_in_self_and_descendants](gitlab-org/gitlab@4c768671cf241ff1563202b1e85eb13c31e893f7) ([merge request](gitlab-org/gitlab!76857))
|
||||||
|
- [Remove cached_mr_title feature flag](gitlab-org/gitlab@6e5e2013f2ea697a351c1ff705e9990fd0e3c837) ([merge request](gitlab-org/gitlab!74228))
|
||||||
|
- [Update cluster badge to pajamas](gitlab-org/gitlab@df1299ce646ddc76f60a7f334dd6bbd52b0efe1e) ([merge request](gitlab-org/gitlab!76608))
|
||||||
|
- [Hide user avatar for blocked and unconfirmed users](gitlab-org/gitlab@f2a83cd8e4bf2324b81ad517b229a3d63fd55faa) ([merge request](gitlab-org/gitlab!75921))
|
||||||
|
- [Order jobs returned desc](gitlab-org/gitlab@e22564510977831a51acbf11c74f6f79d10daca7) ([merge request](gitlab-org/gitlab!76227))
|
||||||
|
- [Enhance the sidebar to use gl-link focus styling](gitlab-org/gitlab@2acf75da39a4a1630c014ada0bd45f26187b262e) ([merge request](gitlab-org/gitlab!76144))
|
||||||
|
- [Default improved_container_scan_matching to true](gitlab-org/gitlab@180899a2b6542b68081ec6c39b7fd6fbd6af0918) ([merge request](gitlab-org/gitlab!76285))
|
||||||
|
- [Add Pajamas-complient protected tags badge](gitlab-org/gitlab@2ce21565cb28698c6201b9f3662c4962d7fa78ba) ([merge request](gitlab-org/gitlab!76552))
|
||||||
|
- [Split up yaml and humanized policy previews](gitlab-org/gitlab@bc78d76ee02fbe9b6dd7d65e03a60ac765fdd7c0) ([merge request](gitlab-org/gitlab!75386)) **GitLab Enterprise Edition**
|
||||||
|
- [Use finding_evidence over raw_metadata](gitlab-org/gitlab@adcf3d514325ff3150bb3617cd3214eee7494c28) ([merge request](gitlab-org/gitlab!75140)) **GitLab Enterprise Edition**
|
||||||
|
- [When dependency proxy is disabled remove the menu](gitlab-org/gitlab@e32c7726bd7d42d96a7473d6ebc4250e15b52e76) ([merge request](gitlab-org/gitlab!76079))
|
||||||
|
- [Clean up clone_job_variables_at_job_retry](gitlab-org/gitlab@cacedf0f76e4e214480b038dad9f42667c06f8ae) ([merge request](gitlab-org/gitlab!76162))
|
||||||
|
- [Remove branches_pagination_without_count FF](gitlab-org/gitlab@f14159033cfa8e49253db2031f0a0a7f14628b97) ([merge request](gitlab-org/gitlab!76526))
|
||||||
|
- [Enable deployments_archive feature flag by default](gitlab-org/gitlab@36c35d4a5eec0eafe09e42a4aa7df9b7a4bef65a) ([merge request](gitlab-org/gitlab!75824))
|
||||||
|
- [Migrate auto-devops setting to GlBadge abstraction](gitlab-org/gitlab@aeab12c9ee8bdfaf6b628d085254c8f97759ae0e) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76416))
|
||||||
|
- [Geo - Use Rails 6 many databases support](gitlab-org/gitlab@82798f1caf2c1a42f193f512d61a79618b8b5a86) ([merge request](gitlab-org/gitlab!73109)) **GitLab Enterprise Edition**
|
||||||
|
- [Tanuki Emoji: switch fallback emoji to Noto Emoji](gitlab-org/gitlab@89e739e3b61865cb40b4c3c8ba322980628e122e) ([merge request](gitlab-org/gitlab!76479))
|
||||||
|
- [Display tag messages with line endings](gitlab-org/gitlab@9a23492d59758e7c72fcd877425e8fff1a7137ef) by @KevSlashNull ([merge request](gitlab-org/gitlab!75896))
|
||||||
|
- [Migrate badges to be compliant with the Pajamas design system](gitlab-org/gitlab@99ad081f1cde5ddd3f25f7667cfa683d7bd7c7b0) ([merge request](gitlab-org/gitlab!76257))
|
||||||
|
- [Merge feature flags related to new CI minutes tracking](gitlab-org/gitlab@28fd1d2c537738feebacf6dcb915118319448f29) ([merge request](gitlab-org/gitlab!75755)) **GitLab Enterprise Edition**
|
||||||
|
- [Add loose foreign key for Terraform state versions](gitlab-org/gitlab@7fa3cb45b5e621723549156b18fbc71aff7c2c39) ([merge request](gitlab-org/gitlab!74524))
|
||||||
|
- [Remove load_balancing_for_update_all_mirrors_worker FF](gitlab-org/gitlab@304290485f083f30ce624d6830e1058dabc169a3) ([merge request](gitlab-org/gitlab!76336))
|
||||||
|
- [Separate CI minutes notification levels between new and legacy](gitlab-org/gitlab@2e94399fa549652df73d347158b0c39c7271bbf4) ([merge request](gitlab-org/gitlab!75512)) **GitLab Enterprise Edition**
|
||||||
|
- [Allow external Spamcheck API key to be blank](gitlab-org/gitlab@b18777151b0fe840108b2d0c79318715cee1c8a0) ([merge request](gitlab-org/gitlab!76303))
|
||||||
|
- [Migrate badges in Admin -> Groups -> Show](gitlab-org/gitlab@c218e0a1125b51489ec31fa9453bad01b2cff309) ([merge request](gitlab-org/gitlab!76251))
|
||||||
|
- [Migrate badge in Group -> CI/CD -> Auto DevOps](gitlab-org/gitlab@e3621af855c594c50299af104c8a9346110306fc) ([merge request](gitlab-org/gitlab!76246))
|
||||||
|
- [Migrate badge component in the admin -> projects area](gitlab-org/gitlab@a543fc8f4407fffc5f655e32ad8c1f743a58b6b1) ([merge request](gitlab-org/gitlab!76239))
|
||||||
|
- [Fix: web ide text color in dark theme](gitlab-org/gitlab@5acf8ea271b6be6c239ececd2b77c6ace5386684) by @orozot ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76046))
|
||||||
|
- [Make DORA data visible for admins](gitlab-org/gitlab@c241e6dcaec4f56aae733082cd376c298ee9705a) ([merge request](gitlab-org/gitlab!76204))
|
||||||
|
- [Improve runner deletion modal](gitlab-org/gitlab@5dcb3bc9c9a7a16aae4c5f34d18bc778410aa5a5) ([merge request](gitlab-org/gitlab!75432))
|
||||||
|
- [Handle query timeouts better](gitlab-org/gitlab@2671aada0b73f0d967fc011a7aa7fd52ebc2fd8c) ([merge request](gitlab-org/gitlab!75034))
|
||||||
|
- [Add cleanup migration for BackfillUserNamespace](gitlab-org/gitlab@3c86027edd1c759b25c9ec59279744b40f427454) ([merge request](gitlab-org/gitlab!73495))
|
||||||
|
- [Modify pending member approval endpoint](gitlab-org/gitlab@99f5e8c12c9a8831c8139c54fb1ec5dd9ca84c61) ([merge request](gitlab-org/gitlab!75769)) **GitLab Enterprise Edition**
|
||||||
|
- [Use confirm variant for 'New requirement' button](gitlab-org/gitlab@f0fd71f07ac1fab7fc87cf23c9777c8f47a44783) by @KevSlashNull ([merge request](gitlab-org/gitlab!76052)) **GitLab Enterprise Edition**
|
||||||
|
- [Add title with the file name to file_row component](gitlab-org/gitlab@6b684ab5c0d4f46e85cc80e6d3d497524516619b) by @ruben.meza ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75934))
|
||||||
|
- [Enable linear version User#membership_groups](gitlab-org/gitlab@1200642b27fac465ea096a0df4e4c8f954b40114) ([merge request](gitlab-org/gitlab!74529))
|
||||||
|
- [UI text updates in new OAuth applications view](gitlab-org/gitlab@471e729fd3d4c256e2a73839a327f5edded85722) ([merge request](gitlab-org/gitlab!72703))
|
||||||
|
- [Change job duration label to 'Elapsed time' when in progress](gitlab-org/gitlab@3c9916bb7b1b0f5bfdaec180e22d9b8a9e96927a) by @KevSlashNull ([merge request](gitlab-org/gitlab!75811))
|
||||||
|
- [Add link for failed pipelines](gitlab-org/gitlab@78e1598c7d0ebfdc4fcdb93b4565d114b21fc33e) ([merge request](gitlab-org/gitlab!75654))
|
||||||
|
- [Pipelines show full job names](gitlab-org/gitlab@f67371939639e0b6014199ea8bb8c3e99f91e249) by @albertvaka ([merge request](gitlab-org/gitlab!74879))
|
||||||
|
- [Cleanup unaccessible todos when user leaves public project](gitlab-org/gitlab@84611a7d65589bbea6b593f19ad874bce09433a0) ([merge request](gitlab-org/gitlab!74829))
|
||||||
|
- [Add space between columns in runner table](gitlab-org/gitlab@6f1fbc2417386dd3b8a23c693c500836ca50e76b) ([merge request](gitlab-org/gitlab!75636))
|
||||||
|
- [Fixed an event for focus](gitlab-org/gitlab@1d327469b55405a1ef5bc9bc52656d11cb2b2901) ([merge request](gitlab-org/gitlab!75629))
|
||||||
|
- [Remove feature flag `create_vulnerabilities_via_api`](gitlab-org/gitlab@7d8ac5e29b6ccdd5d5c24dd14f73db82eeff1cad) ([merge request](gitlab-org/gitlab!75685))
|
||||||
|
- [Adapt to size changes when displaying tooltips](gitlab-org/gitlab@a8dbf7c3b16d241f22b6772e01ba04e604137a24) ([merge request](gitlab-org/gitlab!75020))
|
||||||
|
- [Rework markdown footnote processing](gitlab-org/gitlab@8614e0a92889381dd8b9f147965caeaa9b9b4686) ([merge request](gitlab-org/gitlab!75054))
|
||||||
|
- [Add Helm-chart storage limits to API and UI](gitlab-org/gitlab@618aa52faa4eb0c6fc7a2e47e63a53bff78fdb2c) by @mlegner ([merge request](gitlab-org/gitlab!75117))
|
||||||
|
- [Default jira_use_first_ref_by_oid feature flag to true](gitlab-org/gitlab@6cb137ba64e527e816a8deac71137e2387edd37a) ([merge request](gitlab-org/gitlab!73510))
|
||||||
|
- [Remove chevron for menu button](gitlab-org/gitlab@4aef1a2d2a30de3e47bfc0257bfb0d46c0a04c6f) ([merge request](gitlab-org/gitlab!75394))
|
||||||
|
- [Change icon to review-list](gitlab-org/gitlab@2b08f5d6f3648ebf010b1d8bf58864923938c27b) ([merge request](gitlab-org/gitlab!75393))
|
||||||
|
- [Expose failed import error through API](gitlab-org/gitlab@79e80b522d940cf819ecfd0eef3387e6ab49699e) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75440))
|
||||||
|
- [Remove ci_new_query_for_pending_stuck_jobs feature flag](gitlab-org/gitlab@e41fa62474b20075a6f53cb5c1359eaefb9194fc) ([merge request](gitlab-org/gitlab!75420))
|
||||||
|
- [Enable job trace store outside database transaction by default](gitlab-org/gitlab@b90899f8b97482e1bb1ef3dd8f0e546d658e7184) ([merge request](gitlab-org/gitlab!75414))
|
||||||
|
- [Change namespace type default to 'User'](gitlab-org/gitlab@76454805043d19441715549835f9124662863feb) ([merge request](gitlab-org/gitlab!74592))
|
||||||
|
- [Load only one scan_finding_rule per policy](gitlab-org/gitlab@db5acf823aca3e95af740d92a42194823ce6feeb) ([merge request](gitlab-org/gitlab!71858)) **GitLab Enterprise Edition**
|
||||||
|
- [Add line number and import_type to the import status API](gitlab-org/gitlab@7d784019140f00767aedf2ef940acb849f88a2a5) ([merge request](gitlab-org/gitlab!75331))
|
||||||
|
- [Refine the take-out-of-draft message](gitlab-org/gitlab@0d54e6a943fb5a74684a2057083e188e5e873798) ([merge request](gitlab-org/gitlab!74855))
|
||||||
|
- [Improve copy when no iteration found in sidebar](gitlab-org/gitlab@e0d3a44f8b257636d2d3efa7ae113e9ec98cf7ad) ([merge request](gitlab-org/gitlab!71010)) **GitLab Enterprise Edition**
|
||||||
|
- [Update UI message for merge conflicts](gitlab-org/gitlab@650ef4e748847c75e695f2c6772fbe56db084e4f) ([merge request](gitlab-org/gitlab!74655))
|
||||||
|
- [Change remediated badge icon from wrench to check-circle-dashed](gitlab-org/gitlab@5978966a55cd53dfab2816eb889c3592e4e0a53f) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74689)) **GitLab Enterprise Edition**
|
||||||
|
- [Do not require startDate when creating a manual iteration cadence](gitlab-org/gitlab@a267aa3a8dc438877592add694ddcec4ee456a9c) ([merge request](gitlab-org/gitlab!75147))
|
||||||
|
- [Show disabled fork button for user without enough permissions](gitlab-org/gitlab@01329d6ad7b1033eec01379a3808a5af0ad26871) ([merge request](gitlab-org/gitlab!74876))
|
||||||
|
- [Copy variables when retrying job](gitlab-org/gitlab@891a4821f229348b6cf5d853583f92e693b0e3dc) ([merge request](gitlab-org/gitlab!75042))
|
||||||
|
- [Relocate online runners count in search bar](gitlab-org/gitlab@2bd69e208cb32cbc7dca6941927d4fbf30d09549) ([merge request](gitlab-org/gitlab!74877))
|
||||||
|
- [Prevent runner list IP and version overflow](gitlab-org/gitlab@3013b5434d4c94af2c247461f1cbada3e99e5652) ([merge request](gitlab-org/gitlab!74707))
|
||||||
|
- [Add more merging messages from the community](gitlab-org/gitlab@164200c719af4f57bdcb204359c67ae911be5b6d) ([merge request](gitlab-org/gitlab!74720))
|
||||||
|
- [Remove diff limiting feature flags](gitlab-org/gitlab@184f494933bc83f59ac8452918aed0a9441ecd7f) ([merge request](gitlab-org/gitlab!64228))
|
||||||
|
- [Add URL to rejection_message if terms_not_accepted](gitlab-org/gitlab@33839690dfb5a101a6b237304f90149d5cff954f) by @jgay ([merge request](gitlab-org/gitlab!75082))
|
||||||
|
- [Drop FindingPipelines and Findings in bg migration](gitlab-org/gitlab@391452f55a11f5fb439980a215016db2cfb982bb) ([merge request](gitlab-org/gitlab!74008))
|
||||||
|
- [Enable preserve_latest_wal_locations_for_idempotent_jobs by default](gitlab-org/gitlab@2842e05cac072ea7594e7e8056dfb5fd31f9dec4) ([merge request](gitlab-org/gitlab!74902))
|
||||||
|
- [Enable linear version of `groups_including_descendants_by`](gitlab-org/gitlab@0bb75d09bd372bfb181ddb2d9c0553063ea519b2) ([merge request](gitlab-org/gitlab!74275))
|
||||||
|
- [Migrate snippets tabs to rails helper](gitlab-org/gitlab@2bdb960f3e7b934f4e6f2a37298c78971fb85236) ([merge request](gitlab-org/gitlab!74867))
|
||||||
|
- [Remove surface_environment_creation_failure feature flag](gitlab-org/gitlab@08c5550685b6b53626ef6f46ba3c24a0f8f4d531) ([merge request](gitlab-org/gitlab!74773))
|
||||||
|
- [Improve UI message: creating branch from fork](gitlab-org/gitlab@662d45f54179cab656c8ffb68b37db250ba937bf) ([merge request](gitlab-org/gitlab!74198))
|
||||||
|
- [Add Shimo integration sidebar menu and landing page](gitlab-org/gitlab@f7f713265577d443f03ccaa49eea36f0980cae6b) by @icbd ([merge request](gitlab-org/gitlab!74140))
|
||||||
|
- [Enable External MR diff verification by default](gitlab-org/gitlab@77a411b50d32f1ae226ec1e9ce0a88cff2dab2ec) ([merge request](gitlab-org/gitlab!63975)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove support for sticking to old and new keys](gitlab-org/gitlab@9622020c06c3afc9b91bfcaef9a29c3e64db0100) ([merge request](gitlab-org/gitlab!74784))
|
||||||
|
- [Add BaseEdge base class](gitlab-org/gitlab@5e02ef43bc655456ce3004a1f47a6dcf5200c1d2) ([merge request](gitlab-org/gitlab!71476))
|
||||||
|
- [Split out main, and geo DB out of CI transactions](gitlab-org/gitlab@1517b07e9fe485e5d51dd8c55a1e159c8dafa169) ([merge request](gitlab-org/gitlab!74737)) **GitLab Enterprise Edition**
|
||||||
|
- [Migrate button variants](gitlab-org/gitlab@329ec7e1eaf7141a0876771be2d756c34d0f4977) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74718)) **GitLab Enterprise Edition**
|
||||||
|
- [Update gl-modal buttons in user status modal](gitlab-org/gitlab@9aae10a373c444e47dbd7c35ee17b3aa0ab597ed) by @yo ([merge request](gitlab-org/gitlab!59460))
|
||||||
|
- [Do not select "My company or team" radio box by default](gitlab-org/gitlab@2d93592bc061d93eef5d1a4399a9b3d4521f66cf) ([merge request](gitlab-org/gitlab!74681))
|
||||||
|
- [Allow squashing in MRs with single commit](gitlab-org/gitlab@869875fed3d0396f529989211382962f2addc957) by @trakos ([merge request](gitlab-org/gitlab!74464))
|
||||||
|
- [Start using v1.x of our IAC analyzer](gitlab-org/gitlab@9e59964b0cf318677dbbd7126d9c8f33570fdf1a) ([merge request](gitlab-org/gitlab!74560))
|
||||||
|
|
||||||
|
### Deprecated (2 changes)
|
||||||
|
|
||||||
|
- [Ignore position column](gitlab-org/gitlab@9f7517d2114409bfbba4169ef489a494c8eb2937) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76311)) **GitLab Enterprise Edition**
|
||||||
|
- [Deprecate ApiFuzzingCiConfigurationCreate fields](gitlab-org/gitlab@d3f335b100bce0fea2bbb846d75300740805750a) ([merge request](gitlab-org/gitlab!74783)) **GitLab Enterprise Edition**
|
||||||
|
|
||||||
|
### Removed (4 changes)
|
||||||
|
|
||||||
|
- [Remove `force_company_trial` experiment](gitlab-org/gitlab@e5b9c0d44614dfa6fd476bd5e68b986b43478761) ([merge request](gitlab-org/gitlab!76982))
|
||||||
|
- [Remove the configureIacScanningViaMr feature flag](gitlab-org/gitlab@2da8ae7b1a76a68513a235756ef244f9ed66ebd4) ([merge request](gitlab-org/gitlab!75721))
|
||||||
|
- [Remove sast_entry_points experiment](gitlab-org/gitlab@07470fffe85c28fe529aee214f4cf67399c68b96) ([merge request](gitlab-org/gitlab!75014))
|
||||||
|
- [Remove reference to lower_relation_max_count_limit](gitlab-org/gitlab@8a3163c3025735eb73227ef94d1c0a5cfa13abd8) ([merge request](gitlab-org/gitlab!75482))
|
||||||
|
|
||||||
|
### Security (5 changes)
|
||||||
|
|
||||||
|
- [Enable visibility filter on Epics menu pill count](gitlab-org/gitlab@0dcd256df0fa812f84e91eb92fcc9884a1ea20d1) ([merge request](gitlab-org/gitlab!76456)) **GitLab Enterprise Edition**
|
||||||
|
- [Use Gitlab::Json to serialize sessions](gitlab-org/gitlab@7e7cf0b8df64c3ef44def9a085dc2af9dda6d004) ([merge request](gitlab-org/gitlab!72701))
|
||||||
|
- [Update Puma to version 5.5.2](gitlab-org/gitlab@32d23747fc560f7eafc0eb52fae04a1633e5bded) ([merge request](gitlab-org/gitlab!75642))
|
||||||
|
- [Disallow non-members unlocking project files](gitlab-org/gitlab@fd76d6850c5179cfedee5263fffd17d3d16f53e1) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74541)) **GitLab Enterprise Edition**
|
||||||
|
- [Use a more precise Sourcegraph URL in CSP](gitlab-org/gitlab@29399b2e60a5a22e49973d99e611137549712ac4) ([merge request](gitlab-org/gitlab!72552))
|
||||||
|
|
||||||
|
### Performance (18 changes)
|
||||||
|
|
||||||
|
- [Limit the amount of ids loaded when using package build infos](gitlab-org/gitlab@253271229a1310708c8b7d108d79b3c501ffc145) ([merge request](gitlab-org/gitlab!75672))
|
||||||
|
- [Update dependency proxy API to use cleanup worker](gitlab-org/gitlab@a737fe60d820a15e64d4457c1ef2f3e82d6f59f5) ([merge request](gitlab-org/gitlab!76696))
|
||||||
|
- [Utilize C version of CommonMark renderer](gitlab-org/gitlab@9fa609c7bd77d45cc9110e360ed9ce66b73e22d5) ([merge request](gitlab-org/gitlab!76405))
|
||||||
|
- [Add index to projects on marked_for_deletion_at field is null](gitlab-org/gitlab@cec0d009f73a4cc962b682c70ca444bcc47c76b8) ([merge request](gitlab-org/gitlab!75888))
|
||||||
|
- [Only enqueue Jira workers when configured](gitlab-org/gitlab@fd52c4350199b7867d02667c1b8b11a61dd86969) ([merge request](gitlab-org/gitlab!76134))
|
||||||
|
- [Add index to improve contribution graph query](gitlab-org/gitlab@6c5d441791191b69c5444cc6d1fd81891de57687) ([merge request](gitlab-org/gitlab!76081))
|
||||||
|
- [Simplify sanitizing emojis from localStorage](gitlab-org/gitlab@90467765284290ed68255a4feb883fc8ac956dc1) ([merge request](gitlab-org/gitlab!75011))
|
||||||
|
- [Optimize finding environment for BlobController](gitlab-org/gitlab@ed11580c047a0bdf92a176b88febf26a0a18f975) ([merge request](gitlab-org/gitlab!75518))
|
||||||
|
- [Improve index for calendar query](gitlab-org/gitlab@e37bd6155daa1b31c55170455054e9b3643c7feb) ([merge request](gitlab-org/gitlab!74970))
|
||||||
|
- [Replace Banzai based label rendering in VSA](gitlab-org/gitlab@c89bb6148a25ca563244d8675bcd049c46f33a3c) ([merge request](gitlab-org/gitlab!75415))
|
||||||
|
- [Bulk insert job tags when creating a CI pipelines](gitlab-org/gitlab@180b3ff3de375f504bfe227a57b9471daec37a9b) ([merge request](gitlab-org/gitlab!73198))
|
||||||
|
- [Enable load balancing for update all mirrors by default](gitlab-org/gitlab@df741a6f4e6c2d34c9893398cb6d945bf646914d) ([merge request](gitlab-org/gitlab!75335))
|
||||||
|
- [Avoid N+1 issue linking DAST profiles and builds](gitlab-org/gitlab@a85fff3be3327e23c037dddc3efc8336abbe6d24) ([merge request](gitlab-org/gitlab!74967)) **GitLab Enterprise Edition**
|
||||||
|
- [Reduce variables transformations when creating a new pipeline](gitlab-org/gitlab@119f1cd83e544c9850e592f44f1d36da8310f6bc) ([merge request](gitlab-org/gitlab!73378))
|
||||||
|
- [Replace Ci::Runner with linear scopes](gitlab-org/gitlab@af61def78729c50f86a481416ee26b3e56cd4d54) ([merge request](gitlab-org/gitlab!70385))
|
||||||
|
- [Enable perform FindTag RPC request for a single tag](gitlab-org/gitlab@6a46459420f4261085969de5b3d36ecc41c9884d) ([merge request](gitlab-org/gitlab!74802))
|
||||||
|
- [Use linear version of User#ci_owned_runners](gitlab-org/gitlab@a3454700d18eb04ed9dbc37c9af9b9b040611989) ([merge request](gitlab-org/gitlab!68848))
|
||||||
|
- [Remove trigram index on notes](gitlab-org/gitlab@2a6c75fa8a192dc54c1c558d332c5707559c6488) ([merge request](gitlab-org/gitlab!71982))
|
||||||
|
|
||||||
|
### Other (59 changes)
|
||||||
|
|
||||||
|
- [Use design system badge in admin project page](gitlab-org/gitlab@7503810f2db3c390d5e95f1930da16b61efd03b8) ([merge request](gitlab-org/gitlab!76775))
|
||||||
|
- [Fix GraphQL/OrderedArguments offense (Part 1/6)](gitlab-org/gitlab@9afc8328eb6baf5d0e20ab185d8bb40b5b6f44a9) by @KevSlashNull ([merge request](gitlab-org/gitlab!76023))
|
||||||
|
- [Fix GraphQL/FieldDefinitions offense (Part 2/4)](gitlab-org/gitlab@0f54a8b4664fe806791d7eac183bf2cec6019f4b) by @KevSlashNull ([merge request](gitlab-org/gitlab!76015))
|
||||||
|
- [Remove abort_deleted_project_pipelines flag](gitlab-org/gitlab@07e7c74bc9e5104f4faf15cb376a109b96cf8c87) ([merge request](gitlab-org/gitlab!76794))
|
||||||
|
- [Remove vulnerability_occurrences_location_temp_index](gitlab-org/gitlab@7630ce18b73aae7226a107c8db84ae81c92bf942) ([merge request](gitlab-org/gitlab!76749))
|
||||||
|
- [Snowplow ED first run for data-attributes](gitlab-org/gitlab@3e17fac17b3565e9f8096da7ceb9aafc06b2edf5) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73809)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove additional vulnerability finding links](gitlab-org/gitlab@9d6bea163af8987ca5915bd626dd4c1e62a44b22) ([merge request](gitlab-org/gitlab!76580))
|
||||||
|
- [Merge CI queuing denomalization feature flags into a single one](gitlab-org/gitlab@78556e3fce4ad3a9a37b41f3365feebb424fdd16) ([merge request](gitlab-org/gitlab!76543))
|
||||||
|
- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@b861ed30fd8d05d3e5e776edfdee0e0ee8e0b532) by @edith007 ([merge request](gitlab-org/gitlab!76006)) **GitLab Enterprise Edition**
|
||||||
|
- [Delegate Requirement model attributes](gitlab-org/gitlab@058fd93adc3c69f4b15ab6bf9e33fdd7adcdb448) ([merge request](gitlab-org/gitlab!74296)) **GitLab Enterprise Edition**
|
||||||
|
- [Use rails helper to render mark_for_deletion badge](gitlab-org/gitlab@a3da5bdf4483b6de714c4f80cdede4387fc20619) ([merge request](gitlab-org/gitlab!76560)) **GitLab Enterprise Edition**
|
||||||
|
- [Delete invalid epic_issue records migration](gitlab-org/gitlab@66e146e010aa9d09dcb8d8eb0eb0cccfd19be0ce) ([merge request](gitlab-org/gitlab!73007))
|
||||||
|
- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@595e28bfef06cb1e061865c84da23151b6eea364) by @edith007 ([merge request](gitlab-org/gitlab!76002))
|
||||||
|
- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@810cbc51291d251d8358fb085e9106e721c87e7b) by @edith007 ([merge request](gitlab-org/gitlab!76003))
|
||||||
|
- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@f57e94cbe63a40e2f0306bf14c5025fd6e679be2) by @edith007 ([merge request](gitlab-org/gitlab!75971))
|
||||||
|
- [Make projects storage badge pajamas compliant](gitlab-org/gitlab@fc682a790b939fb72d4f635fbe61487836c53995) ([merge request](gitlab-org/gitlab!76548))
|
||||||
|
- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@0cc1311f7fd74376b5988c7608e2abca685ec09c) by @edith007 ([merge request](gitlab-org/gitlab!76004)) **GitLab Enterprise Edition**
|
||||||
|
- [Make milestone page tabs Pajamas-compliant](gitlab-org/gitlab@0fba9e9786654b66424c9fe67e1047ace417cb74) ([merge request](gitlab-org/gitlab!75944))
|
||||||
|
- [Implement syncing ci_project_mirrors and ci_namespace_mirrors tables](gitlab-org/gitlab@052dfa0564670a492b4336f6f3044b805fd90448) ([merge request](gitlab-org/gitlab!75517))
|
||||||
|
- [Convert single tab partial to Pajamas](gitlab-org/gitlab@6843ec6f72dc18623fc55cd1abe629ee071389d2) ([merge request](gitlab-org/gitlab!74010))
|
||||||
|
- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@c75e847546eba8cbcecb5e4113d6ec39902866f3) by @edith007 ([merge request](gitlab-org/gitlab!75973))
|
||||||
|
- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@011d417cf5791dbabab790766d3c570765d5b78b) by @edith007 ([merge request](gitlab-org/gitlab!75968)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@53709c45cf02f4d4fae68af3954a7f1a582eda7f) by @edith007 ([merge request](gitlab-org/gitlab!75951)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@abe38ad3834dea8ff5a438c33e2f731e2b8bedc0) by @edith007 ([merge request](gitlab-org/gitlab!75925)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove ::VisibleApprovable inclusion as it's duplicate](gitlab-org/gitlab@56343658f2a84d950c3a36d1218147ce441ec50c) by @edith007 ([merge request](gitlab-org/gitlab!75886))
|
||||||
|
- [Pass formats explicitly when rendering .html format](gitlab-org/gitlab@f04e197f4ba199dcfba234a1197e994af1952e76) by @edith007 ([merge request](gitlab-org/gitlab!75785))
|
||||||
|
- [Apply feedback to Snowplow event definitions](gitlab-org/gitlab@149ee8761a4af6216d7af4938858db6fc0ea8cf2) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73794)) **GitLab Enterprise Edition**
|
||||||
|
- [Hide search settings component in usage quota page](gitlab-org/gitlab@a37595f3a84c3731ff331365ca1e4b5fe123d7ee) ([merge request](gitlab-org/gitlab!75712)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@4b68ce23b9debc8a95cebf791ac0db589ea9a13a) by @edith007 ([merge request](gitlab-org/gitlab!75215))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@4545f2fcc2f4de8831d4f26299f747082a91ae76) by @edith007 ([merge request](gitlab-org/gitlab!75222))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@0ab791aafb7a3f46c594cfc7b3064cadcf2053a3) by @edith007 ([merge request](gitlab-org/gitlab!75322))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@41337acd84caca36b67373ff9cc7fa9f46806165) by @edith007 ([merge request](gitlab-org/gitlab!75188))
|
||||||
|
- [Merge branch '341849_cleanup_reference_cache_memoization_ff' into 'master'](gitlab-org/gitlab@a60b2d4b3efae11f96c058d68707722fce346a26) ([merge request](gitlab-org/gitlab!74511))
|
||||||
|
- [Cleanup feature flag "reference_cache_memoization"](gitlab-org/gitlab@b5c7b417d508302c41d19cec82f6fa0066aa2a6f) ([merge request](gitlab-org/gitlab!74511))
|
||||||
|
- [Prepare projects and namespaces loose foreign keys](gitlab-org/gitlab@b6fb0d4adcf074f513b8f9d07f0718673f6a6a19) ([merge request](gitlab-org/gitlab!75559))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@76e531841335110535fe0c79850d0bba44a242ab) by @edith007 ([merge request](gitlab-org/gitlab!74957))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@444ad4234c90e04460d020a1169d3eec23e8adea) by @edith007 ([merge request](gitlab-org/gitlab!75281))
|
||||||
|
- [Merge maintain feature flags for new queuing mechanism](gitlab-org/gitlab@910bbbfab9ffb42c5e21c2c1fab17720a0401e65) ([merge request](gitlab-org/gitlab!75425))
|
||||||
|
- [Remove decoupling projects-runners feature flags](gitlab-org/gitlab@bb253ec5c91935ac95ad2a2fe4f1bf3f57a781ea) ([merge request](gitlab-org/gitlab!75422))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@a4afd6e3f4ec08f0eeb59e49796913b27400f303) by @edith007 ([merge request](gitlab-org/gitlab!75283))
|
||||||
|
- [Make design note pin compliant with Pajamas](gitlab-org/gitlab@6c7b826bf247a1d539ce5663f88d06db44765cb1) ([merge request](gitlab-org/gitlab!75004))
|
||||||
|
- [Remove the `validate_namespace_parent_type` feature flag](gitlab-org/gitlab@557963723100852b44e045f69bc1fea1b8d3089c) ([merge request](gitlab-org/gitlab!75088))
|
||||||
|
- [Fill TestReport#issue_id field when creating new objects](gitlab-org/gitlab@75dfe32cc737e491d07d01b8ab839f8598bab7bb) ([merge request](gitlab-org/gitlab!74923)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove ci_predefined_vars_in_builder feature flag](gitlab-org/gitlab@31aa6433d2c639b57e106710b156c5f4f490da6f) ([merge request](gitlab-org/gitlab!75009))
|
||||||
|
- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@cbbbd0b8364e957e68f9e27d3cf550ae0d49af37) by @edith007 ([merge request](gitlab-org/gitlab!75186))
|
||||||
|
- [Make Service Desk Pajamas Design compliant](gitlab-org/gitlab@c9a40be04ec7bda0bb1c0c4df8237e97b9839b44) ([merge request](gitlab-org/gitlab!74795))
|
||||||
|
- [Improve Blame Page rendering performance](gitlab-org/gitlab@4bc4ddcf06603dbd13c2999a88f9594d182c9fa1) by @cyberap ([merge request](gitlab-org/gitlab!74799))
|
||||||
|
- [Fix OpenStruct use](gitlab-org/gitlab@d9819978c3fe6b05eff242b28356f7c6e3ffc56e) by @mehulsharma ([merge request](gitlab-org/gitlab!74976)) **GitLab Enterprise Edition**
|
||||||
|
- [Update GitLab Runner Helm Chart to 0.35.0](gitlab-org/gitlab@76424c1f1c7b9c38b0f6afa5c927c99a0a8e4678) ([merge request](gitlab-org/gitlab!74959))
|
||||||
|
- [Improve service desk service settings input tips](gitlab-org/gitlab@d8cbdf7c3e4c2efac0a2fc59bd05f3a8f9d35a78) ([merge request](gitlab-org/gitlab!73864))
|
||||||
|
- [Remove PropagateServiceTemplateWorker and queue](gitlab-org/gitlab@195ce97a5b804346478fe4f2c3599bc6aef71abe) by @lenikadali ([merge request](gitlab-org/gitlab!73387))
|
||||||
|
- [Remove unused CommitsBetween wrapper](gitlab-org/gitlab@2e417f1c037c6b80d20c5dc4c125ae18c5ba9100) ([merge request](gitlab-org/gitlab!74407))
|
||||||
|
- [Enhance SSO enforcement warning message](gitlab-org/gitlab@d8c31664f415bac0bbffd34df95a21ffbeb34df7) ([merge request](gitlab-org/gitlab!73233)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix offenses introduced by Style/OpenStructUse](gitlab-org/gitlab@6d4208b2310243041e49fa912635383d8cadb87b) by @edith007 ([merge request](gitlab-org/gitlab!74203))
|
||||||
|
- [Fix OpenStruct use](gitlab-org/gitlab@6bc58b036b77051ffb3c708fbf958fdf5195b815) by @mehulsharma ([merge request](gitlab-org/gitlab!74412))
|
||||||
|
- [Fix OpenStruct use](gitlab-org/gitlab@dfaa8a393685edb8fdda33803c7df2e8917c3387) by @mehulsharma ([merge request](gitlab-org/gitlab!74421))
|
||||||
|
- [Fix OpenStruct use](gitlab-org/gitlab@60451303098187cb922d29c9088a3e74892aa0d7) by @mehulsharma ([merge request](gitlab-org/gitlab!74618))
|
||||||
|
- [Fix OpenStruct use](gitlab-org/gitlab@f8466f5943a1afeabaf9cf781f7804a8df515a0e) by @mehulsharma ([merge request](gitlab-org/gitlab!74702))
|
||||||
|
- [Update Sidekiq to 6.3.1](gitlab-org/gitlab@22e8bc0af656717e56428a7227c467fe08021c66) ([merge request](gitlab-org/gitlab!73973))
|
||||||
|
|
||||||
## 14.5.2 (2021-12-03)
|
## 14.5.2 (2021-12-03)
|
||||||
|
|
||||||
No changes.
|
No changes.
|
||||||
|
@ -548,6 +942,21 @@ No changes.
|
||||||
- [Add pipeline artifacts and uploads sizes to project REST API](gitlab-org/gitlab@58d66f28faf42ae98ca11ff1ba0bdd9180e988ad) by @guillaume.chauvel ([merge request](gitlab-org/gitlab!72075))
|
- [Add pipeline artifacts and uploads sizes to project REST API](gitlab-org/gitlab@58d66f28faf42ae98ca11ff1ba0bdd9180e988ad) by @guillaume.chauvel ([merge request](gitlab-org/gitlab!72075))
|
||||||
- [Remove not used parameter from epics finder](gitlab-org/gitlab@49fce172b57b2f376a114726b1dd1900fe36a238) ([merge request](gitlab-org/gitlab!72285)) **GitLab Enterprise Edition**
|
- [Remove not used parameter from epics finder](gitlab-org/gitlab@49fce172b57b2f376a114726b1dd1900fe36a238) ([merge request](gitlab-org/gitlab!72285)) **GitLab Enterprise Edition**
|
||||||
|
|
||||||
|
## 14.4.4 (2021-12-03)
|
||||||
|
|
||||||
|
No changes.
|
||||||
|
|
||||||
|
## 14.4.3 (2021-12-01)
|
||||||
|
|
||||||
|
### Fixed (6 changes)
|
||||||
|
|
||||||
|
- [Check validation only if new record of license](gitlab-org/gitlab@5e0834a921dad1b1e07119de629ea44eb0ad5733) ([merge request](gitlab-org/gitlab!75421)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix for hexadecimal branch deletion](gitlab-org/gitlab@fc3c2f211d5a2f190032c4d0109e2bcb31050b4d) ([merge request](gitlab-org/gitlab!75421))
|
||||||
|
- [Geo - Fix no repo error message for group-level wikis](gitlab-org/gitlab@bdf3a712a4bfe245dfa7e7a90c24f2fdb482e309) ([merge request](gitlab-org/gitlab!75421)) **GitLab Enterprise Edition**
|
||||||
|
- [Prevent Git operations from checking replication lag on non-Geo-secondary sites](gitlab-org/gitlab@c158c01027f61aadd1c72f0817731d368d0d58cc) ([merge request](gitlab-org/gitlab!75421)) **GitLab Enterprise Edition**
|
||||||
|
- [Allow SSO callbacks through maintenance mode](gitlab-org/gitlab@1acae9807b1808ac360a4be098a50c547c9540b9) by @dzaporozhets ([merge request](gitlab-org/gitlab!75421)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix 2FA setup for LDAP users](gitlab-org/gitlab@9b9a7230aed3ffeef3e8f608dd1a569397c71684) ([merge request](gitlab-org/gitlab!75421))
|
||||||
|
|
||||||
## 14.4.2 (2021-11-08)
|
## 14.4.2 (2021-11-08)
|
||||||
|
|
||||||
### Fixed (3 changes)
|
### Fixed (3 changes)
|
||||||
|
@ -971,6 +1380,21 @@ No changes.
|
||||||
- [Cleanup bigint conversion for ci_builds](gitlab-org/gitlab@176992aa2b2e76b22637a07d5bafbd6541324a7d) ([merge request](gitlab-org/gitlab!70351))
|
- [Cleanup bigint conversion for ci_builds](gitlab-org/gitlab@176992aa2b2e76b22637a07d5bafbd6541324a7d) ([merge request](gitlab-org/gitlab!70351))
|
||||||
- [Drop support for data-track-event](gitlab-org/gitlab@ac6027fbef6adf41643412a84945fda6f15c9666) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/70234))
|
- [Drop support for data-track-event](gitlab-org/gitlab@ac6027fbef6adf41643412a84945fda6f15c9666) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/70234))
|
||||||
|
|
||||||
|
## 14.3.6 (2021-12-03)
|
||||||
|
|
||||||
|
No changes.
|
||||||
|
|
||||||
|
## 14.3.5 (2021-11-26)
|
||||||
|
|
||||||
|
### Fixed (6 changes)
|
||||||
|
|
||||||
|
- [Allow SSO callbacks through maintenance mode](gitlab-org/gitlab@f9b250145ac3db5fb01698839f1b5f3d9d349945) ([merge request](gitlab-org/gitlab!75145)) **GitLab Enterprise Edition**
|
||||||
|
- [Geo - Fix no repo error message for group-level wikis](gitlab-org/gitlab@5560e012bd6f35431d4d1cea389807ca475c2ce5) ([merge request](gitlab-org/gitlab!75145)) **GitLab Enterprise Edition**
|
||||||
|
- [Prevent Git operations from checking replication lag on non-Geo-secondary sites](gitlab-org/gitlab@35344d81d5e07bfb4db997be6c4f99f39a16562e) ([merge request](gitlab-org/gitlab!75145)) **GitLab Enterprise Edition**
|
||||||
|
- [Fix error 500 loading branch with UTF-8 characters with performance bar](gitlab-org/gitlab@08b47c2870cc338021bb3f945ac6736e46abf376) ([merge request](gitlab-org/gitlab!75145))
|
||||||
|
- [Remove defaultAuthors from MR Analytics and VSA](gitlab-org/gitlab@be95c921623056d31e2cbc0a7bc96de3aa66ca65) ([merge request](gitlab-org/gitlab!75145))
|
||||||
|
- [Allow SSO callbacks through maintenance mode](gitlab-org/gitlab@0727751512d41537356b295d6b889e05c6a07480) ([merge request](gitlab-org/gitlab!74706)) **GitLab Enterprise Edition**
|
||||||
|
|
||||||
## 14.3.4 (2021-10-28)
|
## 14.3.4 (2021-10-28)
|
||||||
|
|
||||||
### Security (13 changes)
|
### Security (13 changes)
|
||||||
|
@ -1537,6 +1961,21 @@ No changes.
|
||||||
- [Remove the FF ci_reset_bridge_with_subsequent_jobs](gitlab-org/gitlab@a4a75095b9b0250d0b1bdadea90c8a4cd24449b2) ([merge request](gitlab-org/gitlab!68295))
|
- [Remove the FF ci_reset_bridge_with_subsequent_jobs](gitlab-org/gitlab@a4a75095b9b0250d0b1bdadea90c8a4cd24449b2) ([merge request](gitlab-org/gitlab!68295))
|
||||||
- [Removes ci_same_stage_job_needs ff](gitlab-org/gitlab@5e509cf7aa90041a541b19dda563120a359f0bf9) ([merge request](gitlab-org/gitlab!68041))
|
- [Removes ci_same_stage_job_needs ff](gitlab-org/gitlab@5e509cf7aa90041a541b19dda563120a359f0bf9) ([merge request](gitlab-org/gitlab!68041))
|
||||||
|
|
||||||
|
## 14.2.7 (2021-11-26)
|
||||||
|
|
||||||
|
### Fixed (3 changes)
|
||||||
|
|
||||||
|
- [Prevent Git operations from checking replication lag on non-Geo-secondary sites](gitlab-org/gitlab@84734dab92e0bf9e304ee7bf1579346cc48d26c3) ([merge request](gitlab-org/gitlab!75119)) **GitLab Enterprise Edition**
|
||||||
|
- [Remove defaultAuthors from MR Analytics and VSA](gitlab-org/gitlab@1a15d4d1be939a9e38124827f563ed9ec2612a75) ([merge request](gitlab-org/gitlab!75119))
|
||||||
|
- [Let non-members set confidential flag when creating an issue in public project](gitlab-org/gitlab@d093cc62e6263629b36a449c9464d9b8644d4d74) ([merge request](gitlab-org/gitlab!75119))
|
||||||
|
|
||||||
|
### Changed (4 changes)
|
||||||
|
|
||||||
|
- [Geo: Alternate redownload and normal design sync attempts](gitlab-org/gitlab@d401e3ec94e6dba9ea76a9682893352f28d446cb) ([merge request](gitlab-org/gitlab!75119)) **GitLab Enterprise Edition**
|
||||||
|
- [Geo: Alternate redownload and normal SSF sync attempts](gitlab-org/gitlab@00eeff14a9bfeabe9107fc38ce9d7d2eee06384b) ([merge request](gitlab-org/gitlab!75119)) **GitLab Enterprise Edition**
|
||||||
|
- [Geo: Alternate redownload and normal project syncs](gitlab-org/gitlab@fac9bb8c11db13d34b311f4ebd18f84fa7a575d3) ([merge request](gitlab-org/gitlab!75119)) **GitLab Enterprise Edition**
|
||||||
|
- [Geo: Reduce frequency of redownload attempts](gitlab-org/gitlab@d18381e4788a8652d3e36cec5d4bce343c48209c) ([merge request](gitlab-org/gitlab!75119)) **GitLab Enterprise Edition**
|
||||||
|
|
||||||
## 14.2.6 (2021-10-28)
|
## 14.2.6 (2021-10-28)
|
||||||
|
|
||||||
### Security (13 changes)
|
### Security (13 changes)
|
||||||
|
|
22
Dangerfile
22
Dangerfile
|
@ -2,15 +2,25 @@
|
||||||
|
|
||||||
require 'gitlab-dangerfiles'
|
require 'gitlab-dangerfiles'
|
||||||
|
|
||||||
gitlab_dangerfiles = Gitlab::Dangerfiles::Engine.new(self)
|
def ee?
|
||||||
gitlab_dangerfiles.import_plugins
|
# Support former project name for `dev` and support local Danger run
|
||||||
|
%w[gitlab gitlab-ee].include?(ENV['CI_PROJECT_NAME']) || Dir.exist?(File.expand_path('ee', __dir__))
|
||||||
|
end
|
||||||
|
|
||||||
|
project_name = ee? ? 'gitlab' : 'gitlab-foss'
|
||||||
|
|
||||||
|
Gitlab::Dangerfiles.for_project(self, project_name) do |gitlab_dangerfiles|
|
||||||
|
gitlab_dangerfiles.import_plugins
|
||||||
|
|
||||||
|
unless helper.release_automation?
|
||||||
|
danger.import_plugin('danger/plugins/*.rb')
|
||||||
|
gitlab_dangerfiles.import_dangerfiles(except: %w[simple_roulette])
|
||||||
|
gitlab_dangerfiles.config.files_to_category = ProjectHelper::CATEGORIES
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
return if helper.release_automation?
|
return if helper.release_automation?
|
||||||
|
|
||||||
danger.import_plugin('danger/plugins/*.rb')
|
|
||||||
|
|
||||||
gitlab_dangerfiles.import_dangerfiles
|
|
||||||
|
|
||||||
project_helper.rule_names.each do |rule|
|
project_helper.rule_names.each do |rule|
|
||||||
danger.import_dangerfile(path: File.join('danger', rule))
|
danger.import_dangerfile(path: File.join('danger', rule))
|
||||||
end
|
end
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
14.5.3
|
14.6.3
|
|
@ -1 +1 @@
|
||||||
2.16.0
|
2.17.0
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
1.48.0
|
1.49.0
|
||||||
|
|
27
Gemfile
27
Gemfile
|
@ -153,7 +153,7 @@ gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
|
||||||
# Markdown and HTML processing
|
# Markdown and HTML processing
|
||||||
gem 'html-pipeline', '~> 2.13.2'
|
gem 'html-pipeline', '~> 2.13.2'
|
||||||
gem 'deckar01-task_list', '2.3.1'
|
gem 'deckar01-task_list', '2.3.1'
|
||||||
gem 'gitlab-markup', '~> 1.7.1'
|
gem 'gitlab-markup', '~> 1.8.0'
|
||||||
gem 'github-markup', '~> 1.7.0', require: 'github/markup'
|
gem 'github-markup', '~> 1.7.0', require: 'github/markup'
|
||||||
gem 'commonmarker', '~> 0.23.2'
|
gem 'commonmarker', '~> 0.23.2'
|
||||||
gem 'kramdown', '~> 2.3.1'
|
gem 'kramdown', '~> 2.3.1'
|
||||||
|
@ -185,7 +185,7 @@ gem 'rack', '~> 2.2.3'
|
||||||
gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base'
|
gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base'
|
||||||
|
|
||||||
group :puma do
|
group :puma do
|
||||||
gem 'puma', '~> 5.3.1', require: false
|
gem 'puma', '~> 5.5.2', require: false
|
||||||
gem 'puma_worker_killer', '~> 0.3.1', require: false
|
gem 'puma_worker_killer', '~> 0.3.1', require: false
|
||||||
gem 'sd_notify', '~> 0.1.0', require: false
|
gem 'sd_notify', '~> 0.1.0', require: false
|
||||||
end
|
end
|
||||||
|
@ -194,10 +194,10 @@ end
|
||||||
gem 'state_machines-activerecord', '~> 0.8.0'
|
gem 'state_machines-activerecord', '~> 0.8.0'
|
||||||
|
|
||||||
# Issue tags
|
# Issue tags
|
||||||
gem 'acts-as-taggable-on', '~> 7.0'
|
gem 'acts-as-taggable-on', '~> 8.1'
|
||||||
|
|
||||||
# Background jobs
|
# Background jobs
|
||||||
gem 'sidekiq', '~> 6.2.2'
|
gem 'sidekiq', '~> 6.3'
|
||||||
gem 'sidekiq-cron', '~> 1.0'
|
gem 'sidekiq-cron', '~> 1.0'
|
||||||
gem 'redis-namespace', '~> 1.8.1'
|
gem 'redis-namespace', '~> 1.8.1'
|
||||||
gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch'
|
gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch'
|
||||||
|
@ -376,7 +376,7 @@ group :development, :test do
|
||||||
gem 'spring', '~> 2.1.0'
|
gem 'spring', '~> 2.1.0'
|
||||||
gem 'spring-commands-rspec', '~> 1.0.4'
|
gem 'spring-commands-rspec', '~> 1.0.4'
|
||||||
|
|
||||||
gem 'gitlab-styles', '~> 6.4.0', require: false
|
gem 'gitlab-styles', '~> 6.6.0', require: false
|
||||||
|
|
||||||
gem 'haml_lint', '~> 0.36.0', require: false
|
gem 'haml_lint', '~> 0.36.0', require: false
|
||||||
gem 'bundler-audit', '~> 0.7.0.1', require: false
|
gem 'bundler-audit', '~> 0.7.0.1', require: false
|
||||||
|
@ -400,17 +400,22 @@ group :development, :test do
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development, :test, :danger do
|
group :development, :test, :danger do
|
||||||
gem 'gitlab-dangerfiles', '~> 2.5.0', require: false
|
gem 'gitlab-dangerfiles', '~> 2.6.1', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development, :test, :coverage do
|
group :development, :test, :coverage do
|
||||||
gem 'simplecov', '~> 0.18.5', require: false
|
gem 'simplecov', '~> 0.18.5', require: false
|
||||||
|
gem 'simplecov-lcov', '~> 0.8.0', require: false
|
||||||
gem 'simplecov-cobertura', '~> 1.3.1', require: false
|
gem 'simplecov-cobertura', '~> 1.3.1', require: false
|
||||||
|
gem 'undercover', '~> 0.4.4', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
# Gems required in omnibus-gitlab pipeline
|
# Gems required in omnibus-gitlab pipeline
|
||||||
group :development, :test, :omnibus do
|
group :development, :test, :omnibus do
|
||||||
gem 'license_finder', '~> 6.0', require: false
|
# Using a fork until https://github.com/pivotal/LicenseFinder/pull/816 is
|
||||||
|
# resolved. For details, check discussion in
|
||||||
|
# https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74881
|
||||||
|
gem 'gitlab-license_finder', '~> 6.0', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
@ -459,7 +464,7 @@ gem 'health_check', '~> 3.0'
|
||||||
|
|
||||||
# System information
|
# System information
|
||||||
gem 'vmstat', '~> 2.3.0'
|
gem 'vmstat', '~> 2.3.0'
|
||||||
gem 'sys-filesystem', '~> 1.1.6'
|
gem 'sys-filesystem', '~> 1.4.3'
|
||||||
|
|
||||||
# NTP client
|
# NTP client
|
||||||
gem 'net-ntp'
|
gem 'net-ntp'
|
||||||
|
@ -471,7 +476,7 @@ gem 'sshkey', '~> 2.0'
|
||||||
# Required for ED25519 SSH host key support
|
# Required for ED25519 SSH host key support
|
||||||
group :ed25519 do
|
group :ed25519 do
|
||||||
gem 'ed25519', '~> 1.2'
|
gem 'ed25519', '~> 1.2'
|
||||||
gem 'bcrypt_pbkdf', '~> 1.0'
|
gem 'bcrypt_pbkdf', '~> 1.1'
|
||||||
end
|
end
|
||||||
|
|
||||||
# Spamcheck GRPC protocol definitions
|
# Spamcheck GRPC protocol definitions
|
||||||
|
@ -494,7 +499,7 @@ gem 'flipper', '~> 0.21.0'
|
||||||
gem 'flipper-active_record', '~> 0.21.0'
|
gem 'flipper-active_record', '~> 0.21.0'
|
||||||
gem 'flipper-active_support_cache_store', '~> 0.21.0'
|
gem 'flipper-active_support_cache_store', '~> 0.21.0'
|
||||||
gem 'unleash', '~> 3.2.2'
|
gem 'unleash', '~> 3.2.2'
|
||||||
gem 'gitlab-experiment', '~> 0.6.4'
|
gem 'gitlab-experiment', '~> 0.6.5'
|
||||||
|
|
||||||
# Structured logging
|
# Structured logging
|
||||||
gem 'lograge', '~> 0.5'
|
gem 'lograge', '~> 0.5'
|
||||||
|
@ -539,4 +544,4 @@ gem 'ipaddress', '~> 0.8.3'
|
||||||
|
|
||||||
gem 'parslet', '~> 1.8'
|
gem 'parslet', '~> 1.8'
|
||||||
|
|
||||||
gem 'ipynbdiff', '0.3.7'
|
gem 'ipynbdiff', '0.3.8'
|
||||||
|
|
82
Gemfile.lock
82
Gemfile.lock
|
@ -73,7 +73,7 @@ GEM
|
||||||
minitest (>= 5.1)
|
minitest (>= 5.1)
|
||||||
tzinfo (~> 2.0)
|
tzinfo (~> 2.0)
|
||||||
zeitwerk (~> 2.3)
|
zeitwerk (~> 2.3)
|
||||||
acts-as-taggable-on (7.0.0)
|
acts-as-taggable-on (8.1.0)
|
||||||
activerecord (>= 5.0, < 6.2)
|
activerecord (>= 5.0, < 6.2)
|
||||||
addressable (2.8.0)
|
addressable (2.8.0)
|
||||||
public_suffix (>= 2.0.2, < 5.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
|
@ -137,7 +137,7 @@ GEM
|
||||||
base32 (0.3.2)
|
base32 (0.3.2)
|
||||||
batch-loader (2.0.1)
|
batch-loader (2.0.1)
|
||||||
bcrypt (3.1.16)
|
bcrypt (3.1.16)
|
||||||
bcrypt_pbkdf (1.0.0)
|
bcrypt_pbkdf (1.1.0)
|
||||||
benchmark (0.1.1)
|
benchmark (0.1.1)
|
||||||
benchmark-ips (2.3.0)
|
benchmark-ips (2.3.0)
|
||||||
benchmark-memory (0.1.2)
|
benchmark-memory (0.1.2)
|
||||||
|
@ -222,7 +222,7 @@ GEM
|
||||||
css_parser (1.7.0)
|
css_parser (1.7.0)
|
||||||
addressable
|
addressable
|
||||||
daemons (1.3.1)
|
daemons (1.3.1)
|
||||||
danger (8.4.1)
|
danger (8.4.2)
|
||||||
claide (~> 1.0)
|
claide (~> 1.0)
|
||||||
claide-plugins (>= 0.9.2)
|
claide-plugins (>= 0.9.2)
|
||||||
colored2 (~> 3.1)
|
colored2 (~> 3.1)
|
||||||
|
@ -458,10 +458,10 @@ GEM
|
||||||
terminal-table (~> 1.5, >= 1.5.1)
|
terminal-table (~> 1.5, >= 1.5.1)
|
||||||
gitlab-chronic (0.10.5)
|
gitlab-chronic (0.10.5)
|
||||||
numerizer (~> 0.2)
|
numerizer (~> 0.2)
|
||||||
gitlab-dangerfiles (2.5.0)
|
gitlab-dangerfiles (2.6.1)
|
||||||
danger (>= 8.3.1)
|
danger (>= 8.3.1)
|
||||||
danger-gitlab (>= 8.0.0)
|
danger-gitlab (>= 8.0.0)
|
||||||
gitlab-experiment (0.6.4)
|
gitlab-experiment (0.6.5)
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 3.0)
|
||||||
request_store (>= 1.0)
|
request_store (>= 1.0)
|
||||||
scientist (~> 1.6, >= 1.6.0)
|
scientist (~> 1.6, >= 1.6.0)
|
||||||
|
@ -481,8 +481,15 @@ GEM
|
||||||
pg_query (~> 2.1)
|
pg_query (~> 2.1)
|
||||||
redis (> 3.0.0, < 5.0.0)
|
redis (> 3.0.0, < 5.0.0)
|
||||||
gitlab-license (2.0.0)
|
gitlab-license (2.0.0)
|
||||||
|
gitlab-license_finder (6.14.2.1)
|
||||||
|
bundler
|
||||||
|
rubyzip (>= 1, < 3)
|
||||||
|
thor (~> 1.0)
|
||||||
|
tomlrb (>= 1.3, < 2.1)
|
||||||
|
with_env (= 1.1.0)
|
||||||
|
xml-simple (~> 1.1.5)
|
||||||
gitlab-mail_room (0.0.9)
|
gitlab-mail_room (0.0.9)
|
||||||
gitlab-markup (1.7.1)
|
gitlab-markup (1.8.0)
|
||||||
gitlab-net-dns (0.9.1)
|
gitlab-net-dns (0.9.1)
|
||||||
gitlab-omniauth-openid-connect (0.8.0)
|
gitlab-omniauth-openid-connect (0.8.0)
|
||||||
addressable (~> 2.7)
|
addressable (~> 2.7)
|
||||||
|
@ -490,9 +497,10 @@ GEM
|
||||||
openid_connect (~> 1.2)
|
openid_connect (~> 1.2)
|
||||||
gitlab-sidekiq-fetcher (0.8.0)
|
gitlab-sidekiq-fetcher (0.8.0)
|
||||||
sidekiq (~> 6.1)
|
sidekiq (~> 6.1)
|
||||||
gitlab-styles (6.4.0)
|
gitlab-styles (6.6.0)
|
||||||
rubocop (~> 0.91, >= 0.91.1)
|
rubocop (~> 0.91, >= 0.91.1)
|
||||||
rubocop-gitlab-security (~> 0.1.1)
|
rubocop-gitlab-security (~> 0.1.1)
|
||||||
|
rubocop-graphql (~> 0.10)
|
||||||
rubocop-performance (~> 1.9.2)
|
rubocop-performance (~> 1.9.2)
|
||||||
rubocop-rails (~> 2.9)
|
rubocop-rails (~> 2.9)
|
||||||
rubocop-rspec (~> 1.44)
|
rubocop-rspec (~> 1.44)
|
||||||
|
@ -633,14 +641,16 @@ GEM
|
||||||
mime-types (~> 3.0)
|
mime-types (~> 3.0)
|
||||||
multi_xml (>= 0.5.2)
|
multi_xml (>= 0.5.2)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
i18n (1.8.10)
|
i18n (1.8.11)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
i18n_data (0.8.0)
|
i18n_data (0.8.0)
|
||||||
icalendar (2.4.1)
|
icalendar (2.4.1)
|
||||||
|
imagen (0.1.8)
|
||||||
|
parser (>= 2.5, != 2.5.1.1)
|
||||||
invisible_captcha (1.1.0)
|
invisible_captcha (1.1.0)
|
||||||
rails (>= 4.2)
|
rails (>= 4.2)
|
||||||
ipaddress (0.8.3)
|
ipaddress (0.8.3)
|
||||||
ipynbdiff (0.3.7)
|
ipynbdiff (0.3.8)
|
||||||
diffy (= 3.3.0)
|
diffy (= 3.3.0)
|
||||||
json (= 2.5.1)
|
json (= 2.5.1)
|
||||||
jaeger-client (1.1.0)
|
jaeger-client (1.1.0)
|
||||||
|
@ -706,13 +716,6 @@ GEM
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
rexml
|
rexml
|
||||||
libyajl2 (1.2.0)
|
libyajl2 (1.2.0)
|
||||||
license_finder (6.0.0)
|
|
||||||
bundler
|
|
||||||
rubyzip (>= 1, < 3)
|
|
||||||
thor
|
|
||||||
toml (= 0.2.0)
|
|
||||||
with_env (= 1.1.0)
|
|
||||||
xml-simple
|
|
||||||
licensee (9.14.1)
|
licensee (9.14.1)
|
||||||
dotenv (~> 2.0)
|
dotenv (~> 2.0)
|
||||||
octokit (~> 4.17)
|
octokit (~> 4.17)
|
||||||
|
@ -903,7 +906,7 @@ GEM
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
os (1.1.1)
|
os (1.1.1)
|
||||||
parallel (1.20.1)
|
parallel (1.20.1)
|
||||||
parser (3.0.2.0)
|
parser (3.0.3.2)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
parslet (1.8.2)
|
parslet (1.8.2)
|
||||||
pastel (0.8.0)
|
pastel (0.8.0)
|
||||||
|
@ -942,7 +945,7 @@ GEM
|
||||||
tty-markdown
|
tty-markdown
|
||||||
tty-prompt
|
tty-prompt
|
||||||
public_suffix (4.0.6)
|
public_suffix (4.0.6)
|
||||||
puma (5.3.2)
|
puma (5.5.2)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
puma_worker_killer (0.3.1)
|
puma_worker_killer (0.3.1)
|
||||||
get_process_mem (~> 0.2)
|
get_process_mem (~> 0.2)
|
||||||
|
@ -1107,6 +1110,8 @@ GEM
|
||||||
parser (>= 2.7.1.5)
|
parser (>= 2.7.1.5)
|
||||||
rubocop-gitlab-security (0.1.1)
|
rubocop-gitlab-security (0.1.1)
|
||||||
rubocop (>= 0.51)
|
rubocop (>= 0.51)
|
||||||
|
rubocop-graphql (0.10.3)
|
||||||
|
rubocop (>= 0.87, < 2)
|
||||||
rubocop-performance (1.9.2)
|
rubocop-performance (1.9.2)
|
||||||
rubocop (>= 0.90.0, < 2.0)
|
rubocop (>= 0.90.0, < 2.0)
|
||||||
rubocop-ast (>= 0.4.0)
|
rubocop-ast (>= 0.4.0)
|
||||||
|
@ -1158,7 +1163,7 @@ GEM
|
||||||
sawyer (0.8.2)
|
sawyer (0.8.2)
|
||||||
addressable (>= 2.3.5)
|
addressable (>= 2.3.5)
|
||||||
faraday (> 0.8, < 2.0)
|
faraday (> 0.8, < 2.0)
|
||||||
scientist (1.6.0)
|
scientist (1.6.2)
|
||||||
sd_notify (0.1.0)
|
sd_notify (0.1.0)
|
||||||
securecompare (1.0.0)
|
securecompare (1.0.0)
|
||||||
seed-fu (2.3.7)
|
seed-fu (2.3.7)
|
||||||
|
@ -1175,7 +1180,7 @@ GEM
|
||||||
shellany (0.0.1)
|
shellany (0.0.1)
|
||||||
shoulda-matchers (4.0.1)
|
shoulda-matchers (4.0.1)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
sidekiq (6.2.2)
|
sidekiq (6.3.1)
|
||||||
connection_pool (>= 2.2.2)
|
connection_pool (>= 2.2.2)
|
||||||
rack (~> 2.0)
|
rack (~> 2.0)
|
||||||
redis (>= 4.2.0)
|
redis (>= 4.2.0)
|
||||||
|
@ -1194,6 +1199,7 @@ GEM
|
||||||
simplecov-cobertura (1.3.1)
|
simplecov-cobertura (1.3.1)
|
||||||
simplecov (~> 0.8)
|
simplecov (~> 0.8)
|
||||||
simplecov-html (0.12.3)
|
simplecov-html (0.12.3)
|
||||||
|
simplecov-lcov (0.8.0)
|
||||||
sixarm_ruby_unaccent (1.2.0)
|
sixarm_ruby_unaccent (1.2.0)
|
||||||
slack-messenger (2.3.4)
|
slack-messenger (2.3.4)
|
||||||
snowplow-tracker (0.6.1)
|
snowplow-tracker (0.6.1)
|
||||||
|
@ -1249,8 +1255,8 @@ GEM
|
||||||
activesupport (>= 3)
|
activesupport (>= 3)
|
||||||
attr_required (>= 0.0.5)
|
attr_required (>= 0.0.5)
|
||||||
httpclient (>= 2.4)
|
httpclient (>= 2.4)
|
||||||
sys-filesystem (1.1.9)
|
sys-filesystem (1.4.3)
|
||||||
ffi
|
ffi (~> 1.1)
|
||||||
sysexits (1.2.0)
|
sysexits (1.2.0)
|
||||||
tanuki_emoji (0.5.0)
|
tanuki_emoji (0.5.0)
|
||||||
temple (0.8.2)
|
temple (0.8.2)
|
||||||
|
@ -1272,8 +1278,6 @@ GEM
|
||||||
timecop (0.9.1)
|
timecop (0.9.1)
|
||||||
timeliness (0.3.10)
|
timeliness (0.3.10)
|
||||||
timfel-krb5-auth (0.8.3)
|
timfel-krb5-auth (0.8.3)
|
||||||
toml (0.2.0)
|
|
||||||
parslet (~> 1.8.0)
|
|
||||||
toml-rb (2.0.1)
|
toml-rb (2.0.1)
|
||||||
citrus (~> 3.0, > 3.0)
|
citrus (~> 3.0, > 3.0)
|
||||||
tomlrb (1.3.0)
|
tomlrb (1.3.0)
|
||||||
|
@ -1311,6 +1315,10 @@ GEM
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
u2f (0.2.1)
|
u2f (0.2.1)
|
||||||
uber (0.1.0)
|
uber (0.1.0)
|
||||||
|
undercover (0.4.4)
|
||||||
|
imagen (>= 0.1.8)
|
||||||
|
rainbow (>= 2.1, < 4.0)
|
||||||
|
rugged (>= 0.27, < 1.3)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.7.7)
|
unf_ext (0.0.7.7)
|
||||||
|
@ -1373,7 +1381,7 @@ GEM
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
yajl-ruby (1.4.1)
|
yajl-ruby (1.4.1)
|
||||||
yard (0.9.26)
|
yard (0.9.26)
|
||||||
zeitwerk (2.4.2)
|
zeitwerk (2.5.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
@ -1382,7 +1390,7 @@ DEPENDENCIES
|
||||||
RedCloth (~> 4.3.2)
|
RedCloth (~> 4.3.2)
|
||||||
acme-client (~> 2.0, >= 2.0.6)
|
acme-client (~> 2.0, >= 2.0.6)
|
||||||
activerecord-explain-analyze (~> 0.1)
|
activerecord-explain-analyze (~> 0.1)
|
||||||
acts-as-taggable-on (~> 7.0)
|
acts-as-taggable-on (~> 8.1)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
akismet (~> 3.0)
|
akismet (~> 3.0)
|
||||||
apollo_upload_server (~> 2.1.0)
|
apollo_upload_server (~> 2.1.0)
|
||||||
|
@ -1402,7 +1410,7 @@ DEPENDENCIES
|
||||||
base32 (~> 0.3.0)
|
base32 (~> 0.3.0)
|
||||||
batch-loader (~> 2.0.1)
|
batch-loader (~> 2.0.1)
|
||||||
bcrypt (~> 3.1, >= 3.1.14)
|
bcrypt (~> 3.1, >= 3.1.14)
|
||||||
bcrypt_pbkdf (~> 1.0)
|
bcrypt_pbkdf (~> 1.1)
|
||||||
benchmark-ips (~> 2.3.0)
|
benchmark-ips (~> 2.3.0)
|
||||||
benchmark-memory (~> 0.1)
|
benchmark-memory (~> 0.1)
|
||||||
better_errors (~> 2.9.0)
|
better_errors (~> 2.9.0)
|
||||||
|
@ -1467,17 +1475,18 @@ DEPENDENCIES
|
||||||
gitaly (~> 14.4.0.pre.rc43)
|
gitaly (~> 14.4.0.pre.rc43)
|
||||||
github-markup (~> 1.7.0)
|
github-markup (~> 1.7.0)
|
||||||
gitlab-chronic (~> 0.10.5)
|
gitlab-chronic (~> 0.10.5)
|
||||||
gitlab-dangerfiles (~> 2.5.0)
|
gitlab-dangerfiles (~> 2.6.1)
|
||||||
gitlab-experiment (~> 0.6.4)
|
gitlab-experiment (~> 0.6.5)
|
||||||
gitlab-fog-azure-rm (~> 1.2.0)
|
gitlab-fog-azure-rm (~> 1.2.0)
|
||||||
gitlab-labkit (~> 0.21.1)
|
gitlab-labkit (~> 0.21.1)
|
||||||
gitlab-license (~> 2.0)
|
gitlab-license (~> 2.0)
|
||||||
|
gitlab-license_finder (~> 6.0)
|
||||||
gitlab-mail_room (~> 0.0.9)
|
gitlab-mail_room (~> 0.0.9)
|
||||||
gitlab-markup (~> 1.7.1)
|
gitlab-markup (~> 1.8.0)
|
||||||
gitlab-net-dns (~> 0.9.1)
|
gitlab-net-dns (~> 0.9.1)
|
||||||
gitlab-omniauth-openid-connect (~> 0.8.0)
|
gitlab-omniauth-openid-connect (~> 0.8.0)
|
||||||
gitlab-sidekiq-fetcher (= 0.8.0)
|
gitlab-sidekiq-fetcher (= 0.8.0)
|
||||||
gitlab-styles (~> 6.4.0)
|
gitlab-styles (~> 6.6.0)
|
||||||
gitlab_chronic_duration (~> 0.10.6.2)
|
gitlab_chronic_duration (~> 0.10.6.2)
|
||||||
gitlab_omniauth-ldap (~> 2.1.1)
|
gitlab_omniauth-ldap (~> 2.1.1)
|
||||||
gon (~> 6.4.0)
|
gon (~> 6.4.0)
|
||||||
|
@ -1507,7 +1516,7 @@ DEPENDENCIES
|
||||||
icalendar
|
icalendar
|
||||||
invisible_captcha (~> 1.1.0)
|
invisible_captcha (~> 1.1.0)
|
||||||
ipaddress (~> 0.8.3)
|
ipaddress (~> 0.8.3)
|
||||||
ipynbdiff (= 0.3.7)
|
ipynbdiff (= 0.3.8)
|
||||||
jira-ruby (~> 2.1.4)
|
jira-ruby (~> 2.1.4)
|
||||||
js_regex (~> 3.7)
|
js_regex (~> 3.7)
|
||||||
json (~> 2.5.1)
|
json (~> 2.5.1)
|
||||||
|
@ -1520,7 +1529,6 @@ DEPENDENCIES
|
||||||
kubeclient (~> 4.9.2)
|
kubeclient (~> 4.9.2)
|
||||||
lefthook (~> 0.7.0)
|
lefthook (~> 0.7.0)
|
||||||
letter_opener_web (~> 2.0.0)
|
letter_opener_web (~> 2.0.0)
|
||||||
license_finder (~> 6.0)
|
|
||||||
licensee (~> 9.14.1)
|
licensee (~> 9.14.1)
|
||||||
lockbox (~> 0.6.2)
|
lockbox (~> 0.6.2)
|
||||||
lograge (~> 0.5)
|
lograge (~> 0.5)
|
||||||
|
@ -1573,7 +1581,7 @@ DEPENDENCIES
|
||||||
pry-byebug
|
pry-byebug
|
||||||
pry-rails (~> 0.3.9)
|
pry-rails (~> 0.3.9)
|
||||||
pry-shell (~> 0.5.0)
|
pry-shell (~> 0.5.0)
|
||||||
puma (~> 5.3.1)
|
puma (~> 5.5.2)
|
||||||
puma_worker_killer (~> 0.3.1)
|
puma_worker_killer (~> 0.3.1)
|
||||||
rack (~> 2.2.3)
|
rack (~> 2.2.3)
|
||||||
rack-attack (~> 6.3.0)
|
rack-attack (~> 6.3.0)
|
||||||
|
@ -1620,11 +1628,12 @@ DEPENDENCIES
|
||||||
sentry-raven (~> 3.1)
|
sentry-raven (~> 3.1)
|
||||||
settingslogic (~> 2.0.9)
|
settingslogic (~> 2.0.9)
|
||||||
shoulda-matchers (~> 4.0.1)
|
shoulda-matchers (~> 4.0.1)
|
||||||
sidekiq (~> 6.2.2)
|
sidekiq (~> 6.3)
|
||||||
sidekiq-cron (~> 1.0)
|
sidekiq-cron (~> 1.0)
|
||||||
simple_po_parser (~> 1.1.2)
|
simple_po_parser (~> 1.1.2)
|
||||||
simplecov (~> 0.18.5)
|
simplecov (~> 0.18.5)
|
||||||
simplecov-cobertura (~> 1.3.1)
|
simplecov-cobertura (~> 1.3.1)
|
||||||
|
simplecov-lcov (~> 0.8.0)
|
||||||
slack-messenger (~> 2.3.4)
|
slack-messenger (~> 2.3.4)
|
||||||
snowplow-tracker (~> 0.6.1)
|
snowplow-tracker (~> 0.6.1)
|
||||||
solargraph (~> 0.43)
|
solargraph (~> 0.43)
|
||||||
|
@ -1636,7 +1645,7 @@ DEPENDENCIES
|
||||||
sshkey (~> 2.0)
|
sshkey (~> 2.0)
|
||||||
stackprof (~> 0.2.15)
|
stackprof (~> 0.2.15)
|
||||||
state_machines-activerecord (~> 0.8.0)
|
state_machines-activerecord (~> 0.8.0)
|
||||||
sys-filesystem (~> 1.1.6)
|
sys-filesystem (~> 1.4.3)
|
||||||
tanuki_emoji (~> 0.5)
|
tanuki_emoji (~> 0.5)
|
||||||
terser (= 1.0.2)
|
terser (= 1.0.2)
|
||||||
test-prof (~> 1.0.7)
|
test-prof (~> 1.0.7)
|
||||||
|
@ -1647,6 +1656,7 @@ DEPENDENCIES
|
||||||
toml-rb (~> 2.0)
|
toml-rb (~> 2.0)
|
||||||
truncato (~> 0.7.11)
|
truncato (~> 0.7.11)
|
||||||
u2f (~> 0.2.1)
|
u2f (~> 0.2.1)
|
||||||
|
undercover (~> 0.4.4)
|
||||||
unf (~> 0.1.4)
|
unf (~> 0.1.4)
|
||||||
unleash (~> 3.2.2)
|
unleash (~> 3.2.2)
|
||||||
valid_email (~> 0.1)
|
valid_email (~> 0.1)
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
14.5.3
|
14.6.3
|
|
@ -1 +0,0 @@
|
||||||
<svg id="Logos" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="80" height="80" viewBox="0 0 80 80"><defs><style>.cls-1{fill:#7a869a;}.cls-2{fill:url(#linear-gradient);}.cls-3{fill:url(#linear-gradient-2);}</style><linearGradient id="linear-gradient" x1="38.11" y1="18.54" x2="23.17" y2="33.48" gradientUnits="userSpaceOnUse"><stop offset="0.18" stop-color="#344563"/><stop offset="1" stop-color="#7a869a"/></linearGradient><linearGradient id="linear-gradient-2" x1="42.07" y1="61.47" x2="56.98" y2="46.55" xlink:href="#linear-gradient"/></defs><title>jira software-icon-gradient-neutral</title><path class="cls-1" d="M74.18,38,43,6.9l-3-3h0L16.58,27.32h0L5.86,38a2.86,2.86,0,0,0,0,4.05L27.28,63.51,40,76.25,63.47,52.81l.36-.36L74.18,42.09A2.86,2.86,0,0,0,74.18,38ZM40,50.77l-10.7-10.7L40,29.37l10.7,10.7Z"/><path class="cls-2" d="M40,29.37A18,18,0,0,1,40,4L16.54,27.37,29.28,40.11,40,29.37Z"/><path class="cls-3" d="M50.75,40,40,50.77a18,18,0,0,1,0,25.48h0L63.5,52.78Z"/></svg>
|
|
Before Width: | Height: | Size: 1,016 B |
1
app/assets/images/logos/shimo.svg
Normal file
1
app/assets/images/logos/shimo.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 16 KiB |
55
app/assets/javascripts/access_tokens/components/token.vue
Normal file
55
app/assets/javascripts/access_tokens/components/token.vue
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
<script>
|
||||||
|
import InputCopyToggleVisibility from '~/vue_shared/components/form/input_copy_toggle_visibility.vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { InputCopyToggleVisibility },
|
||||||
|
props: {
|
||||||
|
token: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
inputId: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
inputLabel: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
copyButtonTitle: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
formInputGroupProps() {
|
||||||
|
return { id: this.inputId };
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<hr />
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h4 class="gl-mt-0"><slot name="title"></slot></h4>
|
||||||
|
<slot name="description"></slot>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<input-copy-toggle-visibility
|
||||||
|
:label="inputLabel"
|
||||||
|
:label-for="inputId"
|
||||||
|
:form-input-group-props="formInputGroupProps"
|
||||||
|
:value="token"
|
||||||
|
:copy-button-title="copyButtonTitle"
|
||||||
|
>
|
||||||
|
<template #description>
|
||||||
|
<slot name="input-description"></slot>
|
||||||
|
</template>
|
||||||
|
</input-copy-toggle-visibility>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
111
app/assets/javascripts/access_tokens/components/tokens_app.vue
Normal file
111
app/assets/javascripts/access_tokens/components/tokens_app.vue
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
<script>
|
||||||
|
import { GlSprintf, GlLink } from '@gitlab/ui';
|
||||||
|
import { pickBy } from 'lodash';
|
||||||
|
|
||||||
|
import { s__ } from '~/locale';
|
||||||
|
|
||||||
|
import { FEED_TOKEN, INCOMING_EMAIL_TOKEN, STATIC_OBJECT_TOKEN } from '../constants';
|
||||||
|
import Token from './token.vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
i18n: {
|
||||||
|
canNotAccessOtherData: s__('AccessTokens|It cannot be used to access any other data.'),
|
||||||
|
[FEED_TOKEN]: {
|
||||||
|
label: s__('AccessTokens|Feed token'),
|
||||||
|
copyButtonTitle: s__('AccessTokens|Copy feed token'),
|
||||||
|
description: s__(
|
||||||
|
'AccessTokens|Your feed token authenticates you when your RSS reader loads a personalized RSS feed or when your calendar application loads a personalized calendar. It is visible in those feed URLs.',
|
||||||
|
),
|
||||||
|
inputDescription: s__(
|
||||||
|
'AccessTokens|Keep this token secret. Anyone who has it can read activity and issue RSS feeds or your calendar feed as if they were you. If that happens, %{linkStart}reset this token%{linkEnd}.',
|
||||||
|
),
|
||||||
|
resetConfirmMessage: s__(
|
||||||
|
'AccessTokens|Are you sure? Any RSS or calendar URLs currently in use will stop working.',
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[INCOMING_EMAIL_TOKEN]: {
|
||||||
|
label: s__('AccessTokens|Incoming email token'),
|
||||||
|
copyButtonTitle: s__('AccessTokens|Copy incoming email token'),
|
||||||
|
description: s__(
|
||||||
|
'AccessTokens|Your incoming email token authenticates you when you create a new issue by email, and is included in your personal project-specific email addresses.',
|
||||||
|
),
|
||||||
|
inputDescription: s__(
|
||||||
|
'AccessTokens|Keep this token secret. Anyone who has it can create issues as if they were you. If that happens, %{linkStart}reset this token%{linkEnd}.',
|
||||||
|
),
|
||||||
|
resetConfirmMessage: s__(
|
||||||
|
'AccessTokens|Are you sure? Any issue email addresses currently in use will stop working.',
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[STATIC_OBJECT_TOKEN]: {
|
||||||
|
label: s__('AccessTokens|Static object token'),
|
||||||
|
copyButtonTitle: s__('AccessTokens|Copy static object token'),
|
||||||
|
description: s__(
|
||||||
|
'AccessTokens|Your static object token authenticates you when repository static objects (such as archives or blobs) are served from an external storage.',
|
||||||
|
),
|
||||||
|
inputDescription: s__(
|
||||||
|
'AccessTokens|Keep this token secret. Anyone who has it can access repository static objects as if they were you. If that ever happens, %{linkStart}reset this token%{linkEnd}.',
|
||||||
|
),
|
||||||
|
resetConfirmMessage: s__('AccessTokens|Are you sure?'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
htmlAttributes: {
|
||||||
|
[FEED_TOKEN]: {
|
||||||
|
inputId: 'feed_token',
|
||||||
|
containerTestId: 'feed-token-container',
|
||||||
|
},
|
||||||
|
[INCOMING_EMAIL_TOKEN]: {
|
||||||
|
inputId: 'incoming_email_token',
|
||||||
|
containerTestId: 'incoming-email-token-container',
|
||||||
|
},
|
||||||
|
[STATIC_OBJECT_TOKEN]: {
|
||||||
|
inputId: 'static_object_token',
|
||||||
|
containerTestId: 'static-object-token-container',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
components: { Token, GlSprintf, GlLink },
|
||||||
|
inject: ['tokenTypes'],
|
||||||
|
computed: {
|
||||||
|
enabledTokenTypes() {
|
||||||
|
return pickBy(this.tokenTypes, (tokenData, tokenType) => {
|
||||||
|
return (
|
||||||
|
tokenData?.enabled &&
|
||||||
|
this.$options.i18n[tokenType] &&
|
||||||
|
this.$options.htmlAttributes[tokenType]
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<token
|
||||||
|
v-for="(tokenData, tokenType) in enabledTokenTypes"
|
||||||
|
:key="tokenType"
|
||||||
|
:token="tokenData.token"
|
||||||
|
:input-id="$options.htmlAttributes[tokenType].inputId"
|
||||||
|
:input-label="$options.i18n[tokenType].label"
|
||||||
|
:copy-button-title="$options.i18n[tokenType].copyButtonTitle"
|
||||||
|
:data-testid="$options.htmlAttributes[tokenType].containerTestId"
|
||||||
|
>
|
||||||
|
<template #title>{{ $options.i18n[tokenType].label }}</template>
|
||||||
|
<template #description>
|
||||||
|
<p>{{ $options.i18n[tokenType].description }}</p>
|
||||||
|
<p>{{ $options.i18n.canNotAccessOtherData }}</p>
|
||||||
|
</template>
|
||||||
|
<template #input-description>
|
||||||
|
<gl-sprintf :message="$options.i18n[tokenType].inputDescription">
|
||||||
|
<template #link="{ content }">
|
||||||
|
<gl-link
|
||||||
|
:href="tokenData.resetPath"
|
||||||
|
:data-confirm="$options.i18n[tokenType].resetConfirmMessage"
|
||||||
|
data-method="put"
|
||||||
|
>{{ content }}</gl-link
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</gl-sprintf>
|
||||||
|
</template>
|
||||||
|
</token>
|
||||||
|
</div>
|
||||||
|
</template>
|
4
app/assets/javascripts/access_tokens/constants.js
Normal file
4
app/assets/javascripts/access_tokens/constants.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
// Token types
|
||||||
|
export const FEED_TOKEN = 'feedToken';
|
||||||
|
export const INCOMING_EMAIL_TOKEN = 'incomingEmailToken';
|
||||||
|
export const STATIC_OBJECT_TOKEN = 'staticObjectToken';
|
|
@ -1,9 +1,13 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
import createFlash from '~/flash';
|
import createFlash from '~/flash';
|
||||||
|
import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';
|
||||||
import { parseRailsFormFields } from '~/lib/utils/forms';
|
import { parseRailsFormFields } from '~/lib/utils/forms';
|
||||||
import { __ } from '~/locale';
|
import { __ } from '~/locale';
|
||||||
|
|
||||||
import ExpiresAtField from './components/expires_at_field.vue';
|
import ExpiresAtField from './components/expires_at_field.vue';
|
||||||
|
import TokensApp from './components/tokens_app.vue';
|
||||||
|
import { FEED_TOKEN, INCOMING_EMAIL_TOKEN, STATIC_OBJECT_TOKEN } from './constants';
|
||||||
|
|
||||||
export const initExpiresAtField = () => {
|
export const initExpiresAtField = () => {
|
||||||
const el = document.querySelector('.js-access-tokens-expires-at');
|
const el = document.querySelector('.js-access-tokens-expires-at');
|
||||||
|
@ -81,3 +85,29 @@ export const initProjectsField = () => {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const initTokensApp = () => {
|
||||||
|
const el = document.getElementById('js-tokens-app');
|
||||||
|
|
||||||
|
if (!el) return false;
|
||||||
|
|
||||||
|
const tokensData = convertObjectPropsToCamelCase(JSON.parse(el.dataset.tokensData), {
|
||||||
|
deep: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
const tokenTypes = {
|
||||||
|
[FEED_TOKEN]: tokensData[FEED_TOKEN],
|
||||||
|
[INCOMING_EMAIL_TOKEN]: tokensData[INCOMING_EMAIL_TOKEN],
|
||||||
|
[STATIC_OBJECT_TOKEN]: tokensData[STATIC_OBJECT_TOKEN],
|
||||||
|
};
|
||||||
|
|
||||||
|
return new Vue({
|
||||||
|
el,
|
||||||
|
provide: {
|
||||||
|
tokenTypes,
|
||||||
|
},
|
||||||
|
render(createElement) {
|
||||||
|
return createElement(TokensApp);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
|
@ -1,13 +1,33 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlTable, GlButton } from '@gitlab/ui';
|
import { GlTable, GlButton, GlPagination, GlLoadingIcon, GlEmptyState, GlModal } from '@gitlab/ui';
|
||||||
|
|
||||||
import { __ } from '~/locale';
|
import { __ } from '~/locale';
|
||||||
|
import Api, { DEFAULT_PER_PAGE } from '~/api';
|
||||||
|
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
|
||||||
|
import { cleanLeadingSeparator } from '~/lib/utils/url_utility';
|
||||||
|
import createFlash from '~/flash';
|
||||||
|
import csrf from '~/lib/utils/csrf';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DeployKeysTable',
|
name: 'DeployKeysTable',
|
||||||
i18n: {
|
i18n: {
|
||||||
pageTitle: __('Public deploy keys'),
|
pageTitle: __('Public deploy keys'),
|
||||||
newDeployKeyButtonText: __('New deploy key'),
|
newDeployKeyButtonText: __('New deploy key'),
|
||||||
|
emptyStateTitle: __('No public deploy keys'),
|
||||||
|
emptyStateDescription: __(
|
||||||
|
'Deploy keys grant read/write access to all repositories in your instance',
|
||||||
|
),
|
||||||
|
delete: __('Delete deploy key'),
|
||||||
|
edit: __('Edit deploy key'),
|
||||||
|
pagination: {
|
||||||
|
next: __('Next'),
|
||||||
|
prev: __('Prev'),
|
||||||
|
},
|
||||||
|
modal: {
|
||||||
|
title: __('Are you sure?'),
|
||||||
|
body: __('Are you sure you want to delete this deploy key?'),
|
||||||
|
},
|
||||||
|
apiErrorMessage: __('An error occurred fetching the public deploy keys. Please try again.'),
|
||||||
},
|
},
|
||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
|
@ -29,13 +49,118 @@ export default {
|
||||||
{
|
{
|
||||||
key: 'actions',
|
key: 'actions',
|
||||||
label: __('Actions'),
|
label: __('Actions'),
|
||||||
|
tdClass: 'gl-lg-w-1px gl-white-space-nowrap',
|
||||||
|
thClass: 'gl-lg-w-1px gl-white-space-nowrap',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
modal: {
|
||||||
|
id: 'delete-deploy-key-modal',
|
||||||
|
actionPrimary: {
|
||||||
|
text: __('Delete'),
|
||||||
|
attributes: {
|
||||||
|
variant: 'danger',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
actionSecondary: {
|
||||||
|
text: __('Cancel'),
|
||||||
|
attributes: {
|
||||||
|
variant: 'default',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
csrf,
|
||||||
|
DEFAULT_PER_PAGE,
|
||||||
components: {
|
components: {
|
||||||
GlTable,
|
GlTable,
|
||||||
GlButton,
|
GlButton,
|
||||||
|
GlPagination,
|
||||||
|
TimeAgoTooltip,
|
||||||
|
GlLoadingIcon,
|
||||||
|
GlEmptyState,
|
||||||
|
GlModal,
|
||||||
},
|
},
|
||||||
inject: ['editPath', 'deletePath', 'createPath', 'emptyStateSvgPath'],
|
inject: ['editPath', 'deletePath', 'createPath', 'emptyStateSvgPath'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
page: 1,
|
||||||
|
totalItems: 0,
|
||||||
|
loading: false,
|
||||||
|
items: [],
|
||||||
|
deployKeyToDelete: null,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
shouldShowTable() {
|
||||||
|
return this.totalItems !== 0 || this.loading;
|
||||||
|
},
|
||||||
|
isModalVisible() {
|
||||||
|
return this.deployKeyToDelete !== null;
|
||||||
|
},
|
||||||
|
deleteAction() {
|
||||||
|
return this.deployKeyToDelete === null
|
||||||
|
? null
|
||||||
|
: this.deletePath.replace(':id', this.deployKeyToDelete);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
page(newPage) {
|
||||||
|
this.fetchDeployKeys(newPage);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.fetchDeployKeys();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
editHref(id) {
|
||||||
|
return this.editPath.replace(':id', id);
|
||||||
|
},
|
||||||
|
projectHref(project) {
|
||||||
|
return `/${cleanLeadingSeparator(project.path_with_namespace)}`;
|
||||||
|
},
|
||||||
|
async fetchDeployKeys(page) {
|
||||||
|
this.loading = true;
|
||||||
|
try {
|
||||||
|
const { headers, data: items } = await Api.deployKeys({
|
||||||
|
page,
|
||||||
|
public: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (this.totalItems === 0) {
|
||||||
|
this.totalItems = parseInt(headers?.['x-total'], 10) || 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.items = items.map(
|
||||||
|
({ id, title, fingerprint, projects_with_write_access, created_at }) => ({
|
||||||
|
id,
|
||||||
|
title,
|
||||||
|
fingerprint,
|
||||||
|
projects: projects_with_write_access,
|
||||||
|
created: created_at,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
createFlash({
|
||||||
|
message: this.$options.i18n.apiErrorMessage,
|
||||||
|
captureError: true,
|
||||||
|
error,
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalItems = 0;
|
||||||
|
|
||||||
|
this.items = [];
|
||||||
|
}
|
||||||
|
this.loading = false;
|
||||||
|
},
|
||||||
|
handleDeleteClick(id) {
|
||||||
|
this.deployKeyToDelete = id;
|
||||||
|
},
|
||||||
|
handleModalHide() {
|
||||||
|
this.deployKeyToDelete = null;
|
||||||
|
},
|
||||||
|
handleModalPrimary() {
|
||||||
|
this.$refs.modalForm.submit();
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -45,10 +170,92 @@ export default {
|
||||||
<h4 class="gl-m-0">
|
<h4 class="gl-m-0">
|
||||||
{{ $options.i18n.pageTitle }}
|
{{ $options.i18n.pageTitle }}
|
||||||
</h4>
|
</h4>
|
||||||
<gl-button variant="confirm" :href="createPath">{{
|
<gl-button variant="confirm" :href="createPath" data-testid="new-deploy-key-button">{{
|
||||||
$options.i18n.newDeployKeyButtonText
|
$options.i18n.newDeployKeyButtonText
|
||||||
}}</gl-button>
|
}}</gl-button>
|
||||||
</div>
|
</div>
|
||||||
<gl-table :fields="$options.fields" data-testid="deploy-keys-list" />
|
<template v-if="shouldShowTable">
|
||||||
|
<gl-table
|
||||||
|
:busy="loading"
|
||||||
|
:items="items"
|
||||||
|
:fields="$options.fields"
|
||||||
|
stacked="lg"
|
||||||
|
data-testid="deploy-keys-list"
|
||||||
|
>
|
||||||
|
<template #table-busy>
|
||||||
|
<gl-loading-icon size="lg" class="gl-my-5" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #cell(projects)="{ item: { projects } }">
|
||||||
|
<a
|
||||||
|
v-for="project in projects"
|
||||||
|
:key="project.id"
|
||||||
|
:href="projectHref(project)"
|
||||||
|
class="gl-display-block"
|
||||||
|
>{{ project.name_with_namespace }}</a
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #cell(fingerprint)="{ item: { fingerprint } }">
|
||||||
|
<code>{{ fingerprint }}</code>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #cell(created)="{ item: { created } }">
|
||||||
|
<time-ago-tooltip :time="created" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #head(actions)="{ label }">
|
||||||
|
<span class="gl-sr-only">{{ label }}</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #cell(actions)="{ item: { id } }">
|
||||||
|
<gl-button
|
||||||
|
icon="pencil"
|
||||||
|
:aria-label="$options.i18n.edit"
|
||||||
|
:href="editHref(id)"
|
||||||
|
class="gl-mr-2"
|
||||||
|
/>
|
||||||
|
<gl-button
|
||||||
|
variant="danger"
|
||||||
|
icon="remove"
|
||||||
|
:aria-label="$options.i18n.delete"
|
||||||
|
@click="handleDeleteClick(id)"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</gl-table>
|
||||||
|
<gl-pagination
|
||||||
|
v-if="!loading"
|
||||||
|
v-model="page"
|
||||||
|
:per-page="$options.DEFAULT_PER_PAGE"
|
||||||
|
:total-items="totalItems"
|
||||||
|
:next-text="$options.i18n.pagination.next"
|
||||||
|
:prev-text="$options.i18n.pagination.prev"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<gl-empty-state
|
||||||
|
v-else
|
||||||
|
:svg-path="emptyStateSvgPath"
|
||||||
|
:title="$options.i18n.emptyStateTitle"
|
||||||
|
:description="$options.i18n.emptyStateDescription"
|
||||||
|
:primary-button-text="$options.i18n.newDeployKeyButtonText"
|
||||||
|
:primary-button-link="createPath"
|
||||||
|
/>
|
||||||
|
<gl-modal
|
||||||
|
:modal-id="$options.modal.id"
|
||||||
|
:visible="isModalVisible"
|
||||||
|
:title="$options.i18n.modal.title"
|
||||||
|
:action-primary="$options.modal.actionPrimary"
|
||||||
|
:action-secondary="$options.modal.actionSecondary"
|
||||||
|
size="sm"
|
||||||
|
@hide="handleModalHide"
|
||||||
|
@primary="handleModalPrimary"
|
||||||
|
>
|
||||||
|
<form ref="modalForm" :action="deleteAction" method="post">
|
||||||
|
<input type="hidden" name="_method" value="delete" />
|
||||||
|
<input type="hidden" name="authenticity_token" :value="$options.csrf.token" />
|
||||||
|
</form>
|
||||||
|
{{ $options.i18n.modal.body }}
|
||||||
|
</gl-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -26,16 +27,15 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Activate user %{username}?'), {
|
title: sprintf(s__('AdminUsers|Activate user %{username}?'), {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
}),
|
}),
|
||||||
messageHtml,
|
|
||||||
actionCancel: {
|
actionCancel: {
|
||||||
text: __('Cancel'),
|
text: __('Cancel'),
|
||||||
},
|
},
|
||||||
|
@ -43,15 +43,16 @@ export default {
|
||||||
text: I18N_USER_ACTIONS.activate,
|
text: I18N_USER_ACTIONS.activate,
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
}),
|
messageHtml,
|
||||||
};
|
},
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -28,12 +29,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
attributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Approve user %{username}?'), {
|
title: sprintf(s__('AdminUsers|Approve user %{username}?'), {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
}),
|
}),
|
||||||
|
@ -45,16 +46,15 @@ export default {
|
||||||
attributes: [{ variant: 'confirm', 'data-qa-selector': 'approve_user_confirm_button' }],
|
attributes: [{ variant: 'confirm', 'data-qa-selector': 'approve_user_confirm_button' }],
|
||||||
},
|
},
|
||||||
messageHtml,
|
messageHtml,
|
||||||
}),
|
},
|
||||||
'data-qa-selector': 'approve_user_button',
|
});
|
||||||
};
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...attributes }">
|
<gl-dropdown-item data-qa-selector="approve_user_button" @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { helpPagePath } from '~/helpers/help_page_helper';
|
import { helpPagePath } from '~/helpers/help_page_helper';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -39,12 +40,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Ban user %{username}?'), {
|
title: sprintf(s__('AdminUsers|Ban user %{username}?'), {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
}),
|
}),
|
||||||
|
@ -56,15 +57,15 @@ export default {
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
messageHtml,
|
messageHtml,
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -29,12 +30,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Block user %{username}?'), { username: this.username }),
|
title: sprintf(s__('AdminUsers|Block user %{username}?'), { username: this.username }),
|
||||||
actionCancel: {
|
actionCancel: {
|
||||||
text: __('Cancel'),
|
text: __('Cancel'),
|
||||||
|
@ -44,15 +45,15 @@ export default {
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
messageHtml,
|
messageHtml,
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -36,12 +37,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Deactivate user %{username}?'), {
|
title: sprintf(s__('AdminUsers|Deactivate user %{username}?'), {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
}),
|
}),
|
||||||
|
@ -53,15 +54,15 @@ export default {
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
messageHtml,
|
messageHtml,
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { helpPagePath } from '~/helpers/help_page_helper';
|
import { helpPagePath } from '~/helpers/help_page_helper';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -39,12 +40,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'delete',
|
method: 'delete',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Reject user %{username}?'), {
|
title: sprintf(s__('AdminUsers|Reject user %{username}?'), {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
}),
|
}),
|
||||||
|
@ -56,15 +57,15 @@ export default {
|
||||||
attributes: [{ variant: 'danger' }],
|
attributes: [{ variant: 'danger' }],
|
||||||
},
|
},
|
||||||
messageHtml,
|
messageHtml,
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
// TODO: To be replaced with <template> content in https://gitlab.com/gitlab-org/gitlab/-/issues/320922
|
||||||
|
@ -22,12 +23,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Unban user %{username}?'), {
|
title: sprintf(s__('AdminUsers|Unban user %{username}?'), {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
}),
|
}),
|
||||||
|
@ -39,15 +40,15 @@ export default {
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
messageHtml,
|
messageHtml,
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -17,12 +18,13 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
|
||||||
modalAttributes() {
|
methods: {
|
||||||
return {
|
onClick() {
|
||||||
'data-path': this.path,
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-method': 'put',
|
path: this.path,
|
||||||
'data-modal-attributes': JSON.stringify({
|
method: 'put',
|
||||||
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Unblock user %{username}?'), { username: this.username }),
|
title: sprintf(s__('AdminUsers|Unblock user %{username}?'), { username: this.username }),
|
||||||
message: s__('AdminUsers|You can always block their account again if needed.'),
|
message: s__('AdminUsers|You can always block their account again if needed.'),
|
||||||
actionCancel: {
|
actionCancel: {
|
||||||
|
@ -32,15 +34,15 @@ export default {
|
||||||
text: I18N_USER_ACTIONS.unblock,
|
text: I18N_USER_ACTIONS.unblock,
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { GlDropdownItem } from '@gitlab/ui';
|
import { GlDropdownItem } from '@gitlab/ui';
|
||||||
import { sprintf, s__, __ } from '~/locale';
|
import { sprintf, s__, __ } from '~/locale';
|
||||||
|
import eventHub, { EVENT_OPEN_CONFIRM_MODAL } from '~/vue_shared/components/confirm_modal_eventhub';
|
||||||
import { I18N_USER_ACTIONS } from '../../constants';
|
import { I18N_USER_ACTIONS } from '../../constants';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -17,12 +18,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
methods: {
|
||||||
modalAttributes() {
|
onClick() {
|
||||||
return {
|
eventHub.$emit(EVENT_OPEN_CONFIRM_MODAL, {
|
||||||
'data-path': this.path,
|
path: this.path,
|
||||||
'data-method': 'put',
|
method: 'put',
|
||||||
'data-modal-attributes': JSON.stringify({
|
modalAttributes: {
|
||||||
title: sprintf(s__('AdminUsers|Unlock user %{username}?'), { username: this.username }),
|
title: sprintf(s__('AdminUsers|Unlock user %{username}?'), { username: this.username }),
|
||||||
message: __('Are you sure?'),
|
message: __('Are you sure?'),
|
||||||
actionCancel: {
|
actionCancel: {
|
||||||
|
@ -32,15 +33,15 @@ export default {
|
||||||
text: I18N_USER_ACTIONS.unlock,
|
text: I18N_USER_ACTIONS.unlock,
|
||||||
attributes: [{ variant: 'confirm' }],
|
attributes: [{ variant: 'confirm' }],
|
||||||
},
|
},
|
||||||
}),
|
},
|
||||||
};
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<gl-dropdown-item button-class="js-confirm-modal-button" v-bind="{ ...modalAttributes }">
|
<gl-dropdown-item @click="onClick">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</gl-dropdown-item>
|
</gl-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -57,14 +57,17 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
trimmedUsername() {
|
||||||
|
return this.username.trim();
|
||||||
|
},
|
||||||
modalTitle() {
|
modalTitle() {
|
||||||
return sprintf(this.title, { username: this.username }, false);
|
return sprintf(this.title, { username: this.trimmedUsername }, false);
|
||||||
},
|
},
|
||||||
secondaryButtonLabel() {
|
secondaryButtonLabel() {
|
||||||
return s__('AdminUsers|Block user');
|
return s__('AdminUsers|Block user');
|
||||||
},
|
},
|
||||||
canSubmit() {
|
canSubmit() {
|
||||||
return this.enteredUsername === this.username;
|
return this.enteredUsername === this.trimmedUsername;
|
||||||
},
|
},
|
||||||
obstacles() {
|
obstacles() {
|
||||||
try {
|
try {
|
||||||
|
@ -104,7 +107,7 @@ export default {
|
||||||
<p>
|
<p>
|
||||||
<gl-sprintf :message="content">
|
<gl-sprintf :message="content">
|
||||||
<template #username>
|
<template #username>
|
||||||
<strong>{{ username }}</strong>
|
<strong>{{ trimmedUsername }}</strong>
|
||||||
</template>
|
</template>
|
||||||
<template #strong="props">
|
<template #strong="props">
|
||||||
<strong>{{ props.content }}</strong>
|
<strong>{{ props.content }}</strong>
|
||||||
|
@ -115,13 +118,13 @@ export default {
|
||||||
<user-deletion-obstacles-list
|
<user-deletion-obstacles-list
|
||||||
v-if="obstacles.length"
|
v-if="obstacles.length"
|
||||||
:obstacles="obstacles"
|
:obstacles="obstacles"
|
||||||
:user-name="username"
|
:user-name="trimmedUsername"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<gl-sprintf :message="s__('AdminUsers|To confirm, type %{username}')">
|
<gl-sprintf :message="s__('AdminUsers|To confirm, type %{username}')">
|
||||||
<template #username>
|
<template #username>
|
||||||
<code class="gl-white-space-pre-wrap">{{ username }}</code>
|
<code class="gl-white-space-pre-wrap">{{ trimmedUsername }}</code>
|
||||||
</template>
|
</template>
|
||||||
</gl-sprintf>
|
</gl-sprintf>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -112,7 +112,7 @@ export default {
|
||||||
right
|
right
|
||||||
:text="$options.i18n.userAdministration"
|
:text="$options.i18n.userAdministration"
|
||||||
:text-sr-only="!showButtonLabels"
|
:text-sr-only="!showButtonLabels"
|
||||||
icon="settings"
|
icon="ellipsis_h"
|
||||||
data-qa-selector="user_actions_dropdown_toggle"
|
data-qa-selector="user_actions_dropdown_toggle"
|
||||||
:data-qa-username="user.username"
|
:data-qa-username="user.username"
|
||||||
>
|
>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
query getAlertsCount($searchTerm: String, $projectPath: ID!, $assigneeUsername: String = "") {
|
query getAlertsCount($searchTerm: String, $projectPath: ID!, $assigneeUsername: String = "") {
|
||||||
project(fullPath: $projectPath) {
|
project(fullPath: $projectPath) {
|
||||||
|
id
|
||||||
alertManagementAlertStatusCounts(search: $searchTerm, assigneeUsername: $assigneeUsername) {
|
alertManagementAlertStatusCounts(search: $searchTerm, assigneeUsername: $assigneeUsername) {
|
||||||
all
|
all
|
||||||
open
|
open
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
mutation createHttpIntegration($projectPath: ID!, $name: String!, $active: Boolean!) {
|
mutation createHttpIntegration($projectPath: ID!, $name: String!, $active: Boolean!) {
|
||||||
httpIntegrationCreate(input: { projectPath: $projectPath, name: $name, active: $active }) {
|
httpIntegrationCreate(input: { projectPath: $projectPath, name: $name, active: $active }) {
|
||||||
errors
|
errors
|
||||||
|
# We have ID in a deeply nested fragment
|
||||||
|
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
||||||
integration {
|
integration {
|
||||||
...HttpIntegrationItem
|
...HttpIntegrationItem
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
mutation destroyHttpIntegration($id: ID!) {
|
mutation destroyHttpIntegration($id: ID!) {
|
||||||
httpIntegrationDestroy(input: { id: $id }) {
|
httpIntegrationDestroy(input: { id: $id }) {
|
||||||
errors
|
errors
|
||||||
|
# We have ID in a deeply nested fragment
|
||||||
|
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
||||||
integration {
|
integration {
|
||||||
...HttpIntegrationItem
|
...HttpIntegrationItem
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
mutation resetHttpIntegrationToken($id: ID!) {
|
mutation resetHttpIntegrationToken($id: ID!) {
|
||||||
httpIntegrationResetToken(input: { id: $id }) {
|
httpIntegrationResetToken(input: { id: $id }) {
|
||||||
errors
|
errors
|
||||||
|
# We have ID in a deeply nested fragment
|
||||||
|
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
||||||
integration {
|
integration {
|
||||||
...HttpIntegrationItem
|
...HttpIntegrationItem
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
mutation updateHttpIntegration($id: ID!, $name: String!, $active: Boolean!) {
|
mutation updateHttpIntegration($id: ID!, $name: String!, $active: Boolean!) {
|
||||||
httpIntegrationUpdate(input: { id: $id, name: $name, active: $active }) {
|
httpIntegrationUpdate(input: { id: $id, name: $name, active: $active }) {
|
||||||
errors
|
errors
|
||||||
|
# We have ID in a deeply nested fragment
|
||||||
|
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
||||||
integration {
|
integration {
|
||||||
...HttpIntegrationItem
|
...HttpIntegrationItem
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
query getHttpIntegration($projectPath: ID!, $id: ID) {
|
query getHttpIntegration($projectPath: ID!, $id: ID) {
|
||||||
project(fullPath: $projectPath) {
|
project(fullPath: $projectPath) {
|
||||||
|
id
|
||||||
alertManagementHttpIntegrations(id: $id) {
|
alertManagementHttpIntegrations(id: $id) {
|
||||||
nodes {
|
nodes {
|
||||||
...HttpIntegrationPayloadData
|
...HttpIntegrationPayloadData
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
query getIntegrations($projectPath: ID!) {
|
query getIntegrations($projectPath: ID!) {
|
||||||
project(fullPath: $projectPath) {
|
project(fullPath: $projectPath) {
|
||||||
|
id
|
||||||
alertManagementIntegrations {
|
alertManagementIntegrations {
|
||||||
nodes {
|
nodes {
|
||||||
...IntegrationItem
|
...IntegrationItem
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
query parsePayloadFields($projectPath: ID!, $payload: String!) {
|
query parsePayloadFields($projectPath: ID!, $payload: String!) {
|
||||||
project(fullPath: $projectPath) {
|
project(fullPath: $projectPath) {
|
||||||
|
id
|
||||||
alertManagementPayloadFields(payloadExample: $payload) {
|
alertManagementPayloadFields(payloadExample: $payload) {
|
||||||
path
|
path
|
||||||
label
|
label
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue