summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-10-13 21:09:56 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-10-13 21:09:56 +0000
commit85770eb3a25c9d9183ca7fce72d4d74c1552a53f (patch)
treeec0ef8354ad568e72f3a6ecac140af6ba39e729f
parentcb6a3f5f73097b995d8465c2472ceeab9bbe9497 (diff)
downloadgitlab-ce-85770eb3a25c9d9183ca7fce72d4d74c1552a53f.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.gitlab/ci/frontend.gitlab-ci.yml61
-rw-r--r--.gitlab/ci/global.gitlab-ci.yml1
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml37
-rw-r--r--.gitlab/ci/setup.gitlab-ci.yml16
-rw-r--r--app/assets/javascripts/behaviors/markdown/nodes/emoji.js12
-rw-r--r--app/assets/javascripts/behaviors/markdown/nodes/image.js2
-rw-r--r--doc/administration/auth/index.md2
-rw-r--r--doc/administration/monitoring/prometheus/puma_exporter.md27
-rw-r--r--doc/administration/nfs.md2
-rw-r--r--doc/administration/packages/dependency_proxy.md2
-rw-r--r--doc/administration/troubleshooting/debug.md2
-rw-r--r--doc/ci/merge_request_pipelines/index.md9
-rw-r--r--doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md9
-rw-r--r--doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md9
-rw-r--r--doc/ci/migration/jenkins.md4
-rw-r--r--doc/ci/multi_project_pipelines.md9
-rw-r--r--doc/ci/parent_child_pipelines.md9
-rw-r--r--doc/development/architecture.md2
-rw-r--r--doc/development/documentation/structure.md2
-rw-r--r--doc/development/fe_guide/editor_lite.md9
-rw-r--r--doc/development/usage_ping/index.md9
-rw-r--r--doc/development/usage_ping/metrics_dictionary.md9
-rw-r--r--doc/development/usage_ping/metrics_instrumentation.md9
-rw-r--r--doc/development/usage_ping/product_intelligence_review.md9
-rw-r--r--doc/development/usage_ping/review_guidelines.md9
-rw-r--r--doc/integration/omniauth.md2
-rw-r--r--doc/integration/shibboleth.md9
-rw-r--r--doc/user/admin_area/settings/gitaly_timeouts.md2
-rw-r--r--doc/user/gitlab_com/index.md2
-rw-r--r--doc/user/packages/composer_repository/index.md2
-rw-r--r--doc/user/packages/conan_repository/index.md2
-rw-r--r--doc/user/project/wiki/index.md2
-rw-r--r--lib/tasks/gitlab/assets.rake2
-rw-r--r--scripts/rspec_helpers.sh2
-rw-r--r--spec/features/markdown/copy_as_gfm_spec.rb9
35 files changed, 170 insertions, 135 deletions
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index 9931f005088..6974d63a49c 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -71,6 +71,12 @@ compile-test-assets as-if-foss:
- .frontend:rules:compile-test-assets-as-if-foss
- .as-if-foss
+compile-test-assets as-if-jh:
+ extends:
+ - compile-test-assets
+ - .frontend:rules:compile-test-assets-as-if-jh
+ needs: ["add-jh-folder"]
+
update-assets-compile-production-cache:
extends:
- compile-production-assets
@@ -112,7 +118,7 @@ update-storybook-yarn-cache:
- .rails-cache
- .use-pg12
stage: fixtures
- needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets"]
+ needs: ["setup-test-env", "retrieve-tests-metadata"]
variables:
WEBPACK_VENDOR_DLL: "true"
script:
@@ -128,19 +134,38 @@ update-storybook-yarn-cache:
- tmp/tests/frontend/
- knapsack/
-# In gitlab-foss, generates FOSS fixtures. In gitlab, generates FOSS & EE fixtures.
-# That way, we don't need to have two separate jobs.
+# Builds FOSS, and EE fixtures in the EE project.
+# Builds FOSS fixtures in the FOSS project.
rspec-all frontend_fixture:
extends:
- .frontend-fixtures-base
- .frontend:rules:default-frontend-jobs
+ needs:
+ - !reference [.frontend-fixtures-base, needs]
+ - "compile-test-assets"
parallel: 5
-rspec frontend_fixture as-if-foss:
+# Builds FOSS fixtures in the EE project, with the `ee/` folder removed (due to `as-if-foss`).
+rspec-all frontend_fixture as-if-foss:
extends:
- .frontend-fixtures-base
- .frontend:rules:default-frontend-jobs-as-if-foss
- .as-if-foss
+ needs:
+ - !reference [.frontend-fixtures-base, needs]
+ - "compile-test-assets as-if-foss"
+
+# Builds FOSS, EE, and JH fixtures in the EE project, with the `jh/` folder added (due to `as-if-jh`).
+rspec-all frontend_fixture as-if-jh:
+ extends:
+ - .frontend-fixtures-base
+ - .frontend:rules:default-frontend-jobs-as-if-jh
+ needs:
+ - !reference [.frontend-fixtures-base, needs]
+ - "compile-test-assets as-if-jh"
+ - "add-jh-folder"
+ script:
+ - echo "This job is currently doing nothing since there's no specific JH fixtures yet. To enable this job, remove this line."
graphql-schema-dump:
variables:
@@ -168,7 +193,9 @@ graphql-schema-dump:
# Disable warnings in browserslist which can break on backports
# https://github.com/browserslist/browserslist/blob/a287ec6/node.js#L367-L384
BROWSERSLIST_IGNORE_OLD_DATA: "true"
+ SETUP_DB: "false"
before_script:
+ - !reference [.default-before_script, before_script]
- *yarn-install
stage: test
@@ -190,9 +217,7 @@ jest:
extends:
- .jest-base
- .frontend:rules:jest
- needs:
- - job: "detect-tests"
- - job: "rspec-all frontend_fixture"
+ needs: ["rspec-all frontend_fixture"]
artifacts:
name: coverage-frontend
expire_in: 31d
@@ -209,6 +234,9 @@ jest minimal:
extends:
- jest
- .frontend:rules:jest:minimal
+ needs:
+ - !reference [jest, needs]
+ - "detect-tests"
script:
- run_timed_command "yarn jest:ci:minimal"
@@ -227,9 +255,17 @@ jest-as-if-foss:
- .jest-base
- .frontend:rules:default-frontend-jobs-as-if-foss
- .as-if-foss
- needs: ["rspec frontend_fixture as-if-foss"]
+ needs: ["rspec-all frontend_fixture as-if-foss"]
parallel: 2
+jest-as-if-jh:
+ extends:
+ - .jest-base
+ - .frontend:rules:default-frontend-jobs-as-if-jh
+ needs: ["rspec-all frontend_fixture as-if-jh", "add-jh-folder"]
+ script:
+ - echo "This job is currently doing nothing since there's no specific JH Jest tests yet. To enable this job, remove this line."
+
coverage-frontend:
extends:
- .default-retry
@@ -342,7 +378,7 @@ startup-css-check as-if-foss:
- .frontend:rules:default-frontend-jobs-as-if-foss
needs:
- job: "compile-test-assets as-if-foss"
- - job: "rspec frontend_fixture as-if-foss"
+ - job: "rspec-all frontend_fixture as-if-foss"
.compile-storybook-base:
extends:
@@ -351,14 +387,15 @@ startup-css-check as-if-foss:
script:
- *storybook-yarn-install
- yarn run storybook:build
+ needs: ["graphql-schema-dump"]
compile-storybook:
extends:
- .compile-storybook-base
- .frontend:rules:default-frontend-jobs
needs:
+ - !reference [.compile-storybook-base, needs]
- job: "rspec-all frontend_fixture"
- - job: "graphql-schema-dump"
artifacts:
name: storybook
expire_in: 31d
@@ -372,5 +409,5 @@ compile-storybook as-if-foss:
- .as-if-foss
- .frontend:rules:default-frontend-jobs-as-if-foss
needs:
- - job: "graphql-schema-dump"
- - job: "rspec frontend_fixture as-if-foss"
+ - !reference [.compile-storybook-base, needs]
+ - job: "rspec-all frontend_fixture as-if-foss"
diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml
index a0faa6cc3a1..d0c26d60066 100644
--- a/.gitlab/ci/global.gitlab-ci.yml
+++ b/.gitlab/ci/global.gitlab-ci.yml
@@ -10,6 +10,7 @@
.default-before_script:
before_script:
+ - echo $FOSS_ONLY
- '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
- export GOPATH=$CI_PROJECT_DIR/.go
- mkdir -p $GOPATH
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 59faa0bc119..5e04db6701c 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -40,6 +40,9 @@
.if-merge-request-labels-as-if-foss: &if-merge-request-labels-as-if-foss
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss/'
+.if-merge-request-labels-as-if-jh: &if-merge-request-labels-as-if-jh
+ if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-jh/'
+
.if-merge-request-labels-update-caches: &if-merge-request-labels-update-caches
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:update-cache/'
@@ -491,8 +494,19 @@
rules:
- <<: *if-not-ee
when: never
+ - <<: *if-merge-request-labels-as-if-foss
+ - <<: *if-merge-request-labels-run-all-rspec
- changes: *code-backstage-qa-patterns
+ - changes: *startup-css-patterns
+
+.frontend:rules:compile-test-assets-as-if-jh:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-labels-as-if-jh
- <<: *if-merge-request-labels-run-all-rspec
+ - changes: *code-backstage-qa-patterns
+ - changes: *startup-css-patterns
.frontend:rules:default-frontend-jobs:
rules:
@@ -512,6 +526,19 @@
- <<: *if-merge-request
changes: *ci-patterns
+.frontend:rules:default-frontend-jobs-as-if-jh:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-security-merge-request
+ changes: *code-backstage-patterns
+ - <<: *if-merge-request-labels-as-if-jh
+ - <<: *if-merge-request-labels-run-all-rspec
+ - <<: *if-merge-request
+ changes: *startup-css-patterns
+ - <<: *if-merge-request
+ changes: *ci-patterns
+
.frontend:rules:jest:
rules:
- <<: *if-merge-request-labels-run-all-jest
@@ -552,6 +579,7 @@
rules:
- <<: *if-not-ee
when: never
+ # We already have `static-analysis as-if-foss` which already runs `lint:eslint:all` if the `pipeline:run-as-if-foss` label is set.
- <<: *if-merge-request-labels-as-if-foss
when: never
- <<: *if-merge-request
@@ -1565,6 +1593,15 @@
changes: *code-backstage-patterns
when: on_success
+.setup:rules:add-jh-folder:
+ rules:
+ - <<: *if-not-ee
+ when: never
+ - <<: *if-merge-request-labels-as-if-jh
+ - <<: *if-merge-request-labels-run-all-rspec
+ - changes: *code-backstage-qa-patterns
+ - changes: *startup-css-patterns
+
#######################
# Test metadata rules #
#######################
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index 60a1ad54cff..eb7a5afad3d 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -101,3 +101,19 @@ detect-tests as-if-foss:
MATCHED_TESTS_FILE: tmp/matching_foss_tests.txt
before_script:
- '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
+
+add-jh-folder:
+ extends: .setup:rules:add-jh-folder
+ image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge
+ stage: prepare
+ before_script:
+ - apk add --no-cache --update curl bash
+ script:
+ - curl --location -o "jh-folder.tar.gz" "https://gitlab.com/gitlab-jh/gitlab/-/archive/main-jh/gitlab-main-jh.tar.gz?path=jh"
+ - tar -xf "jh-folder.tar.gz"
+ - mv gitlab-main-jh-jh/jh/ ./
+ - ls -l jh/
+ artifacts:
+ expire_in: 2d
+ paths:
+ - jh/
diff --git a/app/assets/javascripts/behaviors/markdown/nodes/emoji.js b/app/assets/javascripts/behaviors/markdown/nodes/emoji.js
index 367a06ad3c1..9d0890aa1b4 100644
--- a/app/assets/javascripts/behaviors/markdown/nodes/emoji.js
+++ b/app/assets/javascripts/behaviors/markdown/nodes/emoji.js
@@ -26,6 +26,18 @@ export default class Emoji extends Node {
moji: el.textContent,
}),
},
+ {
+ tag: 'img.emoji',
+ getAttrs: (el) => {
+ const name = el.getAttribute('title').replace(/^:|:$/g, '');
+
+ return {
+ name,
+ title: name,
+ moji: name,
+ };
+ },
+ },
],
toDOM: (node) => [
'gl-emoji',
diff --git a/app/assets/javascripts/behaviors/markdown/nodes/image.js b/app/assets/javascripts/behaviors/markdown/nodes/image.js
index ade5839d10b..4cc28c45739 100644
--- a/app/assets/javascripts/behaviors/markdown/nodes/image.js
+++ b/app/assets/javascripts/behaviors/markdown/nodes/image.js
@@ -29,7 +29,7 @@ export default class Image extends BaseImage {
},
// Matches HTML generated by Banzai::Filter::ImageLazyLoadFilter
{
- tag: 'img[src]',
+ tag: 'img[src]:not(.emoji)',
getAttrs: (el) => {
const imageSrc = el.src;
const imageUrl =
diff --git a/doc/administration/auth/index.md b/doc/administration/auth/index.md
index 6dff8d623ab..959c5218554 100644
--- a/doc/administration/auth/index.md
+++ b/doc/administration/auth/index.md
@@ -31,7 +31,7 @@ providers:
- [Salesforce](../../integration/salesforce.md)
- [SAML](../../integration/saml.md)
- [SAML for GitLab.com groups](../../user/group/saml_sso/index.md) **(PREMIUM SAAS)**
-- [Shibboleth](../../integration/shibboleth.md)
+- [Shibboleth](../../integration/saml.md)
- [Smartcard](smartcard.md) **(PREMIUM SELF)**
- [Twitter](../../integration/twitter.md)
diff --git a/doc/administration/monitoring/prometheus/puma_exporter.md b/doc/administration/monitoring/prometheus/puma_exporter.md
new file mode 100644
index 00000000000..c348e74afaf
--- /dev/null
+++ b/doc/administration/monitoring/prometheus/puma_exporter.md
@@ -0,0 +1,27 @@
+---
+stage: Monitor
+group: Monitor
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+---
+
+# Puma exporter **(FREE SELF)**
+
+You can use the [Puma exporter](https://github.com/sapcc/puma-exporter)
+to measure various Puma metrics.
+
+To enable the Puma exporter:
+
+1. [Enable Prometheus](index.md#configuring-prometheus).
+1. Edit `/etc/gitlab/gitlab.rb` to add (or find and uncomment) the following lines. Make sure
+ `puma['exporter_enabled']` is set to `true`:
+
+ ```ruby
+ puma['exporter_enabled'] = true
+ puma['exporter_address'] = "127.0.0.1"
+ puma['exporter_port'] = 8083
+ ```
+
+1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure)
+ for the changes to take effect.
+
+Prometheus begins collecting performance data from the Puma exporter exposed at `localhost:8083`.
diff --git a/doc/administration/nfs.md b/doc/administration/nfs.md
index d18b62a5099..f18c39af24a 100644
--- a/doc/administration/nfs.md
+++ b/doc/administration/nfs.md
@@ -187,7 +187,7 @@ If the Rugged feature flag is explicitly set to either `true` or `false`, GitLab
NOTE:
From GitLab 12.7, Rugged is not automatically enabled if Puma thread count is greater than `1`.
-If you want to use Rugged with Puma, [set Puma thread count to `1`](https://docs.gitlab.com/omnibus/settings/puma.html#puma-settings).
+If you want to use Rugged with Puma, [set Puma thread count to `1`](../install/requirements.md#puma-settings).
If you want to use Rugged with Puma thread count more than `1`, Rugged can be enabled using the [feature flag](../development/gitaly.md#legacy-rugged-code).
diff --git a/doc/administration/packages/dependency_proxy.md b/doc/administration/packages/dependency_proxy.md
index 32e7e191011..bb4a39ebc0d 100644
--- a/doc/administration/packages/dependency_proxy.md
+++ b/doc/administration/packages/dependency_proxy.md
@@ -30,7 +30,7 @@ To enable the dependency proxy feature:
```
1. Save the file and [reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure "How to reconfigure Omnibus GitLab") for the changes to take effect.
-1. Enable the [Puma web server](https://docs.gitlab.com/omnibus/settings/puma.html).
+1. Enable the [Puma web server](../operations/puma.md).
**Helm chart installations**
diff --git a/doc/administration/troubleshooting/debug.md b/doc/administration/troubleshooting/debug.md
index aea891b8a77..e00243aca0a 100644
--- a/doc/administration/troubleshooting/debug.md
+++ b/doc/administration/troubleshooting/debug.md
@@ -225,7 +225,7 @@ gitlab_rails['env'] = {
```
For source installations, set the environment variable.
-Refer to [Puma Worker timeout](https://docs.gitlab.com/omnibus/settings/puma.html#worker-timeout).
+Refer to [Puma Worker timeout](../operations/puma.md#worker-timeout).
[Reconfigure](../restart_gitlab.md#omnibus-gitlab-reconfigure) GitLab for the changes to take effect.
diff --git a/doc/ci/merge_request_pipelines/index.md b/doc/ci/merge_request_pipelines/index.md
deleted file mode 100644
index 13f4ca428c6..00000000000
--- a/doc/ci/merge_request_pipelines/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../pipelines/merge_request_pipelines.md'
-remove_date: '2021-09-29'
----
-
-This document was moved to [another location](../pipelines/merge_request_pipelines.md).
-
-<!-- This redirect file can be deleted after 2021-09-29. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md
deleted file mode 100644
index 5b68c4ca931..00000000000
--- a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../../pipelines/pipelines_for_merged_results.md'
-remove_date: '2021-09-29'
----
-
-This document was moved to [another location](../../pipelines/pipelines_for_merged_results.md).
-
-<!-- This redirect file can be deleted after 2021-09-29. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md
deleted file mode 100644
index c8e8dffbdcd..00000000000
--- a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../../../pipelines/merge_trains.md'
-remove_date: '2021-09-29'
----
-
-This document was moved to [another location](../../../pipelines/merge_trains.md).
-
-<!-- This redirect file can be deleted after 2021-09-29. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/ci/migration/jenkins.md b/doc/ci/migration/jenkins.md
index 925dff8751c..c2c06375d7b 100644
--- a/doc/ci/migration/jenkins.md
+++ b/doc/ci/migration/jenkins.md
@@ -42,8 +42,8 @@ can be a great resource.
## Manage organizational transition
An important part of transitioning from Jenkins to GitLab is the cultural and organizational
-changes that comes with the move, and successfully managing them. There are a few
-things we have found that helps this:
+changes that come with the move, and successfully managing them. There are a few
+things we have found that help this:
- Setting and communicating a clear vision of what your migration goals are helps
your users understand why the effort is worth it. The value is clear when
diff --git a/doc/ci/multi_project_pipelines.md b/doc/ci/multi_project_pipelines.md
deleted file mode 100644
index 93e04bf8a0e..00000000000
--- a/doc/ci/multi_project_pipelines.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'pipelines/multi_project_pipelines.md'
-remove_date: '2021-09-29'
----
-
-This document was moved to [another location](pipelines/multi_project_pipelines.md).
-
-<!-- This redirect file can be deleted after 2021-09-29. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/ci/parent_child_pipelines.md b/doc/ci/parent_child_pipelines.md
deleted file mode 100644
index f2edc263397..00000000000
--- a/doc/ci/parent_child_pipelines.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'pipelines/parent_child_pipelines.md'
-remove_date: '2021-09-29'
----
-
-This document was moved to [another location](pipelines/parent_child_pipelines.md).
-
-<!-- This redirect file can be deleted after 2021-09-29. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index fe2b621da29..9accd4a3595 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -813,7 +813,7 @@ Starting with GitLab 13.0, Puma is the default web server.
- [Project page](https://gitlab.com/gitlab-org/gitlab/-/blob/master/README.md)
- Configuration:
- - [Omnibus](https://docs.gitlab.com/omnibus/settings/puma.html)
+ - [Omnibus](../administration/operations/puma.md)
- [Charts](https://docs.gitlab.com/charts/charts/gitlab/webservice/)
- [Source](../install/installation.md#configure-it)
- [GDK](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/gitlab.yml.example)
diff --git a/doc/development/documentation/structure.md b/doc/development/documentation/structure.md
index a9b93997906..229dbb077fe 100644
--- a/doc/development/documentation/structure.md
+++ b/doc/development/documentation/structure.md
@@ -149,6 +149,8 @@ For the heading:
If you do not put the full error in the title, include it in the body text.
+If multiple causes or workarounds exist, consider putting them into a table format.
+
## Other types of content
There are other types of content in the GitLab documentation that don't
diff --git a/doc/development/fe_guide/editor_lite.md b/doc/development/fe_guide/editor_lite.md
deleted file mode 100644
index 5020bf9eeeb..00000000000
--- a/doc/development/fe_guide/editor_lite.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'source_editor.md'
-remove_date: '2021-09-19'
----
-
-This document was moved to [another location](source_editor.md).
-
-<!-- This redirect file can be deleted after <2021-09-19>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/development/usage_ping/index.md b/doc/development/usage_ping/index.md
deleted file mode 100644
index aa06cb36f0c..00000000000
--- a/doc/development/usage_ping/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../service_ping/index.md'
-remove_date: '2021-10-09'
----
-
-This file was moved to [another location](../service_ping/index.md).
-
-<!-- This redirect file can be deleted after <2021-10-09>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/development/usage_ping/metrics_dictionary.md b/doc/development/usage_ping/metrics_dictionary.md
deleted file mode 100644
index 3743c2e0414..00000000000
--- a/doc/development/usage_ping/metrics_dictionary.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../service_ping/metrics_dictionary.md'
-remove_date: '2021-10-09'
----
-
-This file was moved to [another location](../service_ping/metrics_dictionary.md).
-
-<!-- This redirect file can be deleted after <2021-10-09>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/development/usage_ping/metrics_instrumentation.md b/doc/development/usage_ping/metrics_instrumentation.md
deleted file mode 100644
index f2d731803b8..00000000000
--- a/doc/development/usage_ping/metrics_instrumentation.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../service_ping/metrics_instrumentation.md'
-remove_date: '2021-10-09'
----
-
-This file was moved to [another location](../service_ping/metrics_instrumentation.md).
-
-<!-- This redirect file can be deleted after <2021-10-09>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/development/usage_ping/product_intelligence_review.md b/doc/development/usage_ping/product_intelligence_review.md
deleted file mode 100644
index dc51e3e300a..00000000000
--- a/doc/development/usage_ping/product_intelligence_review.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../service_ping/review_guidelines.md'
-remove_date: '2021-10-09'
----
-
-This file was moved to [another location](../service_ping/review_guidelines.md).
-
-<!-- This redirect file can be deleted after <2021-10-09>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/development/usage_ping/review_guidelines.md b/doc/development/usage_ping/review_guidelines.md
deleted file mode 100644
index dc51e3e300a..00000000000
--- a/doc/development/usage_ping/review_guidelines.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../service_ping/review_guidelines.md'
-remove_date: '2021-10-09'
----
-
-This file was moved to [another location](../service_ping/review_guidelines.md).
-
-<!-- This redirect file can be deleted after <2021-10-09>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/integration/omniauth.md b/doc/integration/omniauth.md
index d20a5f0692c..6c154ee7f5b 100644
--- a/doc/integration/omniauth.md
+++ b/doc/integration/omniauth.md
@@ -47,7 +47,7 @@ contains some settings that are common for all providers.
| [OpenID Connect](../administration/auth/oidc.md) | `openid_connect` |
| [Salesforce](salesforce.md) | `salesforce` |
| [SAML](saml.md) | `saml` |
-| [Shibboleth](shibboleth.md) | `shibboleth` |
+| [Shibboleth](saml.md) | `shibboleth` |
| [Twitter](twitter.md) | `twitter` |
## Initial OmniAuth Configuration
diff --git a/doc/integration/shibboleth.md b/doc/integration/shibboleth.md
deleted file mode 100644
index 4a3aa6b3dc5..00000000000
--- a/doc/integration/shibboleth.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'saml.md'
-remove_date: '2021-09-29'
----
-
-This file was moved to [another location](saml.md).
-
-<!-- This redirect file can be deleted after <2021-09-29>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/user/admin_area/settings/gitaly_timeouts.md b/doc/user/admin_area/settings/gitaly_timeouts.md
index 1d4f45d1f04..5da43935052 100644
--- a/doc/user/admin_area/settings/gitaly_timeouts.md
+++ b/doc/user/admin_area/settings/gitaly_timeouts.md
@@ -22,6 +22,6 @@ The following timeouts are available.
| Timeout | Default | Description |
|:--------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Default | 55 seconds | Timeout for most Gitaly calls (not enforced for `git` `fetch` and `push` operations, or Sidekiq jobs). For example, checking if a repository exists on disk. Makes sure that Gitaly calls made within a web request cannot exceed the entire request timeout. It should be shorter than the worker timeout that can be configured for [Puma](https://docs.gitlab.com/omnibus/settings/puma.html#puma-settings). If a Gitaly call timeout exceeds the worker timeout, the remaining time from the worker timeout is used to avoid having to terminate the worker. |
+| Default | 55 seconds | Timeout for most Gitaly calls (not enforced for `git` `fetch` and `push` operations, or Sidekiq jobs). For example, checking if a repository exists on disk. Makes sure that Gitaly calls made within a web request cannot exceed the entire request timeout. It should be shorter than the worker timeout that can be configured for [Puma](../../../install/requirements.md#puma-settings). If a Gitaly call timeout exceeds the worker timeout, the remaining time from the worker timeout is used to avoid having to terminate the worker. |
| Fast | 10 seconds | Timeout for fast Gitaly operations used within requests, sometimes multiple times. For example, checking if a repository exists on disk. If fast operations exceed this threshold, there may be a problem with a storage shard. Failing fast can help maintain the stability of the GitLab instance. |
| Medium | 30 seconds | Timeout for Gitaly operations that should be fast (possibly within requests) but preferably not used multiple times within a request. For example, loading blobs. Timeout that should be set between Default and Fast. |
diff --git a/doc/user/gitlab_com/index.md b/doc/user/gitlab_com/index.md
index 6db059bd82b..e0cc79fe0fb 100644
--- a/doc/user/gitlab_com/index.md
+++ b/doc/user/gitlab_com/index.md
@@ -270,7 +270,7 @@ for `shared_buffers` is quite high, and we are
## Puma
-GitLab.com uses the default of 60 seconds for [Puma request timeouts](https://docs.gitlab.com/omnibus/settings/puma.html#worker-timeout).
+GitLab.com uses the default of 60 seconds for [Puma request timeouts](../../administration/operations/puma.md#worker-timeout).
## GitLab.com-specific rate limits
diff --git a/doc/user/packages/composer_repository/index.md b/doc/user/packages/composer_repository/index.md
index efa2a8ac63b..6e3af45df17 100644
--- a/doc/user/packages/composer_repository/index.md
+++ b/doc/user/packages/composer_repository/index.md
@@ -138,7 +138,7 @@ To view the published package, go to **Packages & Registries > Package Registry*
A more detailed Composer CI/CD file is also available as a `.gitlab-ci.yml` template:
1. On the left sidebar, select **Project information**.
-1. Above the file list, click **Set up CI/CD**. If this button is not available, select **CI/CD Configuration** and then **Edit**.
+1. Above the file list, select **Set up CI/CD**. If this button is not available, select **CI/CD Configuration** and then **Edit**.
1. From the **Apply a template** list, select **Composer**.
WARNING:
diff --git a/doc/user/packages/conan_repository/index.md b/doc/user/packages/conan_repository/index.md
index f07d1100994..33c48478921 100644
--- a/doc/user/packages/conan_repository/index.md
+++ b/doc/user/packages/conan_repository/index.md
@@ -363,7 +363,7 @@ There are two ways to remove a Conan package from the GitLab Package Registry.
- From the GitLab user interface:
Go to your project's **Packages & Registries > Package Registry**. Remove the
- package by clicking the red trash icon.
+ package by selecting **Remove repository** (**{remove}**).
## Search for Conan packages in the Package Registry
diff --git a/doc/user/project/wiki/index.md b/doc/user/project/wiki/index.md
index d0a1f485fa8..f18e133ab9c 100644
--- a/doc/user/project/wiki/index.md
+++ b/doc/user/project/wiki/index.md
@@ -142,7 +142,7 @@ For an example, read [Table of contents](../../markdown.md#table-of-contents).
## Delete a wiki page
-You need at least the [Maintainer role](../../permissions.md) to delete a wiki page:
+You need at least the [Developer role](../../permissions.md) to delete a wiki page:
1. Go to your project or group and select **Wiki**.
1. Go to the page you want to delete.
diff --git a/lib/tasks/gitlab/assets.rake b/lib/tasks/gitlab/assets.rake
index db10428e0dc..cbafed16852 100644
--- a/lib/tasks/gitlab/assets.rake
+++ b/lib/tasks/gitlab/assets.rake
@@ -7,6 +7,7 @@ module Tasks
module Assets
FOSS_ASSET_FOLDERS = %w[app/assets fixtures/emojis vendor/assets/javascripts].freeze
EE_ASSET_FOLDERS = %w[ee/app/assets].freeze
+ JH_ASSET_FOLDERS = %w[jh/app/assets].freeze
JS_ASSET_PATTERNS = %w[*.js config/**/*.js].freeze
JS_ASSET_FILES = %w[package.json yarn.lock].freeze
MASTER_MD5_HASH_FILE = 'master-assets-hash.txt'
@@ -28,6 +29,7 @@ module Tasks
def self.assets_impacting_webpack_compilation
assets_folders = FOSS_ASSET_FOLDERS
assets_folders += EE_ASSET_FOLDERS if ::Gitlab.ee?
+ assets_folders += JH_ASSET_FOLDERS if ::Gitlab.jh?
asset_files = Dir.glob(JS_ASSET_PATTERNS)
asset_files += JS_ASSET_FILES
diff --git a/scripts/rspec_helpers.sh b/scripts/rspec_helpers.sh
index 455aaa37692..accc52a7ece 100644
--- a/scripts/rspec_helpers.sh
+++ b/scripts/rspec_helpers.sh
@@ -120,7 +120,7 @@ function rspec_paralellized_job() {
fi
if [[ "${test_tool}" =~ "-all" ]]; then
- spec_folder_prefixes="['', 'ee/']"
+ spec_folder_prefixes="['', 'ee/', 'jh/']"
fi
export KNAPSACK_LOG_LEVEL="debug"
diff --git a/spec/features/markdown/copy_as_gfm_spec.rb b/spec/features/markdown/copy_as_gfm_spec.rb
index c700f878df6..d3aaf339421 100644
--- a/spec/features/markdown/copy_as_gfm_spec.rb
+++ b/spec/features/markdown/copy_as_gfm_spec.rb
@@ -201,6 +201,15 @@ RSpec.describe 'Copy as GFM', :js do
GFM
)
+ aggregate_failures('CustomEmojiFilter') do
+ gfm = ':custom_emoji:'
+
+ html = '<img class="emoji" src="custom_emoji.svg" title=":custom_emoji:" height="20" width="20">'
+
+ output_gfm = html_to_gfm(html)
+ expect(output_gfm.strip).to eq(gfm.strip)
+ end
+
aggregate_failures('MathFilter: math as transformed from HTML to KaTeX') do
gfm = '$`c = \pm\sqrt{a^2 + b^2}`$'