Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
338b79b968
commit
233b28cc10
|
|
@ -61,16 +61,7 @@ module Ci
|
|||
# before we delete builds. By doing this, the relation should be empty and not fire any
|
||||
# DELETE queries when the Ci::Build is destroyed. The next step is to remove `dependent: :destroy`.
|
||||
# Details: https://gitlab.com/gitlab-org/gitlab/-/issues/24644#note_689472685
|
||||
# rubocop:disable Cop/ActiveRecordDependent -- See above
|
||||
has_many :job_artifacts,
|
||||
->(build) { in_partition(build) },
|
||||
class_name: 'Ci::JobArtifact',
|
||||
foreign_key: :job_id,
|
||||
partition_foreign_key: :partition_id,
|
||||
dependent: :destroy,
|
||||
inverse_of: :job
|
||||
# rubocop:enable Cop/ActiveRecordDependent
|
||||
|
||||
has_many :job_artifacts, class_name: 'Ci::JobArtifact', foreign_key: :job_id, dependent: :destroy, inverse_of: :job # rubocop:disable Cop/ActiveRecordDependent
|
||||
has_many :job_variables, class_name: 'Ci::JobVariable', foreign_key: :job_id, inverse_of: :job
|
||||
has_many :job_annotations,
|
||||
->(build) { in_partition(build) },
|
||||
|
|
@ -82,12 +73,8 @@ module Ci
|
|||
|
||||
has_many :pages_deployments, foreign_key: :ci_build_id, inverse_of: :ci_build
|
||||
|
||||
Ci::JobArtifact.file_types.each_key do |key|
|
||||
has_one :"job_artifacts_#{key}", ->(build) { in_partition(build).with_file_types([key]) },
|
||||
class_name: 'Ci::JobArtifact',
|
||||
foreign_key: :job_id,
|
||||
partition_foreign_key: :partition_id,
|
||||
inverse_of: :job
|
||||
Ci::JobArtifact.file_types.each do |key, value|
|
||||
has_one :"job_artifacts_#{key}", -> { where(file_type: value) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id, inverse_of: :job
|
||||
end
|
||||
|
||||
has_one :runner_manager_build,
|
||||
|
|
|
|||
|
|
@ -13,10 +13,7 @@ module Ci
|
|||
class_name: 'Ci::Build',
|
||||
partition_foreign_key: :partition_id,
|
||||
inverse_of: :trace_metadata
|
||||
belongs_to :trace_artifact, # rubocop:disable Rails/InverseOf -- No clear relation to be used
|
||||
->(metadata) { in_partition(metadata) },
|
||||
class_name: 'Ci::JobArtifact',
|
||||
partition_foreign_key: :partition_id
|
||||
belongs_to :trace_artifact, class_name: 'Ci::JobArtifact'
|
||||
|
||||
partitionable scope: :build
|
||||
|
||||
|
|
|
|||
|
|
@ -24,12 +24,7 @@ module Ci
|
|||
PLAN_LIMIT_PREFIX = 'ci_max_artifact_size_'
|
||||
|
||||
belongs_to :project
|
||||
belongs_to :job,
|
||||
->(artifact) { in_partition(artifact) },
|
||||
class_name: "Ci::Build",
|
||||
foreign_key: :job_id,
|
||||
partition_foreign_key: :partition_id,
|
||||
inverse_of: :job_artifacts
|
||||
belongs_to :job, class_name: "Ci::Build", foreign_key: :job_id, inverse_of: :job_artifacts
|
||||
|
||||
mount_file_store_uploader JobArtifactUploader, skip_store_file: true
|
||||
|
||||
|
|
@ -159,10 +154,6 @@ module Ci
|
|||
service.update_statistics
|
||||
end
|
||||
|
||||
def self.use_partition_id_filter?
|
||||
::Feature.enabled?(:use_partition_id_filter_on_ci_job_artifacts, Feature.current_request)
|
||||
end
|
||||
|
||||
def local_store?
|
||||
[nil, ::JobArtifactUploader::Store::LOCAL].include?(self.file_store)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -86,12 +86,10 @@ module Ci
|
|||
|
||||
builds_relation.each_batch(of: BATCH_SIZE) do |builds|
|
||||
# rubocop: disable CodeReuse/ActiveRecord
|
||||
Ci::JobArtifact.where(job_id: builds.pluck(:id), partition_id: partition_id)
|
||||
.each_batch(of: BATCH_SIZE) do |job_artifacts|
|
||||
unlocked_count = Ci::JobArtifact.where(
|
||||
id: job_artifacts.pluck(:id),
|
||||
partition_id: partition_id
|
||||
).update_all(locked: :unlocked)
|
||||
Ci::JobArtifact.where(job_id: builds.pluck(:id)).each_batch(of: BATCH_SIZE) do |job_artifacts|
|
||||
unlocked_count = Ci::JobArtifact
|
||||
.where(id: job_artifacts.pluck(:id))
|
||||
.update_all(locked: :unlocked)
|
||||
|
||||
@unlocked_job_artifacts_count ||= 0
|
||||
@unlocked_job_artifacts_count += unlocked_count
|
||||
|
|
@ -112,12 +110,6 @@ module Ci
|
|||
end
|
||||
end
|
||||
|
||||
# All the partitionable entities connected to a pipeline
|
||||
# belong to the same partition where the pipeline is.
|
||||
def partition_id
|
||||
pipeline.partition_id
|
||||
end
|
||||
|
||||
def unlock_pipeline_artifacts
|
||||
@unlocked_pipeline_artifacts_count = pipeline.pipeline_artifacts.update_all(locked: :unlocked)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
name: use_partition_id_filter_on_ci_job_artifacts
|
||||
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/430294
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/145522
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/444191
|
||||
milestone: '16.10'
|
||||
group: group::pipeline execution
|
||||
type: gitlab_com_derisk
|
||||
default_enabled: false
|
||||
|
|
@ -3,8 +3,6 @@
|
|||
namespace :grape do
|
||||
desc 'Print compiled grape routes'
|
||||
task routes: :environment do
|
||||
# Getting the source of the endpoints
|
||||
# https://forum.gitlab.com/t/corresponding-ruby-file-for-route-api-v4-jobs-request/16663
|
||||
API::API.routes.each do |route|
|
||||
puts "#{route.options[:method]} #{route.path} - #{route_description(route.options)}"
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1938,6 +1938,9 @@ msgstr ""
|
|||
msgid "AIAgents|AI Agents"
|
||||
msgstr ""
|
||||
|
||||
msgid "AIAgents|Agent Settings"
|
||||
msgstr ""
|
||||
|
||||
msgid "AIAgents|An error has occurred when saving the agent."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1950,6 +1953,9 @@ msgstr ""
|
|||
msgid "AIAgents|The requested agent was not found."
|
||||
msgstr ""
|
||||
|
||||
msgid "AIAgents|Update the name and prompt for this agent."
|
||||
msgstr ""
|
||||
|
||||
msgid "AIAgent|AI Agent: %{agentId}"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -137,7 +137,6 @@ RSpec.describe Gitlab::Ci::Trace::Archive, feature_category: :scalability do
|
|||
|
||||
allow_next_instance_of(Ci::JobArtifact) do |artifact|
|
||||
artifact.job_id = job.id
|
||||
artifact.partition_id = job.partition_id
|
||||
|
||||
expect(artifact)
|
||||
.to receive(:store_file!)
|
||||
|
|
|
|||
|
|
@ -115,9 +115,7 @@ RSpec.describe Ci::UnlockPipelineService, :unlock_pipelines, :clean_gitlab_redis
|
|||
before do
|
||||
mock_relation = instance_double('Ci::JobArtifact::ActiveRecord_Relation')
|
||||
allow(Ci::JobArtifact).to receive(:where).and_call_original
|
||||
allow(Ci::JobArtifact).to receive(:where)
|
||||
.with(id: [last_artifact.id], partition_id: last_artifact.partition_id)
|
||||
.and_return(mock_relation)
|
||||
allow(Ci::JobArtifact).to receive(:where).with(id: [last_artifact.id]).and_return(mock_relation)
|
||||
allow(mock_relation).to receive(:update_all).and_raise('An error')
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue