summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2019-02-14 16:25:27 +0900
committerShinya Maeda <shinya@gitlab.com>2019-02-14 16:25:27 +0900
commit5b285388d9178b634ead356f3bdd6c0377f11c40 (patch)
treeaa4faeaeb116b581c30a7c11457ae894889a27f3
parentc6016ac8a8c12a736617e5250b63e0c930dda207 (diff)
downloadgitlab-ce-5b285388d9178b634ead356f3bdd6c0377f11c40.tar.gz
Allow full ref specification for pipeline creation
-rw-r--r--lib/gitlab/ci/pipeline/chain/command.rb6
-rw-r--r--lib/gitlab/ci/pipeline/chain/validate/repository.rb2
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/gitlab/ci/pipeline/chain/command.rb b/lib/gitlab/ci/pipeline/chain/command.rb
index e62d547d862..83d815711b7 100644
--- a/lib/gitlab/ci/pipeline/chain/command.rb
+++ b/lib/gitlab/ci/pipeline/chain/command.rb
@@ -32,6 +32,12 @@ module Gitlab
end
end
+ def ref_exists?
+ strong_memoize(:is_ref) do
+ project.repository.ref_exists?(ref)
+ end
+ end
+
def ref
strong_memoize(:ref) do
Gitlab::Git.ref_name(origin_ref)
diff --git a/lib/gitlab/ci/pipeline/chain/validate/repository.rb b/lib/gitlab/ci/pipeline/chain/validate/repository.rb
index 9c6c2bc8e25..46c1406fa3c 100644
--- a/lib/gitlab/ci/pipeline/chain/validate/repository.rb
+++ b/lib/gitlab/ci/pipeline/chain/validate/repository.rb
@@ -9,7 +9,7 @@ module Gitlab
include Chain::Helpers
def perform!
- unless @command.branch_exists? || @command.tag_exists?
+ unless @command.branch_exists? || @command.tag_exists? || @command.ref_exists?
return error('Reference not found')
end