Skip to content

Commit c96623c

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 5e5538b commit c96623c

File tree

105 files changed

+1301
-613
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+1301
-613
lines changed

.gitlab-ci.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ workflow:
163163

164164
variables:
165165
PG_VERSION: "14"
166-
DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}.patched-golang-${GO_VERSION}-rust-${RUST_VERSION}-node-18.17-postgresql-${PG_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36"
166+
DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}.patched-golang-${GO_VERSION}-rust-${RUST_VERSION}-node-${NODE_VERSION}-postgresql-${PG_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36"
167167
# We set $GITLAB_DEPENDENCY_PROXY to another variable (since it's set at the group level and has higher precedence than .gitlab-ci.yml)
168168
# so that we can override $GITLAB_DEPENDENCY_PROXY_ADDRESS in workflow rules.
169169
GITLAB_DEPENDENCY_PROXY_ADDRESS: "${GITLAB_DEPENDENCY_PROXY}"
@@ -188,7 +188,8 @@ variables:
188188
DOCKER_VERSION: "24.0.5"
189189
RUBYGEMS_VERSION: "3.4"
190190
BUNDLER_VERSION: "2.5"
191-
GO_VERSION: "1.20"
191+
GO_VERSION: "1.21"
192+
NODE_VERSION: "20.12"
192193
RUST_VERSION: "1.73"
193194

194195
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json

.gitlab/ci/frontend.gitlab-ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- .default-retry
44
- .default-before_script
55
- .assets-compile-cache
6-
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-node-18.17:rubygems-${RUBYGEMS_VERSION}-git-2.33-lfs-2.9-yarn-1.22-graphicsmagick-1.3.36
6+
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.33-lfs-2.9-yarn-1.22-graphicsmagick-1.3.36
77
variables:
88
SETUP_DB: "false"
99
WEBPACK_VENDOR_DLL: "true"

.gitlab/ci/rules.gitlab-ci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@
427427
- "{,jh/}Gemfile{,.lock}"
428428
- "{package.json,yarn.lock}"
429429
- "*_VERSION"
430+
- "lib/gitlab/redis/*"
430431
- "babel.config.js"
431432
- "config.ru"
432433
- "Dockerfile.assets"

.nvmrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.17.0
1+
20.12.2

.rubocop_todo/style/inline_disable_annotation.yml

-1
Original file line numberDiff line numberDiff line change
@@ -1635,7 +1635,6 @@ Style/InlineDisableAnnotation:
16351635
- 'ee/app/workers/licenses/reset_submit_license_usage_data_banner_worker.rb'
16361636
- 'ee/app/workers/llm/embedding/gitlab_documentation/cleanup_previous_versions_records_worker.rb'
16371637
- 'ee/app/workers/llm/embedding/gitlab_documentation/create_db_embeddings_per_doc_file_worker.rb'
1638-
- 'ee/app/workers/llm/embedding/gitlab_documentation/create_empty_embeddings_records_worker.rb'
16391638
- 'ee/app/workers/llm/embedding/gitlab_documentation/set_embeddings_on_the_record_worker.rb'
16401639
- 'ee/app/workers/members_destroyer/clean_up_group_protected_branch_rules_worker.rb'
16411640
- 'ee/app/workers/merge_request_reset_approvals_worker.rb'

Gemfile.checksum

+1-1
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@
454454
{"name":"pact","version":"1.64.0","platform":"ruby","checksum":"0bdd848888580db7f29a7d8789b861b8067370c0ac0eb36ffc4bb7ff3f5f6ea8"},
455455
{"name":"pact-mock_service","version":"3.11.2","platform":"ruby","checksum":"42d9e54546a10229d7915da5383daeb322764c2876a84b4ea521f53c6f1fba51"},
456456
{"name":"pact-support","version":"1.20.0","platform":"ruby","checksum":"41c343a3124fb379684b9ad9f1a0766c5fa18d3b78d433a52e5552d8b9475871"},
457-
{"name":"parallel","version":"1.22.1","platform":"ruby","checksum":"ebdf1f0c51f182df38522f70ba770214940bef998cdb6e00f36492b29699761f"},
457+
{"name":"parallel","version":"1.24.0","platform":"ruby","checksum":"5bf38efb9b37865f8e93d7a762727f8c5fc5deb19949f4040c76481d5eee9397"},
458458
{"name":"parser","version":"3.3.0.5","platform":"ruby","checksum":"7748313e505ca87045dc0465c776c802043f777581796eb79b1654c5d19d2687"},
459459
{"name":"parslet","version":"1.8.2","platform":"ruby","checksum":"08d1ab3721cd3f175bfbee8788b2ddff71f92038f2d69bd65454c22bb9fbd98a"},
460460
{"name":"pastel","version":"0.8.0","platform":"ruby","checksum":"481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75"},

Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,7 @@ GEM
12651265
diff-lcs (~> 1.5)
12661266
expgen (~> 0.1)
12671267
rainbow (~> 3.1.1)
1268-
parallel (1.22.1)
1268+
parallel (1.24.0)
12691269
parser (3.3.0.5)
12701270
ast (~> 2.4.1)
12711271
racc
-9.34 KB
Binary file not shown.
Binary file not shown.
-775 Bytes
Binary file not shown.
Binary file not shown.
-973 Bytes
Binary file not shown.
-1.09 KB
Binary file not shown.
-1.14 KB
Binary file not shown.
-1.28 KB
Binary file not shown.
-1.67 KB
Binary file not shown.
-1.86 KB
Binary file not shown.
-2.04 KB
Binary file not shown.
-2.17 KB
Binary file not shown.
-2.67 KB
Binary file not shown.
Binary file not shown.
-3.85 KB
Binary file not shown.
-5.88 KB
Binary file not shown.
-6.23 KB
Binary file not shown.

app/assets/javascripts/ci/catalog/constants.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ export const SCOPE = {
99
};
1010

1111
export const VerificationLevel = {
12-
GITLAB: {
12+
GITLAB_MAINTAINED: {
1313
badgeText: s__('CiCatalog|GitLab-maintained'),
1414
icon: 'tanuki-verified',
1515
popoverText: s__('CiCatalog|Created and maintained by %{boldStart}GitLab%{boldEnd}'),
1616
},
17-
PARTNER: {
17+
GITLAB_PARTNER_MAINTAINED: {
1818
badgeText: s__('CiCatalog|Partner'),
1919
icon: 'partner-verified',
2020
popoverText: s__('CiCatalog|Created and maintained by a %{boldStart}GitLab Partner%{boldEnd}'),

app/assets/javascripts/ci/common/private/job_action_component.vue

+3-6
Original file line numberDiff line numberDiff line change
@@ -119,19 +119,16 @@ export default {
119119
<gl-button
120120
:id="`js-ci-action-${link}`"
121121
ref="button"
122+
v-gl-tooltip.viewport.right
123+
:title="tooltipText"
122124
:class="cssClass"
123125
:disabled="isDisabled"
124126
size="small"
125127
class="js-ci-action gl-ci-action-icon-container ci-action-icon-container ci-action-icon-wrapper gl-display-flex gl-align-items-center gl-justify-content-center"
126128
data-testid="ci-action-button"
127129
@click.stop="onClickAction"
128130
>
129-
<div
130-
v-gl-tooltip.viewport
131-
:title="tooltipText"
132-
class="gl-display-flex gl-align-items-center gl-justify-content-center gl-h-full"
133-
data-testid="ci-action-icon-tooltip-wrapper"
134-
>
131+
<div class="gl-display-flex gl-align-items-center gl-justify-content-center gl-h-full">
135132
<gl-loading-icon
136133
v-if="isLoading"
137134
size="sm"

app/assets/javascripts/ci/pipeline_details/graph/components/job_group_dropdown.vue

+20-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { GlDisclosureDropdown, GlDisclosureDropdownItem } from '@gitlab/ui';
2+
import { GlDisclosureDropdown, GlDisclosureDropdownItem, GlTooltipDirective } from '@gitlab/ui';
33
import { reportToSentry } from '~/ci/utils';
44
import { JOB_DROPDOWN, SINGLE_JOB } from '../constants';
55
import JobItem from './job_item.vue';
@@ -16,6 +16,9 @@ export default {
1616
GlDisclosureDropdown,
1717
GlDisclosureDropdownItem,
1818
},
19+
directives: {
20+
GlTooltip: GlTooltipDirective,
21+
},
1922
props: {
2023
group: {
2124
type: Object,
@@ -45,13 +48,22 @@ export default {
4548
computedJobId() {
4649
return this.pipelineId > -1 ? `${this.group.name}-${this.pipelineId}` : '';
4750
},
48-
tooltipText() {
49-
const { name, status } = this.group;
50-
return `${name} - ${status.label}`;
51-
},
5251
jobGroupClasses() {
5352
return [this.cssClassJobName, `job-${this.group.status.group}`];
5453
},
54+
jobStatusText() {
55+
const textBuilder = [];
56+
const { tooltip: statusTooltip } = this.group.status;
57+
58+
if (statusTooltip) {
59+
const statusText = statusTooltip.charAt(0).toUpperCase() + statusTooltip.slice(1);
60+
textBuilder.push(statusText);
61+
} else {
62+
textBuilder.push(this.group.status?.text);
63+
}
64+
65+
return textBuilder.join(' ');
66+
},
5567
},
5668
errorCaptured(err, _vm, info) {
5769
reportToSentry('job_group_dropdown', `error: ${err}, info: ${info}`);
@@ -72,6 +84,8 @@ export default {
7284
<template>
7385
<gl-disclosure-dropdown
7486
:id="computedJobId"
87+
v-gl-tooltip.viewport.left
88+
:title="jobStatusText"
7589
class="ci-job-group-dropdown"
7690
block
7791
fluid-width
@@ -83,9 +97,9 @@ export default {
8397
<div class="gl-display-flex gl-align-items-stretch gl-justify-content-space-between">
8498
<job-item
8599
:type="$options.jobItemTypes.jobDropdown"
86-
:group-tooltip="tooltipText"
87100
:job="group"
88101
:stage-name="stageName"
102+
hide-tooltip
89103
/>
90104
91105
<div class="gl-font-weight-100 gl-font-size-lg gl-ml-n4 gl-align-self-center">

app/assets/javascripts/ci/pipeline_details/graph/components/job_item.vue

+28-24
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ export default {
8080
required: false,
8181
default: '',
8282
},
83-
groupTooltip: {
84-
type: String,
83+
hideTooltip: {
84+
type: Boolean,
8585
required: false,
86-
default: '',
86+
default: false,
8787
},
8888
jobHovered: {
8989
type: String,
@@ -182,31 +182,36 @@ export default {
182182
return this.hasDetails ? 'job-with-link' : 'job-without-link';
183183
},
184184
tooltipText() {
185-
if (this.groupTooltip) {
186-
return this.groupTooltip;
187-
}
188-
189185
const textBuilder = [];
190186
const { name: jobName } = this.job;
191187
192188
if (jobName) {
193189
textBuilder.push(jobName);
194190
}
195191
196-
const { tooltip: statusTooltip } = this.status;
197-
if (jobName && statusTooltip) {
198-
textBuilder.push('-');
199-
}
192+
return textBuilder.join(' ');
193+
},
194+
jobStatusText() {
195+
if (!this.hideTooltip) {
196+
const textBuilder = [];
197+
const { tooltip: statusTooltip } = this.status;
198+
199+
if (this.hasDetails && statusTooltip) {
200+
const statusText = statusTooltip.charAt(0).toUpperCase() + statusTooltip.slice(1);
200201
201-
if (statusTooltip) {
202-
if (this.isDelayedJob) {
203-
textBuilder.push(sprintf(statusTooltip, { remainingTime: this.remainingTime }));
202+
if (this.isDelayedJob) {
203+
textBuilder.push(sprintf(statusText, { remainingTime: this.remainingTime }));
204+
} else {
205+
textBuilder.push(statusText);
206+
}
204207
} else {
205-
textBuilder.push(statusTooltip);
208+
textBuilder.push(this.status?.text);
206209
}
210+
211+
return textBuilder.join(' ');
207212
}
208213
209-
return textBuilder.join(' ');
214+
return null;
210215
},
211216
/**
212217
* Verifies if the provided job has an action path
@@ -318,12 +323,8 @@ export default {
318323
>
319324
<component
320325
:is="nameComponent"
321-
v-gl-tooltip="{
322-
boundary: 'viewport',
323-
placement: 'bottom',
324-
customClass: 'gl-pointer-events-none',
325-
}"
326-
:title="tooltipText"
326+
v-gl-tooltip.viewport.left
327+
:title="jobStatusText"
327328
:class="jobClasses"
328329
:href="detailsPath"
329330
class="js-pipeline-graph-job-link menu-item gl-text-gray-900 gl-active-text-decoration-none gl-focus-text-decoration-none gl-hover-text-decoration-none gl-hover-bg-gray-50 gl-focus-bg-gray-50 gl-w-full"
@@ -332,9 +333,12 @@ export default {
332333
@mouseout="hideTooltips"
333334
>
334335
<div class="gl-display-flex gl-align-items-center gl-flex-grow-1">
335-
<ci-icon :status="job.status" :use-link="false" />
336+
<ci-icon :status="job.status" :use-link="false" :show-tooltip="false" />
336337
<div class="gl-pl-3 gl-pr-3 gl-display-flex gl-flex-direction-column gl-pipeline-job-width">
337-
<div class="gl-text-truncate gl-pr-9 gl-line-height-normal gl-text-left gl-text-gray-700">
338+
<div
339+
class="gl-text-truncate gl-pr-9 gl-line-height-normal gl-text-left gl-text-gray-700"
340+
:title="tooltipText"
341+
>
338342
{{ job.name }}
339343
</div>
340344
<div

app/assets/javascripts/sidebar/components/reviewers/reviewer_title.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export default {
6161
<template v-if="editable">
6262
<gl-button
6363
v-tooltip.hover
64-
:title="__('Quick assign')"
64+
:title="glFeatures.reviewerAssignDrawer ? __('Quick assign') : __('Change reviewer')"
6565
class="js-sidebar-dropdown-toggle edit-link gl-ml-auto hide-collapsed gl-float-right"
6666
data-track-action="click_edit_button"
6767
data-track-label="right_sidebar"

app/assets/javascripts/vue_shared/components/ci_icon/ci_icon.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export default {
9696
</script>
9797
<template>
9898
<gl-badge
99-
v-gl-tooltip
99+
v-gl-tooltip.viewport.left
100100
class="ci-icon gl-p-2"
101101
:class="`ci-icon-variant-${variant}`"
102102
:variant="variant"

app/assets/stylesheets/tailwind.css

+94
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,98 @@
11
/* stylelint-disable scss/at-rule-no-unknown */
22

33
@tailwind base;
4+
@tailwind components;
45
@tailwind utilities;
6+
7+
/*
8+
Components layer:
9+
https://tailwindcss.com/docs/adding-custom-styles#adding-component-classes
10+
11+
The components layer will be rendered _before_ the utilities,
12+
so that utilities can overwrite values
13+
*/
14+
@layer components {
15+
/*
16+
our gl-border shorthands do a little more than tailwinds.
17+
in order not to conflict with other border related properties
18+
(color, width), we need to define them _before_ the tailwind utils.
19+
*/
20+
.gl-border {
21+
@apply gl-border-gray-100;
22+
@apply gl-border-solid;
23+
}
24+
25+
.gl-border\! {
26+
@apply gl-border !important;
27+
@apply gl-border-gray-100 !important;
28+
@apply gl-border-solid !important;
29+
}
30+
31+
.gl-border-b {
32+
@apply gl-border-b-gray-100;
33+
@apply gl-border-b-solid;
34+
}
35+
36+
.gl-border-b\! {
37+
@apply gl-border-b !important;
38+
@apply gl-border-b-gray-100 !important;
39+
@apply gl-border-b-solid !important;
40+
}
41+
42+
.gl-border-l {
43+
@apply gl-border-l-gray-100;
44+
@apply gl-border-l-solid;
45+
}
46+
47+
.gl-border-l\! {
48+
@apply gl-border-l !important;
49+
@apply gl-border-l-gray-100 !important;
50+
@apply gl-border-l-solid !important;
51+
}
52+
53+
.gl-border-r {
54+
@apply gl-border-r-gray-100;
55+
@apply gl-border-r-solid;
56+
}
57+
58+
.gl-border-r\! {
59+
@apply gl-border-r !important;
60+
@apply gl-border-r-gray-100 !important;
61+
@apply gl-border-r-solid !important;
62+
}
63+
64+
.gl-border-t {
65+
@apply gl-border-t-gray-100;
66+
@apply gl-border-t-solid;
67+
}
68+
69+
.gl-border-t\! {
70+
@apply gl-border-t !important;
71+
@apply gl-border-t-gray-100 !important;
72+
@apply gl-border-t-solid !important;
73+
}
74+
75+
}
76+
77+
/*
78+
Utilities layer:
79+
https://tailwindcss.com/docs/adding-custom-styles#adding-custom-utilities
80+
*/
81+
@layer utilities {
82+
/* the border-style utils in tailwind do not allow for top, bottom, right, left specific values */
83+
.gl-border-b-solid {
84+
border-bottom-style: solid;
85+
}
86+
87+
.gl-border-l-solid {
88+
border-left-style: solid;
89+
}
90+
91+
.gl-border-r-solid {
92+
border-right-style: solid;
93+
}
94+
95+
.gl-border-t-solid {
96+
border-top-style: solid;
97+
}
98+
}

0 commit comments

Comments
 (0)