Skip to content

Commit c46c7eb

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 051aab6 commit c46c7eb

File tree

15 files changed

+76
-25
lines changed

15 files changed

+76
-25
lines changed

.rubocop_todo/gitlab/documentation_links/link.yml

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ Gitlab/DocumentationLinks/Link:
1717
- 'app/presenters/key_presenter.rb'
1818
- 'app/serializers/merge_request_widget_entity.rb'
1919
- 'ee/app/components/namespaces/combined_storage_users/base_alert_component.rb'
20-
- 'ee/app/helpers/billing_plans_helper.rb'
2120
- 'ee/app/helpers/ee/groups/settings_helper.rb'
2221
- 'ee/app/helpers/ee/import_helper.rb'
2322
- 'ee/app/helpers/projects/learn_gitlab_helper.rb'

app/assets/javascripts/ide/init_gitlab_web_ide.js

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ export const initGitlabWebIDE = async (el) => {
7979
signIn: el.dataset.signInPath,
8080
},
8181
featureFlags: {
82-
settingsSync: true,
8382
crossOriginExtensionHost: getCrossOriginExtensionHostFlagValue(extensionsGallerySettings),
8483
},
8584
editorFont,

app/assets/javascripts/users_select/constants.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ export const AJAX_USERS_SELECT_PARAMS_MAP = {
88
states: 'states',
99
};
1010

11-
export const ACTIVE_AND_BLOCKED_USER_STATES = ['active', 'blocked'];
11+
export const ACTIVE_AND_BLOCKED_USER_STATES = ['active', 'blocked', 'ldap_blocked'];

app/graphql/resolvers/merge_requests_resolver.rb

+7
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,13 @@ def self.accept_reviewer
183183
Array of source branch names.
184184
No resolved merge requests will have one of these branches as their source.
185185
DESC
186+
argument :target_branches, [GraphQL::Types::String],
187+
required: false,
188+
as: :target_branch,
189+
description: <<~DESC
190+
Array of target branch names.
191+
No resolved merge requests will have one of these branches as their target.
192+
DESC
186193
end
187194

188195
validates mutually_exclusive: [:assignee_username, :assignee_wildcard_id]

config/webpack.config.js

+9
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,15 @@ module.exports = {
744744
'app/assets/javascripts/vue_shared/components/empty_component.js',
745745
);
746746
}),
747+
!IS_EE &&
748+
!IS_JH &&
749+
new webpack.NormalModuleReplacementPlugin(/^jh_else_ee\/(.*)\.vue/, (resource) => {
750+
// eslint-disable-next-line no-param-reassign
751+
resource.request = path.join(
752+
ROOT_PATH,
753+
'app/assets/javascripts/vue_shared/components/empty_component.js',
754+
);
755+
}),
747756

