Skip to content

Commit d7b1354

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 1c9afff commit d7b1354

File tree

111 files changed

+966
-316
lines changed

Some content is hidden

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

111 files changed

+966
-316
lines changed

.rubocop.yml

+5
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,11 @@ Rails/InverseOf:
276276
Rails/UniqueValidationWithoutIndex:
277277
Enabled: false
278278

279+
Rails/HasManyOrHasOneDependent:
280+
Include:
281+
- app/models/**/*.rb
282+
- ee/app/models/**/*.rb
283+
279284
Rails/HelperInstanceVariable:
280285
Include:
281286
- app/helpers/**/*.rb

.rubocop_todo.yml

+7-17
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
1-
# This configuration was generated by
2-
# `rubocop --auto-gen-config`
3-
# on 2021-02-24 14:52:20 UTC using RuboCop version 0.93.1.
4-
# The point is for the user to remove these configuration records
5-
# one by one as the offenses are removed from the code base.
6-
# Note that changes in the inspected code, or installation of new
7-
# versions of RuboCop, may require this file to be generated again.
8-
9-
# Configuration parameters: Include.
10-
# Include: app/models/**/*.rb
11-
Rails/HasManyOrHasOneDependent:
12-
Enabled: false
13-
14-
# Offense count: 42
15-
# Cop supports --auto-correct.
16-
Style/CaseLikeIf:
17-
Enabled: false
1+
# This configuration is no longer used.
2+
#
3+
# The RuboCop TODO lists are located in `.rubocop_todo/**/*.yml`.
4+
#
5+
# Please use `rake rubocop:todo:generate` to generate TODOs.
6+
#
7+
# See https://docs.gitlab.com/ee/development/rake_tasks.html#generate-initial-rubocop-todo-list

.rubocop_todo/gitlab/namespaced_class.yml

-1
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,6 @@ Gitlab/NamespacedClass:
773773
- 'app/workers/emails_on_push_worker.rb'
774774
- 'app/workers/error_tracking_issue_link_worker.rb'
775775
- 'app/workers/expire_build_artifacts_worker.rb'
776-
- 'app/workers/expire_build_instance_artifacts_worker.rb'
777776
- 'app/workers/expire_job_cache_worker.rb'
778777
- 'app/workers/expire_pipeline_cache_worker.rb'
779778
- 'app/workers/export_csv_worker.rb'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
---
2+
Rails/HasManyOrHasOneDependent:
3+
# Offense count: 593
4+
# Temporarily disabled due to too many offenses
5+
Enabled: false
6+
Exclude:
7+
- 'app/models/alert_management/alert.rb'
8+
- 'app/models/analytics/cycle_analytics/project_value_stream.rb'
9+
- 'app/models/analytics/cycle_analytics/stage_event_hash.rb'
10+
- 'app/models/application_setting/term.rb'
11+
- 'app/models/bulk_import.rb'
12+
- 'app/models/bulk_imports/entity.rb'
13+
- 'app/models/bulk_imports/export.rb'
14+
- 'app/models/ci/bridge.rb'
15+
- 'app/models/ci/build.rb'
16+
- 'app/models/ci/pipeline.rb'
17+
- 'app/models/ci/pipeline_schedule.rb'
18+
- 'app/models/ci/processable.rb'
19+
- 'app/models/ci/ref.rb'
20+
- 'app/models/ci/resource_group.rb'
21+
- 'app/models/ci/runner.rb'
22+
- 'app/models/ci/stage.rb'
23+
- 'app/models/ci/trigger.rb'
24+
- 'app/models/ci/trigger_request.rb'
25+
- 'app/models/ci/unit_test.rb'
26+
- 'app/models/clusters/agent.rb'
27+
- 'app/models/clusters/applications/knative.rb'
28+
- 'app/models/clusters/cluster.rb'
29+
- 'app/models/clusters/project.rb'
30+
- 'app/models/commit_status.rb'
31+
- 'app/models/concerns/ci/metadatable.rb'
32+
- 'app/models/concerns/integrations/has_data_fields.rb'
33+
- 'app/models/concerns/issuable.rb'
34+
- 'app/models/concerns/label_eventable.rb'
35+
- 'app/models/concerns/milestone_eventable.rb'
36+
- 'app/models/concerns/packages/debian/distribution.rb'
37+
- 'app/models/concerns/protected_ref.rb'
38+
- 'app/models/concerns/state_eventable.rb'
39+
- 'app/models/concerns/timebox.rb'
40+
- 'app/models/concerns/versioned_description.rb'
41+
- 'app/models/concerns/with_uploads.rb'
42+
- 'app/models/customer_relations/contact.rb'
43+
- 'app/models/deploy_key.rb'
44+
- 'app/models/deploy_token.rb'
45+
- 'app/models/deployment.rb'
46+
- 'app/models/design_management/design.rb'
47+
- 'app/models/design_management/version.rb'
48+
- 'app/models/environment.rb'
49+
- 'app/models/error_tracking/error.rb'
50+
- 'app/models/event.rb'
51+
- 'app/models/experiment.rb'
52+
- 'app/models/fork_network.rb'
53+
- 'app/models/gpg_key.rb'
54+
- 'app/models/group.rb'
55+
- 'app/models/hooks/web_hook.rb'
56+
- 'app/models/integration.rb'
57+
- 'app/models/issue.rb'
58+
- 'app/models/jira_connect_installation.rb'
59+
- 'app/models/label.rb'
60+
- 'app/models/lfs_object.rb'
61+
- 'app/models/list.rb'
62+
- 'app/models/member.rb'
63+
- 'app/models/merge_request.rb'
64+
- 'app/models/merge_request_context_commit.rb'
65+
- 'app/models/milestone.rb'
66+
- 'app/models/namespace.rb'
67+
- 'app/models/namespaces/project_namespace.rb'
68+
- 'app/models/note.rb'
69+
- 'app/models/operations/feature_flag.rb'
70+
- 'app/models/operations/feature_flags/strategy.rb'
71+
- 'app/models/operations/feature_flags/user_list.rb'
72+
- 'app/models/packages/debian/project_distribution.rb'
73+
- 'app/models/packages/dependency.rb'
74+
- 'app/models/packages/dependency_link.rb'
75+
- 'app/models/packages/package.rb'
76+
- 'app/models/packages/package_file.rb'
77+
- 'app/models/pages_domain.rb'
78+
- 'app/models/plan.rb'
79+
- 'app/models/pool_repository.rb'
80+
- 'app/models/project.rb'
81+
- 'app/models/projects/topic.rb'
82+
- 'app/models/prometheus_alert.rb'
83+
- 'app/models/prometheus_metric.rb'
84+
- 'app/models/release.rb'
85+
- 'app/models/snippet.rb'
86+
- 'app/models/terraform/state.rb'
87+
- 'app/models/user.rb'
88+
- 'app/models/wiki_page/meta.rb'
89+
- 'app/models/work_items/type.rb'
90+
- 'app/models/x509_certificate.rb'
91+
- 'app/models/x509_issuer.rb'
92+
- 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb'
93+
- 'ee/app/models/analytics/devops_adoption/snapshot.rb'
94+
- 'ee/app/models/approval_merge_request_rule.rb'
95+
- 'ee/app/models/approval_project_rule.rb'
96+
- 'ee/app/models/boards/epic_board.rb'
97+
- 'ee/app/models/boards/epic_list.rb'
98+
- 'ee/app/models/compliance_management/framework.rb'
99+
- 'ee/app/models/concerns/ee/iteration_eventable.rb'
100+
- 'ee/app/models/concerns/ee/protected_branch.rb'
101+
- 'ee/app/models/concerns/ee/protected_ref.rb'
102+
- 'ee/app/models/concerns/ee/weight_eventable.rb'
103+
- 'ee/app/models/concerns/geo/eventable.rb'
104+
- 'ee/app/models/concerns/issue_widgets/acts_like_requirement.rb'
105+
- 'ee/app/models/concerns/security/scan_execution_policy.rb'
106+
- 'ee/app/models/dast/profile.rb'
107+
- 'ee/app/models/dast_site.rb'
108+
- 'ee/app/models/dast_site_profile.rb'
109+
- 'ee/app/models/dast_site_validation.rb'
110+
- 'ee/app/models/ee/alert_management/alert.rb'
111+
- 'ee/app/models/ee/analytics/cycle_analytics/stage_event_hash.rb'
112+
- 'ee/app/models/ee/board.rb'
113+
- 'ee/app/models/ee/ci/build.rb'
114+
- 'ee/app/models/ee/ci/job_artifact.rb'
115+
- 'ee/app/models/ee/ci/pipeline.rb'
116+
- 'ee/app/models/ee/deployment.rb'
117+
- 'ee/app/models/ee/environment.rb'
118+
- 'ee/app/models/ee/epic.rb'
119+
- 'ee/app/models/ee/group.rb'
120+
- 'ee/app/models/ee/issue.rb'
121+
- 'ee/app/models/ee/iteration.rb'
122+
- 'ee/app/models/ee/label.rb'
123+
- 'ee/app/models/ee/lfs_object.rb'
124+
- 'ee/app/models/ee/merge_request.rb'
125+
- 'ee/app/models/ee/merge_request_diff.rb'
126+
- 'ee/app/models/ee/milestone.rb'
127+
- 'ee/app/models/ee/namespace.rb'
128+
- 'ee/app/models/ee/pages_deployment.rb'
129+
- 'ee/app/models/ee/plan.rb'
130+
- 'ee/app/models/ee/project.rb'
131+
- 'ee/app/models/ee/upload.rb'
132+
- 'ee/app/models/ee/user.rb'
133+
- 'ee/app/models/ee/vulnerability.rb'
134+
- 'ee/app/models/elastic/reindexing_subtask.rb'
135+
- 'ee/app/models/elastic/reindexing_task.rb'
136+
- 'ee/app/models/geo/event.rb'
137+
- 'ee/app/models/geo_node.rb'
138+
- 'ee/app/models/incident_management/escalation_policy.rb'
139+
- 'ee/app/models/incident_management/oncall_participant.rb'
140+
- 'ee/app/models/incident_management/oncall_rotation.rb'
141+
- 'ee/app/models/incident_management/oncall_schedule.rb'
142+
- 'ee/app/models/integrations/gitlab_slack_application.rb'
143+
- 'ee/app/models/iterations/cadence.rb'
144+
- 'ee/app/models/protected_environment.rb'
145+
- 'ee/app/models/protected_environments/approval_rule.rb'
146+
- 'ee/app/models/push_rule.rb'
147+
- 'ee/app/models/saml_provider.rb'
148+
- 'ee/app/models/security/finding.rb'
149+
- 'ee/app/models/security/scan.rb'
150+
- 'ee/app/models/security/training_provider.rb'
151+
- 'ee/app/models/vulnerabilities/finding.rb'
152+
- 'ee/app/models/vulnerabilities/identifier.rb'
153+
- 'ee/app/models/vulnerabilities/remediation.rb'
154+
- 'ee/app/models/vulnerabilities/scanner.rb'

.rubocop_todo/style/case_like_if.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
# Cop supports --auto-correct.
3+
Style/CaseLikeIf:
4+
# Offense count: 60
5+
# Temporarily disabled due to too many offenses
6+
Enabled: false
7+
Exclude:
8+
- 'app/controllers/concerns/issuable_actions.rb'
9+
- 'app/controllers/groups/dependency_proxy/application_controller.rb'
10+
- 'app/controllers/projects/labels_controller.rb'
11+
- 'app/graphql/types/ci/job_need_union.rb'
12+
- 'app/helpers/avatars_helper.rb'
13+
- 'app/helpers/broadcast_messages_helper.rb'
14+
- 'app/helpers/issues_helper.rb'
15+
- 'app/helpers/routing/pseudonymization_helper.rb'
16+
- 'app/models/integrations/jira.rb'
17+
- 'app/models/members/member_task.rb'
18+
- 'app/models/namespace.rb'
19+
- 'app/models/packages/go/module_version.rb'
20+
- 'app/serializers/group_child_serializer.rb'
21+
- 'app/services/google_cloud/generate_pipeline_service.rb'
22+
- 'app/services/issuable/bulk_update_service.rb'
23+
- 'app/services/todo_service.rb'
24+
- 'ee/app/controllers/concerns/credentials_inventory_actions.rb'
25+
- 'ee/app/finders/ee/notes_finder.rb'
26+
- 'ee/app/helpers/ee/branches_helper.rb'
27+
- 'ee/app/helpers/ee/namespace_storage_limit_alert_helper.rb'
28+
- 'ee/app/services/epics/tree_reorder_service.rb'
29+
- 'ee/app/services/merge_request_approval_settings/update_service.rb'
30+
- 'ee/lib/gitlab/alert_management/alert_payload_field_extractor.rb'
31+
- 'ee/spec/config/metrics/every_metric_definition_spec.rb'
32+
- 'ee/spec/features/boards/user_adds_lists_to_board_spec.rb'
33+
- 'ee/spec/features/issues/user_bulk_edits_issues_spec.rb'
34+
- 'ee/spec/features/projects/custom_projects_template_spec.rb'
35+
- 'ee/spec/support/matchers/ee/epic_aggregate_matchers.rb'
36+
- 'lib/api/helpers/label_helpers.rb'
37+
- 'lib/gitlab/analytics/unique_visits.rb'
38+
- 'lib/gitlab/ci/ansi2html.rb'
39+
- 'lib/gitlab/ci/ansi2json/converter.rb'
40+
- 'lib/gitlab/ci/build/image.rb'
41+
- 'lib/gitlab/identifier.rb'
42+
- 'lib/gitlab/issues/rebalancing/state.rb'
43+
- 'lib/gitlab/pagination/gitaly_keyset_pager.rb'
44+
- 'lib/gitlab/utils.rb'
45+
- 'lib/gitlab/utils/strong_memoize.rb'
46+
- 'qa/qa/git/repository.rb'
47+
- 'qa/qa/scenario/bootable.rb'
48+
- 'rubocop/cop/gitlab/keys_first_and_values_first.rb'
49+
- 'spec/features/boards/user_adds_lists_to_board_spec.rb'
50+
- 'spec/lib/gitlab/auth/auth_finders_spec.rb'
51+
- 'spec/lib/gitlab/database/load_balancing_spec.rb'
52+
- 'spec/lib/omni_auth/strategies/jwt_spec.rb'
53+
- 'spec/models/concerns/sha_attribute_spec.rb'
54+
- 'spec/models/preloaders/labels_preloader_spec.rb'
55+
- 'spec/requests/api/rubygem_packages_spec.rb'
56+
- 'spec/requests/api/terraform/modules/v1/packages_spec.rb'
57+
- 'spec/services/resource_events/change_state_service_spec.rb'
58+
- 'spec/support/helpers/filter_spec_helper.rb'
59+
- 'spec/support/matchers/abort_matcher.rb'
60+
- 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb'
61+
- 'spec/support/shared_examples/requests/api/notes_shared_examples.rb'
62+
- 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb'
63+
- 'spec/workers/loose_foreign_keys/cleanup_worker_spec.rb'

