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

Add latest changes from gitlab-org/gitlab@master

parent c8df22c5
No related branches found
No related tags found
No related merge requests found
Showing
with 234 additions and 253 deletions
# Vale configuration file, taken from https://errata-ai.github.io/vale/config/
# Vale configuration file.
#
# For more information, see https://errata-ai.gitbook.io/vale/getting-started/configuration.
 
# The relative path to the folder containing linting rules (styles)
# -----------------------------------------------------------------
StylesPath = doc/.linting/vale/styles
# Minimum alert level
# -------------------
# The minimum alert level to display (suggestion, warning, or error).
# If integrated into CI, builds fail by default on error-level alerts,
# unless you execute Vale with the --no-exit flag
StylesPath = doc/.vale
MinAlertLevel = suggestion
 
# Should Vale parse any file formats other than .md files as Markdown?
# --------------------------------------------------------------------
[formats]
mdx = md
# What file types should Vale test?
# ----------------------------------
[*.md]
# Styles to load
# --------------
# What styles, located in the StylesPath folder, should Vale load?
# Vale also currently includes write-good, proselint, joblint, and vale
BasedOnStyles = gitlab
# Enabling or disabling specific rules in a style
# -----------------------------------------------
# To disable a rule in an enabled style, use the following format:
# {style}.{filename} = NO
# To enable a single rule in a disabled style, use the following format:
# vale.Editorializing = YES
# Altering the severity of a rule in a style
# ------------------------------------------
# To change the reporting level (suggestion, warning, error) of a rule,
# use the following format: {style}.{filename} = {level}
# vale.Hedging = error
import $ from 'jquery';
import _ from 'underscore';
import axios from './lib/utils/axios_utils';
import { joinPaths } from './lib/utils/url_utility';
import flash from '~/flash';
Loading
Loading
@@ -70,7 +68,7 @@ const Api = {
},
 