748757
new CopyWebpackPlugin({
749758
patterns: copyFilesPatterns,

doc/administration/logs/tracing_correlation_id.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,9 @@ You can then view the database details for this request:
198198
<!-- vale gitlab_base.Substitutions = NO -->
199199
1. Select the `pg` link in the Progress Bar to view the database queries executed by the API request:
200200

201-
![View pg database details](img/view-pg-details_v14_3.png)
201+
![GitLab API database details: 29ms / 34 queries](img/view-pg-details_v14_3.png)
202202
<!-- vale gitlab_base.Substitutions = YES -->
203203

204204
The database query dialog is displayed:
205205

206-
![Database query dialog](img/database-query-dialog_v14_3.png)
206+
![Database query dialog with 34 SQL queries, 29ms duration, 34 replicas, 4 cached, and sorting options](img/database-query-dialog_v14_3.png)

doc/api/graphql/reference/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -43020,6 +43020,7 @@ Defines which user roles, users, or groups can merge into a protected branch.
4302043020
| <a id="mergerequestsresolvernegatedparamsreleasetag"></a>`releaseTag` | [`String`](#string) | Filter by release tag to exclude. |
4302143021
| <a id="mergerequestsresolvernegatedparamsreviewerusername"></a>`reviewerUsername` | [`String`](#string) | Username of the reviewer to exclude. |
4302243022
| <a id="mergerequestsresolvernegatedparamssourcebranches"></a>`sourceBranches` | [`[String!]`](#string) | Array of source branch names. No resolved merge requests will have one of these branches as their source. |
43023+
| <a id="mergerequestsresolvernegatedparamstargetbranches"></a>`targetBranches` | [`[String!]`](#string) | Array of target branch names. No resolved merge requests will have one of these branches as their target. |
4302343024

4302443025
### `MonthSelectionInput`
4302543026

doc/ci/steps/index.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
99
DETAILS:
1010
**Tier:** Free, Premium, Ultimate
1111
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
12-
**Status:** Experimental
12+
**Status:** Experiment
1313

1414
Steps are reusable units of a job that when composed together replace the `script` used in a GitLab CI/CD job.
1515
While you are not required to use steps, the reusability, composability, testability, and independence
@@ -18,8 +18,9 @@ of steps make it easier to understand and maintain CI/CD pipeline.
1818
To get started, you can try the [Set up steps tutorial](../../tutorials/setup_steps/index.md).
1919
To start creating your own steps, see [Creating your own step](#create-your-own-step).
2020

21-
Follow the team's progress building steps at the epic, [CI Steps: Composability in GitLab CI/CD](https://gitlab.com/groups/gitlab-org/-/epics/11535).
22-
To report a bug, create an issue in the [step-runner](https://gitlab.com/gitlab-org/step-runner/-/issues) project.
21+
This experimental feature is still in active development and might have breaking
22+
changes at any time. Review the [changelog](https://gitlab.com/gitlab-org/step-runner/-/blob/main/CHANGELOG.md)
23+
for full details on any breaking changes.
2324

2425
CI/CD steps are different than [CI/CD components](../components/index.md). Components
2526
are reusable single pipeline configuration units. They are included in a pipeline when it is created,
@@ -299,7 +300,7 @@ Input names can only use alpha-numeric characters and underscores, and must not
299300
Inputs must have a type, and they can optionally specify a default value. An input with no default value
300301
is a required input, it must be specified when using the step.
301302

302-
Inputs must be one of the following types. The default input type is `string`.
303+
Inputs must be one of the following types.
303304

304305
| Type | Example | Description |
305306
|:----------|:------------------------|:------------|
@@ -336,14 +337,13 @@ Similar to inputs, output names can only use alpha-numeric characters and unders
336337
and must not start with a number. Outputs must have a type, and they can optionally specify a default value.
337338
The default value is returned when the step doesn't return the output.
338339

339-
Outputs must be one of the following types. The default input type is `raw_string`.
340+
Outputs must be one of the following types.
340341

341342
| Type | Example | Description |
342343
|:-------------|:------------------------|:------------|
343344
| `array` | `["a","b"]` | A list of un-typed items. |
344345
| `boolean` | `true` | True or false. |
345346
| `number` | `56.77` | 64 bit float. |
346-
| `raw_string` | `brown cow` | Text written without enclosing double-quotes. |
347347
| `string` | `"brown cow"` | Text. |
348348
| `struct` | `{"k1":"v1","k2":"v2"}` | Structured content. |
349349

eslint.config.mjs

+20-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* eslint-disable import/no-default-export */
22
import path from 'node:path';
33
import { fileURLToPath } from 'node:url';
4+
import { existsSync } from 'node:fs';
45
import localRules from 'eslint-plugin-local-rules';
56
import js from '@eslint/js';
67
import { FlatCompat } from '@eslint/eslintrc';
@@ -13,6 +14,23 @@ const compat = new FlatCompat({
1314
allConfig: js.configs.all,
1415
});
1516

17+
const extendConfigs = [
18+
'plugin:@gitlab/default',
19+
'plugin:@gitlab/i18n',
20+
'plugin:no-jquery/slim',
21+
'plugin:no-jquery/deprecated-3.4',
22+
'plugin:no-unsanitized/recommended-legacy',
23+
'./tooling/eslint-config/conditionally_ignore.js',
24+
'plugin:@gitlab/jest',
25+
];
26+
27+
// Allowing JiHu to add rules on their side since the update from
28+
// eslintrc.yml to eslint.config.mjs is not allowing subdirectory
29+
// rewrite.
30+
if (existsSync(path.resolve(dirname, 'jh'))) {
31+
extendConfigs.push('./jh/eslint.config.js');
32+
}
33+
1634
const jestConfig = {
1735
files: ['{,ee/}spec/frontend/**/*.js'],
1836

@@ -65,15 +83,7 @@ export default [
6583
'spec/fixtures/**/*.graphql',
6684
],
6785
},
68-
...compat.extends(
69-
'plugin:@gitlab/default',
70-
'plugin:@gitlab/i18n',
71-
'plugin:no-jquery/slim',
72-
'plugin:no-jquery/deprecated-3.4',
73-
'plugin:no-unsanitized/recommended-legacy',
74-
'./tooling/eslint-config/conditionally_ignore.js',
75-
'plugin:@gitlab/jest',
76-
),
86+
...compat.extends(...extendConfigs),
7787
...compat.plugins('no-jquery', '@graphql-eslint'),
7888
{
7989
files: ['**/*.{js,vue}'],
@@ -114,7 +124,7 @@ export default [
114124
'import/no-unresolved': [
115125
'error',
116126
{
117-
ignore: ['^(ee|jh)_component/'],
127+
ignore: ['^(ee|jh)_component/', '^jh_else_ee/'],
118128
},
119129
],
120130

jest.config.base.js

+2
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ module.exports = (path, options = {}) => {
116116
'^shared_queries(/.*)$': '<rootDir>/app/graphql/queries$1',
117117
'^ee_else_ce(/.*)$': '<rootDir>/app/assets/javascripts$1',
118118
'^jh_else_ce(/.*)$': '<rootDir>/app/assets/javascripts$1',
119+
'^jh_else_ee(/.*)$':
120+
'<rootDir>/app/assets/javascripts/vue_shared/components/empty_component.js',
119121
'^any_else_ce(/.*)$': '<rootDir>/app/assets/javascripts$1',
120122
'^helpers(/.*)$': '<rootDir>/spec/frontend/__helpers__$1',
121123
'^vendor(/.*)$': '<rootDir>/vendor/assets/javascripts$1',

locale/gitlab.pot

+1-1
Original file line numberDiff line numberDiff line change
@@ -50038,7 +50038,7 @@ msgstr ""
5003850038
msgid "SecurityOrchestration|Security policy projects store your organization's security policies. They are identified when policies are created, or when a project is linked as a security policy project. %{linkStart}Learn more%{linkEnd}."
5003950039
msgstr ""
5004050040

50041-
msgid "SecurityOrchestration|Security policy scheduled scans maximum concurrency"
50041+
msgid "SecurityOrchestration|Security policy scheduled scans maximum top-level group concurrency"
5004250042
msgstr ""
5004350043

5004450044
msgid "SecurityOrchestration|SecurityOrchestration|Scan execution policies with more than %{maxCount} actions detected. Those policies will not work after GitLab 18.0 (May 15, 2025). Before then you must edit these policies to reduce the number of actions."

spec/frontend/ide/init_gitlab_web_ide_spec.js

-3
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ describe('ide/init_gitlab_web_ide', () => {
121121
signIn: TEST_SIGN_IN_PATH,
122122
},
123123
featureFlags: {
124-
settingsSync: true,
125124
crossOriginExtensionHost: false,
126125
},
127126
editorFont: {
@@ -269,7 +268,6 @@ describe('ide/init_gitlab_web_ide', () => {
269268
findRootElement(),
270269
expect.objectContaining({
271270
featureFlags: {
272-
settingsSync: true,
273271
crossOriginExtensionHost: true,
274272
},
275273
}),
@@ -291,7 +289,6 @@ describe('ide/init_gitlab_web_ide', () => {
291289
findRootElement(),
292290
expect.objectContaining({
293291
featureFlags: {
294-
settingsSync: true,
295292
crossOriginExtensionHost: true,
296293
},
297294
}),

spec/graphql/resolvers/merge_requests_resolver_spec.rb

+11
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,17 @@
175175
end
176176
end
177177

178+
context 'with negated target branches argument' do
179+
it 'excludes merge requests with given target branches from selection' do
180+
mrs = [merge_request_3, merge_request_4]
181+
branches = mrs.map(&:target_branch)
182+
result = resolve_mr(project, not: { target_branches: branches })
183+
184+
expect(result).not_to include(merge_request_3, merge_request_4)
185+
expect(result).to include(merge_request_1, merge_request_2, merge_request_5, merge_request_6)
186+
end
187+
end
188+
178189
context 'with state argument' do
179190
it 'takes one argument' do
180191
result = resolve_mr(project, state: 'locked')

storybook/config/webpack.config.js

+8
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,14 @@ module.exports = function storybookWebpackConfig({ config }) {
199199
);
200200
}
201201

202+
if (!IS_EE && !IS_JH) {
203+
config.plugins.push(
204+
new webpack.NormalModuleReplacementPlugin(/^jh_else_ee\/(.*)\.vue/, (resource) => {
205+
resource.request = EMPTY_VUE_COMPONENT_PATH;
206+
}),
207+
);
208+
}
209+
202210
const baseIntegrationTestHelpersPath = 'spec/frontend_integration/test_helpers';
203211

204212
// Add any missing aliases from the main GitLab webpack config

vite.config.js

+8
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,21 @@ const JH_ALIAS_FALLBACK = [
5959
},
6060
];
6161

62+
const JH_ELSE_EE_ALIAS_FALLBACK = [
63+
{
64+
find: /^jh_else_ee\/(.*)\.vue/,
65+
replacement: emptyComponent,
66+
},
67+
];
68+
6269
export default defineConfig({
6370
cacheDir: path.resolve(__dirname, 'tmp/cache/vite'),
6471
resolve: {
6572
alias: [
6673
...aliasArr,
6774
...(IS_EE ? [] : EE_ALIAS_FALLBACK),
6875
...(IS_JH ? [] : JH_ALIAS_FALLBACK),
76+
...(!IS_EE && !IS_JH ? JH_ELSE_EE_ALIAS_FALLBACK : []),
6977
{
7078
find: '~/',
7179
replacement: javascriptsPath,

0 commit comments

Comments
 (0)