diff options
| author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-06-03 14:20:34 +0200 |
|---|---|---|
| committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-06-03 14:20:34 +0200 |
| commit | d501850e05ebadcbf2f957cbf35a0ffa6dbe31ff (patch) | |
| tree | 7ce82a7b8f8d8f065d702ce67b8bca6fb015d166 /lib/ci | |
| parent | 3f4ac2ff60c9d83ec65b19070e4d054e12e67dd2 (diff) | |
| download | gitlab-ce-d501850e05ebadcbf2f957cbf35a0ffa6dbe31ff.tar.gz | |
Add gitlab ci configuration class that holds hash
As for now, we keep this class inside a oryginal config processor class.
We will move implementation to this class and delegate to it from
current config processor.
After original gitlab ci yaml processor not longer has relevant
impelemntation we will replace it with new configuration class.
Diffstat (limited to 'lib/ci')
| -rw-r--r-- | lib/ci/gitlab_ci_yaml_processor.rb | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb index 026a5ac97ca..9a60c5ab842 100644 --- a/lib/ci/gitlab_ci_yaml_processor.rb +++ b/lib/ci/gitlab_ci_yaml_processor.rb @@ -12,18 +12,14 @@ module Ci attr_reader :before_script, :after_script, :image, :services, :path, :cache def initialize(config, path = nil) - @config = YAML.safe_load(config, [Symbol], [], true) + @config = Gitlab::Ci::Config.new(config).to_hash @path = path - unless @config.is_a? Hash - raise ValidationError, "YAML should be a hash" - end - - @config = @config.deep_symbolize_keys - initial_parsing validate! + rescue Gitlab::Ci::Config::ParserError => e + raise ValidationError, e.message end def builds_for_stage_and_ref(stage, ref, tag = false, trigger_request = nil) |
