Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot
2025-08-09 03:22:07 +00:00
parent cf304f276c
commit 72acd94c01
8 changed files with 3 additions and 55 deletions

View File

@ -1,9 +0,0 @@
---
name: conan_package_revisions_support
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/333033
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/165034
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/483634
milestone: '17.8'
group: group::package registry
type: wip
default_enabled: false

View File

@ -15,6 +15,7 @@ title: Conan v2 API
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/519741) in GitLab 17.11 [with a flag](../../administration/feature_flags/_index.md) named `conan_package_revisions_support`. Disabled by default.
- [Enabled on GitLab.com](https://gitlab.com/groups/gitlab-org/-/epics/14896) in GitLab 18.3. Feature flag `conan_package_revisions_support` removed.
{{< /history >}}

View File

@ -440,6 +440,7 @@ Packages uploaded before this feature was enabled (GitLab 17.10) do not have the
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/519741) in GitLab 18.1 [with a flag](../../../administration/feature_flags/_index.md) named `conan_package_revisions_support`. Disabled by default.
- [Enabled on GitLab.com](https://gitlab.com/groups/gitlab-org/-/epics/14896) in GitLab 18.3. Feature flag `conan_package_revisions_support` removed.
{{< /history >}}

View File

@ -16,6 +16,7 @@ title: Conan 2 packages in the package registry
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/519741) in GitLab 18.1 [with a flag](../../../administration/feature_flags/_index.md) named `conan_package_revisions_support`. Disabled by default.
- [Enabled on GitLab.com](https://gitlab.com/groups/gitlab-org/-/epics/14896) in GitLab 18.3. Feature flag `conan_package_revisions_support` removed.
{{< /history >}}

View File

@ -6,12 +6,6 @@ module API
class ProjectPackages < ::API::Base
MAX_FILES_COUNT = MAX_PACKAGE_REVISIONS_COUNT = 1000
before do
if Feature.disabled?(:conan_package_revisions_support, Feature.current_request)
not_found!("'conan_package_revisions_support' feature flag is disabled")
end
end
helpers do
include Gitlab::Utils::StrongMemoize
def package_files(finder_params)

View File

@ -19,8 +19,6 @@ module API
included do
helpers do
def x_conan_server_capabilities_header
return [] unless Feature.enabled?(:conan_package_revisions_support, Feature.current_request)
['revisions']
end
end

View File

@ -14,18 +14,6 @@ RSpec.describe API::Conan::V1::ProjectPackages, feature_category: :package_regis
it_behaves_like 'conan ping endpoint' do
let(:x_conan_server_capabilities_header) { 'revisions' }
end
context 'when the conan_package_revisions_support FF is disabled' do
before do
stub_feature_flags(conan_package_revisions_support: false)
end
it 'contains "" in the X-Conan-Server-Capabilities header' do
get api(url), headers: headers
expect(response.headers['X-Conan-Server-Capabilities']).to be_empty
end
end
end
describe 'GET /api/v4/projects/:id/packages/conan/v1/conans/search' do

View File

@ -9,15 +9,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
let(:project_id) { project.id }
let(:url) { "/projects/#{project_id}/packages/conan/v2/conans/#{url_suffix}" }
shared_examples 'conan package revisions feature flag check' do
before do
stub_feature_flags(conan_package_revisions_support: false)
end
it_behaves_like 'returning response status with message', status: :not_found,
message: "404 'conan_package_revisions_support' feature flag is disabled Not Found"
end
shared_examples 'package without revisions returns not found' do |resource: 'Revision'|
let_it_be(:package) { create(:conan_package, project: project, without_revisions: true) }
@ -132,9 +123,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
let(:url) { "/projects/#{project.id}/packages/conan/v2/users/check_credentials" }
it_behaves_like 'conan check_credentials endpoint'
it_behaves_like 'conan package revisions feature flag check' do
subject { get api(url), headers: headers }
end
end
describe 'GET /api/v4/projects/:id/packages/conan/v2/conans/search' do
@ -146,7 +134,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it_behaves_like 'conan search endpoint'
it_behaves_like 'conan FIPS mode'
it_behaves_like 'conan search endpoint with access to package registry for everyone'
it_behaves_like 'conan package revisions feature flag check'
end
describe 'GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/' \
@ -178,7 +165,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { get api(url), headers: headers }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'recipe file download endpoint'
it_behaves_like 'accept get request on private project with access to package registry for everyone'
@ -228,7 +214,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { get api(url), headers: headers }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'package file download endpoint'
it_behaves_like 'accept get request on private project with access to package registry for everyone'
@ -275,7 +260,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { put api(url), headers: headers_with_token }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'workhorse recipe file upload endpoint', revision: true
end
@ -289,7 +273,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
headers: headers_with_token
end
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'workhorse authorize endpoint', with_checksum_deploy_header: false
end
@ -305,7 +288,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { put api(url), headers: headers_with_token }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'workhorse package file upload endpoint', revision: true
end
@ -321,7 +303,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { put api(url), headers: headers_with_token }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'workhorse authorize endpoint', with_checksum_deploy_header: false
end
@ -356,7 +337,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
end
end
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'enforcing read_packages job token policy'
it_behaves_like 'accept get request on private project with access to package registry for everyone'
it_behaves_like 'conan FIPS mode'
@ -377,7 +357,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { delete api(url), headers: headers }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'conan FIPS mode'
it_behaves_like 'rejects invalid recipe'
@ -449,7 +428,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
])
end
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'enforcing read_packages job token policy'
it_behaves_like 'accept get request on private project with access to package registry for everyone'
@ -520,7 +498,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { api_request }
end
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'accept get request on private project with access to package registry for everyone'
it_behaves_like 'conan FIPS mode'
@ -608,7 +585,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it_behaves_like 'GET package references metadata endpoint'
it_behaves_like 'accept get request on private project with access to package registry for everyone'
it_behaves_like 'project not found by project id'
it_behaves_like 'conan package revisions feature flag check'
end
describe 'GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username' \
@ -622,7 +598,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it_behaves_like 'GET package references metadata endpoint', with_recipe_revision: true
it_behaves_like 'accept get request on private project with access to package registry for everyone'
it_behaves_like 'project not found by project id'
it_behaves_like 'conan package revisions feature flag check'
end
describe 'DELETE /api/v4/projects/:id/packages/conan/v2/conans/:package_name/package_version/:package_username/' \
@ -641,7 +616,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
subject(:request) { delete api(url), headers: headers }
it_behaves_like 'conan package revisions feature flag check'
it_behaves_like 'packages feature check'
it_behaves_like 'conan FIPS mode'
it_behaves_like 'rejects invalid recipe'