Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2017-11-30 13:06:43 +0300
committerKamil Trzcinski <ayufan@ayufan.eu>2017-12-03 14:04:49 +0300
commit2045a771bfa5a1a32ff04f5bc23d58f1170b6359 (patch)
treed2fa6584e2abd8cc7865df525cf27576eef73d21 /app/models
parent2a620e7412c8a658bae9a5b7c9b55b9ac97dd58e (diff)
Rename `job_archive|metadata` to `artifacts_archive|metadata`
Diffstat (limited to 'app/models')
-rw-r--r--app/models/ci/build.rb4
-rw-r--r--app/models/concerns/artifact_migratable.rb16
-rw-r--r--app/models/project_statistics.rb3
3 files changed, 13 insertions, 10 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 91747da28a1..842323e26e3 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -16,8 +16,8 @@ module Ci
has_many :trace_sections, class_name: 'Ci::BuildTraceSection'
has_many :job_artifacts, class_name: 'Ci::JobArtifact', foreign_key: :job_id, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
- has_one :job_archive, -> () { where(file_type: Ci::JobArtifact.file_types[:archive]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id
- has_one :job_metadata, -> () { where(file_type: Ci::JobArtifact.file_types[:metadata]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id
+ has_one :artifacts_archive, -> () { where(file_type: Ci::JobArtifact.file_types[:archive]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id
+ has_one :artifacts_metadata, -> () { where(file_type: Ci::JobArtifact.file_types[:metadata]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id
# The "environment" field for builds is a String, and is the unexpanded name
def persisted_environment
diff --git a/app/models/concerns/artifact_migratable.rb b/app/models/concerns/artifact_migratable.rb
index 811a8252459..b99585a0b65 100644
--- a/app/models/concerns/artifact_migratable.rb
+++ b/app/models/concerns/artifact_migratable.rb
@@ -3,11 +3,11 @@
# Meant to be prepended so the interface can stay the same
module ArtifactMigratable
def artifacts_file
- job_archive&.file || legacy_artifacts_file
+ artifacts_archive&.file || legacy_artifacts_file
end
def artifacts_metadata
- job_metadata&.file || legacy_artifacts_metadata
+ artifacts_metadata&.file || legacy_artifacts_metadata
end
def artifacts?
@@ -19,20 +19,20 @@ module ArtifactMigratable
end
def artifacts_file_changed?
- job_archive&.file_changed? || attribute_changed?(:artifacts_file)
+ artifacts_archive&.file_changed? || attribute_changed?(:artifacts_file)
end
def remove_artifacts_file!
- if job_archive
- job_archive.destroy
+ if artifacts_archive
+ artifacts_archive.destroy
else
remove_legacy_artifacts_file!
end
end
def remove_artifacts_metadata!
- if job_metadata
- job_metadata.destroy
+ if artifacts_metadata
+ artifacts_metadata.destroy
else
remove_legacy_artifacts_metadata!
end
@@ -40,6 +40,6 @@ module ArtifactMigratable
def artifacts_size
read_attribute(:artifacts_size).to_i +
- job_archive&.size.to_i + job_metadata&.size.to_i
+ artifacts_archive&.size.to_i + artifacts_metadata&.size.to_i
end
end
diff --git a/app/models/project_statistics.rb b/app/models/project_statistics.rb
index 17b9d2cf7b4..b3d4c82583c 100644
--- a/app/models/project_statistics.rb
+++ b/app/models/project_statistics.rb
@@ -35,6 +35,9 @@ class ProjectStatistics < ActiveRecord::Base
end
def update_build_artifacts_size
+ # REMARK:
+ # We perform dual calculation as we run SQL query: sum does not instantiate AR model.
+ # The Ci::Build#artifacts_size returns sum of ci_builds.artifacts_size and ci_job_artifacts.file_size
self.build_artifacts_size =
project.builds.sum(:artifacts_size) +
Ci::JobArtifact.artifacts_size_for(self)