Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
a76d34e671
commit
5a6b36b605
12 changed files with 149 additions and 30 deletions
|
@ -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
|
||||||
|
|
2
Gemfile
2
Gemfile
|
@ -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
|
||||||
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
|
||||||
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)
|
||||||
|
|
|
@ -1,17 +1,36 @@
|
||||||
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
|
||||||
|
|
|
@ -1,9 +1,2 @@
|
||||||
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
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
# 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:
|
||||||
- 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
|
||||||
|
|
||||||
# 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:
|
||||||
- [`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:
|
||||||
- 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:
|
||||||
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
|
||||||
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 @@
|
||||||
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
|
||||||
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) }
|
||||||
|
|
Loading…
Reference in a new issue