Commit 5a6b36b6 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent a76d34e6
...@@ -50,10 +50,6 @@ docs lint: ...@@ -50,10 +50,6 @@ docs lint:
needs: [] needs: []
script: script:
- scripts/lint-doc.sh - scripts/lint-doc.sh
# Lint Markdown
- markdownlint --config .markdownlint.json 'doc/**/*.md'
# Lint content (error-level text-scoped rules only)
- vale --minAlertLevel error --ignore-syntax doc
# Prepare docs for build # Prepare docs for build
- mv doc/ /tmp/gitlab-docs/content/$DOCS_GITLAB_REPO_SUFFIX - mv doc/ /tmp/gitlab-docs/content/$DOCS_GITLAB_REPO_SUFFIX
- cd /tmp/gitlab-docs - cd /tmp/gitlab-docs
......
...@@ -301,7 +301,7 @@ gem 'sentry-raven', '~> 2.9' ...@@ -301,7 +301,7 @@ gem 'sentry-raven', '~> 2.9'
gem 'premailer-rails', '~> 1.10.3' gem 'premailer-rails', '~> 1.10.3'
# LabKit: Tracing and Correlation # LabKit: Tracing and Correlation
gem 'gitlab-labkit', '0.10.0' gem 'gitlab-labkit', '0.10.1'
# I18n # I18n
gem 'ruby_parser', '~> 3.8', require: false gem 'ruby_parser', '~> 3.8', require: false
......
...@@ -380,7 +380,7 @@ GEM ...@@ -380,7 +380,7 @@ GEM
github-markup (1.7.0) github-markup (1.7.0)
gitlab-chronic (0.10.5) gitlab-chronic (0.10.5)
numerizer (~> 0.2) numerizer (~> 0.2)
gitlab-labkit (0.10.0) gitlab-labkit (0.10.1)
actionpack (>= 5.0.0, < 6.1.0) actionpack (>= 5.0.0, < 6.1.0)
activesupport (>= 5.0.0, < 6.1.0) activesupport (>= 5.0.0, < 6.1.0)
grpc (~> 1.19) grpc (~> 1.19)
...@@ -1232,7 +1232,7 @@ DEPENDENCIES ...@@ -1232,7 +1232,7 @@ DEPENDENCIES
gitaly (~> 1.86.0) gitaly (~> 1.86.0)
github-markup (~> 1.7.0) github-markup (~> 1.7.0)
gitlab-chronic (~> 0.10.5) gitlab-chronic (~> 0.10.5)
gitlab-labkit (= 0.10.0) gitlab-labkit (= 0.10.1)
gitlab-license (~> 1.0) gitlab-license (~> 1.0)
gitlab-mail_room (~> 0.0.3) gitlab-mail_room (~> 0.0.3)
gitlab-markup (~> 1.7.0) gitlab-markup (~> 1.7.0)
......
import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';
import Poll from '~/lib/utils/poll';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import Visibility from 'visibilityjs';
import flash from '~/flash'; import flash from '~/flash';
import { __ } from '~/locale'; import { __ } from '~/locale';
import * as types from './mutation_types'; import * as types from './mutation_types';
export const fetchClusters = ({ state, commit }) => { export const fetchClusters = ({ state, commit }) => {
return axios const poll = new Poll({
.get(state.endpoint) resource: {
.then(({ data }) => { fetchClusters: endpoint => axios.get(endpoint),
},
data: state.endpoint,
method: 'fetchClusters',
successCallback: ({ data }) => {
commit(types.SET_CLUSTERS_DATA, convertObjectPropsToCamelCase(data, { deep: true })); commit(types.SET_CLUSTERS_DATA, convertObjectPropsToCamelCase(data, { deep: true }));
commit(types.SET_LOADING_STATE, false); commit(types.SET_LOADING_STATE, false);
}) },
.catch(() => flash(__('An error occurred while loading clusters'))); errorCallback: () => flash(__('An error occurred while loading clusters')),
});
if (!Visibility.hidden()) {
poll.makeRequest();
}
Visibility.change(() => {
if (!Visibility.hidden()) {
poll.restart();
} else {
poll.stop();
}
});
}; };
// prevent babel-plugin-rewire from generating an invalid default during karma tests // prevent babel-plugin-rewire from generating an invalid default during karma tests
......
FastGettext.add_text_domain 'gitlab',
path: File.join(Rails.root, 'locale'),
type: :po,
ignore_fuzzy: true
FastGettext.default_text_domain = 'gitlab'
FastGettext.default_available_locales = Gitlab::I18n.available_locales FastGettext.default_available_locales = Gitlab::I18n.available_locales
FastGettext.default_locale = :en
I18n.available_locales = Gitlab::I18n.available_locales I18n.available_locales = Gitlab::I18n.available_locales
# frozen_string_literal: true
FastGettext.add_text_domain 'gitlab',
path: File.join(Rails.root, 'locale'),
type: :po,
ignore_fuzzy: true
FastGettext.default_text_domain = 'gitlab'
FastGettext.default_locale = :en
...@@ -81,6 +81,7 @@ From there, you can see the following actions: ...@@ -81,6 +81,7 @@ From there, you can see the following actions:
- Release milestone associations changed - Release milestone associations changed
- Permission to approve merge requests by committers was updated ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/7531) in GitLab 12.9) - Permission to approve merge requests by committers was updated ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/7531) in GitLab 12.9)
- Permission to approve merge requests by authors was updated ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/7531) in GitLab 12.9) - Permission to approve merge requests by authors was updated ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/7531) in GitLab 12.9)
- Number of required approvals was updated ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/7531) in GitLab 12.9)
### Instance events **(PREMIUM ONLY)** ### Instance events **(PREMIUM ONLY)**
......
...@@ -4,22 +4,26 @@ type: reference ...@@ -4,22 +4,26 @@ type: reference
# Cloud Object Storage # Cloud Object Storage
GitLab supports utilizing a Cloud Object Storage service over [NFS](nfs.md) for holding GitLab supports utilizing a Cloud Object Storage service rather than [NFS](nfs.md) for holding
numerous types of data. This is recommended in larger setups as object storage is numerous types of data. This is recommended in larger setups as object storage is
typically much more performant and reliable. typically much more performant, reliable, and scalable.
For configuring GitLab to use Object Storage refer to the following guides: For configuring GitLab to use Object Storage refer to the following guides:
1. Make sure the [`git` user home directory](https://docs.gitlab.com/omnibus/settings/configuration.html#moving-the-home-directory-for-a-user) is on local disk. 1. Make sure the [`git` user home directory](https://docs.gitlab.com/omnibus/settings/configuration.html#moving-the-home-directory-for-a-user) is on local disk.
1. Configure [database lookup of SSH keys](../operations/fast_ssh_key_lookup.md) 1. Configure [database lookup of SSH keys](../operations/fast_ssh_key_lookup.md)
to eliminate the need for a shared `authorized_keys` file. to eliminate the need for a shared `authorized_keys` file.
1. Configure [object storage for backups](../../raketasks/backup_restore.md#uploading-backups-to-a-remote-cloud-storage).
1. Configure [object storage for job artifacts](../job_artifacts.md#using-object-storage) 1. Configure [object storage for job artifacts](../job_artifacts.md#using-object-storage)
including [incremental logging](../job_logs.md#new-incremental-logging-architecture). including [incremental logging](../job_logs.md#new-incremental-logging-architecture).
1. Configure [object storage for LFS objects](../lfs/lfs_administration.md#storing-lfs-objects-in-remote-object-storage). 1. Configure [object storage for LFS objects](../lfs/lfs_administration.md#storing-lfs-objects-in-remote-object-storage).
1. Configure [object storage for uploads](../uploads.md#using-object-storage-core-only). 1. Configure [object storage for uploads](../uploads.md#using-object-storage-core-only).
1. Configure [object storage for merge request diffs](../merge_request_diffs.md#using-object-storage). 1. Configure [object storage for merge request diffs](../merge_request_diffs.md#using-object-storage).
1. Configure [object storage for packages](../packages/index.md#using-object-storage) (optional feature). 1. Configure [object storage for container registry](../packages/container_registry.md#container-registry-storage-driver) (optional feature).
1. Configure [object storage for dependency proxy](../packages/dependency_proxy.md#using-object-storage) (optional feature). 1. Configure [object storage for Mattermost](https://docs.mattermost.com/administration/config-settings.html#file-storage) (optional feature).
1. Configure [object storage for packages](../packages/index.md#using-object-storage) (optional feature). **(PREMIUM ONLY)**
1. Configure [object storage for dependency proxy](../packages/dependency_proxy.md#using-object-storage) (optional feature). **(ULTIMATE ONLY)**
1. Configure [object storage for Pseudonymizer](../pseudonymizer.md#configuration) (optional feature). **(ULTIMATE ONLY)**
NOTE: **Note:** NOTE: **Note:**
One current feature of GitLab that still requires a shared directory (NFS) is One current feature of GitLab that still requires a shared directory (NFS) is
......
...@@ -393,15 +393,14 @@ merge request with new or changed docs is submitted, are: ...@@ -393,15 +393,14 @@ merge request with new or changed docs is submitted, are:
- [`docs lint`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L48): - [`docs lint`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L48):
Runs several tests on the content of the docs themselves: Runs several tests on the content of the docs themselves:
- [`lint-doc.sh` script](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/lint-doc.sh) - [`lint-doc.sh` script](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/lint-doc.sh)
checks that: runs the following checks and linters:
- All cURL examples use the long flags (ex: `--header`, not `-H`). - All cURL examples use the long flags (ex: `--header`, not `-H`).
- The `CHANGELOG.md` does not contain duplicate versions. - The `CHANGELOG.md` does not contain duplicate versions.
- No files in `doc/` are executable. - No files in `doc/` are executable.
- No new `README.md` was added. - No new `README.md` was added.
- [markdownlint](#markdownlint). - [markdownlint](#markdownlint).
- Nanoc tests, which you can [run locally](#previewing-the-changes-live) before - [Vale](#vale).
pushing to GitLab by executing the command `bundle exec nanoc check internal_links` - Nanoc tests:
(or `internal_anchors`) on your local [`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs) directory:
- [`internal_links`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L67) - [`internal_links`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L67)
checks that all internal links (ex: `[link](../index.md)`) are valid. checks that all internal links (ex: `[link](../index.md)`) are valid.
- [`internal_anchors`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L69) - [`internal_anchors`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L69)
...@@ -410,6 +409,60 @@ merge request with new or changed docs is submitted, are: ...@@ -410,6 +409,60 @@ merge request with new or changed docs is submitted, are:
- If any code or the `doc/README.md` file is changed, a full pipeline will run, which - If any code or the `doc/README.md` file is changed, a full pipeline will run, which
runs tests for [`/help`](#gitlab-help-tests). runs tests for [`/help`](#gitlab-help-tests).
### Running tests & lint checks locally
Apart from [previewing your changes locally](#previewing-the-changes-live), you can also run all lint checks
and Nanoc tests locally.
#### Nanoc tests
To execute Nanoc tests locally:
1. Navigate to the [`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs) directory.
1. Run:
```shell
# Check for broken internal links
bundle exec nanoc check internal_links
# Check for broken external links (might take a lot of time to complete).
# This test is set to be allowed to fail and is run only in the gitlab-docs project CI
bundle exec nanoc check internal_anchors
```
#### Lint checks
Lint checks are performed by the [`lint-doc.sh`](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/lint-doc.sh)
script and can be executed as follows:
1. Navigate to the `gitlab` directory.
1. Run:
```shell
MD_DOC_PATH=path/to/my_doc.md scripts/lint-doc.sh
```
Where `MD_DOC_PATH` points to the file or directory you would like to run lint checks for.
If you omit it completely, it will default to the `doc/` directory.
The output should be similar to:
```
=> Linting documents at path /path/to/gitlab as <user>...
=> Checking for cURL short options...
=> Checking for CHANGELOG.md duplicate entries...
=> Checking /path/to/gitlab/doc for executable permissions...
=> Checking for new README.md files...
=> Linting markdown style...
=> Linting prose...
✔ 0 errors, 0 warnings and 0 suggestions in 1 file.
✔ Linting passed
```
Note that this requires you to either have the required lint tools installed on your machine,
or a working Docker installation, in which case an image with these tools pre-installed will be used.
For more information on available linters refer to the [linting](#linting) section.
### Linting ### Linting
To help adhere to the [documentation style guidelines](styleguide.md), and improve the content To help adhere to the [documentation style guidelines](styleguide.md), and improve the content
......
...@@ -28,6 +28,18 @@ There are several ways to create a Release: ...@@ -28,6 +28,18 @@ There are several ways to create a Release:
Start by giving a [description](#release-description) to the Release and Start by giving a [description](#release-description) to the Release and
including its [assets](#release-assets), as follows. including its [assets](#release-assets), as follows.
## Release versioning
Release versions are manually assigned by the user in the Release title. GitLab uses [Semantic Versioning](https://semver.org/) for our releases, and we recommend you do too. Use `(Major).(Minor).(Patch)`, as detailed in the [GitLab Policy for Versioning](../../../policy/maintenance.md#versioning).
For example, for GitLab version `10.5.7`:
- `10` represents the major version. The major release was `10.0.0`, but often referred to as `10.0`.
- `5` represents the minor version. The minor release was `10.5.0`, but often referred to as `10.5`.
- `7` represents the patch number.
Any part of the version number can be multiple digits, for example, `13.10.11`.
### Release description ### Release description
Every Release has a description. You can add any text you like, but we recommend Every Release has a description. You can add any text you like, but we recommend
......
...@@ -48,5 +48,39 @@ then ...@@ -48,5 +48,39 @@ then
exit 1 exit 1
fi fi
MD_DOC_PATH=${MD_DOC_PATH:-doc/**/*.md}
function run_locally_or_in_docker() {
local cmd=$1
local args=$2
if hash ${cmd} 2>/dev/null
then
$cmd $args
elif hash docker 2>/dev/null
then
docker run -t -v ${PWD}:/gitlab -w /gitlab --rm registry.gitlab.com/gitlab-org/gitlab-docs:lint ${cmd} ${args}
else
echo
echo " ✖ ERROR: '${cmd}' not found. Install '${cmd}' or Docker to proceed." >&2
echo
exit 1
fi
if [ $? -ne 0 ]
then
echo
echo " ✖ ERROR: '${cmd}' failed with errors." >&2
echo
exit 1
fi
}
echo '=> Linting markdown style...'
run_locally_or_in_docker 'markdownlint' "--config .markdownlint.json ${MD_DOC_PATH}"
echo '=> Linting prose...'
run_locally_or_in_docker 'vale' "--minAlertLevel error --ignore-syntax ${MD_DOC_PATH}"
echo "✔ Linting passed" echo "✔ Linting passed"
exit 0 exit 0
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
require 'spec_helper' require 'spec_helper'
describe Projects::Prometheus::AlertPresenter do describe Projects::Prometheus::AlertPresenter do
let_it_be(:project) { create(:project) } let_it_be(:project, reload: true) { create(:project) }
let(:presenter) { described_class.new(alert) } let(:presenter) { described_class.new(alert) }
let(:payload) { {} } let(:payload) { {} }
...@@ -174,7 +174,6 @@ describe Projects::Prometheus::AlertPresenter do ...@@ -174,7 +174,6 @@ describe Projects::Prometheus::AlertPresenter do
context 'create issue setting enabled' do context 'create issue setting enabled' do
before do before do
create(:project_incident_management_setting, project: project, create_issue: true) create(:project_incident_management_setting, project: project, create_issue: true)
project.reload
end end
it { is_expected.to eq(true) } it { is_expected.to eq(true) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment