Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
074caf94a9
commit
8f39099353
|
|
@ -1 +1 @@
|
|||
21e32d23ed544799646143bc9b8e7347d728af37
|
||||
883a25c9dcb385e77767f555b5a9b7a153e02f3f
|
||||
|
|
|
|||
2
Gemfile
2
Gemfile
|
|
@ -635,7 +635,7 @@ gem 'ssh_data', '~> 1.3', feature_category: :shared
|
|||
gem 'spamcheck', '~> 1.3.0', feature_category: :insider_threat
|
||||
|
||||
# Gitaly GRPC protocol definitions
|
||||
gem 'gitaly', '~> 17.8.0', feature_category: :gitaly
|
||||
gem 'gitaly', '~> 17.11.2', feature_category: :gitaly
|
||||
|
||||
# KAS GRPC protocol definitions
|
||||
gem 'gitlab-kas-grpc', '~> 17.11.0', feature_category: :deployment_management
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@
|
|||
{"name":"gettext","version":"3.5.1","platform":"ruby","checksum":"03ec7f71ea7e2cf1fdcd5e08682e98b81601922fdbee890b7bc6f63b0e1a512a"},
|
||||
{"name":"gettext_i18n_rails","version":"1.13.0","platform":"ruby","checksum":"d4a4739d928b6ce52a2d694d33a831dcb06c7c8e197b3172fc73dfaa20ac8ee6"},
|
||||
{"name":"git","version":"1.19.1","platform":"ruby","checksum":"b0a422d9f6517353c48a330d6114de4db9e0c82dbe7202964a1d9f1fbc827d70"},
|
||||
{"name":"gitaly","version":"17.8.4","platform":"ruby","checksum":"196d9735a83f8a7d396baa216b979eb0c801622d8b7573f90010338d5b0c7b4f"},
|
||||
{"name":"gitaly","version":"17.11.2","platform":"ruby","checksum":"32266469296345187d16ab3cfa3da849338817987b722a46eed4309ee18f996e"},
|
||||
{"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"},
|
||||
{"name":"gitlab-chronic","version":"0.10.6","platform":"ruby","checksum":"a244d11a1396d2aac6ae9b2f326adf1605ec1ad20c29f06e8b672047d415a9ac"},
|
||||
{"name":"gitlab-cloud-connector","version":"1.12.0","platform":"ruby","checksum":"b1eb7b0f5cb6633929681904d92771b387ec126b02319cd6cb62dd04bd5750af"},
|
||||
|
|
@ -282,7 +282,7 @@
|
|||
{"name":"google-protobuf","version":"3.25.7","platform":"x86_64-darwin","checksum":"9dd1a8fde13e2b2f399cd9df95bc72851e28a71a70211145f02ec32f0569cd1c"},
|
||||
{"name":"google-protobuf","version":"3.25.7","platform":"x86_64-linux","checksum":"f4bf387f7aa782377ca3ac6ef3ff612867dfe8d061fd31f756082038f37df727"},
|
||||
{"name":"googleapis-common-protos","version":"1.4.0","platform":"ruby","checksum":"da2380fb5ab1563580816c74e8d684ac17512c3654c829a3ee84f6d6139de382"},
|
||||
{"name":"googleapis-common-protos-types","version":"1.19.0","platform":"ruby","checksum":"aecb76ca5326f8bcc47ab083259bbc4971d07e87f56808af7e210669d9765694"},
|
||||
{"name":"googleapis-common-protos-types","version":"1.20.0","platform":"ruby","checksum":"5e374b06bcfc7e13556e7c0d87b99f1fa3d42de6396a1de3d8fc13aefb4dd07f"},
|
||||
{"name":"googleauth","version":"1.8.1","platform":"ruby","checksum":"814adadaaa1221dce72a67131e3ecbd6d23491a161ec84fb15fd353b87d8c9e7"},
|
||||
{"name":"gpgme","version":"2.0.24","platform":"ruby","checksum":"53eccd7042abb4fd5c78f30bc9ed075b1325e6450eab207f2f6a1e7e28ae3b64"},
|
||||
{"name":"grape","version":"2.0.0","platform":"ruby","checksum":"3aeff94c17e84ccead4ff98833df691e7da0c108878cc128ca31f80c1047494a"},
|
||||
|
|
|
|||
|
|
@ -737,7 +737,7 @@ GEM
|
|||
git (1.19.1)
|
||||
addressable (~> 2.8)
|
||||
rchardet (~> 1.8)
|
||||
gitaly (17.8.4)
|
||||
gitaly (17.11.2)
|
||||
grpc (~> 1.0)
|
||||
gitlab (4.19.0)
|
||||
httparty (~> 0.20)
|
||||
|
|
@ -919,7 +919,7 @@ GEM
|
|||
google-protobuf (~> 3.14)
|
||||
googleapis-common-protos-types (~> 1.2)
|
||||
grpc (~> 1.27)
|
||||
googleapis-common-protos-types (1.19.0)
|
||||
googleapis-common-protos-types (1.20.0)
|
||||
google-protobuf (>= 3.18, < 5.a)
|
||||
googleauth (1.8.1)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
|
|
@ -2153,7 +2153,7 @@ DEPENDENCIES
|
|||
gettext (~> 3.5, >= 3.5.1)
|
||||
gettext_i18n_rails (~> 1.13.0)
|
||||
git (~> 1.8)
|
||||
gitaly (~> 17.8.0)
|
||||
gitaly (~> 17.11.2)
|
||||
gitlab-active-context!
|
||||
gitlab-backup-cli!
|
||||
gitlab-chronic (~> 0.10.5)
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@
|
|||
{"name":"gettext","version":"3.5.1","platform":"ruby","checksum":"03ec7f71ea7e2cf1fdcd5e08682e98b81601922fdbee890b7bc6f63b0e1a512a"},
|
||||
{"name":"gettext_i18n_rails","version":"1.13.0","platform":"ruby","checksum":"d4a4739d928b6ce52a2d694d33a831dcb06c7c8e197b3172fc73dfaa20ac8ee6"},
|
||||
{"name":"git","version":"1.19.1","platform":"ruby","checksum":"b0a422d9f6517353c48a330d6114de4db9e0c82dbe7202964a1d9f1fbc827d70"},
|
||||
{"name":"gitaly","version":"17.8.4","platform":"ruby","checksum":"196d9735a83f8a7d396baa216b979eb0c801622d8b7573f90010338d5b0c7b4f"},
|
||||
{"name":"gitaly","version":"17.11.2","platform":"ruby","checksum":"32266469296345187d16ab3cfa3da849338817987b722a46eed4309ee18f996e"},
|
||||
{"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"},
|
||||
{"name":"gitlab-chronic","version":"0.10.6","platform":"ruby","checksum":"a244d11a1396d2aac6ae9b2f326adf1605ec1ad20c29f06e8b672047d415a9ac"},
|
||||
{"name":"gitlab-cloud-connector","version":"1.12.0","platform":"ruby","checksum":"b1eb7b0f5cb6633929681904d92771b387ec126b02319cd6cb62dd04bd5750af"},
|
||||
|
|
@ -282,7 +282,7 @@
|
|||
{"name":"google-protobuf","version":"3.25.7","platform":"x86_64-darwin","checksum":"9dd1a8fde13e2b2f399cd9df95bc72851e28a71a70211145f02ec32f0569cd1c"},
|
||||
{"name":"google-protobuf","version":"3.25.7","platform":"x86_64-linux","checksum":"f4bf387f7aa782377ca3ac6ef3ff612867dfe8d061fd31f756082038f37df727"},
|
||||
{"name":"googleapis-common-protos","version":"1.4.0","platform":"ruby","checksum":"da2380fb5ab1563580816c74e8d684ac17512c3654c829a3ee84f6d6139de382"},
|
||||
{"name":"googleapis-common-protos-types","version":"1.19.0","platform":"ruby","checksum":"aecb76ca5326f8bcc47ab083259bbc4971d07e87f56808af7e210669d9765694"},
|
||||
{"name":"googleapis-common-protos-types","version":"1.20.0","platform":"ruby","checksum":"5e374b06bcfc7e13556e7c0d87b99f1fa3d42de6396a1de3d8fc13aefb4dd07f"},
|
||||
{"name":"googleauth","version":"1.8.1","platform":"ruby","checksum":"814adadaaa1221dce72a67131e3ecbd6d23491a161ec84fb15fd353b87d8c9e7"},
|
||||
{"name":"gpgme","version":"2.0.24","platform":"ruby","checksum":"53eccd7042abb4fd5c78f30bc9ed075b1325e6450eab207f2f6a1e7e28ae3b64"},
|
||||
{"name":"grape","version":"2.0.0","platform":"ruby","checksum":"3aeff94c17e84ccead4ff98833df691e7da0c108878cc128ca31f80c1047494a"},
|
||||
|
|
|
|||
|
|
@ -737,7 +737,7 @@ GEM
|
|||
git (1.19.1)
|
||||
addressable (~> 2.8)
|
||||
rchardet (~> 1.8)
|
||||
gitaly (17.8.4)
|
||||
gitaly (17.11.2)
|
||||
grpc (~> 1.0)
|
||||
gitlab (4.19.0)
|
||||
httparty (~> 0.20)
|
||||
|
|
@ -919,7 +919,7 @@ GEM
|
|||
google-protobuf (~> 3.14)
|
||||
googleapis-common-protos-types (~> 1.2)
|
||||
grpc (~> 1.27)
|
||||
googleapis-common-protos-types (1.19.0)
|
||||
googleapis-common-protos-types (1.20.0)
|
||||
google-protobuf (>= 3.18, < 5.a)
|
||||
googleauth (1.8.1)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
|
|
@ -2153,7 +2153,7 @@ DEPENDENCIES
|
|||
gettext (~> 3.5, >= 3.5.1)
|
||||
gettext_i18n_rails (~> 1.13.0)
|
||||
git (~> 1.8)
|
||||
gitaly (~> 17.8.0)
|
||||
gitaly (~> 17.11.2)
|
||||
gitlab-active-context!
|
||||
gitlab-backup-cli!
|
||||
gitlab-chronic (~> 0.10.5)
|
||||
|
|
|
|||
|
|
@ -216,6 +216,7 @@ module Ci
|
|||
|
||||
scope :with_pipeline_source_type, ->(pipeline_source_type) { joins(:pipeline).where(pipeline: { source: pipeline_source_type }) }
|
||||
scope :created_after, ->(time) { where(arel_table[:created_at].gt(time)) }
|
||||
scope :created_before, ->(time) { where(arel_table[:created_at].lt(time)) }
|
||||
scope :updated_after, ->(time) { where(arel_table[:updated_at].gt(time)) }
|
||||
scope :for_project_ids, ->(project_ids) { where(project_id: project_ids) }
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ module Ci
|
|||
class BuildName < Ci::ApplicationRecord
|
||||
include PgFullTextSearchable
|
||||
include Ci::Partitionable
|
||||
include EachBatch
|
||||
|
||||
MAX_JOB_NAME_LENGTH = 255
|
||||
|
||||
|
|
|
|||
|
|
@ -9,16 +9,21 @@
|
|||
label_options: { class: 'label-bold' }
|
||||
- docs_link_start = "<a href='#{help_page_path('user/project/pages/custom_domains_ssl_tls_certification/_index.md', anchor: 'force-https-for-gitlab-pages-websites')}' target='_blank' rel='noopener noreferrer'>".html_safe
|
||||
- link_end = '</a>'.html_safe
|
||||
%p.gl-pl-6
|
||||
= s_("GitLabPages|When enabled, all attempts to visit your website through HTTP are automatically redirected to HTTPS using a response with status code 301. Requires a valid certificate for all domains. %{docs_link_start}Learn more.%{link_end}").html_safe % { docs_link_start: docs_link_start, link_end: link_end }
|
||||
%p.gl-text-subtle.gl-pl-6
|
||||
= s_("GitLabPages|When enabled, all access to domains will use HTTPS with %{redirect_code} redirects. Requires valid certificates for all domains. %{docs_link_start}How does HTTPS redirection work?%{link_end}").html_safe % { docs_link_start: docs_link_start, link_end: link_end, redirect_code: tag.code('301') }
|
||||
|
||||
.form-group
|
||||
= f.fields_for :project_setting do |settings|
|
||||
= settings.gitlab_ui_checkbox_component :pages_unique_domain_enabled,
|
||||
s_('GitLabPages|Use unique domain'),
|
||||
label_options: { class: 'label-bold' }
|
||||
%p.gl-pl-6
|
||||
= s_("GitLabPages|When enabled, a unique domain is generated to access pages.").html_safe
|
||||
- docs_link_start = "<a href='#{help_page_path('user/project/pages/custom_domains_ssl_tls_certification/_index.md', anchor: 'set-up-a-custom-domain')}' target='_blank' rel='noopener noreferrer'>".html_safe
|
||||
- link_end = '</a>'.html_safe
|
||||
%p.gl-text-subtle.gl-pl-6
|
||||
= s_("GitLabPages|When enabled, adds a unique identifier to your domain (for example: %{domain}). When disabled, uses your namespace (username/group name) as the domain (for example: %{unique_domain}). %{docs_link_start}How do Pages URLs work?%{link_end}").html_safe % { docs_link_start: docs_link_start,
|
||||
link_end: link_end,
|
||||
domain: tag.code('my-website-123456.gitlab.io'),
|
||||
unique_domain: tag.code('testuser.gitlab.io/my-website') }
|
||||
|
||||
- if Gitlab.config.pages.custom_domain_mode || Gitlab.config.pages.external_http || Gitlab.config.pages.external_https
|
||||
- if @project.pages_domains.present?
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: truncate_build_names
|
||||
feature_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/16853
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/188496
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/536667
|
||||
milestone: '18.0'
|
||||
group: group::pipeline execution
|
||||
type: gitlab_com_derisk
|
||||
default_enabled: false
|
||||
|
|
@ -1067,6 +1067,10 @@ Gitlab.ee do
|
|||
Settings.cron_jobs['delete_pipl_users_worker']['cron'] ||= '0 8 * * *'
|
||||
Settings.cron_jobs['delete_pipl_users_worker']['job_class'] =
|
||||
'ComplianceManagement::Pipl::DeletePiplUsersWorker'
|
||||
|
||||
Settings.cron_jobs['cleanup_build_name_worker'] ||= {}
|
||||
Settings.cron_jobs['cleanup_build_name_worker']['cron'] ||= '0 1 * * *'
|
||||
Settings.cron_jobs['cleanup_build_name_worker']['job_class'] = 'Ci::CleanupBuildNameWorker'
|
||||
end
|
||||
|
||||
Gitlab.jh do
|
||||
|
|
|
|||
|
|
@ -62249,11 +62249,24 @@ definitions:
|
|||
size:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Repository size in bytes.
|
||||
references:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_References"
|
||||
objects:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_Objects"
|
||||
commit_graph:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_CommitGraph"
|
||||
bitmap:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_Bitmap"
|
||||
multi_pack_index:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_MultiPackIndex"
|
||||
multi_pack_index_bitmap:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_Bitmap"
|
||||
alternates:
|
||||
type: object
|
||||
is_object_pool:
|
||||
type: boolean
|
||||
last_full_repack:
|
||||
"$ref": "#/definitions/API_Entities_RepositoryHealth_LastFullRepack"
|
||||
updated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
|
|
@ -62265,36 +62278,87 @@ definitions:
|
|||
loose_count:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Number of loose references in the repository.
|
||||
packed_size:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Size in bytes of packed references in the repository.
|
||||
reference_backend:
|
||||
type: string
|
||||
description: Type of backend used to store references. Either 'REFERENCE_BACKEND_REFTABLE'
|
||||
or 'REFERENCE_BACKEND_FILES'.
|
||||
API_Entities_RepositoryHealth_Objects:
|
||||
type: object
|
||||
properties:
|
||||
size:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Size in bytes of all objects in the repository.
|
||||
recent_size:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Size in bytes of all recent objects in the repository. Recent
|
||||
objects are those which are reachable.
|
||||
stale_size:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Size in bytes of all stale objects in the repository. Stale objects
|
||||
are those which are unreachable and may be deleted during housekeeping.
|
||||
keep_size:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Size in bytes of all packfiles with the .keep extension.
|
||||
packfile_count:
|
||||
type: integer
|
||||
format: int32
|
||||
reverse_index_count:
|
||||
type: integer
|
||||
format: int32
|
||||
cruft_count:
|
||||
type: integer
|
||||
format: int32
|
||||
keep_count:
|
||||
type: integer
|
||||
format: int32
|
||||
loose_objects_count:
|
||||
type: integer
|
||||
format: int32
|
||||
stale_loose_objects_count:
|
||||
type: integer
|
||||
format: int32
|
||||
loose_objects_garbage_count:
|
||||
type: integer
|
||||
format: int32
|
||||
API_Entities_RepositoryHealth_CommitGraph:
|
||||
type: object
|
||||
properties:
|
||||
commit_graph_chain_length:
|
||||
type: integer
|
||||
format: int32
|
||||
has_bloom_filters:
|
||||
type: boolean
|
||||
has_generation_data:
|
||||
type: boolean
|
||||
has_generation_data_overflow:
|
||||
type: boolean
|
||||
API_Entities_RepositoryHealth_Bitmap:
|
||||
type: object
|
||||
properties:
|
||||
has_hash_cache:
|
||||
type: boolean
|
||||
has_lookup_table:
|
||||
type: boolean
|
||||
version:
|
||||
type: integer
|
||||
format: int32
|
||||
API_Entities_RepositoryHealth_MultiPackIndex:
|
||||
type: object
|
||||
properties:
|
||||
packfile_count:
|
||||
type: integer
|
||||
format: int32
|
||||
version:
|
||||
type: integer
|
||||
format: int32
|
||||
API_Entities_RepositoryHealth_LastFullRepack:
|
||||
type: object
|
||||
properties:
|
||||
seconds:
|
||||
type: integer
|
||||
format: int32
|
||||
nanos:
|
||||
type: integer
|
||||
format: int32
|
||||
API_Entities_Contributor:
|
||||
type: object
|
||||
properties:
|
||||
|
|
|
|||
|
|
@ -536,6 +536,7 @@ Example response, with line breaks added for readability:
|
|||
|
||||
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/182220) in GitLab 17.10. Guarded behind the
|
||||
[project_repositories_health](https://gitlab.com/gitlab-org/gitlab/-/issues/521115) feature flag.
|
||||
- New fields [added](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191263) in GitLab 18.1.
|
||||
|
||||
{{< /history >}}
|
||||
|
||||
|
|
@ -562,22 +563,55 @@ Example response:
|
|||
|
||||
```json
|
||||
{
|
||||
"size": 42002816,
|
||||
"size": 2619748827,
|
||||
"references": {
|
||||
"loose_count": 3,
|
||||
"packed_size": 315703,
|
||||
"loose_count": 13,
|
||||
"packed_size": 333978,
|
||||
"reference_backend": "REFERENCE_BACKEND_FILES"
|
||||
},
|
||||
"objects": {
|
||||
"size": 39651458,
|
||||
"recent_size": 39461265,
|
||||
"stale_size": 190193,
|
||||
"keep_size": 0
|
||||
"size": 2180475409,
|
||||
"recent_size": 2180453999,
|
||||
"stale_size": 21410,
|
||||
"keep_size": 0,
|
||||
"packfile_count": 1,
|
||||
"reverse_index_count": 1,
|
||||
"cruft_count": 0,
|
||||
"keep_count": 0,
|
||||
"loose_objects_count": 36,
|
||||
"stale_loose_objects_count": 36,
|
||||
"loose_objects_garbage_count": 0
|
||||
},
|
||||
"updated_at": "2025-02-26T03:42:13.015Z"
|
||||
"commit_graph": {
|
||||
"commit_graph_chain_length": 1,
|
||||
"has_bloom_filters": true,
|
||||
"has_generation_data": true,
|
||||
"has_generation_data_overflow": false
|
||||
},
|
||||
"bitmap": null,
|
||||
"multi_pack_index": {
|
||||
"packfile_count": 1,
|
||||
"version": 1
|
||||
},
|
||||
"multi_pack_index_bitmap": {
|
||||
"has_hash_cache": true,
|
||||
"has_lookup_table": true,
|
||||
"version": 1
|
||||
},
|
||||
"alternates": null,
|
||||
"is_object_pool": false,
|
||||
"last_full_repack": {
|
||||
"seconds": 1745892013,
|
||||
"nanos": 0
|
||||
},
|
||||
"updated_at": "2025-05-14T02:31:08.022Z"
|
||||
}
|
||||
```
|
||||
|
||||
For a description of each field in the response, see the
|
||||
[`RepositoryInfoResponse`](https://gitlab.com/gitlab-org/gitaly/blob/fcb986a6482f82b088488db3ed7ca35adfa42fdc/proto/repository.proto#L444)
|
||||
protobuf message.
|
||||
|
||||
## Related topics
|
||||
|
||||
- User documentation for [changelogs](../user/project/changelogs.md)
|
||||
|
|
|
|||
|
|
@ -28,6 +28,10 @@ This feature is available for testing, but not ready for production use.
|
|||
|
||||
{{< /alert >}}
|
||||
|
||||
<i class="fa-youtube-play" aria-hidden="true"></i>
|
||||
For a demonstration, see [Validity Checks Demo](https://www.youtube.com/watch?v=h0jR0CGNOhI).
|
||||
<!-- Video published on 2025-05-20 -->
|
||||
|
||||
GitLab validity checks determines whether a secret, like an access token, is active.
|
||||
A secret is active when:
|
||||
|
||||
|
|
@ -50,9 +54,9 @@ To enable validity checks for a project:
|
|||
|
||||
- Contact your GitLab representative and ask them to enable validity checks.
|
||||
|
||||
If validity checks are enabled, when the `secret_detection` CI/CD job is complete,
|
||||
GitLab checks the status of detected secrets. The statuses are displayed on the
|
||||
**Findings** page of the vulnerability report.
|
||||
If validity checks are enabled, GitLab checks the status of detected secrets when the `secret_detection`
|
||||
CI/CD job is complete. To view a secret's status, view the vulnerability details page. To update the
|
||||
status of a secret, for example after revoking it, re-run the `secret_detection` CI/CD job.
|
||||
|
||||
### Coverage
|
||||
|
||||
|
|
|
|||
|
|
@ -2,36 +2,93 @@
|
|||
|
||||
module API
|
||||
module Entities
|
||||
# rubocop:disable Layout/LineLength -- `desc` is too long
|
||||
class RepositoryHealth < Grape::Entity
|
||||
class References < Grape::Entity
|
||||
expose :loose_count,
|
||||
documentation: { type: 'integer', desc: 'Number of loose references in the repository.' }
|
||||
documentation: { type: 'integer' }
|
||||
expose :packed_size,
|
||||
documentation: { type: 'integer', desc: 'Size in bytes of packed references in the repository.' }
|
||||
documentation: { type: 'integer' }
|
||||
expose :reference_backend,
|
||||
documentation: { type: 'string',
|
||||
desc: "Type of backend used to store references. Either 'REFERENCE_BACKEND_REFTABLE' or 'REFERENCE_BACKEND_FILES'." }
|
||||
documentation: { type: 'string' }
|
||||
end
|
||||
|
||||
class Objects < Grape::Entity
|
||||
expose :size,
|
||||
documentation: { type: 'integer', desc: 'Size in bytes of all objects in the repository.' }
|
||||
documentation: { type: 'integer' }
|
||||
expose :recent_size,
|
||||
documentation: { type: 'integer',
|
||||
desc: 'Size in bytes of all recent objects in the repository. Recent objects are those which are reachable.' }
|
||||
documentation: { type: 'integer' }
|
||||
expose :stale_size,
|
||||
documentation: { type: 'integer',
|
||||
desc: 'Size in bytes of all stale objects in the repository. Stale objects are those which are unreachable and may be deleted during housekeeping.' }
|
||||
documentation: { type: 'integer' }
|
||||
expose :keep_size,
|
||||
documentation: { type: 'integer', desc: 'Size in bytes of all packfiles with the .keep extension.' }
|
||||
documentation: { type: 'integer' }
|
||||
expose :packfile_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :reverse_index_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :cruft_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :keep_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :loose_objects_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :stale_loose_objects_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :loose_objects_garbage_count,
|
||||
documentation: { type: 'integer' }
|
||||
end
|
||||
|
||||
expose :size, documentation: { type: 'integer', desc: 'Repository size in bytes.' }
|
||||
class CommitGraph < Grape::Entity
|
||||
expose :commit_graph_chain_length,
|
||||
documentation: { type: 'integer' }
|
||||
expose :has_bloom_filters,
|
||||
documentation: { type: 'boolean' }
|
||||
expose :has_generation_data,
|
||||
documentation: { type: 'boolean' }
|
||||
expose :has_generation_data_overflow,
|
||||
documentation: { type: 'boolean' }
|
||||
end
|
||||
|
||||
class MultiPackIndex < Grape::Entity
|
||||
expose :packfile_count,
|
||||
documentation: { type: 'integer' }
|
||||
expose :version,
|
||||
documentation: { type: 'integer' }
|
||||
end
|
||||
|
||||
class Bitmap < Grape::Entity
|
||||
expose :has_hash_cache,
|
||||
documentation: { type: 'boolean' }
|
||||
expose :has_lookup_table,
|
||||
documentation: { type: 'boolean' }
|
||||
expose :version,
|
||||
documentation: { type: 'integer' }
|
||||
end
|
||||
|
||||
class AlternatesInfo < Grape::Entity
|
||||
expose :object_directories,
|
||||
documentation: { type: 'array', items: { type: 'string' } }
|
||||
expose :last_modified,
|
||||
documentation: { type: 'dateTime', example: '2025-02-24T09:05:50.355Z' }
|
||||
end
|
||||
|
||||
class LastFullRepack < Grape::Entity
|
||||
expose :seconds,
|
||||
documentation: { type: 'integer' }
|
||||
expose :nanos,
|
||||
documentation: { type: 'integer' }
|
||||
end
|
||||
|
||||
expose :size, documentation: { type: 'integer' }
|
||||
expose :references, using: References
|
||||
expose :objects, using: Objects
|
||||
expose :commit_graph, using: CommitGraph
|
||||
expose :bitmap, using: Bitmap
|
||||
expose :multi_pack_index, using: MultiPackIndex
|
||||
expose :multi_pack_index_bitmap, using: Bitmap
|
||||
expose :alternates, documentation: { type: 'object', example: nil }
|
||||
expose :is_object_pool, documentation: { type: 'boolean' }
|
||||
expose :last_full_repack, using: LastFullRepack
|
||||
expose :updated_at, documentation: { type: 'dateTime', example: '2025-02-24T09:05:50.355Z' }
|
||||
end
|
||||
# rubocop:enable Layout/LineLength
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -28453,10 +28453,10 @@ msgstr ""
|
|||
msgid "GitLabPages|Waiting for the Pages Pipeline to complete…"
|
||||
msgstr ""
|
||||
|
||||
msgid "GitLabPages|When enabled, a unique domain is generated to access pages."
|
||||
msgid "GitLabPages|When enabled, adds a unique identifier to your domain (for example: %{domain}). When disabled, uses your namespace (username/group name) as the domain (for example: %{unique_domain}). %{docs_link_start}How do Pages URLs work?%{link_end}"
|
||||
msgstr ""
|
||||
|
||||
msgid "GitLabPages|When enabled, all attempts to visit your website through HTTP are automatically redirected to HTTPS using a response with status code 301. Requires a valid certificate for all domains. %{docs_link_start}Learn more.%{link_end}"
|
||||
msgid "GitLabPages|When enabled, all access to domains will use HTTPS with %{redirect_code} redirects. Requires valid certificates for all domains. %{docs_link_start}How does HTTPS redirection work?%{link_end}"
|
||||
msgstr ""
|
||||
|
||||
msgid "GitLabPages|When enabled, all projects in the group and its subgroups become visible only to members."
|
||||
|
|
@ -39553,12 +39553,18 @@ msgstr ""
|
|||
msgid "ModelSelection|An error occurred while loading the AI feature settings. Please try again."
|
||||
msgstr ""
|
||||
|
||||
msgid "ModelSelection|An error occurred while updating the feature setting. Please try again."
|
||||
msgstr ""
|
||||
|
||||
msgid "ModelSelection|Manage GitLab Duo by configuring and assigning models to AI-native features."
|
||||
msgstr ""
|
||||
|
||||
msgid "ModelSelection|Model Selection"
|
||||
msgstr ""
|
||||
|
||||
msgid "ModelSelection|Successfully updated %{mainFeature} / %{title}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Modified"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -116,6 +116,14 @@ RSpec.describe Ci::Build, feature_category: :continuous_integration, factory_def
|
|||
end
|
||||
end
|
||||
|
||||
describe 'created_before' do
|
||||
subject { described_class.created_before(1.day.ago) }
|
||||
|
||||
it 'returns the builds created before the given time' do
|
||||
is_expected.to contain_exactly(old_build)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'updated_after' do
|
||||
subject { described_class.updated_after(1.day.ago) }
|
||||
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ RSpec.describe MergeRequests::DeleteNonLatestDiffsService, :clean_gitlab_redis_s
|
|||
3.times { merge_request.create_merge_request_diff }
|
||||
merge_request.create_merge_head_diff
|
||||
merge_request.reset
|
||||
merge_request.merge_request_diffs.reload
|
||||
end
|
||||
|
||||
it 'schedules non-latest merge request diffs removal',
|
||||
quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/426807' do
|
||||
diffs = merge_request.merge_request_diffs
|
||||
it 'schedules non-latest merge request diffs removal' do
|
||||
diffs = merge_request.merge_request_diffs.order(:id)
|
||||
|
||||
expect(diffs.count).to eq(4)
|
||||
|
||||
|
|
@ -37,6 +37,7 @@ RSpec.describe MergeRequests::DeleteNonLatestDiffsService, :clean_gitlab_redis_s
|
|||
|
||||
it 'schedules no removal if it is already cleaned' do
|
||||
merge_request.merge_request_diffs.each(&:clean!)
|
||||
merge_request.merge_request_diffs.reload
|
||||
|
||||
expect(DeleteDiffFilesWorker).not_to receive(:bulk_perform_in)
|
||||
|
||||
|
|
@ -45,6 +46,7 @@ RSpec.describe MergeRequests::DeleteNonLatestDiffsService, :clean_gitlab_redis_s
|
|||
|
||||
it 'schedules no removal if it is empty' do
|
||||
merge_request.merge_request_diffs.each { |diff| diff.update!(state: :empty) }
|
||||
merge_request.merge_request_diffs.reload
|
||||
|
||||
expect(DeleteDiffFilesWorker).not_to receive(:bulk_perform_in)
|
||||
|
||||
|
|
@ -57,6 +59,7 @@ RSpec.describe MergeRequests::DeleteNonLatestDiffsService, :clean_gitlab_redis_s
|
|||
.merge_request_diffs
|
||||
.where.not(id: merge_request.latest_merge_request_diff_id)
|
||||
.destroy_all
|
||||
merge_request.merge_request_diffs.reload
|
||||
# rubocop: enable Cop/DestroyAll
|
||||
|
||||
expect(DeleteDiffFilesWorker).not_to receive(:bulk_perform_in)
|
||||
|
|
|
|||
Loading…
Reference in New Issue