app/assets/javascripts/diffs/components/diff_file_header.vue

+1
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ export default {
302302
@click="handleFileNameClick"
303303
>
304304
<file-icon
305+
v-if="!glFeatures.removeDiffHeaderIcons"
305306
:file-name="filePath"
306307
:size="16"
307308
aria-hidden="true"

app/assets/javascripts/issues/show/components/app.vue

+4-1
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,10 @@ export default {
268268
: '';
269269
},
270270
statusIcon() {
271-
return this.isClosed ? 'issue-closed' : 'issues';
271+
if (this.issuableType === IssuableType.Issue) {
272+
return this.isClosed ? 'issue-closed' : 'issues';
273+
}
274+
return this.isClosed ? 'epic-closed' : 'epic';
272275
},
273276
statusVariant() {
274277
return this.isClosed ? 'info' : 'success';

app/assets/javascripts/notes/components/comment_form.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ export default {
9191
},
9292
commentButtonTitle() {
9393
const { comment, internalComment, startThread, startInternalThread } = this.$options.i18n;
94-
if (this.getNoteableData.confidential || this.noteIsConfidential) {
94+
if (this.noteIsConfidential) {
9595
return this.noteType === constants.COMMENT ? internalComment : startInternalThread;
9696
}
9797
return this.noteType === constants.COMMENT ? comment : startThread;
9898
},
9999
textareaPlaceholder() {
100-
return this.getNoteableData.confidential || this.noteIsConfidential
100+
return this.noteIsConfidential
101101
? this.$options.i18n.bodyPlaceholderInternal
102102
: this.$options.i18n.bodyPlaceholder;
103103
},

app/assets/stylesheets/framework/files.scss

+5-7
Original file line numberDiff line numberDiff line change
@@ -376,14 +376,12 @@ span.idiff {
376376
a {
377377
color: $gl-text-color;
378378
}
379+
}
379380

380-
@include media-breakpoint-down(md) {
381-
.file-actions {
382-
margin-top: $gl-padding-8;
383-
384-
.btn {
385-
margin-bottom: $gl-padding-8;
386-
}
381+
.blob-content-holder .file-actions {
382+
@include media-breakpoint-down(sm) {
383+
.btn {
384+
margin-bottom: $gl-padding-8;
387385
}
388386
}
389387
}

app/controllers/admin/application_settings_controller.rb

+1
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ def visible_application_setting_attributes
256256
:raw_blob_request_limit,
257257
:issues_create_limit,
258258
:notes_create_limit,
259+
:pipeline_limit_per_project_user_sha,
259260
:default_branch_name,
260261
disabled_oauth_sign_in_sources: [],
261262
import_sources: [],

app/controllers/projects/jobs_controller.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def erase
141141
end
142142

143143
def raw
144-
if @build.trace.archived_trace_exist?
144+
if @build.trace.archived?
145145
workhorse_set_content_type!
146146
send_upload(@build.job_artifacts_trace.file,
147147
send_params: raw_send_params,

app/controllers/projects/merge_requests_controller.rb

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo
4646
push_frontend_feature_flag(:updated_diff_expansion_buttons, project)
4747
push_frontend_feature_flag(:mr_attention_requests, current_user)
4848
push_frontend_feature_flag(:updated_mr_header, project)
49+
push_frontend_feature_flag(:remove_diff_header_icons, project)
4950
end
5051

5152
before_action do

app/helpers/application_settings_helper.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,8 @@ def visible_attributes
428428
:users_get_by_id_limit_allowlist_raw,
429429
:runner_token_expiration_interval,
430430
:group_runner_token_expiration_interval,
431-
:project_runner_token_expiration_interval
431+
:project_runner_token_expiration_interval,
432+
:pipeline_limit_per_project_user_sha
432433
].tap do |settings|
433434
settings << :deactivate_dormant_users unless Gitlab.com?
434435
end

app/helpers/issues_helper.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def issue_closed_link(issue, current_user, css_class: '')
154154
end
155155

156156
def issue_closed_text(issue, current_user)
157-
link = issue_closed_link(issue, current_user, css_class: 'text-white text-underline')
157+
link = issue_closed_link(issue, current_user, css_class: 'text-underline gl-reset-color!')
158158

159159
if link
160160
s_('IssuableStatus|Closed (%{link})').html_safe % { link: link }

app/models/application_setting.rb

+3
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,9 @@ def self.kroki_formats_attributes
489489
validates :raw_blob_request_limit,
490490
numericality: { only_integer: true, greater_than_or_equal_to: 0 }
491491

492+
validates :pipeline_limit_per_project_user_sha,
493+
numericality: { only_integer: true, greater_than_or_equal_to: 0 }
494+
492495
validates :ci_jwt_signing_key,
493496
rsa_key: true, allow_nil: true
494497

app/models/ci/build.rb

+1-2
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ def has_live_trace?
677677
end
678678

679679
def has_archived_trace?
680-
trace.archived_trace_exist?
680+
trace.archived?
681681
end
682682

683683
def artifacts_file
@@ -825,7 +825,6 @@ def artifacts_metadata_entry(path, **options)
825825
end
826826
end
827827

828-
# and use that for `ExpireBuildInstanceArtifactsWorker`?
829828
def erase_erasable_artifacts!
830829
job_artifacts.erasable.destroy_all # rubocop: disable Cop/DestroyAll
831830
end

0 commit comments

Comments
 (0)