diff options
Diffstat (limited to 'app/models/ci/build.rb')
-rw-r--r-- | app/models/ci/build.rb | 16 |
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? |