Fix CI job environment configuration attributes

This commit is contained in:
Grzegorz Bizon 2016-09-16 11:25:37 +02:00 committed by Kamil Trzcinski
parent 3fbfc30f5e
commit 2ad7753d34
4 changed files with 7 additions and 5 deletions

View file

@ -60,7 +60,7 @@ module Ci
name: job[:name].to_s,
allow_failure: job[:allow_failure] || false,
when: job[:when] || 'on_success',
environment: job.fetch(:environment, {})[:name],
environment: job[:environment_name],
yaml_variables: yaml_variables(name),
options: {
image: job[:image],

View file

@ -11,14 +11,14 @@ module Gitlab
ALLOWED_KEYS = %i[name url]
validations do
validates :name, presence: true
validate do
unless hash? || string?
errors.add(:config, 'should be a hash or a string')
end
end
validates :name, presence: true
with_options if: :hash? do
validates :config, allowed_keys: ALLOWED_KEYS

View file

@ -129,6 +129,7 @@ module Gitlab
except: except,
variables: variables_defined? ? variables : nil,
environment: environment_defined? ? environment : nil,
environment_name: environment_defined? ? environment[:name] : nil,
artifacts: artifacts,
after_script: after_script }
end

View file

@ -767,7 +767,7 @@ module Ci
it 'does return production and URL' do
expect(builds.size).to eq(1)
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
@ -784,7 +784,8 @@ module Ci
let(:environment) { 1 }
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