summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-06-16 11:34:52 +0300
committerValery Sizov <vsv2711@gmail.com>2015-06-16 11:34:52 +0300
commit20a1f80e599e680454f1ba6634f8227b593357a5 (patch)
tree4302fd7140f90aa23a0385ac4cd40972b46069d3 /lib
parent232a64426422d32780e893cdc6938d4def2181b7 (diff)
downloadgitlab-ci-20a1f80e599e680454f1ba6634f8227b593357a5.tar.gz
invalid yaml handling
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab_ci_yaml_processor.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/gitlab_ci_yaml_processor.rb b/lib/gitlab_ci_yaml_processor.rb
index 9a69ca6..967146d 100644
--- a/lib/gitlab_ci_yaml_processor.rb
+++ b/lib/gitlab_ci_yaml_processor.rb
@@ -1,7 +1,10 @@
class GitlabCiYamlProcessor
- attr_reader :before_script, :skip_refs
+ attr_reader :before_script, :skip_refs, :errors
def initialize(config)
+ @errors = ""
+ @valid = true
+
@config = YAML.load(config).deep_symbolize_keys
@before_script = @config[:before_script] || []
@@ -10,6 +13,14 @@ class GitlabCiYamlProcessor
@jobs = @config.select{|key, value| value[:type] != "deploy"}
@deploy_jobs = @config.select{|key, value| value[:type] == "deploy"}
+
+ rescue Exception => e
+ @errors = e.message
+ @valid = false
+ end
+
+ def valid?
+ @valid
end
def deploy_builds_for_ref(ref, tag = false)