// Return groups list. Filtered by query
groups(query, options, callback = $.noop) {
groups(query, options, callback = () => {}) {
const url = Api.buildUrl(Api.groupsPath);
return axios
.get(url, {
Loading
Loading
@@ -108,7 +106,7 @@ const Api = {
},
 
// Return projects list. Filtered by query
projects(query, options, callback = _.noop) {
projects(query, options, callback = () => {}) {
const url = Api.buildUrl(Api.projectsPath);
const defaults = {
search: query,
Loading
Loading
Loading
Loading
@@ -26,15 +26,17 @@ export default {
modalInfo: {
closeText: s__('EnableReviewApp|Close'),
copyToClipboardText: s__('EnableReviewApp|Copy snippet text'),
copyString: `deploy_review
copyString: `deploy_review:
stage: deploy
script:
- echo "Deploy a review app"
environment:
name: review/$CI_COMMIT_REF_NAME
url: https://$CI_ENVIRONMENT_SLUG.example.com
only: branches
except: master`,
only:
- branches
except:
- master`,
id: 'enable-review-app-info',
title: s__('ReviewApp|Enable Review App'),
},
Loading
Loading
Loading
Loading
@@ -94,7 +94,7 @@ export default {
data-boundary="viewport"
@click="openDiscardModal"
>
<icon :size="16" name="remove-all" class="ml-auto mr-auto" />
<icon :size="16" name="remove-all" class="ml-auto mr-auto position-top-0" />
</button>
</div>
</div>
Loading
Loading
Loading
Loading
@@ -59,7 +59,7 @@ export default {
<gl-loading-icon v-if="showLoadingIcon" :size="2" class="prepend-top-default" />
<template v-else-if="hasLoadedPipeline">
<header v-if="latestPipeline" class="ide-tree-header ide-pipeline-header">
<ci-icon :status="latestPipeline.details.status" :size="24" />
<ci-icon :status="latestPipeline.details.status" :size="24" class="d-flex" />
<span class="prepend-left-8">
<strong> {{ __('Pipeline') }} </strong>
<a
Loading
Loading
@@ -76,6 +76,7 @@ export default {
:help-page-path="links.ciHelpPagePath"
:empty-state-svg-path="pipelinesEmptyStateSvgPath"
:can-set-ci="true"
class="mb-auto mt-auto"
/>
<div v-else-if="latestPipeline.yamlError" class="bs-callout bs-callout-danger">
<p class="append-bottom-0">{{ __('Found errors in your .gitlab-ci.yml:') }}</p>
Loading
Loading
/* eslint-disable import/prefer-default-export */
import { memoize } from 'lodash';
import axios from '~/lib/utils/axios_utils';
 
/**
* Retrieve SVG icon path content from gitlab/svg sprite icons
* @param {String} name
* Resolves to a DOM that contains GitLab icons
* in svg format. Memoized to avoid duplicate requests
*/
export const getSvgIconPathContent = name =>
const getSvgDom = memoize(() =>
axios
.get(gon.sprite_icons)
.then(({ data: svgs }) =>
new DOMParser()
.parseFromString(svgs, 'text/xml')
.querySelector(`#${name} path`)
.getAttribute('d'),
)
.then(({ data: svgs }) => new DOMParser().parseFromString(svgs, 'text/xml'))
.catch(() => {
getSvgDom.cache.clear();
}),
);
/**
* Clears the memoized SVG content.
*
* You probably don't need to invoke this function unless
* sprite_icons are updated.
*/
export const clearSvgIconPathContentCache = () => {
getSvgDom.cache.clear();
};
/**
* Retrieve SVG icon path content from gitlab/svg sprite icons.
*
* Content loaded is cached.
*
* @param {String} name - Icon name
* @returns A promise that resolves to the svg path
*/
export const getSvgIconPathContent = name =>
getSvgDom()
.then(doc => {
return doc.querySelector(`#${name} path`).getAttribute('d');
})
.catch(() => null);
// stylelint-disable selector-class-pattern
// stylelint-disable selector-max-compound-selectors
// stylelint-disable stylelint-gitlab/duplicate-selectors
// stylelint-disable stylelint-gitlab/utility-classes
.blob-editor-container {
flex: 1;
height: 0;
display: flex;
flex-direction: column;
justify-content: center;
.vertical-center {
min-height: auto;
}
.monaco-editor .lines-content .cigr {
display: none;
}
.monaco-editor .selected-text {
z-index: 1;
}
.monaco-editor .view-lines {
z-index: 2;
}
.is-readonly,
.editor.original {
.view-lines {
cursor: default;
}
.cursors-layer {
display: none;
}
}
.is-deleted {
.editor.modified {
.margin-view-overlays,
.lines-content,
.decorationsOverviewRuler {
// !important to override monaco inline styles
display: none !important;
}
}
.diffOverviewRuler.modified {
// !important to override monaco inline styles
display: none !important;
}
}
.is-added {
.editor.original {
.margin-view-overlays,
.lines-content,
.decorationsOverviewRuler {
// !important to override monaco inline styles
display: none !important;
}
}
.diffOverviewRuler.original {
// !important to override monaco inline styles
display: none !important;
}
}
.monaco-diff-editor.vs {
.editor.modified {
box-shadow: none;
}
.diagonal-fill {
display: none !important;
}
.diffOverview {
background-color: $white-light;
border-left: 1px solid $white-dark;
cursor: ns-resize;
}
.diffViewport {
display: none;
}
.char-insert {
background-color: $line-added-dark;
}
.char-delete {
background-color: $line-removed-dark;
}
.line-numbers {
color: $black-transparent;
}
.view-overlays {
.line-insert {
background-color: $line-added;
}
.line-delete {
background-color: $line-removed;
}
}
.margin {
background-color: $white-light;
border-right: 1px solid $gray-100;
.line-insert {
border-right: 1px solid $line-added-dark;
}
.line-delete {
border-right: 1px solid $line-removed-dark;
}
}
.margin-view-overlays .insert-sign,
.margin-view-overlays .delete-sign {
opacity: 0.4;
}
}
}
.multi-file-editor-holder {
height: 100%;
min-height: 0; // firefox fix
&.is-readonly .vs,
.vs .editor.original {
.monaco-editor,
.monaco-editor-background,
.monaco-editor .inputarea.ime-input {
background-color: $gray-50;
}
}
}
@import 'framework/variables';
@import 'framework/mixins';
@import './ide_mixins';
@import './ide_monaco_overrides';
 
$search-list-icon-width: 18px;
$ide-activity-bar-width: 60px;
Loading
Loading
@@ -16,11 +17,6 @@ $ide-commit-header-height: 48px;
display: inline-block;
}
 
.fade-enter,
.fade-leave-to {
opacity: 0;
}
.commit-message {
@include str-truncated(250px);
}
Loading
Loading
@@ -49,10 +45,6 @@ $ide-commit-header-height: 48px;
flex-direction: column;
flex: 1;
min-height: 0; // firefox fix
a {
color: $gl-text-color;
}
}
 
.multi-file-loading-container {
Loading
Loading
@@ -160,157 +152,6 @@ $ide-commit-header-height: 48px;
height: 0;
}
 
// stylelint-disable selector-class-pattern
// stylelint-disable selector-max-compound-selectors
// stylelint-disable stylelint-gitlab/duplicate-selectors
// stylelint-disable stylelint-gitlab/utility-classes
.blob-editor-container {
flex: 1;
height: 0;
display: flex;
flex-direction: column;
justify-content: center;
.vertical-center {
min-height: auto;
}
.monaco-editor .lines-content .cigr {
display: none;
}
.monaco-editor .selected-text {
z-index: 1;
}
.monaco-editor .view-lines {
z-index: 2;
}
.is-readonly,
.editor.original {
.view-lines {
cursor: default;
}
.cursors-layer {
display: none;
}
}
.is-deleted {
.editor.modified {
.margin-view-overlays,
.lines-content,
.decorationsOverviewRuler {
// !important to override monaco inline styles
display: none !important;
}
}
.diffOverviewRuler.modified {
// !important to override monaco inline styles
display: none !important;
}
}
.is-added {
.editor.original {
.margin-view-overlays,
.lines-content,
.decorationsOverviewRuler {
// !important to override monaco inline styles
display: none !important;
}
}
.diffOverviewRuler.original {
// !important to override monaco inline styles
display: none !important;
}
}
.monaco-diff-editor.vs {
.editor.modified {
box-shadow: none;
}
.diagonal-fill {
display: none !important;
}
.diffOverview {
background-color: $white-light;
border-left: 1px solid $white-dark;
cursor: ns-resize;
}
.diffViewport {
display: none;
}
.char-insert {
background-color: $line-added-dark;
}
.char-delete {
background-color: $line-removed-dark;
}
.line-numbers {
color: $black-transparent;
}
.view-overlays {
.line-insert {
background-color: $line-added;
}
.line-delete {
background-color: $line-removed;
}
}
.margin {
background-color: $white-light;
border-right: 1px solid $gray-100;
.line-insert {
border-right: 1px solid $line-added-dark;
}
.line-delete {
border-right: 1px solid $line-removed-dark;
}
}
.margin-view-overlays .insert-sign,
.margin-view-overlays .delete-sign {
opacity: 0.4;
}
}
}
.multi-file-editor-holder {
height: 100%;
min-height: 0; // firefox fix
&.is-readonly .vs,
.vs .editor.original {
.monaco-editor,
.monaco-editor-background,
.monaco-editor .inputarea.ime-input {
background-color: $gray-50;
}
}
}
// stylelint-enable selector-class-pattern
// stylelint-enable selector-max-compound-selectors
// stylelint-enable stylelint-gitlab/duplicate-selectors
// stylelint-enable stylelint-gitlab/utility-classes
.preview-container {
flex-grow: 1;
position: relative;
Loading
Loading
@@ -671,10 +512,6 @@ $ide-commit-header-height: 48px;
width: $ide-commit-row-height;
height: $ide-commit-row-height;
color: inherit;
> svg {
top: 0;
}
}
 
.ide-commit-file-count {
Loading
Loading
@@ -864,39 +701,39 @@ $ide-commit-header-height: 48px;
margin-left: auto;
}
 
.ide-nav-dropdown {
width: 100%;
margin-bottom: 12px;
button {
color: $gl-text-color;
}
}
 
.dropdown-menu {
width: 385px;
max-height: initial;
}
.ide-nav-dropdown {
width: 100%;
margin-bottom: 12px;
 
.dropdown-menu-toggle {
svg {
vertical-align: middle;
color: $gray-700;
.dropdown-menu {
width: 385px;
max-height: initial;
}
 
&:hover {
color: $gray-700;
}
}
.dropdown-menu-toggle {
svg {
vertical-align: middle;
color: $gray-700;
 
&:hover {
background-color: $white-normal;
color: $gray-700;
}
}
 
&.show {
.dropdown-menu-toggle {
background-color: $white-dark;
}
&:hover {
background-color: $white-normal;
}
}
 
button {
color: $gl-text-color;
&.show {
.dropdown-menu-toggle {
background-color: $white-dark;
}
}
}
 
Loading
Loading
@@ -945,6 +782,8 @@ $ide-commit-header-height: 48px;
transform: translateY(0);
}
 
.fade-enter,
.fade-leave-to,
.commit-form-slide-up-enter,
.commit-form-slide-up-leave-to {
opacity: 0;
Loading
Loading
@@ -1063,9 +902,6 @@ $ide-commit-header-height: 48px;
@include ide-trace-view();
 
.empty-state {
margin-top: auto;
margin-bottom: auto;
p {
margin: $grid-size 0;
text-align: center;
Loading
Loading
@@ -1092,10 +928,6 @@ $ide-commit-header-height: 48px;
min-height: 55px;
padding-left: $gl-padding;
padding-right: $gl-padding;
.ci-status-icon {
display: flex;
}
}
 
.ide-job-item {
Loading
Loading
@@ -1135,7 +967,7 @@ $ide-commit-header-height: 48px;
}
 
.ide-nav-form {
.nav-links li {
li {
width: 50%;
padding-left: 0;
padding-right: 0;
Loading
Loading
@@ -1222,10 +1054,6 @@ $ide-commit-header-height: 48px;
background-color: $blue-500;
outline: 0;
}
svg {
fill: currentColor;
}
}
 
.ide-new-btn {
Loading
Loading
Loading
Loading
@@ -241,6 +241,10 @@ module SystemNoteService
def zoom_link_removed(issue, project, author)
::SystemNotes::ZoomService.new(noteable: issue, project: project, author: author).zoom_link_removed
end
def auto_resolve_prometheus_alert(noteable, project, author)
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).auto_resolve_prometheus_alert
end
end
 
SystemNoteService.prepend_if_ee('EE::SystemNoteService')
Loading
Loading
@@ -288,6 +288,12 @@ module SystemNotes
create_note(NoteSummary.new(noteable, project, author, body, action: 'closed'))
end
 
def auto_resolve_prometheus_alert
body = 'automatically closed this issue because the alert resolved.'
create_note(NoteSummary.new(noteable, project, author, body, action: 'closed'))
end
private
 
def cross_reference_note_content(gfm_reference)
Loading
Loading
---
title: 'Fixes stop_review job upon expired artifacts from previous stages'
merge_request: 27258
author: Jack Lei
type: fixed
doc/ci/review_apps/img/enable_review_app_v12_8.png

16.7 KiB | W: 1033px | H: 513px

doc/ci/review_apps/img/enable_review_app_v12_8.png

13.7 KiB | W: 1000px | H: 509px

doc/ci/review_apps/img/enable_review_app_v12_8.png
doc/ci/review_apps/img/enable_review_app_v12_8.png
doc/ci/review_apps/img/enable_review_app_v12_8.png
doc/ci/review_apps/img/enable_review_app_v12_8.png
  • 2-up
  • Swipe
  • Onion skin
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