Skip to content

Commit d632a8e

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 52cabe1 commit d632a8e

File tree

38 files changed

+580
-353
lines changed

38 files changed

+580
-353
lines changed

.gitlab/ci/rails.gitlab-ci.yml

-2
Original file line numberDiff line numberDiff line change
@@ -617,8 +617,6 @@ rspec:feature-flags:
617617
needs:
618618
- job: "feature-flags-usage"
619619
- job: "haml-lint"
620-
- job: "haml-lint ee"
621-
optional: true
622620
before_script:
623621
- source scripts/utils.sh
624622
script:

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

+1-10
Original file line numberDiff line numberDiff line change
@@ -2626,17 +2626,8 @@
26262626
changes: *static-analysis-patterns
26272627
- <<: *if-default-refs
26282628
changes: *code-backstage-qa-patterns
2629-
2630-
.static-analysis:rules:haml-lint-ee:
2631-
rules:
2632-
- <<: *if-not-ee
2633-
when: never
2634-
- <<: *if-default-refs
2635-
changes: *rubocop-patterns
2636-
- <<: *if-default-refs
2637-
changes: *static-analysis-patterns
26382629
- <<: *if-default-refs
2639-
changes: *code-backstage-qa-patterns
2630+
changes: *docs-patterns
26402631

26412632
.semgrep-appsec-custom-rules:rules:
26422633
rules:

.gitlab/ci/static-analysis.gitlab-ci.yml

+1-8
Original file line numberDiff line numberDiff line change
@@ -129,20 +129,13 @@ haml-lint:
129129
- .ruby-cache
130130
- .static-analysis:rules:haml-lint
131131
script:
132-
- bundle exec haml-lint --parallel app/views
132+
- bundle exec haml-lint --parallel
133133
artifacts:
134134
expire_in: 31d
135135
when: always
136136
paths:
137137
- tmp/feature_flags/
138138

139-
haml-lint ee:
140-
extends:
141-
- "haml-lint"
142-
- .static-analysis:rules:haml-lint-ee
143-
script:
144-
- bundle exec haml-lint --parallel ee/app/views
145-
146139
rubocop:
147140
extends:
148141
- .static-analysis-base

GITLAB_KAS_VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
b5461d072019d242cca5f98cf94c56e990d08e7b
1+
d0c4eaaa71db47143b6147c7282569f19024f01d

