summaryrefslogtreecommitdiff
path: root/app/models/ci/pipeline.rb
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-05-17 15:51:33 +0900
committerShinya Maeda <shinya@gitlab.com>2018-05-17 15:51:33 +0900
commit1c636b8080bad4f9ea8fb6992277e421816271ce (patch)
treea1d562ea97ef2c1829a752906f9ee0ef27cb4682 /app/models/ci/pipeline.rb
parent82a49d0fea1ace87b5619fbc4ed728f43fdef7bd (diff)
parent60b14e52963238bb2401004350d963eda1fabef6 (diff)
downloadgitlab-ce-1c636b8080bad4f9ea8fb6992277e421816271ce.tar.gz
Merge branch 'master' into per-project-pipeline-iid
Diffstat (limited to 'app/models/ci/pipeline.rb')
-rw-r--r--app/models/ci/pipeline.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index accd0f11a9b..b1412f2bcb2 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -42,12 +42,16 @@ module Ci
delegate :id, to: :project, prefix: true
delegate :full_path, to: :project, prefix: true
- validates :source, exclusion: { in: %w(unknown), unless: :importing? }, on: :create
validates :sha, presence: { unless: :importing? }
validates :ref, presence: { unless: :importing? }
validates :status, presence: { unless: :importing? }
validate :valid_commit_sha, unless: :importing?
+ # Replace validator below with
+ # `validates :source, presence: { unless: :importing? }, on: :create`
+ # when removing Gitlab.rails5? code.
+ validate :valid_source, unless: :importing?, on: :create
+
after_create :keep_around_commits, unless: :importing?
enum source: {
@@ -607,5 +611,11 @@ module Ci
project.repository.keep_around(self.sha)
project.repository.keep_around(self.before_sha)
end
+
+ def valid_source
+ if source.nil? || source == "unknown"
+ errors.add(:source, "invalid source")
+ end
+ end
end
end