diff --git a/doc/.vale/gitlab/RelativeLinks.yml b/doc/.vale/gitlab/RelativeLinks.yml index 582d0faba09..015e226ca39 100644 --- a/doc/.vale/gitlab/RelativeLinks.yml +++ b/doc/.vale/gitlab/RelativeLinks.yml @@ -6,8 +6,8 @@ # For a list of all options, see https://vale.sh/docs/topics/styles/ extends: existence message: 'Link "%s" must be a relative link with a .md extension.' -link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-to-internal-documentation +link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-within-the-same-repository level: error scope: raw raw: - - '\[.+\]\(https?:\/\/docs\.gitlab\.com\/[ce]e.*\)' + - '\[[^\]]+\]\(https?:\/\/docs\.gitlab\.com\/[ce]e.*?\)' diff --git a/doc/administration/gitaly/monitoring.md b/doc/administration/gitaly/monitoring.md index 9b7acd536b3..8d4f30c7c20 100644 --- a/doc/administration/gitaly/monitoring.md +++ b/doc/administration/gitaly/monitoring.md @@ -152,9 +152,6 @@ The following metrics are available from the `/metrics` endpoint: for replication to complete after the replication job starts. Available in GitLab 12.10 and later. - `gitaly_praefect_replication_delay_bucket`, a histogram measuring how much time passes between when the replication job is created and when it starts. Available in GitLab 12.10 and later. -- `gitaly_praefect_node_latency_bucket`, a histogram measuring the latency in Gitaly returning - health check information to Praefect. This indicates Praefect connection saturation. Available in - GitLab 12.10 and later. - `gitaly_praefect_connections_total`, the total number of connections to Praefect. [Introduced](https://gitlab.com/gitlab-org/gitaly/-/merge_requests/4220) in GitLab 14.7. To monitor [strong consistency](index.md#strong-consistency), you can use the following Prometheus metrics: diff --git a/doc/development/documentation/site_architecture/deployment_process.md b/doc/development/documentation/site_architecture/deployment_process.md index b5c3a59b0eb..959c6a22777 100644 --- a/doc/development/documentation/site_architecture/deployment_process.md +++ b/doc/development/documentation/site_architecture/deployment_process.md @@ -6,6 +6,14 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Documentation deployments +## Deployment environments + +The [GitLab documentation site](https://docs.gitlab.com/) is a static site hosted by [GitLab Pages](../../../user/project/pages/index.md). The deployment is done by the [Pages deploy job](#pages-deploy-job). + +The website hosts documentation only for the [currently supported](../../../policy/maintenance.md) GitLab versions. Documentation for older versions is built and uploaded as Docker images to be downloaded from [GitLab Docs archives](https://docs.gitlab.com/archives/). + +## Parts of release process + The documentation [release process](https://gitlab.com/gitlab-org/gitlab-docs/-/blob/main/doc/releases.md) involves: @@ -24,10 +32,8 @@ For general information on using Docker with CI/CD pipelines, see [Docker integr ## Stable branches -Stable branches for documentation include the relevant stable branches of all the projects required to publish the entire -documentation suite. For example, the stable version of documentation for version `14.4` includes: +Pipelines for stable branches in the documentation project pull the relevant stable branches of included projects. For example, the documentation for stable version `14.4` is built from the [`14.4`](https://gitlab.com/gitlab-org/gitlab-docs/-/tree/14.4) branch of the `gitlab-docs` project, which then includes: -- The [`14.4`](https://gitlab.com/gitlab-org/gitlab-docs/-/tree/14.4) branch of the `gitlab-docs` project. - The [`14-4-stable-ee`](https://gitlab.com/gitlab-org/gitlab/-/tree/14-4-stable-ee) branch of the `gitlab` project. - The [`14-4-stable`](https://gitlab.com/gitlab-org/gitlab-runner/-/tree/14-4-stable) branch of the `gitlab-runner` project. - The [`14-4-stable`](https://gitlab.com/gitlab-org/omnibus-gitlab/-/tree/14-4-stable) branch of the `omnibus-gitlab` project. @@ -117,7 +123,7 @@ graph TD G--"Latest `gitlab-docs:latest` image
pushed up"-->H ``` -## Documentation Pages deployment +## Pages deploy job [GitLab Docs](https://docs.gitlab.com) is a [Pages site](../../../user/project/pages/index.md) and documentation updates for it must be deployed to become available. diff --git a/package.json b/package.json index e72b1cf5870..3e4f06437a5 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@gitlab/at.js": "1.5.7", "@gitlab/favicon-overlay": "2.0.0", "@gitlab/svgs": "3.5.0", - "@gitlab/ui": "49.0.1", + "@gitlab/ui": "49.0.2", "@gitlab/visual-review-tools": "1.7.3", "@gitlab/web-ide": "0.0.1-dev-20220815034418", "@rails/actioncable": "6.1.4-7", @@ -270,4 +270,4 @@ "node": ">=12.22.1", "yarn": "^1.10.0" } -} \ No newline at end of file +} diff --git a/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js b/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js index f54d56c3af4..4cac642bb50 100644 --- a/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js +++ b/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js @@ -1,139 +1,7 @@ -import $ from 'jquery'; -import { loadHTMLFixture, resetHTMLFixture } from 'helpers/fixtures'; import { formatUtcOffset, formatTimezone } from '~/lib/utils/datetime_utility'; -import TimezoneDropdown, { - findTimezoneByIdentifier, -} from '~/pages/projects/pipeline_schedules/shared/components/timezone_dropdown'; +import { findTimezoneByIdentifier } from '~/pages/projects/pipeline_schedules/shared/components/timezone_dropdown'; describe('Timezone Dropdown', () => { - let $inputEl = null; - let $dropdownEl = null; - let $wrapper = null; - const tzListSel = '.dropdown-content ul li a.is-active'; - - const initTimezoneDropdown = (options = {}) => { - // eslint-disable-next-line no-new - new TimezoneDropdown({ - $inputEl, - $dropdownEl, - ...options, - }); - }; - - const findDropdownToggleText = () => $wrapper.find('.dropdown-toggle-text'); - - describe('Initialize', () => { - describe('with dropdown already loaded', () => { - beforeEach(() => { - loadHTMLFixture('pipeline_schedules/edit.html'); - $wrapper = $('.dropdown'); - $inputEl = $('#schedule_cron_timezone'); - $inputEl.val(''); - $dropdownEl = $('.js-timezone-dropdown'); - }); - - afterEach(() => { - resetHTMLFixture(); - }); - - it('can take an $inputEl in the constructor', () => { - initTimezoneDropdown(); - - const tzStr = '[UTC + 5.5] Sri Jayawardenepura'; - const tzValue = 'Asia/Colombo'; - - expect($inputEl.val()).toBe('Etc/UTC'); - - $(`${tzListSel}:contains('${tzStr}')`, $wrapper).trigger('click'); - - const val = $inputEl.val(); - - expect(val).toBe(tzValue); - expect(val).not.toBe('Etc/UTC'); - }); - - it('will format data array of timezones into a list of offsets', () => { - initTimezoneDropdown(); - - const data = $dropdownEl.data('data'); - const formatted = $wrapper.find(tzListSel).text(); - - data.forEach((item) => { - expect(formatted).toContain(formatTimezone(item)); - }); - }); - - describe('when `allowEmpty` property is `false`', () => { - beforeEach(() => { - initTimezoneDropdown(); - }); - - it('will default the timezone to UTC', () => { - const tz = $inputEl.val(); - - expect(tz).toBe('Etc/UTC'); - }); - }); - - describe('when `allowEmpty` property is `true`', () => { - beforeEach(() => { - initTimezoneDropdown({ - allowEmpty: true, - }); - }); - - it('will default the value of the input to an empty string', () => { - expect($inputEl.val()).toBe(''); - }); - }); - }); - - describe('without dropdown loaded', () => { - beforeEach(() => { - loadHTMLFixture('pipeline_schedules/edit.html'); - $wrapper = $('.dropdown'); - $inputEl = $('#schedule_cron_timezone'); - $dropdownEl = $('.js-timezone-dropdown'); - }); - - it('will populate the list of UTC offsets after the dropdown is loaded', () => { - expect($wrapper.find(tzListSel).length).toEqual(0); - - initTimezoneDropdown(); - - expect($wrapper.find(tzListSel).length).toEqual($($dropdownEl).data('data').length); - }); - - it('will call a provided handler when a new timezone is selected', () => { - const onSelectTimezone = jest.fn(); - - initTimezoneDropdown({ onSelectTimezone }); - - $wrapper.find(tzListSel).first().trigger('click'); - - expect(onSelectTimezone).toHaveBeenCalled(); - }); - - it('will correctly set the dropdown label if a timezone identifier is set on the inputEl', () => { - $inputEl.val('America/St_Johns'); - - initTimezoneDropdown({ displayFormat: (selectedItem) => formatTimezone(selectedItem) }); - - expect(findDropdownToggleText().html()).toEqual('[UTC - 2.5] Newfoundland'); - }); - - it('will call a provided `displayFormat` handler to format the dropdown value', () => { - const displayFormat = jest.fn(); - - initTimezoneDropdown({ displayFormat }); - - $wrapper.find(tzListSel).first().trigger('click'); - - expect(displayFormat).toHaveBeenCalled(); - }); - }); - }); - describe('formatUtcOffset', () => { it('will convert negative utc offsets in seconds to hours and minutes', () => { expect(formatUtcOffset(-21600)).toEqual('- 6'); diff --git a/yarn.lock b/yarn.lock index 2aa25e5944d..b6dd915d203 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1113,10 +1113,10 @@ resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.5.0.tgz#226240b7aa93db986f4c6f7738ca2a1846b5234d" integrity sha512-/djPsJzUY7i/FaydRVt3ZyXiFf5HGNo1rg2mfLn1EpXvT4zc2ag5ECwnYcPb97KgqFCJX6Tk+Ndu8Wh3GoOW1g== -"@gitlab/ui@49.0.1": - version "49.0.1" - resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-49.0.1.tgz#ee26f7250363502bb4d5b15f40534f4f68e65a6d" - integrity sha512-u/qMexzVckgf1zyKmXGDsSUzeF7CLBJP4EvdgN9ijDmq1mQRhGKx73FRUc7g+RSCSQCPpxhD5k1vY7aTouxYgQ== +"@gitlab/ui@49.0.2": + version "49.0.2" + resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-49.0.2.tgz#4d545fdb4165cf961176fb8972fb9bbfe6b15f1f" + integrity sha512-hleFBhGbNDItQVe/EavY8K1sAaeTsYZeOb2Z9+W1xafqOlruxOnM1fW3/Rjn9d2dEA8kNCwav1yTwH72wUE4rg== dependencies: "@popperjs/core" "^2.11.2" bootstrap-vue "2.20.1"