app/assets/javascripts/merge_request_dashboard/components/config_dropdown.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export default {
102102
},
103103
});
104104
105-
window.navigation.reload();
105+
window.location.reload();
106106
} catch (error) {
107107
this.savingPreferences = false;
108108

app/assets/javascripts/packages_and_registries/package_registry/components/details/package_history_loader.vue

+9-11
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,18 @@ export default {
55
components: {
66
GlSkeletonLoader,
77
},
8-
loader: {
9-
width: 580,
10-
height: 80,
11-
},
128
};
139
</script>
1410

1511
<template>
16-
<div class="gl-ml-5 md:gl-max-w-7/10">
17-
<gl-skeleton-loader :width="$options.loader.width" :height="$options.loader.height">
18-
<rect x="49" y="9" width="531" height="16" rx="4" />
19-
<circle cx="16" cy="16" r="16" />
20-
<rect x="49" y="57" width="302" height="16" rx="4" />
21-
<circle cx="16" cy="64" r="16" />
22-
</gl-skeleton-loader>
12+
<div class="gl-my-5 gl-ml-2 gl-flex gl-h-11 gl-max-w-30 gl-flex-col gl-gap-5">
13+
<div class="-gl-mt-1">
14+
<gl-skeleton-loader :width="240" :height="64">
15+
<circle cx="12" cy="12" r="12" />
16+
<rect x="32" y="4" :width="208" height="16" rx="4" />
17+
<circle cx="12" cy="52" r="12" />
18+
<rect x="32" y="44" :width="200" height="16" rx="4" />
19+
</gl-skeleton-loader>
20+
</div>
2321
</div>
2422
</template>

app/assets/javascripts/work_items/components/design_management/design_management_widget.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,8 @@ export default {
519519
</li>
520520
</vue-draggable>
521521
</design-dropzone>
522-
<router-view :key="$route.fullPath" :all-designs="designs" :all-versions="allVersions" />
523522
</template>
524523
</crud-component>
524+
<router-view :key="$route.fullPath" :all-designs="designs" :all-versions="allVersions" />
525525
</div>
526526
</template>

app/controllers/projects/commit_controller.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,11 @@ def diffs_resource
308308
end
309309

310310
def complete_diff_path
311-
project_commit_path(project, commit, format: :patch)
311+
project_commit_path(project, commit, format: :diff)
312312
end
313313

314314
def email_format_path
315-
project_commit_path(project, commit, format: :diff)
315+
project_commit_path(project, commit, format: :patch)
316316
end
317317
end
318318

app/controllers/projects/merge_requests_controller.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -709,11 +709,11 @@ def diffs_resource
709709
end
710710

711711
def complete_diff_path
712-
merge_request_path(merge_request, format: :patch)
712+
merge_request_path(merge_request, format: :diff)
713713
end
714714

715715
def email_format_path
716-
merge_request_path(merge_request, format: :diff)
716+
merge_request_path(merge_request, format: :patch)
717717
end
718718
end
719719

app/helpers/projects_helper.rb

+1
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,7 @@ def import_from_bitbucket_message
586586

587587
def show_archived_project_banner?(project)
588588
return false unless project.present? && project.saved?
589+
return false if project.marked_for_deletion?
589590

590591
project.archived?
591592
end

app/views/projects/edit.html.haml

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969

7070
= render 'export', project: @project
7171

72-
= render_if_exists 'projects/settings/archive'
72+
= render 'projects/settings/archive'
7373

7474
= render Pajamas::CardComponent.new do |c|
7575
- c.with_header do
@@ -107,7 +107,7 @@
107107
= render 'delete'
108108
- else
109109
- if can?(current_user, :archive_project, @project)
110-
= render_if_exists 'projects/settings/archive'
110+
= render 'projects/settings/archive'
111111
- if can?(current_user, :remove_project, @project)
112112
= render 'delete'
113113

app/views/projects/issues/new.html.haml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
- use_work_item = Feature.enabled?(:work_item_view_for_issues, @project.group) || (Feature.enabled?(:work_items_view_preference, current_user) && current_user&.user_preference&.use_work_items_view)
12
- add_page_specific_style 'page_bundles/merge_request'
23
- add_page_specific_style 'page_bundles/labels'
34
- add_page_specific_style 'page_bundles/issuable_list'
@@ -6,7 +7,7 @@
67
- add_work_items_stylesheet
78
- add_page_specific_style 'page_bundles/design_management'
89
- page_title _("New Issue")
9-
- if Feature.disabled?(:work_items_view_preference, current_user) || !current_user&.user_preference&.use_work_items_view
10+
- if !use_work_item
1011
- add_to_breadcrumbs _("Issues"), project_issues_path(@project)
1112
- breadcrumb_title _("New issue")
1213

@@ -23,7 +24,7 @@
2324
.follow-up-description
2425
= @issue.description
2526

26-
- if Feature.enabled?(:work_item_view_for_issues, @project.group) || (Feature.enabled?(:work_items_view_preference, current_user) && current_user&.user_preference&.use_work_items_view)
27+
- if use_work_item
2728
#js-work-items{ data: work_items_data(@project, current_user) }
2829
- else
2930
.page-title-holder

app/views/projects/settings/_archive.html.haml

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
- return if @project.marked_for_deletion?
12
- return unless can?(current_user, :archive_project, @project)
23

34
= render Pajamas::CardComponent.new do |c|

config/coverband.rb

+4
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,8 @@
1515
# By default Puma starts in the tmp directory to mimic Omnibus GitLab, but
1616
# this root path needs to be set for Coverband to identify application code.
1717
config.root = Rails.root.to_s
18+
# This effectively disables Content Security Policy (CSP) rules for the /-/coverage endpoint.
19+
# https://github.com/danmayer/coverband/issues/585 is needed to enforce CSP.
20+
config.csp_policy = true
21+
config.web_enable_clear = true
1822
end

config/routes.rb

+4
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,10 @@
244244
get '/external_redirect' => 'external_redirect/external_redirect#index'
245245

246246
post '/collect_events', to: 'event_forward/event_forward#forward', as: :event_forwarding
247+
248+
if Gitlab::Utils.to_boolean(ENV['COVERBAND_ENABLED'], default: false)
249+
mount Coverband::Reporters::Web.new, at: '/coverage'
250+
end
247251
end
248252
# End of the /-/ scope.
249253

config/sidekiq_queues.yml

+2
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,8 @@
895895
- 1
896896
- - security_persist_security_policies
897897
- 1
898+
- - security_pipeline_analyzers_status_update
899+
- 1
898900
- - security_pipeline_execution_policies_run_schedule
899901
- 1
900902
- - security_process_scan_result_policy

data/whats_new/202504170001_17_11.yml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
- name: Customize compliance frameworks with requirements and compliance controls
2+
description: | # Do not modify this line, instead modify the lines below.
3+
Previously, compliance frameworks in GitLab could be created as a label to identify that your project has certain compliance requirements or needs additional oversight. This label could then be used as a scoping mechanism to ensure that security policies could be enforced on all projects within a group. In this release, we are introducing a new way for compliance managers to get more in-depth compliance monitoring in GitLab through 'requirements'. With requirements, as part of a custom compliance framework, you can define specific requirements from a number of different compliance standards, laws, and regulations that must be followed as an organization. We are also expanding the number of compliance controls (previously known as compliance checks) that we offer from five to over 50! These 50 out-of-the-box (OOTB) controls can be mapped to the compliance framework requirements. These controls check particular project, security, and merge request settings across your GitLab instance to help you meet requirements under a number of different compliance standards, laws, and regulations such as SOC2, NIST, ISO 27001, and the GitLab CIS Benchmark. Adherence to these controls is reflected in standard adherence report, which is redesigned to take into account requirements and the mapping of controls to those requirements. In addition to expanding our OOTB controls, we now allow users to map requirements to external controls, which can be for items, programs, or systems that exist outside the GitLab platform. These mappings allow you to use the GitLab compliance centre as the single source of truth when it comes to your compliance monitoring and audit evidence needs.
4+
stage: software_supply_chain_security
5+
self-managed: true
6+
gitlab-com: true
7+
available_in: [Ultimate]
8+
documentation_link: https://docs.gitlab.com/user/compliance/compliance_center/compliance_status_report
9+
image_url: https://about.gitlab.com/images/17_11/custom_compliance_frameworks.png
10+
published_at: 2025-04-17
11+
release: 17.11
12+
- name: More AI features on GitLab Duo Self-Hosted
13+
description: | # Do not modify this line, instead modify the lines below.
14+
You can now use more [GitLab Duo](https://about.gitlab.com/gitlab-duo/) features with GitLab Duo Self-Hosted in your GitLab Self-Managed instance. The following features are available in beta:
15+
16+
- [Root Cause Analysis](https://docs.gitlab.com/user/gitlab_duo_chat/examples/#troubleshoot-failed-cicd-jobs-with-root-cause-analysis)
17+
- [Vulnerability Explanation](https://docs.gitlab.com/user/application_security/vulnerabilities/#explaining-a-vulnerability)
18+
- [Vulnerability Resolution](https://docs.gitlab.com/user/application_security/vulnerabilities/#vulnerability-resolution)
19+
- [AI Impact Dashboard](https://docs.gitlab.com/user/analytics/ai_impact_analytics/)
20+
- [Discussion Summary](https://docs.gitlab.com/user/discussions/#summarize-issue-discussions-with-duo-chat)
21+
- [Merge Request Commit Message](https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#generate-a-merge-commit-message)
22+
- [Merge Request Summary](https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#generate-a-description-by-summarizing-code-changes)
23+
- [GitLab Duo for the CLI](https://docs.gitlab.com/editor_extensions/gitlab_cli/#gitlab-duo-for-the-cli)
24+
25+
[Code Review Summary](https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#summarize-a-code-review) is also available on GitLab Duo Self-Hosted as an experiment.
26+
stage: ai-powered
27+
self-managed: true
28+
gitlab-com: false
29+
available_in: [Ultimate]
30+
documentation_link: https://docs.gitlab.com/administration/gitlab_duo_self_hosted/#supported-gitlab-duo-features
31+
image_url: https://about.gitlab.com/images/17_11/ResizedExpandedDuoFeaturesImage.jpg
32+
published_at: 2025-04-17
33+
release: 17.11
34+
- name: Epic, issue, and task custom fields
35+
description: | # Do not modify this line, instead modify the lines below.
36+
With this release, you can configure text, number, single-select, and multi-select custom fields for issues, epics, tasks, objectives, and key results. While labels have been the primary way to categorize work items up to this point, custom fields provide a more user-friendly approach for adding structured metadata to your planning artifacts.
37+
38+
Custom fields are configured in your top-level group and cascade to all subgroups and projects. You can map fields to one or more work item types and filter by custom field values in the issues and epics lists.
39+
stage: plan
40+
self-managed: true
41+
gitlab-com: true
42+
available_in: [Ultimate]
43+
documentation_link: https://docs.gitlab.com/user/work_items/custom_fields
44+
image_url: https://about.gitlab.com/images/17_11/work-items-custom-fields.png
45+
published_at: 2025-04-17
46+
release: 17.11
47+
- name: CI/CD pipeline inputs
48+
description: | # Do not modify this line, instead modify the lines below.
49+
CI/CD variables are essential for dynamic CI/CD workflows, and are used for many things, including as environment variables, context variables, tool configuration, and matrix variables. But developers sometimes rely on CI/CD variables to inject [pipeline variables](https://docs.gitlab.com/ci/variables/#use-pipeline-variables) into pipelines to manually modify pipeline behavior, which have some risks due to the higher precedence of pipeline variables.
50+
51+
In GitLab 17.11 and later, you can now use `inputs` to safely modify pipeline behavior instead of using pipeline variables, including in scheduled pipelines, downstream pipelines, triggered pipelines, and other cases. Inputs provide developers with a more structured and flexible solution for injecting dynamic content at CI/CD job runtime. After you switch to inputs, you can completely [disable access to pipeline variables](https://docs.gitlab.com/ci/variables/#restrict-pipeline-variables).
52+
stage: verify
53+
self-managed: true
54+
gitlab-com: true
55+
available_in: [Ultimate]
56+
documentation_link: https://docs.gitlab.com/ci/inputs/#for-a-pipeline
57+
image_url: https://about.gitlab.com/images/17_11/run_new_pipeline_spec_input.png
58+
published_at: 2025-04-17
59+
release: 17.11

db/docs/batched_background_migrations/backfill_issue_assignment_events_namespace_id.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ feature_category: value_stream_management
55
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/174500
66
milestone: '17.7'
77
queued_migration_version: 20241203073525
8-
finalized_by: # version of the migration that finalized this BBM
8+
finalized_by: '20250416231848'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# frozen_string_literal: true
2+
3+
class FinalizeHkBackfillIssueAssignmentEventsNamespaceId < Gitlab::Database::Migration[2.2]
4+
milestone '18.0'
5+
6+
disable_ddl_transaction!
7+
8+
restrict_gitlab_migration gitlab_schema: :gitlab_main_cell
9+
10+
def up
11+
ensure_batched_background_migration_is_finished(
12+
job_class_name: 'BackfillIssueAssignmentEventsNamespaceId',
13+
table_name: :issue_assignment_events,
14+
column_name: :id,
15+
job_arguments: [:namespace_id, :issues, :namespace_id, :issue_id],
16+
finalize: true
17+
)
18+
end
19+
20+
def down; end
21+
end

db/schema_migrations/20250416231848

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2dadac9027f39659f1c8d64b5b1396c2d4c90ffef6567d0a81f8a335c1831c2b

doc/api/cluster_agents.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -604,10 +604,10 @@ Example response:
604604
605605
```json
606606
{
607-
"id": 1,
608-
"agent_id": 5,
609-
"url": "grpcs://agent.example.com:4242",
610-
"public_key": "..."
607+
"id": 1,
608+
"agent_id": 5,
609+
"url": "grpcs://agent.example.com:4242",
610+
"public_key": "..."
611611
}
612612
```
613613
@@ -667,10 +667,10 @@ Example response for JWT authentication:
667667
668668
```json
669669
{
670-
"id": 1,
671-
"agent_id": 5,
672-
"url": "grpcs://agent.example.com:4242",
673-
"public_key": "..."
670+
"id": 1,
671+
"agent_id": 5,
672+
"url": "grpcs://agent.example.com:4242",
673+
"public_key": "..."
674674
}
675675
```
676676
@@ -686,10 +686,10 @@ Example response for mTLS:
686686
687687
```json
688688
{
689-
"id": 1,
690-
"agent_id": 5,
691-
"url": "grpcs://agent.example.com:4242",
692-
"client_cert": "..."
689+
"id": 1,
690+
"agent_id": 5,
691+
"url": "grpcs://agent.example.com:4242",
692+
"client_cert": "..."
693693
}
694694
```
695695

0 commit comments

Comments
 (0)