From cba6b80657852f58cb77a9cda7cc48ef069e2696 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Sun, 20 Jul 2025 15:12:22 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- GITLAB_KAS_VERSION | 2 +- app/models/packages/composer/package.rb | 2 +- lib/gitlab/composer/version_index.rb | 2 +- spec/factories/packages/composer/packages.rb | 6 +++++- spec/models/packages/composer/package_spec.rb | 3 ++- .../packages/composer/create_package_service_spec.rb | 4 ++-- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index b797c227606..5ea4f30968f 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -9b377d750f688c59510996f758ffa8033b687571 +da6bcc470bd3972caf22986af06b3c5b1254e803 diff --git a/app/models/packages/composer/package.rb b/app/models/packages/composer/package.rb index b1eeda1bcea..2de796a0dd3 100644 --- a/app/models/packages/composer/package.rb +++ b/app/models/packages/composer/package.rb @@ -7,7 +7,7 @@ module Packages 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 validates :version, format: { with: Gitlab::Regex.semver_regex, message: Gitlab::Regex.semver_regex_message }, diff --git a/lib/gitlab/composer/version_index.rb b/lib/gitlab/composer/version_index.rb index d3a8a200055..e21a352f940 100644 --- a/lib/gitlab/composer/version_index.rb +++ b/lib/gitlab/composer/version_index.rb @@ -26,7 +26,7 @@ module Gitlab end def package_metadata(package) - json = package.composer_metadatum.composer_json + json = package.composer_json json.merge( 'dist' => package_dist(package), diff --git a/spec/factories/packages/composer/packages.rb b/spec/factories/packages/composer/packages.rb index 74036ecf225..85b329b476a 100644 --- a/spec/factories/packages/composer/packages.rb +++ b/spec/factories/packages/composer/packages.rb @@ -7,7 +7,11 @@ FactoryBot.define do package_type { :composer } 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 } } end diff --git a/spec/models/packages/composer/package_spec.rb b/spec/models/packages/composer/package_spec.rb index d6a608a2f1a..e67ebf2fb34 100644 --- a/spec/models/packages/composer/package_spec.rb +++ b/spec/models/packages/composer/package_spec.rb @@ -8,7 +8,8 @@ RSpec.describe Packages::Composer::Package, type: :model, feature_category: :pac end 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 describe 'validations' do diff --git a/spec/services/packages/composer/create_package_service_spec.rb b/spec/services/packages/composer/create_package_service_spec.rb index 8c309890474..a75dfe18083 100644 --- a/spec/services/packages/composer/create_package_service_spec.rb +++ b/spec/services/packages/composer/create_package_service_spec.rb @@ -35,8 +35,8 @@ RSpec.describe Packages::Composer::CreatePackageService, feature_category: :pack expect(created_package.name).to eq package_name expect(created_package.version).to eq 'dev-master' - expect(created_package.composer_metadatum.target_sha).to eq branch.target - expect(created_package.composer_metadatum.composer_json.to_json).to eq json + expect(created_package.target_sha).to eq branch.target + expect(created_package.composer_json.to_json).to eq json end it_behaves_like 'assigns the package creator' do