summaryrefslogtreecommitdiff
path: root/app/models/ci/build.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/ci/build.rb')
-rw-r--r--app/models/ci/build.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 0078ae052d2..1b749dd67d0 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -391,6 +391,10 @@ module Ci
trace.exist?
end
+ def has_test_reports?
+ job_artifacts.test_reports.any?
+ end
+
def has_old_trace?
old_trace.present?
end
@@ -453,22 +457,26 @@ module Ci
end
def erase_artifacts!
- remove_legacy_artifacts_file! if legacy_artifacts_file
- remove_legacy_artifacts_metadata! if legacy_artifacts_metadata
- job_artifacts.destroy_all
+ remove_artifacts_file!
+ remove_artifacts_metadata!
save
end
+ def erase_test_reports!
+ job_artifacts.test_reports.destroy_all
+ end
+
def erase(opts = {})
return false unless erasable?
erase_artifacts!
+ erase_test_reports!
erase_trace!
update_erased!(opts[:erased_by])
end
def erasable?
- complete? && (artifacts? || has_trace?)
+ complete? && (artifacts? || has_test_reports? || has_trace?)
end
def erased?