Commit 2ad7753d authored by Grzegorz Bizon's avatar Grzegorz Bizon Committed by Kamil Trzcinski

Fix CI job environment configuration attributes

parent 3fbfc30f
...@@ -60,7 +60,7 @@ module Ci ...@@ -60,7 +60,7 @@ module Ci
name: job[:name].to_s, name: job[:name].to_s,
allow_failure: job[:allow_failure] || false, allow_failure: job[:allow_failure] || false,
when: job[:when] || 'on_success', when: job[:when] || 'on_success',
environment: job.fetch(:environment, {})[:name], environment: job[:environment_name],
yaml_variables: yaml_variables(name), yaml_variables: yaml_variables(name),
options: { options: {
image: job[:image], image: job[:image],
......
...@@ -11,14 +11,14 @@ module Gitlab ...@@ -11,14 +11,14 @@ module Gitlab
ALLOWED_KEYS = %i[name url] ALLOWED_KEYS = %i[name url]
validations do validations do
validates :name, presence: true
validate do validate do
unless hash? || string? unless hash? || string?
errors.add(:config, 'should be a hash or a string') errors.add(:config, 'should be a hash or a string')
end end
end end
validates :name, presence: true
with_options if: :hash? do with_options if: :hash? do
validates :config, allowed_keys: ALLOWED_KEYS validates :config, allowed_keys: ALLOWED_KEYS
......
...@@ -129,6 +129,7 @@ module Gitlab ...@@ -129,6 +129,7 @@ module Gitlab
except: except, except: except,
variables: variables_defined? ? variables : nil, variables: variables_defined? ? variables : nil,
environment: environment_defined? ? environment : nil, environment: environment_defined? ? environment : nil,
environment_name: environment_defined? ? environment[:name] : nil,
artifacts: artifacts, artifacts: artifacts,
after_script: after_script } after_script: after_script }
end end
......
...@@ -767,7 +767,7 @@ module Ci ...@@ -767,7 +767,7 @@ module Ci
it 'does return production and URL' do it 'does return production and URL' do
expect(builds.size).to eq(1) expect(builds.size).to eq(1)
expect(builds.first[:environment]).to eq(environment[:name]) expect(builds.first[:environment]).to eq(environment[:name])
expect(builds.first[:options]).to include(environment) expect(builds.first[:options]).to include(environment: environment)
end end
end end
...@@ -784,7 +784,8 @@ module Ci ...@@ -784,7 +784,8 @@ module Ci
let(:environment) { 1 } let(:environment) { 1 }
it 'raises error' do it 'raises error' do
expect { builds }.to raise_error("jobs:deploy_to_production environment #{Gitlab::Regex.environment_name_regex_message}") expect { builds }.to raise_error(
'jobs:deploy_to_production:environment config should be a hash or a string')
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment