From d2d30cff552e08c4b7ec2b5e23acced8eb29cbcb Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Tue, 14 Feb 2017 18:00:37 +0800 Subject: Initial implementation for default artifacts expiration TODO: Add tests and screenshots --- app/models/ci/build.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 8c1b076c2d7..77f027d17b6 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -513,6 +513,17 @@ module Ci end end + def set_artifacts_expire_in(expire_in) + value = + if expire_in + expire_in + else + ApplicationSetting.current.default_artifacts_expire_in + end + + self.artifacts_expire_in = value + end + def has_expiring_artifacts? artifacts_expire_at.present? end -- cgit v1.2.1 From 696a5da7fd78093567ae2bc7a795a38462dd7b3d Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Tue, 14 Feb 2017 19:17:36 +0800 Subject: ApplicationSetting.current doesn't work well in tests Therefore we prefer `Gitlab::CurrentSettings.current_application_settings` and fix the tests by setting default_artifacts_expire_in to 0 to restore the original behaviour. --- app/models/ci/build.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 77f027d17b6..d14f025aeaa 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -518,7 +518,8 @@ module Ci if expire_in expire_in else - ApplicationSetting.current.default_artifacts_expire_in + Gitlab::CurrentSettings.current_application_settings + .default_artifacts_expire_in end self.artifacts_expire_in = value -- cgit v1.2.1 From 53c94f9ea25c9d6a25b58a01db5f855f0719dbf4 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Tue, 14 Feb 2017 22:54:46 +0800 Subject: Use the same syntax for default expiration Feedback: * https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9219#note_23343951 * https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9219#note_23344036 * https://gitlab.com/gitlab-org/gitlab-ce/issues/27762#note_23344797 --- app/models/ci/build.rb | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index d14f025aeaa..8c1b076c2d7 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -513,18 +513,6 @@ module Ci end end - def set_artifacts_expire_in(expire_in) - value = - if expire_in - expire_in - else - Gitlab::CurrentSettings.current_application_settings - .default_artifacts_expire_in - end - - self.artifacts_expire_in = value - end - def has_expiring_artifacts? artifacts_expire_at.present? end -- cgit v1.2.1 From eede4ab1a2509ef4aa14d21527386224c4116adc Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Thu, 16 Feb 2017 23:40:13 +0800 Subject: 0 for unlimited, disallow blank, feedback: https://gitlab.com/gitlab-org/gitlab-ce/issues/27762#note_23520780 --- app/models/ci/build.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 8c1b076c2d7..60655bf2ea7 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -509,7 +509,7 @@ module Ci def artifacts_expire_in=(value) self.artifacts_expire_at = if value - Time.now + ChronicDuration.parse(value) + ChronicDuration.parse(value)&.seconds&.from_now end end -- cgit v1.2.1 From ccff65be237a5bdc11170cf4051c79bb587fcf9e Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Wed, 1 Mar 2017 12:07:57 +0100 Subject: Remove unused method from CI/CD build class --- app/models/ci/build.rb | 9 --------- 1 file changed, 9 deletions(-) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 77aba91f65c..f2989eff22d 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -55,15 +55,6 @@ module Ci pending.unstarted.order('created_at ASC').first end - def create_from(build) - new_build = build.dup - new_build.status = 'pending' - new_build.runner_id = nil - new_build.trigger_request_id = nil - new_build.token = nil - new_build.save - end - def retry(build, current_user) Ci::RetryBuildService .new(build.project, current_user) -- cgit v1.2.1