summaryrefslogtreecommitdiff
path: root/.gitlab
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-02-18 10:34:06 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-02-18 10:34:06 +0000
commit859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch)
treed7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /.gitlab
parent446d496a6d000c73a304be52587cd9bbc7493136 (diff)
downloadgitlab-ce-859a6fb938bb9ee2a317c46dfa4fcc1af49608f0.tar.gz
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/CODEOWNERS263
-rw-r--r--.gitlab/ci/cng.gitlab-ci.yml2
-rw-r--r--.gitlab/ci/docs.gitlab-ci.yml9
-rw-r--r--.gitlab/ci/frontend.gitlab-ci.yml6
-rw-r--r--.gitlab/ci/global.gitlab-ci.yml34
-rw-r--r--.gitlab/ci/notify.gitlab-ci.yml2
-rw-r--r--.gitlab/ci/qa.gitlab-ci.yml2
-rw-r--r--.gitlab/ci/rails.gitlab-ci.yml33
-rw-r--r--.gitlab/ci/releases.gitlab-ci.yml2
-rw-r--r--.gitlab/ci/review.gitlab-ci.yml4
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml12
-rw-r--r--.gitlab/ci/setup.gitlab-ci.yml6
-rw-r--r--.gitlab/ci/test-metadata.gitlab-ci.yml2
-rw-r--r--.gitlab/ci/verify-lockfile.gitlab-ci.yml11
-rw-r--r--.gitlab/ci/workhorse.gitlab-ci.yml38
-rw-r--r--.gitlab/issue_templates/Actionable Insight.md28
-rw-r--r--.gitlab/issue_templates/Adoption Engineering.md14
-rw-r--r--.gitlab/issue_templates/Basic Proposal.md2
-rw-r--r--.gitlab/issue_templates/Dogfooding.md17
-rw-r--r--.gitlab/issue_templates/Feature Flag Roll Out.md3
-rw-r--r--.gitlab/issue_templates/Feature proposal.md6
-rw-r--r--.gitlab/issue_templates/Lean Feature Proposal.md6
-rw-r--r--.gitlab/issue_templates/Query Performance Investigation.md39
-rw-r--r--.gitlab/issue_templates/Security developer workflow.md2
-rw-r--r--.gitlab/issue_templates/actionable_insight.md34
-rw-r--r--.gitlab/merge_request_templates/Change Documentation Location.md4
-rw-r--r--.gitlab/merge_request_templates/Documentation.md8
-rw-r--r--.gitlab/merge_request_templates/New Static Analysis Check.md5
28 files changed, 377 insertions, 217 deletions
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS
index df81d05eec1..0d34eeccf8c 100644
--- a/.gitlab/CODEOWNERS
+++ b/.gitlab/CODEOWNERS
@@ -6,137 +6,128 @@
*.rb @gitlab-org/maintainers/rails-backend
*.rake @gitlab-org/maintainers/rails-backend
-[Documentation]
+[Documentation Directories]
/doc/ @gl-docsteam
-/doc/administration/monitoring/ @aqualls
+/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris
+/doc/administration/geo/ @axil
+/doc/administration/gitaly/ @eread
+/doc/administration/integration/ @aqualls
+/doc/administration/lfs/ @aqualls
+/doc/administration/monitoring/ @ngaskill
+/doc/administration/operations/ @axil @eread @marcia
+/doc/administration/packages/ @ngaskill
+/doc/administration/postgresql/ @marcia
+/doc/administration/raketasks/ @axil @eread @mjang1
+/doc/administration/redis/ @axil
+/doc/administration/reference_architectures/ @axil
+/doc/administration/snippets/ @aqualls
+/doc/administration/troubleshooting @axil @marcia @mjang1
+/doc/ci/ @marcel.amirault @sselhorn
+/doc/ci/environments/ @axil
+/doc/ci/release/ @axil
+/doc/ci/services/ @sselhorn
+/doc/ci/test_cases/ @msedlakjakubowski
/doc/development/ @marcia @mjang1
/doc/development/documentation/ @cnorris
-/doc/ci @marcel.amirault @sselhorn
-/doc/operations @aqualls @eread
-/doc/user/clusters @aqualls
-/doc/user/infrastructure @aqualls
-/doc/user/project/clusters @aqualls
-/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris
+/doc/gitlab-basics/ @marcia
+/doc/install/ @axil
+/doc/integration/ @aqualls @mjang1
+/doc/operations/ @ngaskill @axil
+/doc/push_rules/ @aqualls
+/doc/ssh/ @mjang1
+/doc/subscriptions/ @sselhorn
+/doc/topics/autodevops/ @ngaskill @marcia
+/doc/topics/git/ @aqualls
+/doc/update/ @axil @marcia
+/doc/user/analytics/ @mjang1 @ngaskill
+/doc/user/application_security @rdickenson
+/doc/user/clusters/ @marcia
+/doc/user/compliance/ @mjang1 @rdickenson
+/doc/user/group/ @mjang1 @msedlakjakubowski
+/doc/user/group/bulk_editing/ @msedlakjakubowski
+/doc/user/group/epics/ @msedlakjakubowski
+/doc/user/group/iterations/ @msedlakjakubowski
+/doc/user/group/roadmap/ @msedlakjakubowski
+/doc/user/infrastructure/ @marcia
+/doc/user/packages/ @ngaskill
+/doc/user/profile/ @mjang1 @msedlakjakubowski
+/doc/user/project/ @aqualls @axil @eread @mjang1 @msedlakjakubowski @ngaskill
+/doc/user/project/clusters/ @ngaskill
+/doc/user/project/import/ @mjang1 @msedlakjakubowski
+/doc/user/project/integrations/ @aqualls
+/doc/user/project/integrations/prometheus_library/ @ngaskill
+/doc/user/project/issues/ @msedlakjakubowski
+/doc/user/project/merge_requests/ @aqualls @eread
+/doc/user/project/milestones/ @msedlakjakubowski
+/doc/user/project/pages/ @axil
+/doc/user/project/repository/ @aqualls
+/doc/user/project/settings/ @mjang1 @aqualls
+/doc/user/project/static_site_editor/index.md @aqualls
+/doc/user/project/web_ide/index.md @aqualls
+/doc/user/project/wiki/index.md @aqualls
+/doc/user/search/ @marcia @aqualls
[Docs Create]
-/doc/user/project/merge_requests/allow_collaboration.md @marcia
-/doc/user/project/merge_requests/authorization_for_merge_requests.md @marcia
-/doc/user/project/merge_requests/cherry_pick_changes.md @marcia
-/doc/user/project/merge_requests/creating_merge_requests.md @marcia
-/doc/user/project/merge_requests/fast_forward_merge.md @marcia
-/doc/user/project/merge_requests/getting_started.md @marcia
-/doc/user/project/merge_requests/index.md @marcia
-/doc/user/project/merge_requests/merge_request_approvals.md @marcia
-/doc/user/project/merge_requests/merge_request_dependencies.md @marcia
-/doc/user/project/merge_requests/resolve_conflicts.md @marcia
-/doc/user/project/merge_requests/revert_changes.md @marcia
-/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md @marcia
-/doc/user/project/merge_requests/squash_and_merge.md @marcia
-/doc/user/project/merge_requests/work_in_progress_merge_requests.md @marcia
-/doc/user/project/repository/file_finder.md @marcia
-/doc/user/project/repository/forking_workflow.md @marcia
-/doc/user/project/repository/git_blame.md @marcia
-/doc/user/project/repository/git_history.md @marcia
-/doc/user/project/repository/index.md @marcia
-/doc/user/project/repository/repository_mirroring.md @marcia
-/doc/user/project/repository/web_editor.md @marcia
-/doc/user/project/autocomplete_characters.md @marcia
-/doc/user/project/badges.md @marcia
-/doc/user/project/code_intelligence.md @marcia
-/doc/user/project/code_owners.md @marcia
-/doc/user/project/file_lock.md @marcia
-/doc/user/project/git_attributes.md @marcia
-/doc/user/project/highlighting.md @marcia
-/doc/user/project/index.md @marcia
-/doc/user/project/protected_branches.md @marcia
-/doc/user/project/protected_tags.md @marcia
-/doc/user/project/push_options.md @marcia
-/doc/user/project/repository/branches/index.md @marcia
-/doc/user/project/repository/gpg_signed_commits/index.md @marcia
-/doc/user/project/repository/jupyter_notebooks/index.md @marcia
-/doc/user/project/repository/x509_signed_commits/index.md @marcia
-/doc/user/project/settings/import_export.md @marcia
-/doc/user/project/settings/index.md @marcia
-/doc/user/project/settings/project_access_tokens.md @marcia
-/doc/user/project/static_site_editor/index.md @marcia
-/doc/user/project/web_ide/index.md @marcia
-/doc/user/project/wiki/index.md @marcia
-/doc/gitlab-basics/README.md @marcia
-/doc/gitlab-basics/add-file.md @marcia
-/doc/gitlab-basics/command-line-commands.md @marcia
-/doc/gitlab-basics/create-branch.md @marcia
-/doc/gitlab-basics/create-project.md @marcia
-/doc/gitlab-basics/create-your-ssh-keys.md @marcia
-/doc/gitlab-basics/feature_branch_workflow.md @marcia
-/doc/gitlab-basics/fork-project.md @marcia
-/doc/gitlab-basics/start-using-git.md @marcia
-/doc/integration/sourcegraph.md @marcia
-/doc/intro/README.md @marcia
-/doc/push_rules/push_rules.md @marcia
-/doc/ssh/README.md @marcia
-/doc/topics/git/feature_branch_development.md @marcia
-/doc/topics/git/how_to_install_git/index.md @marcia
-/doc/topics/git/index.md @marcia
-/doc/topics/git/lfs/index.md @marcia
-/doc/topics/git/lfs/migrate_from_git_annex_to_git_lfs.md @marcia
-/doc/topics/git/numerous_undo_possibilities_in_git/index.md @marcia
-/doc/topics/git/partial_clone.md @marcia
-/doc/topics/git/troubleshooting_git.md @marcia
-/doc/topics/git/useful_git_commands.md @marcia
-/doc/topics/gitlab_flow.md @marcia
-/doc/user/index.md @marcia
-/doc/user/snippets.md @marcia
-/doc/administration/issue_closing_pattern.md @marcia
-/doc/user/asciidoc.md @marcia
-/doc/user/markdown.md @marcia
-/doc/user/search/advanced_global_search.md @marcia
-/doc/user/search/advanced_search_syntax.md @marcia
-/doc/user/search/index.md @marcia
-/doc/administration/file_hooks.md @marcia
-/doc/administration/git_annex.md @marcia
-/doc/administration/git_protocol.md @marcia
-/doc/administration/integration/plantuml.md @marcia
-/doc/administration/invalidate_markdown_cache.md @marcia
-/doc/administration/issue_closing_pattern.md @marcia
-/doc/administration/lfs/index.md @marcia
-/doc/administration/merge_request_diffs.md @marcia
-/doc/administration/repository_checks.md @marcia
-/doc/administration/snippets/index.md @marcia
-/doc/administration/static_objects_external_storage.md @marcia
-/doc/api/access_requests.md @marcia
-/doc/api/branches.md @marcia
-/doc/api/commits.md @marcia
-/doc/api/discussions.md @marcia
-/doc/api/group_wikis.md @marcia
-/doc/api/keys.md @marcia
-/doc/api/markdown.md @marcia
-/doc/api/merge_request_approvals.md @marcia
-/doc/api/merge_request_context_commits.md @marcia
-/doc/api/merge_requests.md @marcia
-/doc/api/project_aliases.md @marcia
-/doc/api/project_badges.md @marcia
-/doc/api/project_import_export.md @marcia
-/doc/api/project_level_variables.md @marcia
-/doc/api/project_snippets.md @marcia
-/doc/api/project_statistics.md @marcia
-/doc/api/project_templates.md @marcia
-/doc/api/project_vulnerabilities.md @marcia
-/doc/api/protected_branches.md @marcia
-/doc/api/protected_tags.md @marcia
-/doc/api/remote_mirrors.md @marcia
-/doc/api/repositories.md @marcia
-/doc/api/repository_files.md @marcia
-/doc/api/repository_submodules.md @marcia
-/doc/api/search.md @marcia
-/doc/api/snippets.md @marcia
-/doc/api/suggestions.md @marcia
-/doc/api/tags.md @marcia
-/doc/api/visual_review_discussions.md @marcia
-/doc/api/wikis.md @marcia
-/doc/user/admin_area/settings/account_and_limit_settings.md @marcia
-/doc/user/admin_area/settings/instance_template_repository.md @marcia
-/doc/user/admin_area/settings/push_event_activities_limit.md @marcia
-/doc/user/admin_area/settings/visibility_and_access_controls.md @marcia
+/doc/administration/file_hooks.md @aqualls
+/doc/administration/git_annex.md @aqualls
+/doc/administration/git_protocol.md @aqualls
+/doc/administration/invalidate_markdown_cache.md @aqualls
+/doc/administration/issue_closing_pattern.md @aqualls
+/doc/administration/merge_request_diffs.md @aqualls
+/doc/administration/repository_checks.md @aqualls
+/doc/administration/static_objects_external_storage.md @aqualls
+/doc/api/access_requests.md @aqualls
+/doc/api/branches.md @aqualls
+/doc/api/commits.md @aqualls
+/doc/api/discussions.md @aqualls
+/doc/api/group_wikis.md @aqualls
+/doc/api/keys.md @aqualls
+/doc/api/markdown.md @aqualls
+/doc/api/merge_request_approvals.md @aqualls
+/doc/api/merge_request_context_commits.md @aqualls
+/doc/api/merge_requests.md @aqualls
+/doc/api/project_aliases.md @aqualls
+/doc/api/project_badges.md @aqualls
+/doc/api/project_import_export.md @aqualls
+/doc/api/project_level_variables.md @aqualls
+/doc/api/project_snippets.md @aqualls
+/doc/api/project_statistics.md @aqualls
+/doc/api/project_templates.md @aqualls
+/doc/api/project_vulnerabilities.md @aqualls
+/doc/api/protected_branches.md @aqualls
+/doc/api/protected_tags.md @aqualls
+/doc/api/remote_mirrors.md @aqualls
+/doc/api/repositories.md @aqualls
+/doc/api/repository_files.md @aqualls
+/doc/api/repository_submodules.md @aqualls
+/doc/api/search.md @aqualls
+/doc/api/snippets.md @aqualls
+/doc/api/suggestions.md @aqualls
+/doc/api/tags.md @aqualls
+/doc/api/visual_review_discussions.md @aqualls
+/doc/api/wikis.md @aqualls
+/doc/intro/README.md @aqualls
+/doc/topics/gitlab_flow.md @aqualls
+/doc/user/admin_area/settings/account_and_limit_settings.md @aqualls
+/doc/user/admin_area/settings/instance_template_repository.md @aqualls
+/doc/user/admin_area/settings/push_event_activities_limit.md @aqualls
+/doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls
+/doc/user/asciidoc.md @aqualls
+/doc/user/index.md @aqualls
+/doc/user/markdown.md @aqualls
+/doc/user/project/autocomplete_characters.md @aqualls
+/doc/user/project/badges.md @aqualls
+/doc/user/project/code_intelligence.md @aqualls
+/doc/user/project/code_owners.md @aqualls
+/doc/user/project/file_lock.md @aqualls
+/doc/user/project/git_attributes.md @aqualls
+/doc/user/project/highlighting.md @aqualls
+/doc/user/project/index.md @aqualls
+/doc/user/project/protected_branches.md @aqualls
+/doc/user/project/protected_tags.md @aqualls
+/doc/user/project/push_options.md @aqualls
+/doc/user/project/settings/import_export.md @aqualls
+/doc/user/snippets.md @aqualls
[Frontend]
*.scss @annabeldunstone @gitlab-org/maintainers/frontend
@@ -173,7 +164,7 @@
/.gitlab/CODEOWNERS @gl-quality/eng-prod
Dangerfile @gl-quality/eng-prod
/danger/ @gl-quality/eng-prod
-/lib/gitlab/danger/ @gl-quality/eng-prod
+/tooling/danger/ @gl-quality/eng-prod
/scripts/ @gl-quality/eng-prod
/scripts/frontend/ @gl-quality/eng-prod @gitlab-org/maintainers/frontend
/scripts/review_apps/seed-dast-test-data.sh @dappelt @ngeorge1 @gl-quality/eng-prod
@@ -257,3 +248,21 @@ Dangerfile @gl-quality/eng-prod
/lib/gitlab/usage_data.rb @gitlab-org/growth/product_intelligence/engineers
/lib/gitlab/cycle_analytics/usage_data.rb @gitlab-org/growth/product-intelligence/engineers
/lib/gitlab/usage_data_counters/ @gitlab-org/growth/product-intelligence/engineers
+
+[Growth Experiments]
+/app/assets/javascripts/lib/utils/experimentation.js @gitlab-org/growth/experiment-devs
+/app/experiments/ @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_user.rb @gitlab-org/growth/experiment-devs
+/app/workers/experiments/ @gitlab-org/growth/experiment-devs
+/config/feature_flags/experiment/ @gitlab-org/growth/experiment-devs
+/ee/config/feature_flags/experiment/ @gitlab-org/growth/experiment-devs
+/ee/lib/api/experiments.rb @gitlab-org/growth/experiment-devs
+/ee/lib/ee/api/entities/experiment.rb @gitlab-org/growth/experiment-devs
+/lib/gitlab/experimentation/ @gitlab-org/growth/experiment-devs
+/lib/gitlab/experimentation.rb @gitlab-org/growth/experiment-devs
+/lib/gitlab/experimentation_logger.rb @gitlab-org/growth/experiment-devs
+
+[Legal]
+/config/dependency_decisions.yml @gitlab-org/legal-reviewers
diff --git a/.gitlab/ci/cng.gitlab-ci.yml b/.gitlab/ci/cng.gitlab-ci.yml
index 269996dfd09..af735d3212a 100644
--- a/.gitlab/ci/cng.gitlab-ci.yml
+++ b/.gitlab/ci/cng.gitlab-ci.yml
@@ -1,6 +1,6 @@
cloud-native-image:
extends: .cng:rules
- image: ruby:2.7-alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
dependencies: []
stage: post-test
variables:
diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml
index 955f44c6216..b42b32ea44d 100644
--- a/.gitlab/ci/docs.gitlab-ci.yml
+++ b/.gitlab/ci/docs.gitlab-ci.yml
@@ -2,7 +2,7 @@
extends:
- .default-retry
- .docs:rules:review-docs
- image: ruby:2.7-alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
stage: review
needs: []
variables:
@@ -66,13 +66,6 @@ docs-lint links:
- bundle exec nanoc
# Check the internal links
- bundle exec nanoc check internal_links
- # Delete the redirect files, rebuild, and check internal links again, to see if we are linking to redirects.
- # Don't delete the documentation/index.md, which is a false positive for the simple grep.
- - grep -rl "redirect_to:" /tmp/gitlab-docs/content/ee/ | grep -v "development/documentation/index.md" | xargs rm -f
- - bundle exec nanoc
- - echo -e "\e[1;96mThe following test fails when a doc links to a redirect file."
- - echo -e "\e[1;96mMake sure all links point to the correct page."
- - bundle exec nanoc check internal_links
# Check the internal anchor links
- bundle exec nanoc check internal_anchors
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index c87305cab18..1b4b8a12772 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -15,7 +15,7 @@
extends:
- .frontend-base
- .assets-compile-cache
- image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-git-2.29-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34
+ image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34
variables:
WEBPACK_VENDOR_DLL: "true"
stage: prepare
@@ -259,13 +259,13 @@ coverage-frontend:
qa-frontend-node:10:
extends: .qa-frontend-node
- image: node:dubnium
+ image: ${GITLAB_DEPENDENCY_PROXY}node:dubnium
qa-frontend-node:latest:
extends:
- .qa-frontend-node
- .frontend:rules:qa-frontend-node-latest
- image: node:latest
+ image: ${GITLAB_DEPENDENCY_PROXY}node:latest
webpack-dev-server:
extends:
diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml
index 355607c17ac..5de8a6bc250 100644
--- a/.gitlab/ci/global.gitlab-ci.yml
+++ b/.gitlab/ci/global.gitlab-ci.yml
@@ -16,15 +16,23 @@
- source scripts/utils.sh
- source scripts/prepare_build.sh
-.rails-cache:
+.setup-test-env-cache:
cache:
- key: "rails-v3"
+ key: "setup-test-env-v1"
paths:
- vendor/ruby/
- vendor/gitaly-ruby/
- .go/pkg/mod/
policy: pull
+.rails-cache:
+ cache:
+ key: "rails-v4"
+ paths:
+ - vendor/ruby/
+ - vendor/gitaly-ruby/
+ policy: pull
+
.static-analysis-cache:
cache:
key: "static-analysis-v2"
@@ -71,41 +79,41 @@
policy: pull
.use-pg11:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
services:
- name: postgres:11.6
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- - name: redis:4.0-alpine
+ - name: redis:5.0-alpine
variables:
POSTGRES_HOST_AUTH_METHOD: trust
.use-pg12:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
services:
- name: postgres:12
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- - name: redis:4.0-alpine
+ - name: redis:5.0-alpine
variables:
POSTGRES_HOST_AUTH_METHOD: trust
.use-pg11-ee:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34"
services:
- name: postgres:11.6
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- - name: redis:4.0-alpine
- - name: elasticsearch:7.9.2
+ - name: redis:5.0-alpine
+ - name: elasticsearch:7.10.1
command: ["elasticsearch", "-E", "discovery.type=single-node"]
variables:
POSTGRES_HOST_AUTH_METHOD: trust
.use-pg12-ee:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
+ image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34"
services:
- name: postgres:12
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- - name: redis:4.0-alpine
- - name: elasticsearch:7.9.2
+ - name: redis:5.0-alpine
+ - name: elasticsearch:7.10.1
command: ["elasticsearch", "-E", "discovery.type=single-node"]
variables:
POSTGRES_HOST_AUTH_METHOD: trust
@@ -124,7 +132,7 @@
FOSS_ONLY: '1'
.use-docker-in-docker:
- image: docker:${DOCKER_VERSION}
+ image: ${GITLAB_DEPENDENCY_PROXY}docker:${DOCKER_VERSION}
services:
- docker:${DOCKER_VERSION}-dind
variables:
diff --git a/.gitlab/ci/notify.gitlab-ci.yml b/.gitlab/ci/notify.gitlab-ci.yml
index e18a092bb8f..a8c156c7dba 100644
--- a/.gitlab/ci/notify.gitlab-ci.yml
+++ b/.gitlab/ci/notify.gitlab-ci.yml
@@ -1,5 +1,5 @@
.notify-slack:
- image: alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}alpine
stage: notify
dependencies: []
cache: {}
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml
index 1dc403c9d06..788b482f0a6 100644
--- a/.gitlab/ci/qa.gitlab-ci.yml
+++ b/.gitlab/ci/qa.gitlab-ci.yml
@@ -47,7 +47,7 @@ update-qa-cache:
policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
.package-and-qa-base:
- image: ruby:2.7-alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
stage: qa
retry: 0
script:
diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml
index a2a16424f4a..22aa92779ea 100644
--- a/.gitlab/ci/rails.gitlab-ci.yml
+++ b/.gitlab/ci/rails.gitlab-ci.yml
@@ -141,6 +141,7 @@
setup-test-env:
extends:
- .rails-job-base
+ - .setup-test-env-cache
- .rails:rules:default-refs-code-backstage-qa
- .use-pg11
stage: prepare
@@ -180,11 +181,19 @@ setup-test-env:
- tmp/tests/second_storage/
when: always
-update-rails-cache:
+update-setup-test-env-cache:
extends:
- setup-test-env
- .shared:rules:update-cache
- artifacts: {} # This job's purpose is only to update the cache.
+ artifacts:
+ paths: [] # This job's purpose is only to update the cache.
+ cache:
+ policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
+
+update-rails-cache:
+ extends:
+ - update-setup-test-env-cache
+ - .rails-cache
cache:
policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
@@ -376,6 +385,17 @@ db:rollback:
- bundle exec rake db:migrate VERSION=20181228175414
- bundle exec rake db:migrate SKIP_SCHEMA_VERSION_CHECK=true
+db:gitlabcom-database-testing:
+ extends: .rails:rules:db:gitlabcom-database-testing
+ stage: test
+ image: ruby:2.7-alpine
+ needs: []
+ allow_failure: true
+ script:
+ - source scripts/utils.sh
+ - install_gitlab_gem
+ - ./scripts/trigger-build gitlab-com-database-testing
+
gitlab:setup:
extends: .db-job-base
variables:
@@ -433,6 +453,8 @@ rspec:deprecations:
variables:
SETUP_DB: "false"
script:
+ - grep -h -R "keyword" deprecations/ | awk '{$1=$1};1' | sort | uniq -c | sort
+ - grep -R "keyword" deprecations/ | wc
- run_timed_command "bundle exec rubocop --only Lint/LastKeywordArgument --parallel"
artifacts:
expire_in: 31d
@@ -482,7 +504,6 @@ rspec:feature-flags:
- .coverage-base
- .rails:rules:rspec-feature-flags
stage: post-test
- allow_failure: true
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies:
@@ -502,7 +523,11 @@ rspec:feature-flags:
- memory-on-boot
script:
- run_timed_command "bundle install --jobs=$(nproc) --path=vendor --retry=3 --quiet --without default development test production puma unicorn kerberos metrics omnibus ed25519"
- - 'run_timed_command "bundle exec scripts/used-feature-flags" || (scripts/slack master-broken "☠️ \`${CI_JOB_NAME}\` failed! ☠️ See ${CI_JOB_URL}" ci_failing "GitLab Bot" && exit 1)'
+ - if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
+ run_timed_command "bundle exec scripts/used-feature-flags" || (scripts/slack master-broken "☠️ \`${CI_JOB_NAME}\` failed! ☠️ See ${CI_JOB_URL}" ci_failing "GitLab Bot" && exit 1);
+ else
+ run_timed_command "bundle exec scripts/used-feature-flags";
+ fi
# EE/FOSS: default refs (MRs, master, schedules) jobs #
#######################################################
diff --git a/.gitlab/ci/releases.gitlab-ci.yml b/.gitlab/ci/releases.gitlab-ci.yml
index b3f961afe62..77f23814f3c 100644
--- a/.gitlab/ci/releases.gitlab-ci.yml
+++ b/.gitlab/ci/releases.gitlab-ci.yml
@@ -4,7 +4,7 @@
.merge-train-sync:
# We don't need/want any global before/after commands, so we overwrite these
# settings.
- image: alpine:edge
+ image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge
stage: sync
before_script:
- apk add --no-cache --update curl bash jq
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index b7d9f18dcb4..c18e898dc12 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -25,7 +25,7 @@ review-build-cng:
extends:
- .default-retry
- .review:rules:review-build-cng
- image: ruby:2.7-alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
stage: review-prepare
before_script:
- source ./scripts/utils.sh
@@ -199,7 +199,7 @@ review-performance:
parallel-spec-reports:
extends:
- .review:rules:mr-only-manual
- image: ruby:2.7-alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
stage: post-qa
dependencies: ["review-qa-all"]
variables:
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 5e8cdf0daaf..1eafd024f5e 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -112,6 +112,7 @@
.workhorse-patterns: &workhorse-patterns
- "GITLAB_WORKHORSE_VERSION"
- "workhorse/**/*"
+ - ".gitlab/ci/workhorse.gitlab-ci.yml"
.yaml-lint-patterns: &yaml-lint-patterns
- ".gitlab-ci.yml"
@@ -123,9 +124,12 @@
- ".gitlab/route-map.yml"
- "doc/**/*"
- ".markdownlint.json"
+ - "scripts/lint-doc.sh"
.frontend-dependency-patterns: &frontend-dependency-patterns
- "{package.json,yarn.lock}"
+ - "config/webpack.config.js"
+ - "config/helpers/*.js"
.frontend-patterns: &frontend-patterns
- "{package.json,yarn.lock}"
@@ -523,6 +527,13 @@
changes: *db-patterns
- <<: *if-merge-request-title-run-all-rspec
+.rails:rules:db:gitlabcom-database-testing:
+ rules:
+ - if: '$GITLABCOM_DATABASE_TESTING_TRIGGER_TOKEN == null'
+ when: never
+ - <<: *if-merge-request
+ changes: *db-patterns
+
.rails:rules:ee-and-foss-unit:
rules:
- changes: *backend-patterns
@@ -869,6 +880,7 @@
- <<: *if-not-ee
when: never
- <<: *if-master-schedule-2-hourly
+ allow_failure: true
- <<: *if-merge-request-title-run-all-rspec
.rails:rules:master-schedule-nightly--code-backstage:
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index 74510a0a03a..27b68115edc 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -26,7 +26,7 @@ cache gems:
dont-interrupt-me:
extends: .setup:rules:dont-interrupt-me
stage: sync
- image: alpine:edge
+ image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge
interruptible: false
variables:
GIT_STRATEGY: none
@@ -52,7 +52,7 @@ no_ee_check:
verify-tests-yml:
extends:
- .setup:rules:verify-tests-yml
- image: ruby:2.7-alpine
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
stage: test
needs: []
script:
@@ -61,7 +61,7 @@ verify-tests-yml:
- scripts/verify-tff-mapping
.detect-test-base:
- image: ruby:2.7
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7
needs: []
stage: prepare
script:
diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml
index aec0a1640f1..b90c02c08ef 100644
--- a/.gitlab/ci/test-metadata.gitlab-ci.yml
+++ b/.gitlab/ci/test-metadata.gitlab-ci.yml
@@ -1,5 +1,5 @@
.tests-metadata-state:
- image: ruby:2.7
+ image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7
before_script:
- source scripts/utils.sh
artifacts:
diff --git a/.gitlab/ci/verify-lockfile.gitlab-ci.yml b/.gitlab/ci/verify-lockfile.gitlab-ci.yml
new file mode 100644
index 00000000000..6336a428b4b
--- /dev/null
+++ b/.gitlab/ci/verify-lockfile.gitlab-ci.yml
@@ -0,0 +1,11 @@
+verify_lockfile:
+ stage: test
+ image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34
+ needs: []
+ rules:
+ - changes:
+ - yarn.lock
+ script:
+ - npm config set @dappelt:registry https://gitlab.com/api/v4/projects/22564149/packages/npm/
+ - npx lockfile-lint@4.3.7 --path yarn.lock --allowed-hosts yarn --validate-https
+ - npx @dappelt/untamper-my-lockfile --lockfile yarn.lock
diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml
index 29131159876..a40eebd131b 100644
--- a/.gitlab/ci/workhorse.gitlab-ci.yml
+++ b/.gitlab/ci/workhorse.gitlab-ci.yml
@@ -1,6 +1,6 @@
workhorse:
extends: .workhorse:rules:workhorse
- image: golang:1.14
+ image: ${GITLAB_DEPENDENCY_PROXY}golang:1.14
stage: test
needs: []
script:
@@ -8,3 +8,39 @@ workhorse:
- git checkout .
- scripts/update-workhorse check
- make -C workhorse
+
+workhorse:verify:
+ extends: .workhorse:rules:workhorse
+ image: ${GITLAB_DEPENDENCY_PROXY}golang:1.15
+ stage: test
+ needs: []
+ script:
+ - make -C workhorse verify
+
+.workhorse:test:
+ extends: .workhorse:rules:workhorse
+ services:
+ - name: registry.gitlab.com/gitlab-org/build/cng/gitaly:latest
+ # Disable the hooks so we don't have to stub the GitLab API
+ command: ["/usr/bin/env", "GITALY_TESTING_NO_GIT_HOOKS=1", "/scripts/process-wrapper"]
+ alias: gitaly
+ variables:
+ GITALY_ADDRESS: "tcp://gitaly:8075"
+ stage: test
+ needs: []
+ script:
+ - go version
+ - apt-get update && apt-get -y install libimage-exiftool-perl
+ - make -C workhorse test
+
+workhorse:test using go 1.13:
+ extends: .workhorse:test
+ image: ${GITLAB_DEPENDENCY_PROXY}golang:1.13
+
+workhorse:test using go 1.14:
+ extends: .workhorse:test
+ image: ${GITLAB_DEPENDENCY_PROXY}golang:1.14
+
+workhorse:test using go 1.15:
+ extends: .workhorse:test
+ image: ${GITLAB_DEPENDENCY_PROXY}golang:1.15
diff --git a/.gitlab/issue_templates/Actionable Insight.md b/.gitlab/issue_templates/Actionable Insight.md
new file mode 100644
index 00000000000..df519f81799
--- /dev/null
+++ b/.gitlab/issue_templates/Actionable Insight.md
@@ -0,0 +1,28 @@
+<!-- Actionable insights must recommend an action that needs to take place. An actionable insight both defines the insight and clearly calls out action or next step required to improve based on the result of the research observation or data. Actionable insights are tracked over time and will include follow-up. Learn more in the handbook here: https://about.gitlab.com/handbook/engineering/ux/ux-research-training/research-insights/#actionable-insights -->
+
+### Insight
+<!-- Describe the insight itself: often the problem, finding, or observation. -->
+
+### Supporting evidence
+<!-- Describe why the problem is happening, or more details behind the finding or observation. Try to include quotes or specific data collected. Feel free to link the Actionable insight from Dovetail here if applicable instead of retyping details. -->
+
+### Action
+<!--Describe the next step or action that needs to take place as a result of the research. The action should be clearly defined, achievable, and directly tied back to the insight. Make sure to use directive terminology, such as: conduct, explore, redesign, etc. -->
+
+### Resources
+ <!--Add resources as links below or as related issues. -->
+
+- :dove: [Dovetail project](Paste URL for Dovetail project here)
+- :mag: [Research issue](Paste URL for research issue here)
+- :footprints: [Follow-up issue or epic](Paste URL for follow-up issue or epic here)
+
+### Tasks
+- [ ] Assign this issue to the appropriate Product Manager, Product Designer, or UX Researcher.
+- [ ] Add the appropriate `Group` (such as `~"group::source code"`) label to the issue. This helps identify and track actionable insights at the group level.
+- [ ] Link this issue back to the original research issue in the GitLab UX Research project and the Dovetail project.
+
+
+
+
+/label ~"Actionable Insight"
+
diff --git a/.gitlab/issue_templates/Adoption Engineering.md b/.gitlab/issue_templates/Adoption Engineering.md
new file mode 100644
index 00000000000..01e9d0ea033
--- /dev/null
+++ b/.gitlab/issue_templates/Adoption Engineering.md
@@ -0,0 +1,14 @@
+#Design
+<!-- This should include the contexts that determine the reproducibility (stickiness) of an experiment. This means that if you want the same behavior for a user, the context would be user, or if you want all users when viewing a specific project, the context would be the project being viewed, etc. -->
+
+
+#Rollout strategy
+<!-- This is currently called A/B test, which isn't accurate for multi-variants. Let's call this rollout strategy. It should outline the percentages for variants and if there's more than one step to this, each of those steps and the timing for those steps (e.g. 30 days after initial rollout). -->
+
+#Inclusions and exclusions
+<!-- These would be the rules for which given context (and are limited to context or resolvable at experiment time details) is included or excluded from the test. An example of this would be to only run an experiment on groups less than N number of days old. -->
+
+#Segmentation
+<!-- Rules for always saying context with these criteria always get this variant. For instance, if you want to always give groups less than N number of days old the experiment experience, they are specified here. This is different from the exclusion rules above. -->
+
+#Tracking
diff --git a/.gitlab/issue_templates/Basic Proposal.md b/.gitlab/issue_templates/Basic Proposal.md
index 4232561354c..8d47e87f8a3 100644
--- a/.gitlab/issue_templates/Basic Proposal.md
+++ b/.gitlab/issue_templates/Basic Proposal.md
@@ -6,6 +6,6 @@
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-/label ~"group::" ~"section::" ~"Category::" ~"GitLab Core"/~"GitLab Starter"/~"GitLab Premium"/~"GitLab Ultimate"
+/label ~"group::" ~"section::" ~"Category::" ~"GitLab Core"/~"GitLab Premium"/~"GitLab Ultimate"
-->
diff --git a/.gitlab/issue_templates/Dogfooding.md b/.gitlab/issue_templates/Dogfooding.md
new file mode 100644
index 00000000000..d780fbd3f1f
--- /dev/null
+++ b/.gitlab/issue_templates/Dogfooding.md
@@ -0,0 +1,17 @@
+<!--Lightweight issue template to encourage Dogfooding and educate team members about the importance of Dogfooding -->
+
+/label ~"dogfooding" ~"group::" ~"section::" ~"Category::"
+
+## Feature to Dogfood
+<!--Link to Description of feature (Documentation, Epic, Opportunity Canvas, etc.) -->
+
+## Goals
+<!--Level of Dogfooding you are looking for: problem validation, testing, production usage, etc -->
+
+## Progress Tracker
+<!--List of tasks (e.g. a table with columns, project, status, issue links similar to what is [done here](https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/8499))-->
+
+## Why Dogfooding is Important
+- https://about.gitlab.com/handbook/values/#dogfooding
+- https://about.gitlab.com/handbook/product/product-processes/#dogfood-everything
+- https://about.gitlab.com/handbook/engineering/#dogfooding
diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md
index 67686b654bd..615fb644967 100644
--- a/.gitlab/issue_templates/Feature Flag Roll Out.md
+++ b/.gitlab/issue_templates/Feature Flag Roll Out.md
@@ -31,7 +31,6 @@ If applicable, any groups/projects that are happy to have this feature turned on
## Roll Out Steps
-- [ ] Confirm that QA tests pass with the feature flag enabled (if you're unsure how, contact the relevant [stable counterpart in the Quality department](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors))
- [ ] Enable on staging (`/chatops run feature set feature_name true --staging`)
- [ ] Test on staging
- [ ] Ensure that documentation has been updated
@@ -42,7 +41,7 @@ If applicable, any groups/projects that are happy to have this feature turned on
- [ ] Enable on GitLab.com by running chatops command in `#production` (`/chatops run feature set feature_name true`)
- [ ] Cross post chatops Slack command to `#support_gitlab-com` ([more guidance when this is necessary in the dev docs](https://docs.gitlab.com/ee/development/feature_flags/controls.html#where-to-run-commands)) and in your team channel
- [ ] Announce on the issue that the flag has been enabled
-- [ ] Remove feature flag and add changelog entry
+- [ ] Remove feature flag and add changelog entry. Ensure that the feature flag definition YAML file has been removed in the **same MR** that is removing the feature flag from the code
- [ ] After the flag removal is deployed, [clean up the feature flag](https://docs.gitlab.com/ee/development/feature_flags/controls.html#cleaning-up) by running chatops command in `#production` channel
## Rollback Steps
diff --git a/.gitlab/issue_templates/Feature proposal.md b/.gitlab/issue_templates/Feature proposal.md
index 66450c37a22..2cdf2341c88 100644
--- a/.gitlab/issue_templates/Feature proposal.md
+++ b/.gitlab/issue_templates/Feature proposal.md
@@ -61,7 +61,7 @@ Consider adding checkboxes and expectations of users with certain levels of memb
<!-- See the Feature Change Documentation Workflow https://docs.gitlab.com/ee/development/documentation/workflow.html#for-a-product-change
-* Add all known Documentation Requirements in this section. See https://docs.gitlab.com/ee/development/documentation/feature-change-workflow.html#documentation-requirements
+* Add all known Documentation Requirements in this section. See https://docs.gitlab.com/ee/development/documentation/workflow.html
* If this feature requires changing permissions, update the permissions document. See https://docs.gitlab.com/ee/user/permissions.html -->
### Availability & Testing
@@ -97,7 +97,7 @@ Create tracking issue using the the Snowplow event tracking template. See https:
### What is the type of buyer?
<!-- What is the buyer persona for this feature? See https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/buyer-persona/
-In which enterprise tier should this feature go? See https://about.gitlab.com/handbook/product/pricing/#four-tiers -->
+In which enterprise tier should this feature go? See https://about.gitlab.com/handbook/product/pricing/#three-tiers -->
### Is this a cross-stage feature?
@@ -111,5 +111,5 @@ Use the following resources to find the appropriate labels:
- https://about.gitlab.com/handbook/product/categories/features/
-->
/label ~devops:: ~group: ~Category:
-
+/label ~"GitLab Core"/~"GitLab Premium"/~"GitLab Ultimate"
/label ~feature
diff --git a/.gitlab/issue_templates/Lean Feature Proposal.md b/.gitlab/issue_templates/Lean Feature Proposal.md
index 44210a89023..fb9ac306f31 100644
--- a/.gitlab/issue_templates/Lean Feature Proposal.md
+++ b/.gitlab/issue_templates/Lean Feature Proposal.md
@@ -14,7 +14,7 @@
-/label ~"feature" ~"group::" ~"section::" ~"Category::" ~"GitLab Core"/~"GitLab Starter"/~"GitLab Premium"/~"GitLab Ultimate"
+/label ~"feature" ~"group::" ~"section::" ~"Category::" ~"GitLab Core"/~"GitLab Premium"/~"GitLab Ultimate"
<!--- Use the following resources to find the appropriate labels:
@@ -73,7 +73,7 @@ Consider adding checkboxes and expectations of users with certain levels of memb
See the Feature Change Documentation Workflow https://docs.gitlab.com/ee/development/documentation/workflow.html#for-a-product-change
-* Add all known Documentation Requirements in this section. See https://docs.gitlab.com/ee/development/documentation/feature-change-workflow.html#documentation-requirements
+* Add all known Documentation Requirements in this section. See https://docs.gitlab.com/ee/development/documentation/workflow.html
* If this feature requires changing permissions, update the permissions document. See https://docs.gitlab.com/ee/user/permissions.html
### Availability & Testing
@@ -96,7 +96,7 @@ Define both the success metrics and acceptance criteria. Note that success metri
### What is the type of buyer?
What is the buyer persona for this feature? See https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/buyer-persona/
-In which enterprise tier should this feature go? See https://about.gitlab.com/handbook/product/pricing/#four-tiers
+In which enterprise tier should this feature go? See https://about.gitlab.com/handbook/product/pricing/#three-tiers
### Is this a cross-stage feature?
diff --git a/.gitlab/issue_templates/Query Performance Investigation.md b/.gitlab/issue_templates/Query Performance Investigation.md
new file mode 100644
index 00000000000..3f2a6361d64
--- /dev/null
+++ b/.gitlab/issue_templates/Query Performance Investigation.md
@@ -0,0 +1,39 @@
+## Description
+
+As the name implies, the purpose of the template is to detail underperforming queries for futher investigation.
+
+### Steps
+
+- [ ] Rename the issue to - `Query Performance Investigation - [Query Snippet | Table info]`
+ - For example - `Query Performance Investigation - SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = $1 LIMIT $2`
+- [ ] Provide information in the Requested Data Points table
+- [ ] Provide [priority and severity labels](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#availability)
+- [ ] If this requires immediate attention cc `@gitlab-org/database-team` and reach out in the #g_database slack channel
+
+### Requested Data points
+
+Please provide as many of these fields as possible when submitting a query performance report.
+
+- TPS
+- Duration
+- Source of calls (Sidekiq, WebAPI, etc)
+- Query ID
+- SQL Statement
+- Query Plan
+- Query Example
+- Total number of calls (relative)
+- % of Total time
+
+<!--
+
+- Example of a postgres checkup report - https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/snippets/2056787
+- Epic - Improving the Database resource usage (&365) - https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/365#short-term-query-improvements
+- Past examples of query performance investigations that have led to this template creation.
+ - Possible Index suggestion or query rewriting (#292454) - https://gitlab.com/gitlab-org/gitlab/-/issues/292454)
+ - High number of Sessions to the database with the value SET parameter (#292022) - https://gitlab.com/gitlab-org/gitlab/-/issues/292022)
+ - Query performance "Select 1" (#220055) - https://gitlab.com/gitlab-org/gitlab/-/issues/220055
+ - Select statements that are in execution during database CPU utilization peak times - licenses table (#292900) - https://gitlab.com/gitlab-org/gitlab/-/issues/292900
+
+-->
+
+/label ~"group::database" ~"database::triage"
diff --git a/.gitlab/issue_templates/Security developer workflow.md b/.gitlab/issue_templates/Security developer workflow.md
index 3de004b0319..beb066cdfc4 100644
--- a/.gitlab/issue_templates/Security developer workflow.md
+++ b/.gitlab/issue_templates/Security developer workflow.md
@@ -1,7 +1,7 @@
<!--
# Read me first!
-Create this issue under https://gitlab.com/gitlab-org/security
+Create this issue under https://gitlab.com/gitlab-org/security/gitlab
Set the title to: `Description of the original issue`
-->
diff --git a/.gitlab/issue_templates/actionable_insight.md b/.gitlab/issue_templates/actionable_insight.md
deleted file mode 100644
index ff6a4f12918..00000000000
--- a/.gitlab/issue_templates/actionable_insight.md
+++ /dev/null
@@ -1,34 +0,0 @@
-## Actionable Insights
-Actionable insights always have a follow-up action that needs to take place as a result of the research observation or data, and a clear recommendation or action associated with it. An actionable insight both defines the insight and clearly calls out the next step. These insights are tracked over time and at the group level.
-
-#### Link
-
-- [ ] Provide the link to the Dovetail actionable insight you created earlier (this should contain all the essential details)
-- [ ] If applicable, link this actionable insight issue back to the original Research Issue in the GitLab UX Research project
-
-#### Assign
-
-- [ ] Assign this issue to the appropriate Product Manager, Product Designer, or UX Researcher
-
-#### Group label
-
-- [ ] Add the appropriate `Group` (such as `~"group::source code"`) label to the issue. This is done to identify and track actionable insights at the group level.
-
-#### Description
-
-- [ ] Provide some brief details on the actionable insight and the action to take
-
--------------------------------------------------------------------------------
-
-| | PLEASE COMPLETE THE BELOW |
-| ------ | ------ |
-| Dovetail link: | (URL goes here) |
-| Details: | (details go here) |
-| Action to take: | (action goes here) |
-
-
-
-
-
-
-/label ~"Actionable Insight"
diff --git a/.gitlab/merge_request_templates/Change Documentation Location.md b/.gitlab/merge_request_templates/Change Documentation Location.md
index 1197c6adc40..0c675d8d0c6 100644
--- a/.gitlab/merge_request_templates/Change Documentation Location.md
+++ b/.gitlab/merge_request_templates/Change Documentation Location.md
@@ -8,9 +8,7 @@
## Related issues
-<!-- Mention the issue(s) this MR closes or is related to -->
-
-Closes
+<!-- Link related issues below. -->
## Moving docs to a new location?
diff --git a/.gitlab/merge_request_templates/Documentation.md b/.gitlab/merge_request_templates/Documentation.md
index 9113bf7d028..0c507277ede 100644
--- a/.gitlab/merge_request_templates/Documentation.md
+++ b/.gitlab/merge_request_templates/Documentation.md
@@ -11,7 +11,7 @@
## Related issues
-<!-- Link related issues below. Insert the issue link or reference after the word "Closes" if merging this should automatically close it. -->
+<!-- Link related issues below. -->
## Author's checklist (required)
@@ -31,13 +31,13 @@ When applicable:
- [ ] Update the [permissions table](https://docs.gitlab.com/ee/user/permissions.html).
- [ ] Link docs to and from the higher-level index page, plus other related docs where helpful.
-- [ ] Add the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide.html#product-badges) accordingly.
-- [ ] Add [GitLab's version history note(s)](https://docs.gitlab.com/ee/development/documentation/styleguide.html#text-for-documentation-requiring-version-text).
+- [ ] Add the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) accordingly.
+- [ ] Add [GitLab's version history note(s)](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#gitlab-versions).
- [ ] Add/update the [feature flag section](https://docs.gitlab.com/ee/development/documentation/feature_flags.html).
## Review checklist
-All reviewers can help ensure accuracy, clarity, completeness, and adherence to the [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/) and [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide.html).
+All reviewers can help ensure accuracy, clarity, completeness, and adherence to the [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/) and [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide/).
**1. Primary Reviewer**
diff --git a/.gitlab/merge_request_templates/New Static Analysis Check.md b/.gitlab/merge_request_templates/New Static Analysis Check.md
index 5fd2d31767a..66041a784e8 100644
--- a/.gitlab/merge_request_templates/New Static Analysis Check.md
+++ b/.gitlab/merge_request_templates/New Static Analysis Check.md
@@ -1,3 +1,8 @@
+<!--
+When creating a new cop that could be applied to multiple applications,
+we encourage you to add it to https://gitlab.com/gitlab-org/gitlab-styles gem.
+-->
+
## Description of the proposal
<!--