Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot
2025-07-20 15:12:22 +00:00
parent 5d71d29811
commit cba6b80657
6 changed files with 12 additions and 7 deletions

View File

@ -1 +1 @@
9b377d750f688c59510996f758ffa8033b687571 da6bcc470bd3972caf22986af06b3c5b1254e803

View File

@ -7,7 +7,7 @@ module Packages
has_one :composer_metadatum, inverse_of: :package, class_name: 'Packages::Composer::Metadatum' has_one :composer_metadatum, inverse_of: :package, class_name: 'Packages::Composer::Metadatum'
delegate :target_sha, to: :composer_metadatum delegate :target_sha, :composer_json, to: :composer_metadatum, allow_nil: true
validate :valid_composer_global_name validate :valid_composer_global_name
validates :version, format: { with: Gitlab::Regex.semver_regex, message: Gitlab::Regex.semver_regex_message }, validates :version, format: { with: Gitlab::Regex.semver_regex, message: Gitlab::Regex.semver_regex_message },

View File

@ -26,7 +26,7 @@ module Gitlab
end end
def package_metadata(package) def package_metadata(package)
json = package.composer_metadatum.composer_json json = package.composer_json
json.merge( json.merge(
'dist' => package_dist(package), 'dist' => package_dist(package),

View File

@ -7,7 +7,11 @@ FactoryBot.define do
package_type { :composer } package_type { :composer }
transient do transient do
sha { project.repository.find_branch('master').target } sha do
project&.repository&.find_branch('master')&.target || OpenSSL::Digest.hexdigest('SHA1', SecureRandom.hex)
rescue Gitlab::Git::Repository::NoRepository
OpenSSL::Digest.hexdigest('SHA1', SecureRandom.hex)
end
json { { name: name, version: version } } json { { name: name, version: version } }
end end

View File

@ -8,7 +8,8 @@ RSpec.describe Packages::Composer::Package, type: :model, feature_category: :pac
end end
describe 'delegates' do describe 'delegates' do
it { is_expected.to delegate_method(:target_sha).to(:composer_metadatum) } it { is_expected.to delegate_method(:target_sha).to(:composer_metadatum).allow_nil }
it { is_expected.to delegate_method(:composer_json).to(:composer_metadatum).allow_nil }
end end
describe 'validations' do describe 'validations' do

View File

@ -35,8 +35,8 @@ RSpec.describe Packages::Composer::CreatePackageService, feature_category: :pack
expect(created_package.name).to eq package_name expect(created_package.name).to eq package_name
expect(created_package.version).to eq 'dev-master' expect(created_package.version).to eq 'dev-master'
expect(created_package.composer_metadatum.target_sha).to eq branch.target expect(created_package.target_sha).to eq branch.target
expect(created_package.composer_metadatum.composer_json.to_json).to eq json expect(created_package.composer_json.to_json).to eq json
end end
it_behaves_like 'assigns the package creator' do it_behaves_like 'assigns the package creator' do