Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
d4806ad7db
commit
1287690a36
45 changed files with 435 additions and 429 deletions
|
@ -623,7 +623,7 @@ notify-slack:
|
|||
SLACK_ICON_EMOJI: ci_failing
|
||||
STATUS_SYM: ☠️
|
||||
STATUS: failed
|
||||
TYPE: (package-and-test)
|
||||
TYPE: "(package-and-test) "
|
||||
when: on_failure
|
||||
script:
|
||||
- bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.xml" # generate summary
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
||||
allow_failure: true
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
- if: $CI_MERGE_REQUEST_IID
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ notify-slack:
|
|||
SLACK_ICON_EMOJI: ci_failing
|
||||
STATUS_SYM: ☠️
|
||||
STATUS: failed
|
||||
TYPE: (review-app)
|
||||
TYPE: "(review-app) "
|
||||
script:
|
||||
- bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/qa/tmp/rspec-*.xml" # generate summary
|
||||
- !reference [.notify-slack-qa, script]
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
||||
allow_failure: true
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
- if: $CI_MERGE_REQUEST_IID
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
include:
|
||||
- remote: 'https://gitlab.com/gitlab-org/modelops/applied-ml/review-recommender/ci-templates/-/raw/v0.2.1/recommender/Reviewers.gitlab-ci.yml'
|
||||
|
||||
review-cleanup:
|
||||
extends:
|
||||
- .default-retry
|
||||
|
@ -96,12 +93,3 @@ danger-review-local:
|
|||
- .review:rules:danger-local
|
||||
script:
|
||||
- run_timed_command danger_as_local
|
||||
|
||||
reviewers-recommender:
|
||||
extends:
|
||||
- .default-retry
|
||||
# extends generated values cannot overwrite values from included files
|
||||
# Use !reference as a workaround here
|
||||
rules: !reference [".review:rules:reviewers-recommender", rules]
|
||||
stage: test
|
||||
needs: []
|
||||
|
|
|
@ -73,9 +73,6 @@
|
|||
.if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage
|
||||
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/'
|
||||
|
||||
.if-merge-request-labels-community-contribution: &if-merge-request-labels-community-contribution
|
||||
if: '$CI_MERGE_REQUEST_LABELS =~ /Community contribution/'
|
||||
|
||||
.if-merge-request-labels-jh-contribution: &if-merge-request-labels-jh-contribution
|
||||
if: '$CI_MERGE_REQUEST_LABELS =~ /JiHu contribution/'
|
||||
|
||||
|
@ -1815,14 +1812,6 @@
|
|||
- <<: *if-merge-request
|
||||
changes: *danger-patterns
|
||||
|
||||
.review:rules:reviewers-recommender:
|
||||
rules:
|
||||
- <<: *if-not-canonical-namespace
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-community-contribution
|
||||
when: never
|
||||
- <<: *if-merge-request
|
||||
|
||||
###############
|
||||
# Setup rules #
|
||||
###############
|
||||
|
|
|
@ -151,7 +151,7 @@ export default class ActivityCalendar {
|
|||
.select(container)
|
||||
.append('svg')
|
||||
.attr('width', width)
|
||||
.attr('height', 167)
|
||||
.attr('height', 169)
|
||||
.attr('class', 'contrib-calendar');
|
||||
}
|
||||
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
.review-bar-component {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: $zindex-dropdown-menu;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: $toggle-sidebar-height;
|
||||
padding-left: $contextual-sidebar-width;
|
||||
padding-right: $gutter_collapsed_width;
|
||||
background: $white;
|
||||
border-top: 1px solid $border-color;
|
||||
transition: padding $gl-transition-duration-medium;
|
||||
|
||||
.page-with-icon-sidebar & {
|
||||
padding-left: $contextual-sidebar-collapsed-width;
|
||||
}
|
||||
|
||||
.right-sidebar-expanded & {
|
||||
padding-right: $gutter_width;
|
||||
}
|
||||
|
||||
@media (max-width: map-get($grid-breakpoints, sm)-1) {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
margin-left: $grid-size;
|
||||
}
|
||||
}
|
||||
|
||||
.review-bar-content {
|
||||
max-width: $limited-layout-width;
|
||||
padding: 0 $gl-padding;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.review-preview-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin-bottom: 4px;
|
||||
|
||||
> .bold {
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.review-preview-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.review-preview-item-content {
|
||||
width: 100%;
|
||||
|
||||
p {
|
||||
display: block;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
|
@ -54,7 +54,6 @@
|
|||
@import 'framework/emojis';
|
||||
@import 'framework/icons';
|
||||
@import 'framework/snippets';
|
||||
@import 'framework/memory_graph';
|
||||
@import 'framework/responsive_tables';
|
||||
@import 'framework/stacked_progress_bar';
|
||||
@import 'framework/sortable';
|
||||
|
|
|
@ -1,9 +1,17 @@
|
|||
.user-contrib-cell {
|
||||
stroke: $t-gray-a-08;
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
stroke: $black;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
@include gl-outline-none;
|
||||
stroke: $white;
|
||||
filter: drop-shadow(1px 0 0.5px $blue-400) drop-shadow(0 1px 0.5px $blue-400) drop-shadow(-1px 0 0.5px $blue-400) drop-shadow(0 -1px 0.5px $blue-400);
|
||||
}
|
||||
|
||||
// `app/assets/javascripts/pages/users/activity_calendar.js` sets this attribute
|
||||
@for $i from 1 through length($calendar-activity-colors) {
|
||||
$color: nth($calendar-activity-colors, $i);
|
||||
|
|
|
@ -578,82 +578,6 @@ table.code {
|
|||
}
|
||||
}
|
||||
|
||||
// Merge request diff grid layout
|
||||
.diff-grid {
|
||||
.diff-td {
|
||||
// By default min-width is auto with 1fr which causes some overflow problems
|
||||
// https://gitlab.com/gitlab-org/gitlab/-/issues/296222
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-grid-row {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
&.diff-grid-row-full {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-grid-left,
|
||||
.diff-grid-right {
|
||||
display: grid;
|
||||
// Zero width column is a placeholder for the EE inline code quality diff
|
||||
// see ee/.../diffs.scss for more details
|
||||
grid-template-columns: 50px 8px 0 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-2-col {
|
||||
grid-template-columns: 100px 1fr !important;
|
||||
|
||||
&.parallel {
|
||||
grid-template-columns: 50px 1fr !important;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-grid-comments {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-drafts {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
.content + .content {
|
||||
@include gl-border-t;
|
||||
}
|
||||
}
|
||||
|
||||
&.inline-diff-view {
|
||||
.diff-grid-comments {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-drafts {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-row {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-left,
|
||||
.diff-grid-right {
|
||||
// Zero width column is a placeholder for the EE inline code quality diff
|
||||
// see ee/../diffs.scss for more details
|
||||
grid-template-columns: 50px 50px 8px 0 1fr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Merge request diff grid layout overrides
|
||||
.diff-table.code .diff-tr.line_holder .diff-td.line_content.parallel {
|
||||
width: unset;
|
||||
}
|
||||
|
||||
.diff-stats {
|
||||
align-items: center;
|
||||
padding: 0 1rem;
|
||||
|
@ -734,68 +658,6 @@ table.code {
|
|||
}
|
||||
}
|
||||
|
||||
.diff-comment-avatar-holders {
|
||||
position: absolute;
|
||||
margin-left: -$gl-padding;
|
||||
z-index: 100;
|
||||
@include code-icon-size();
|
||||
|
||||
&:hover {
|
||||
.diff-comment-avatar,
|
||||
.diff-comments-more-count {
|
||||
@for $i from 1 through 4 {
|
||||
$x-pos: 14px;
|
||||
|
||||
&:nth-child(#{$i}) {
|
||||
@if $i == 4 {
|
||||
$x-pos: 14.5px;
|
||||
}
|
||||
|
||||
transform: translateX((($i * $x-pos) - $x-pos));
|
||||
|
||||
&:hover {
|
||||
transform: translateX((($i * $x-pos) - $x-pos));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.diff-comments-more-count {
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.diff-comment-avatar,
|
||||
.diff-comments-more-count {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
margin-right: 0;
|
||||
border-color: $white;
|
||||
cursor: pointer;
|
||||
transition: all 0.1s ease-out;
|
||||
@include code-icon-size();
|
||||
|
||||
@for $i from 1 through 4 {
|
||||
&:nth-child(#{$i}) {
|
||||
z-index: (4 - $i);
|
||||
}
|
||||
}
|
||||
|
||||
.avatar {
|
||||
@include code-icon-size();
|
||||
}
|
||||
}
|
||||
|
||||
.diff-comments-more-count {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
overflow: hidden;
|
||||
@include code-icon-size();
|
||||
}
|
||||
|
||||
.diff-comments-more-count,
|
||||
.diff-notes-collapse,
|
||||
.diff-codequality-collapse {
|
||||
|
@ -871,70 +733,6 @@ table.code {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
.diff-file-changes {
|
||||
max-width: 560px;
|
||||
width: 100%;
|
||||
z-index: 150;
|
||||
min-height: $dropdown-min-height;
|
||||
max-height: $dropdown-max-height;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 0;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
left: $gl-padding;
|
||||
}
|
||||
|
||||
.dropdown-input .dropdown-input-search {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.diff-changed-file {
|
||||
display: flex;
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-file-changed-icon {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.diff-changed-file-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-changed-file-name,
|
||||
.diff-changed-blank-file-name {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.diff-changed-blank-file-name {
|
||||
color: $gl-text-color-tertiary;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.diff-changed-file-path {
|
||||
color: $gl-text-color-tertiary;
|
||||
}
|
||||
|
||||
.diff-changed-stats {
|
||||
margin-left: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-file-changes-path {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.note-container {
|
||||
background-color: $gray-light;
|
||||
border-top: 1px solid $white-normal;
|
||||
|
@ -1011,31 +809,6 @@ table.code {
|
|||
}
|
||||
}
|
||||
|
||||
// Notes tweaks for the Changes tab ONLY
|
||||
.diff-tr {
|
||||
.timeline-discussion-body {
|
||||
clear: left;
|
||||
|
||||
.note-body {
|
||||
padding: 0 0 $gl-padding-8;
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-entry img.avatar {
|
||||
margin-top: -2px;
|
||||
margin-right: $gl-padding-8;
|
||||
}
|
||||
|
||||
// tiny adjustment to vertical align with the note header text
|
||||
.discussion-collapsible {
|
||||
margin-left: 1rem;
|
||||
|
||||
.timeline-icon {
|
||||
padding-top: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.files:not([data-can-create-note]) .frame {
|
||||
cursor: auto;
|
||||
}
|
||||
|
@ -1203,13 +976,6 @@ table.code {
|
|||
bottom: 100vh;
|
||||
}
|
||||
|
||||
.diff-line-expand-button {
|
||||
&:hover,
|
||||
&:focus {
|
||||
@include gl-bg-gray-200;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-grid-row.expansion.match {
|
||||
border-top: 1px solid var(--diff-expansion-background-color);
|
||||
border-bottom: 1px solid var(--diff-expansion-background-color);
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
.memory-graph-container {
|
||||
background: $white;
|
||||
border: 1px solid $gray-100;
|
||||
}
|
|
@ -709,11 +709,11 @@ $job-arrow-margin: 55px;
|
|||
*/
|
||||
// See https://gitlab.com/gitlab-org/gitlab/-/issues/332150 to align with Pajamas Design System
|
||||
$calendar-activity-colors: (
|
||||
#ededed,
|
||||
#acd5f2,
|
||||
#7fa8c9,
|
||||
#527ba0,
|
||||
#254e77,
|
||||
#f5f5f5,
|
||||
#d4dcfa,
|
||||
#748eff,
|
||||
#3547de,
|
||||
#11118a,
|
||||
) !default;
|
||||
|
||||
/*
|
||||
|
|
|
@ -9,6 +9,124 @@ $tabs-holder-z-index: 250;
|
|||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-comment-avatar-holders {
|
||||
position: absolute;
|
||||
margin-left: -$gl-padding;
|
||||
z-index: 100;
|
||||
@include code-icon-size();
|
||||
|
||||
&:hover {
|
||||
.diff-comment-avatar,
|
||||
.diff-comments-more-count {
|
||||
@for $i from 1 through 4 {
|
||||
$x-pos: 14px;
|
||||
|
||||
&:nth-child(#{$i}) {
|
||||
@if $i == 4 {
|
||||
$x-pos: 14.5px;
|
||||
}
|
||||
|
||||
transform: translateX((($i * $x-pos) - $x-pos));
|
||||
|
||||
&:hover {
|
||||
transform: translateX((($i * $x-pos) - $x-pos));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.diff-comments-more-count {
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.diff-comment-avatar,
|
||||
.diff-comments-more-count {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
margin-right: 0;
|
||||
border-color: var(--white, $white);
|
||||
cursor: pointer;
|
||||
transition: all 0.1s ease-out;
|
||||
@include code-icon-size();
|
||||
|
||||
@for $i from 1 through 4 {
|
||||
&:nth-child(#{$i}) {
|
||||
z-index: (4 - $i);
|
||||
}
|
||||
}
|
||||
|
||||
.avatar {
|
||||
@include code-icon-size();
|
||||
}
|
||||
}
|
||||
|
||||
.diff-comments-more-count {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
overflow: hidden;
|
||||
@include code-icon-size();
|
||||
}
|
||||
|
||||
.diff-file-changes {
|
||||
max-width: 560px;
|
||||
width: 100%;
|
||||
z-index: 150;
|
||||
min-height: $dropdown-min-height;
|
||||
max-height: $dropdown-max-height;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 0;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
left: $gl-padding;
|
||||
}
|
||||
|
||||
.dropdown-input .dropdown-input-search {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.diff-changed-file {
|
||||
display: flex;
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-file-changed-icon {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.diff-changed-file-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-changed-file-name,
|
||||
.diff-changed-blank-file-name {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.diff-changed-blank-file-name {
|
||||
color: var(--gray-400, $gray-400);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.diff-changed-file-path {
|
||||
color: var(--gray-400, $gray-400);
|
||||
}
|
||||
|
||||
.diff-changed-stats {
|
||||
margin-left: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-files-holder {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
|
@ -19,6 +137,111 @@ $tabs-holder-z-index: 250;
|
|||
}
|
||||
}
|
||||
|
||||
.diff-grid {
|
||||
.diff-td {
|
||||
// By default min-width is auto with 1fr which causes some overflow problems
|
||||
// https://gitlab.com/gitlab-org/gitlab/-/issues/296222
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.diff-grid-row {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
&.diff-grid-row-full {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-grid-left,
|
||||
.diff-grid-right {
|
||||
display: grid;
|
||||
// Zero width column is a placeholder for the EE inline code quality diff
|
||||
// see ee/.../diffs.scss for more details
|
||||
grid-template-columns: 50px 8px 0 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-2-col {
|
||||
grid-template-columns: 100px 1fr !important;
|
||||
|
||||
&.parallel {
|
||||
grid-template-columns: 50px 1fr !important;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-grid-comments {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-drafts {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
.content + .content {
|
||||
@include gl-border-t;
|
||||
}
|
||||
}
|
||||
|
||||
&.inline-diff-view {
|
||||
.diff-grid-comments {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-drafts {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-row {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.diff-grid-left,
|
||||
.diff-grid-right {
|
||||
// Zero width column is a placeholder for the EE inline code quality diff
|
||||
// see ee/../diffs.scss for more details
|
||||
grid-template-columns: 50px 50px 8px 0 1fr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.diff-line-expand-button {
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: var(--gray-200, $gray-200);
|
||||
}
|
||||
}
|
||||
|
||||
.diff-table.code .diff-tr.line_holder .diff-td.line_content.parallel {
|
||||
width: unset;
|
||||
}
|
||||
|
||||
.diff-tr {
|
||||
.timeline-discussion-body {
|
||||
clear: left;
|
||||
|
||||
.note-body {
|
||||
padding: 0 0 $gl-padding-8;
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-entry img.avatar {
|
||||
margin-top: -2px;
|
||||
margin-right: $gl-padding-8;
|
||||
}
|
||||
|
||||
// tiny adjustment to vertical align with the note header text
|
||||
.discussion-collapsible {
|
||||
margin-left: 1rem;
|
||||
|
||||
.timeline-icon {
|
||||
padding-top: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.with-system-header {
|
||||
--system-header-height: #{$system-header-height};
|
||||
}
|
||||
|
@ -858,3 +1081,80 @@ $tabs-holder-z-index: 250;
|
|||
.mr-widget-content-row:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
.memory-graph-container {
|
||||
background: var(--white, $white);
|
||||
border: 1px solid var(--gray-100, $gray-100);
|
||||
}
|
||||
|
||||
.review-bar-component {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: $zindex-dropdown-menu;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: $toggle-sidebar-height;
|
||||
padding-left: $contextual-sidebar-width;
|
||||
padding-right: $gutter_collapsed_width;
|
||||
background: var(--white, $white);
|
||||
border-top: 1px solid var(--border-color, $border-color);
|
||||
transition: padding $gl-transition-duration-medium;
|
||||
|
||||
.page-with-icon-sidebar & {
|
||||
padding-left: $contextual-sidebar-collapsed-width;
|
||||
}
|
||||
|
||||
.right-sidebar-expanded & {
|
||||
padding-right: $gutter_width;
|
||||
}
|
||||
|
||||
@media (max-width: map-get($grid-breakpoints, sm)-1) {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
margin-left: $grid-size;
|
||||
}
|
||||
}
|
||||
|
||||
.review-bar-content {
|
||||
max-width: $limited-layout-width;
|
||||
padding: 0 $gl-padding;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.review-preview-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin-bottom: 4px;
|
||||
|
||||
> .bold {
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.review-preview-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.review-preview-item-content {
|
||||
width: 100%;
|
||||
|
||||
p {
|
||||
display: block;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -269,9 +269,9 @@ $well-expand-item: $gray-200;
|
|||
$well-inner-border: $gray-200;
|
||||
|
||||
$calendar-activity-colors: (
|
||||
#303030,
|
||||
#333861,
|
||||
#4a5593,
|
||||
#6172c5,
|
||||
#788ff7
|
||||
#404040,
|
||||
#1e23a8,
|
||||
#445cf2,
|
||||
#97acff,
|
||||
#e9ebff
|
||||
);
|
||||
|
|
|
@ -5,7 +5,7 @@ module Packages
|
|||
class PackagesFinder
|
||||
include ::Packages::FinderHelper
|
||||
|
||||
MAX_PACKAGES_COUNT = 300
|
||||
MAX_PACKAGES_COUNT = 1000
|
||||
|
||||
def initialize(project, channel)
|
||||
@project = project
|
||||
|
|
|
@ -10,6 +10,9 @@ module DiffViewer
|
|||
end
|
||||
|
||||
def prepare!
|
||||
return if Feature.enabled?(:disable_load_entire_blob_for_diff_viewer, diff_file.repository.project)
|
||||
|
||||
# TODO: remove this after resolving #342703
|
||||
diff_file.old_blob&.load_all_data!
|
||||
diff_file.new_blob&.load_all_data!
|
||||
end
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: about_your_company_registration_flow
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83345
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/355909
|
||||
milestone: '14.10'
|
||||
type: development
|
||||
group: group::acquisition
|
||||
default_enabled: false
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
name: skip_scheduling_mirrors_for_free
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92377
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/367712
|
||||
milestone: '15.2'
|
||||
name: disable_load_entire_blob_for_diff_viewer
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99029
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/376330
|
||||
milestone: '15.5'
|
||||
type: development
|
||||
group: group::source code
|
||||
default_enabled: false
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: skip_checking_namespace_in_query
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96559
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370742
|
||||
milestone: '15.4'
|
||||
type: development
|
||||
group: group::source code
|
||||
default_enabled: false
|
|
@ -57,7 +57,6 @@ options:
|
|||
- p_ci_templates_security_dependency_scanning
|
||||
- p_ci_templates_security_api_fuzzing
|
||||
- p_ci_templates_security_dast
|
||||
- p_ci_templates_security_cluster_image_scanning
|
||||
- p_ci_templates_ios_fastlane
|
||||
- p_ci_templates_composer
|
||||
- p_ci_templates_c
|
||||
|
@ -167,7 +166,6 @@ options:
|
|||
- p_ci_templates_implicit_security_dependency_scanning
|
||||
- p_ci_templates_implicit_security_api_fuzzing
|
||||
- p_ci_templates_implicit_security_dast
|
||||
- p_ci_templates_implicit_security_cluster_image_scanning
|
||||
- p_ci_templates_implicit_security_sast_iac
|
||||
- p_ci_templates_kaniko
|
||||
- p_ci_templates_qualys_iac_security
|
||||
|
|
|
@ -57,7 +57,6 @@ options:
|
|||
- p_ci_templates_security_dependency_scanning
|
||||
- p_ci_templates_security_api_fuzzing
|
||||
- p_ci_templates_security_dast
|
||||
- p_ci_templates_security_cluster_image_scanning
|
||||
- p_ci_templates_ios_fastlane
|
||||
- p_ci_templates_composer
|
||||
- p_ci_templates_c
|
||||
|
@ -169,7 +168,6 @@ options:
|
|||
- p_ci_templates_implicit_security_dependency_scanning
|
||||
- p_ci_templates_implicit_security_api_fuzzing
|
||||
- p_ci_templates_implicit_security_dast
|
||||
- p_ci_templates_implicit_security_cluster_image_scanning
|
||||
- p_ci_templates_kaniko
|
||||
- p_ci_templates_qualys_iac_security
|
||||
- p_ci_templates_liquibase
|
||||
|
|
|
@ -4,9 +4,9 @@ key_path: counts.ingress_modsecurity_packets_processed
|
|||
description: Cumulative count of packets processed by ModSecurity since Usage Ping
|
||||
was last reported
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -4,9 +4,9 @@ key_path: counts.ingress_modsecurity_packets_anomalous
|
|||
description: Cumulative count of packets identified as anomalous by ModSecurity since
|
||||
Usage Ping was last reported
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -4,9 +4,9 @@ key_path: counts.network_policy_forwards
|
|||
description: Cumulative count of packets forwarded by Cilium (Container Network Security)
|
||||
since Usage Ping was last reported
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: container_network_security
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: container_network_security_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86351
|
||||
|
|
|
@ -4,9 +4,9 @@ key_path: counts.network_policy_drops
|
|||
description: Cumulative count of packets dropped by Cilium (Container Network Security)
|
||||
since Usage Ping was last reported
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: container_network_security
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: container_network_security_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86351
|
||||
|
|
|
@ -3,9 +3,9 @@ data_category: operational
|
|||
key_path: counts.ingress_modsecurity_logging
|
||||
description: Whether or not ModSecurity is set to logging mode
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -3,9 +3,9 @@ data_category: operational
|
|||
key_path: counts.ingress_modsecurity_blocking
|
||||
description: Whether or not ModSecurity is set to blocking mode
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -3,9 +3,9 @@ data_category: operational
|
|||
key_path: counts.ingress_modsecurity_disabled
|
||||
description: Whether or not ModSecurity is disabled within Ingress
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -3,9 +3,9 @@ data_category: operational
|
|||
key_path: counts.ingress_modsecurity_not_installed
|
||||
description: Whether or not ModSecurity has not been installed into the cluster
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -3,9 +3,9 @@ data_category: operational
|
|||
key_path: ingress_modsecurity_enabled
|
||||
description: Whether or not ModSecurity is enabled within Ingress
|
||||
product_section: sec
|
||||
product_stage: protect
|
||||
product_group: container_security
|
||||
product_category: web_firewall
|
||||
product_stage: protect_stage_was_removed
|
||||
product_group: container_security_group_was_removed
|
||||
product_category: web_firewall_category_was_removed
|
||||
value_type: boolean
|
||||
status: removed
|
||||
milestone_removed: 14.0
|
||||
|
|
|
@ -15,7 +15,7 @@ configuration is required by an administrator.
|
|||
|
||||
More details about the new features and improvements are available in
|
||||
the [Google Open Source Blog](https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html)
|
||||
and the [protocol documentation](https://github.com/git/git/blob/master/Documentation/technical/protocol-v2.txt).
|
||||
and the [protocol documentation](https://github.com/git/git/blob/master/Documentation/gitprotocol-v2.txt).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ The following API resources are available in the project context:
|
|||
| [Runners](runners.md) | `/projects/:id/runners` (also available standalone) |
|
||||
| [Search](search.md) | `/projects/:id/search` (also available for groups and standalone) |
|
||||
| [Tags](tags.md) | `/projects/:id/repository/tags` |
|
||||
| [Terraform modules](packages/terraform-modules.md) | `/projects/:id/packages/terraform/mdoules` (also available standalone) |
|
||||
| [Terraform modules](packages/terraform-modules.md) | `/projects/:id/packages/terraform/modules` (also available standalone) |
|
||||
| [User-starred metrics dashboards](metrics_user_starred_dashboards.md ) | `/projects/:id/metrics/user_starred_dashboards` |
|
||||
| [Visual Review discussions](visual_review_discussions.md) **(PREMIUM)** | `/projects/:id/merge_requests/:merge_request_id/visual_review_discussions` |
|
||||
| [Vulnerabilities](vulnerabilities.md) **(ULTIMATE)** | `/vulnerabilities/:id` |
|
||||
|
|
|
@ -174,7 +174,7 @@ To change the status of vulnerabilities in the table:
|
|||
## Dismissing a vulnerability
|
||||
|
||||
When you evaluate a vulnerability and decide it requires no more action, you can mark it
|
||||
as **Dismissed**. Dismissed vulnerabilities don't appear in the merge request security widget
|
||||
as **Dismissed**. Dismissed vulnerabilities do not appear in the merge request security widget
|
||||
when detected in future scans.
|
||||
|
||||
When a vulnerability is dismissed, a record is made of:
|
||||
|
@ -199,7 +199,7 @@ To sort vulnerabilities by the date each vulnerability was detected, click the "
|
|||
> - [Added](https://gitlab.com/gitlab-org/gitlab/-/issues/213013) to the group-level Vulnerability Report in GitLab 13.1.
|
||||
|
||||
You can export details of the vulnerabilities listed in the Vulnerability Report. The export format
|
||||
is CSV (comma separated values). Note that all vulnerabilities are included because filters don't
|
||||
is CSV (comma separated values). Note that all vulnerabilities are included because filters do not
|
||||
apply to the export.
|
||||
|
||||
Fields included are:
|
||||
|
@ -232,7 +232,7 @@ computer.
|
|||
|
||||
NOTE:
|
||||
It may take several minutes for the download to start if your project contains
|
||||
thousands of vulnerabilities. Don't close the page until the download finishes.
|
||||
thousands of vulnerabilities. Do not close the page until the download finishes.
|
||||
|
||||
## Dismiss a vulnerability
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ upload:
|
|||
## Install a package
|
||||
|
||||
NOTE:
|
||||
When requesting a package, GitLab considers only the 300 most recent packages created.
|
||||
When requesting a package, GitLab considers only the 1000 most recent packages created.
|
||||
For each package, only the most recent package file is returned.
|
||||
|
||||
To install the latest version of a chart, use the following command:
|
||||
|
|
|
@ -8,7 +8,7 @@ module Gitlab
|
|||
QueryAnalyzerError = Class.new(Exception) # rubocop:disable Lint/InheritException
|
||||
|
||||
def self.suppressed?
|
||||
Thread.current[self.suppress_key]
|
||||
Thread.current[self.suppress_key] || @suppress_in_rspec
|
||||
end
|
||||
|
||||
def self.requires_tracking?(parsed)
|
||||
|
@ -19,6 +19,20 @@ module Gitlab
|
|||
Thread.current[self.suppress_key] = value
|
||||
end
|
||||
|
||||
# The other suppress= method stores the
|
||||
# value in Thread.current because it is
|
||||
# meant to work in a multi-threaded puma
|
||||
# environment but this does not work
|
||||
# correctly in capybara tests where we
|
||||
# suppress in the rspec runner context but
|
||||
# this does not take effect in the puma
|
||||
# thread. As such we just suppress
|
||||
# globally in RSpec since we don't run
|
||||
# different tests concurrently.
|
||||
class << self
|
||||
attr_writer :suppress_in_rspec
|
||||
end
|
||||
|
||||
def self.with_suppressed(value = true, &blk)
|
||||
previous = self.suppressed?
|
||||
self.suppress = value
|
||||
|
|
|
@ -31,7 +31,6 @@ RSpec.describe Registrations::WelcomeController do
|
|||
|
||||
context 'when role and setup_for_company is set' do
|
||||
before do
|
||||
stub_feature_flags(about_your_company_registration_flow: false)
|
||||
user.update!(setup_for_company: false)
|
||||
sign_in(user)
|
||||
end
|
||||
|
@ -61,10 +60,6 @@ RSpec.describe Registrations::WelcomeController do
|
|||
end
|
||||
|
||||
describe '#update' do
|
||||
before do
|
||||
stub_feature_flags(about_your_company_registration_flow: false)
|
||||
end
|
||||
|
||||
subject(:update) do
|
||||
patch :update, params: { user: { role: 'software_developer', setup_for_company: 'false' } }
|
||||
end
|
||||
|
|
|
@ -349,7 +349,6 @@ RSpec.describe 'Signup' do
|
|||
end
|
||||
|
||||
it 'redirects to step 2 of the signup process, sets the role and redirects back' do
|
||||
stub_feature_flags(about_your_company_registration_flow: false)
|
||||
visit new_user_registration_path
|
||||
|
||||
fill_in_signup_form
|
||||
|
|
|
@ -185,7 +185,9 @@ describe('AwardsHandler', () => {
|
|||
|
||||
describe('::getAwardUrl', () => {
|
||||
it('returns the url for request', () => {
|
||||
expect(awardsHandler.getAwardUrl()).toBe('http://test.host/-/snippets/1/toggle_award_emoji');
|
||||
expect(awardsHandler.getAwardUrl()).toBe(
|
||||
document.querySelector('.js-awards-block').dataset.awardUrl,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -155,8 +155,8 @@ Object {
|
|||
Object {
|
||||
"__typename": "ReleaseEvidence",
|
||||
"collectedAt": "2018-12-03T00:00:00Z",
|
||||
"filepath": "http://localhost/releases-namespace/releases-project/-/releases/v1.1/evidences/1.json",
|
||||
"id": "gid://gitlab/Releases::Evidence/1",
|
||||
"filepath": Any<String>,
|
||||
"id": Any<String>,
|
||||
"sha": "760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d",
|
||||
},
|
||||
],
|
||||
|
@ -198,10 +198,10 @@ Object {
|
|||
],
|
||||
"paginationInfo": Object {
|
||||
"__typename": "PageInfo",
|
||||
"endCursor": "eyJyZWxlYXNlZF9hdCI6IjIwMTgtMTItMTAgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwIiwiaWQiOiIxIn0",
|
||||
"endCursor": Any<String>,
|
||||
"hasNextPage": false,
|
||||
"hasPreviousPage": false,
|
||||
"startCursor": "eyJyZWxlYXNlZF9hdCI6IjIwMTktMDEtMTAgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwIiwiaWQiOiIyIn0",
|
||||
"startCursor": Any<String>,
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
@ -377,8 +377,8 @@ Object {
|
|||
Object {
|
||||
"__typename": "ReleaseEvidence",
|
||||
"collectedAt": "2018-12-03T00:00:00Z",
|
||||
"filepath": "http://localhost/releases-namespace/releases-project/-/releases/v1.1/evidences/1.json",
|
||||
"id": "gid://gitlab/Releases::Evidence/1",
|
||||
"filepath": Any<String>,
|
||||
"id": Any<String>,
|
||||
"sha": "760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d",
|
||||
},
|
||||
],
|
||||
|
|
|
@ -36,7 +36,7 @@ describe('Evidence Block', () => {
|
|||
});
|
||||
|
||||
it('renders the title for the dowload link', () => {
|
||||
expect(wrapper.findComponent(GlLink).text()).toBe(`v1.1-evidences-1.json`);
|
||||
expect(wrapper.findComponent(GlLink).text()).toMatch(/v1\.1-evidences-[0-9]+\.json/);
|
||||
});
|
||||
|
||||
it('renders the correct hover text for the download', () => {
|
||||
|
@ -44,7 +44,9 @@ describe('Evidence Block', () => {
|
|||
});
|
||||
|
||||
it('renders the correct file link for download', () => {
|
||||
expect(wrapper.findComponent(GlLink).attributes().download).toBe(`v1.1-evidences-1.json`);
|
||||
expect(wrapper.findComponent(GlLink).attributes().download).toMatch(
|
||||
/v1\.1-evidences-[0-9]+\.json/,
|
||||
);
|
||||
});
|
||||
|
||||
describe('sha text', () => {
|
||||
|
|
|
@ -115,8 +115,18 @@ describe('releases/util.js', () => {
|
|||
author: {
|
||||
id: expect.any(String),
|
||||
},
|
||||
evidences: [
|
||||
{
|
||||
id: expect.any(String),
|
||||
filepath: expect.any(String),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
paginationInfo: {
|
||||
startCursor: expect.any(String),
|
||||
endCursor: expect.any(String),
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -128,6 +138,12 @@ describe('releases/util.js', () => {
|
|||
author: {
|
||||
id: expect.any(String),
|
||||
},
|
||||
evidences: [
|
||||
{
|
||||
id: expect.any(String),
|
||||
filepath: expect.any(String),
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
});
|
||||
|
|
|
@ -17,13 +17,33 @@ RSpec.describe DiffViewer::ServerSide do
|
|||
subject { viewer_class.new(diff_file) }
|
||||
|
||||
describe '#prepare!' do
|
||||
it 'loads all diff file data' do
|
||||
expect(Blob).to receive(:lazy).at_least(:twice)
|
||||
before do
|
||||
stub_feature_flags(disable_load_entire_blob_for_diff_viewer: feature_flag_enabled)
|
||||
end
|
||||
|
||||
context 'when the disable_load_entire_blob_for_diff_viewer flag is disabled' do
|
||||
let(:feature_flag_enabled) { false }
|
||||
|
||||
it 'loads all diff file data' do
|
||||
subject
|
||||
expect(diff_file).to receive_message_chain(:old_blob, :load_all_data!)
|
||||
expect(diff_file).to receive_message_chain(:new_blob, :load_all_data!)
|
||||
subject.prepare!
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the disable_load_entire_blob_for_diff_viewer flag is enabled' do
|
||||
let(:feature_flag_enabled) { true }
|
||||
|
||||
it 'does not load file data' do
|
||||
subject
|
||||
expect(diff_file).not_to receive(:old_blob)
|
||||
expect(diff_file).not_to receive(:new_blob)
|
||||
subject.prepare!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#render_error' do
|
||||
context 'when the diff file is stored externally' do
|
||||
before do
|
||||
|
|
|
@ -14,18 +14,18 @@ RSpec.configure do |config|
|
|||
# By default allow cross-modifications as we want to observe only transactions
|
||||
# within a specific block of execution which is defined be `before(:each)` and `after(:each)`
|
||||
config.before(:all) do
|
||||
::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.suppress = true
|
||||
::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.suppress_in_rspec = true
|
||||
end
|
||||
|
||||
# Using before and after blocks because the around block causes problems with the let_it_be
|
||||
# record creations. It makes an extra savepoint which breaks the transaction count logic.
|
||||
config.before do |example_file|
|
||||
::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.suppress =
|
||||
::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.suppress_in_rspec =
|
||||
CROSS_DB_MODIFICATION_ALLOW_LIST.include?(example_file.file_path_rerun_argument)
|
||||
end
|
||||
|
||||
# Reset after execution to preferred state
|
||||
config.after do |example_file|
|
||||
::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.suppress = true
|
||||
::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.suppress_in_rspec = true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -25,7 +25,7 @@ RSpec.describe Tooling::Danger::ConfigFiles do
|
|||
let(:file_lines) do
|
||||
[
|
||||
"---",
|
||||
"name: about_your_company_registration_flow",
|
||||
"name: about_some_new_flow",
|
||||
"introduced_by_url: #{url}",
|
||||
"rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/355909",
|
||||
"milestone: '14.10'"
|
||||
|
|
Loading…
Reference in a new issue