Skip to content
Snippets Groups Projects
Commit 85e95876 authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@12-7-stable-ee

parent 680a5284
No related branches found
No related tags found
No related merge requests found
Showing
with 112 additions and 53 deletions
doc/user/img/markdown_copy_from_spreadsheet_v12_7.png

363 KiB

doc/user/img/markdown_paste_table_v12_7.png

150 KiB

---
redirect_to: '../instance_statistics/dev_ops_score.md'
---
This document was moved to [another location](../instance_statistics/dev_ops_score.md).
# DevOps Score
 
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/30469) in GitLab 9.3.
> [Renamed from Conversational Development Index](https://gitlab.com/gitlab-org/gitlab/issues/20976) in GitLab 12.6.
 
NOTE: **Note:**
Loading
Loading
Loading
Loading
@@ -1375,6 +1375,22 @@ to the sides of the "dash" lines in the second row. This will affect every cell
| Cell 1 | Cell 2 | Cell 3 | Cell 4 | Cell 5 | Cell 6 |
| Cell 7 | Cell 8 | Cell 9 | Cell 10 | Cell 11 | Cell 12 |
 
#### Copy from spreadsheet and paste in Markdown
[Introduced](https://gitlab.com/gitlab-org/gitlab/issues/27205) in GitLab 12.7.
If you're working in spreadsheet software (e.g. Microsoft Excel, Google
Sheets, Apple Numbers), you can copy from a spreadsheet, and GitLab will
paste it as a Markdown table. For example, suppose you have the
following spreadsheet:
![Copy from spreadsheet](img/markdown_copy_from_spreadsheet_v12_7.png)
Select the cells and copy them to your clipboard. Open a GitLab Markdown
entry and paste the spreadsheet:
![Paste to Markdown table](img/markdown_paste_table_v12_7.png)
## References
 
- This document leveraged heavily from the [Markdown-Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
Loading
Loading
Loading
Loading
@@ -266,6 +266,8 @@ The GitLab Conan repository supports the following Conan CLI commands:
 
## Using GitLab CI with Conan packages
 
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/11678) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7.
To work with Conan commands within [GitLab CI](./../../../ci/README.md), you can use
`CI_JOB_TOKEN` in place of the personal access token in your commands.
 
Loading
Loading
Loading
Loading
@@ -151,21 +151,24 @@ There are 2 methods to specify a variable in a query or dashboard:
By default, all projects include a GitLab-defined Prometheus dashboard, which
includes a few key metrics, but you can also define your own custom dashboards.
 
You may create a new file from scratch or duplicate a GitLab-defined Prometheus
dashboard.
NOTE: **Note:**
The custom metrics as defined below do not support alerts, unlike
[additional metrics](#adding-additional-metrics-premium).
 
#### Adding a new dashboard to your project
 
You can configure a custom dashboard by adding a new `.yml` file into a project's repository. Only `.yml` files present in the projects **default** branch are displayed on the project's **Operations > Metrics** section.
You may create a new file from scratch or duplicate a GitLab-defined dashboard.
You can configure a custom dashboard by adding a new YAML file into your project's
`.gitlab/dashboards/` directory. In order for the dashboards to be displayed on
the project's **Operations > Metrics** page, the files must have a `.yml`
extension and should be present in the project's **default** branch.
 
**Add a `.yml` file manually**
For example:
 
1. Create a YAML file with the `.yml` extension under your repository's root
directory inside `.gitlab/dashboards/`. For example, create
`.gitlab/dashboards/prom_alerts.yml` with the following contents:
1. Create `.gitlab/dashboards/prom_alerts.yml` under your repository's root
directory with the following contents:
 
```yaml
dashboard: 'Dashboard Title'
Loading
Loading
@@ -194,7 +197,7 @@ NOTE: **Note:**
Configuration files nested under subdirectories of `.gitlab/dashboards` are not
supported and will not be available in the UI.
 
**Duplicate a GitLab-defined dashboard as a new `.yml` file**
#### Duplicating a GitLab-defined dashboard
 
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/37238) in GitLab 12.7.
 
Loading
Loading
Loading
Loading
@@ -54,8 +54,8 @@ Design Management requires that projects are using
- Design Management data [won't be moved](https://gitlab.com/gitlab-org/gitlab/issues/13426)
when an issue is moved, nor [deleted](https://gitlab.com/gitlab-org/gitlab/issues/13427)
when an issue is deleted.
- Design Management
[isn't supported by Geo](https://gitlab.com/groups/gitlab-org/-/epics/1633) yet.
- From GitLab 12.7, Design Management data [can be replicated](../../../administration/geo/replication/datatypes.md#limitations-on-replicationverification)
by Geo but [not verified](https://gitlab.com/gitlab-org/gitlab/issues/32467).
- Only the latest version of the designs can be deleted.
- Deleted designs cannot be recovered but you can see them on previous designs versions.
 
Loading
Loading
Loading
Loading
@@ -55,6 +55,7 @@ This page has:
- A link to the Sentry issue.
- A link to the GitLab commit if the Sentry [release id/version](https://docs.sentry.io/workflow/releases/?platform=javascript#configure-sdk) on the Sentry Issue's first release matches a commit SHA in your GitLab hosted project.
- Other details about the issue, including a full stack trace.
- In [GitLab 12.7 and newer](https://gitlab.com/gitlab-org/gitlab/issues/36246), language and urgency are displayed.
 
By default, a **Create issue** button is displayed. Once you have used it to create an issue, the button is hidden.
 
Loading
Loading
@@ -78,6 +79,10 @@ Ignoring an error will prevent it from appearing in the [Error Tracking List](#e
 
### Resolving errors
 
From within the [Error Details](#error-details) page you can resolve a Sentry error by simply clicking the **Resolve** button near the top of the page.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/39825) in GitLab 12.7.
 
Marking an error as resolved indicates that the error has stopped firing events. If another event occurs, the error reverts to unresolved.
From within the [Error Details](#error-details) page you can resolve a Sentry error by
clicking the **Resolve** button near the top of the page.
Marking an error as resolved indicates that the error has stopped firing events. If another event
occurs, the error reverts to unresolved.
Loading
Loading
@@ -23,10 +23,14 @@ noted information:
If you hover over a commit in the UI, you'll see a precise date and time
for that commit.
 
![Blame previous commit](img/file_blame_previous_commit_v12_7.png "Blame previous commit")
## Blame previous commit
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/19299) in GitLab 12.7.
 
To see earlier revisions of a specific line, click **View blame prior to this change**
until you've found the changes you're interested in viewing.
until you've found the changes you're interested in viewing:
![Blame previous commit](img/file_blame_previous_commit_v12_7.png "Blame previous commit")
 
## Associated `git` command
 
Loading
Loading
Loading
Loading
@@ -69,7 +69,7 @@ Follow these steps to do so:
have access to your GitLab instance. We recommend **putting this behind an alias** so it can be
changed if needed, and **[enabling Akismet](../../integration/akismet.md)** on your GitLab
instance to add spam checking to this service. Unblocked email spam would result in many spam
issues being created, and may disrupt your GitLab service.
issues being created.
 
If you have [templates](description_templates.md) in your repository, you can optionally select
one from the selector menu to append it to all Service Desk issues.
Loading
Loading
Loading
Loading
@@ -34,7 +34,7 @@ module Gitlab
end
 
def password
@password ||= Gitlab::Utils.force_utf8(Devise.friendly_token[0, 8].downcase)
@password ||= Gitlab::Utils.force_utf8(::User.random_password.downcase)
end
 
def location
Loading
Loading
Loading
Loading
@@ -172,6 +172,7 @@ module Gitlab
stage: 'import_pull_requests', iid: pull_request.iid, error: e.message
)
 
backtrace = Gitlab::BacktraceCleaner.clean_backtrace(e.backtrace)
errors << { type: :pull_request, iid: pull_request.iid, errors: e.message, backtrace: backtrace.join("\n"), raw_response: pull_request.raw }
end
end
Loading
Loading
Loading
Loading
@@ -24,6 +24,10 @@ module Gitlab
'projects/compare' => %w{create}
}.freeze
 
WHITELISTED_LOGOUT_ROUTES = {
'sessions' => %w{destroy}
}.freeze
GRAPHQL_URL = '/api/graphql'
 
def initialize(app, env)
Loading
Loading
@@ -85,7 +89,7 @@ module Gitlab
 
# Overridden in EE module
def whitelisted_routes
grack_route? || internal_route? || lfs_route? || compare_git_revisions_route? || sidekiq_route? || graphql_query?
grack_route? || internal_route? || lfs_route? || compare_git_revisions_route? || sidekiq_route? || logout_route? || graphql_query?
end
 
def grack_route?
Loading
Loading
@@ -118,6 +122,13 @@ module Gitlab
WHITELISTED_GIT_LFS_ROUTES[route_hash[:controller]]&.include?(route_hash[:action])
end
 
def logout_route?
# Calling route_hash may be expensive. Only do it if we think there's a possible match
return false unless request.post? && request.path.end_with?('/users/sign_out')
WHITELISTED_LOGOUT_ROUTES[route_hash[:controller]]&.include?(route_hash[:action])
end
def sidekiq_route?
request.path.start_with?("#{relative_url}/admin/sidekiq")
end
Loading
Loading
Loading
Loading
@@ -6295,15 +6295,9 @@ msgstr ""
msgid "Deselect all"
msgstr ""
 
msgid "Design Management"
msgstr ""
msgid "Design Management files and data"
msgstr ""
 
msgid "Design Sync Not Enabled"
msgstr ""
msgid "DesignManagement|%{current_design} of %{designs_count}"
msgstr ""
 
Loading
Loading
@@ -8065,6 +8059,11 @@ msgstr ""
msgid "Fetching licenses failed. You are not permitted to perform this action."
msgstr ""
 
msgid "File"
msgid_plural "Files"
msgstr[0] ""
msgstr[1] ""
msgid "File Hooks"
msgstr ""
 
Loading
Loading
@@ -8407,9 +8406,6 @@ msgstr ""
msgid "Geo Settings"
msgstr ""
 
msgid "Geo Troubleshooting"
msgstr ""
msgid "Geo allows you to replicate your GitLab instance to other geographical locations."
msgstr ""
 
Loading
Loading
@@ -9879,9 +9875,6 @@ msgstr ""
msgid "If you believe this may be an error, please refer to the %{linkStart}Geo Troubleshooting%{linkEnd} documentation for more information."
msgstr ""
 
msgid "If you believe this page to be an error, check out the links below for more information."
msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
 
Loading
Loading
@@ -11639,10 +11632,10 @@ msgstr ""
msgid "MergeRequest|Error loading full diff. Please try again."
msgstr ""
 
msgid "MergeRequest|No files found"
msgid "MergeRequest|Filter files or search with %{modifier_key}+p"
msgstr ""
 
msgid "MergeRequest|Search files (%{modifier_key}P)"
msgid "MergeRequest|No files found"
msgstr ""
 
msgid "Merged"
Loading
Loading
@@ -21719,9 +21712,6 @@ msgstr ""
msgid "among other things"
msgstr ""
 
msgid "and"
msgstr ""
msgid "archived"
msgstr ""
 
Loading
Loading
@@ -22149,11 +22139,6 @@ msgstr ""
msgid "failed to dismiss associated finding(id=%{finding_id}): %{message}"
msgstr ""
 
msgid "file"
msgid_plural "files"
msgstr[0] ""
msgstr[1] ""
msgid "finding is not found or is already attached to a vulnerability"
msgstr ""
 
Loading
Loading
@@ -22738,6 +22723,9 @@ msgstr[1] ""
msgid "reset it."
msgstr ""
 
msgid "resolved the corresponding error and closed the issue."
msgstr ""
msgid "score"
msgstr ""
 
Loading
Loading
Loading
Loading
@@ -301,7 +301,7 @@ describe Projects::ErrorTrackingController do
context 'update result is successful' do
before do
expect(issue_update_service).to receive(:execute)
.and_return(status: :success, updated: true)
.and_return(status: :success, updated: true, closed_issue_iid: 1234)
 
update_issue
end
Loading
Loading
Loading
Loading
@@ -50,7 +50,7 @@ describe 'Merge request > User sees versions', :js do
expect(page).to have_content 'latest version'
end
 
expect(page).to have_content '8 files'
expect(page).to have_content '8 Files'
end
 
it_behaves_like 'allows commenting',
Loading
Loading
@@ -84,7 +84,7 @@ describe 'Merge request > User sees versions', :js do
end
 
it 'shows comments that were last relevant at that version' do
expect(page).to have_content '5 files'
expect(page).to have_content '5 Files'
 
position = Gitlab::Diff::Position.new(
old_path: ".gitmodules",
Loading
Loading
@@ -128,10 +128,12 @@ describe 'Merge request > User sees versions', :js do
diff_id: merge_request_diff3.id,
start_sha: '6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9'
)
expect(page).to have_content '4 files'
expect(page).to have_content '4 Files'
 
additions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group .js-file-addition-line').text
deletions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group .js-file-deletion-line').text
additions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group svg.ic-file-addition')
.ancestor('.diff-stats-group').text
deletions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group svg.ic-file-deletion')
.ancestor('.diff-stats-group').text
 
expect(additions_content).to eq '15'
expect(deletions_content).to eq '6'
Loading
Loading
@@ -154,10 +156,12 @@ describe 'Merge request > User sees versions', :js do
end
 
it 'show diff between new and old version' do
additions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group .js-file-addition-line').text
deletions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group .js-file-deletion-line').text
additions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group svg.ic-file-addition')
.ancestor('.diff-stats-group').text
deletions_content = page.find('.diff-stats.is-compare-versions-header .diff-stats-group svg.ic-file-deletion')
.ancestor('.diff-stats-group').text
 
expect(page).to have_content '4 files'
expect(page).to have_content '4 Files'
expect(additions_content).to eq '15'
expect(deletions_content).to eq '6'
end
Loading
Loading
@@ -167,7 +171,7 @@ describe 'Merge request > User sees versions', :js do
page.within '.mr-version-dropdown' do
expect(page).to have_content 'latest version'
end
expect(page).to have_content '8 files'
expect(page).to have_content '8 Files'
end
 
it_behaves_like 'allows commenting',
Loading
Loading
@@ -193,7 +197,7 @@ describe 'Merge request > User sees versions', :js do
find('.btn-default').click
click_link 'version 1'
end
expect(page).to have_content '0 files'
expect(page).to have_content '0 Files'
end
end
 
Loading
Loading
@@ -219,7 +223,7 @@ describe 'Merge request > User sees versions', :js do
expect(page).to have_content 'version 1'
end
 
expect(page).to have_content '0 files'
expect(page).to have_content '0 Files'
end
end
 
Loading
Loading
Loading
Loading
@@ -21,4 +21,16 @@ describe 'Logout/Sign out', :js do
 
expect(page).not_to have_selector('.flash-notice')
end
context 'on a read-only instance' do
before do
allow(Gitlab::Database).to receive(:read_only?).and_return(true)
end
it 'sign out redirects to sign in page' do
gitlab_sign_out
expect(current_path).to eq new_user_session_path
end
end
end
Loading
Loading
@@ -6,9 +6,15 @@
"properties" : {
"result": {
"type": "object",
"required" : [
"status",
"updated",
"closed_issue_iid"
],
"properties": {
"status": { "type": "string" },
"updated": { "type": "boolean" }
"updated": { "type": "boolean" },
"closed_issue_iid": { "type": ["integer", "null"] }
}
}
},
Loading
Loading
Loading
Loading
@@ -49,7 +49,8 @@ describe('CompareVersions', () => {
 
expect(treeListBtn.exists()).toBe(true);
expect(treeListBtn.attributes('title')).toBe('Hide file browser');
expect(treeListBtn.find(Icon).props('name')).toBe('file-tree');
expect(treeListBtn.findAll(Icon).length).not.toBe(0);
expect(treeListBtn.find(Icon).props('name')).toBe('collapse-left');
});
 
it('should render comparison dropdowns with correct values', () => {
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment