Remove enforcing uniqueness of build variables
This commit is contained in:
parent
c9d2fd3cff
commit
5ceb439d21
2 changed files with 9 additions and 10 deletions
|
@ -268,7 +268,7 @@ module Ci
|
|||
variables += pipeline.pipeline_schedule.job_variables if pipeline.pipeline_schedule
|
||||
variables += persisted_environment_variables if environment
|
||||
|
||||
variables.reverse.uniq { |variable| variable.fetch(:key) }.reverse
|
||||
variables
|
||||
end
|
||||
|
||||
def features
|
||||
|
|
|
@ -1873,14 +1873,13 @@ describe Ci::Build do
|
|||
pipeline.variables.build(key: 'MYVAR', value: 'pipeline value')
|
||||
end
|
||||
|
||||
it 'removes duplicates and leaves the latest occurence' do
|
||||
expect(subject.count { |variable| variable.fetch(:key) == 'MYVAR' })
|
||||
.to be 1
|
||||
end
|
||||
|
||||
it 'overrides YAML variable using a pipeline variable' do
|
||||
is_expected.not_to include(key: 'MYVAR', value: 'myvar', public: true)
|
||||
is_expected.to include(key: 'MYVAR', value: 'pipeline value', public: false)
|
||||
variables = subject.reverse.uniq { |variable| variable[:key] }.reverse
|
||||
|
||||
expect(variables)
|
||||
.not_to include(key: 'MYVAR', value: 'myvar', public: true)
|
||||
expect(variables)
|
||||
.to include(key: 'MYVAR', value: 'pipeline value', public: false)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1921,8 +1920,8 @@ describe Ci::Build do
|
|||
context 'when build has environment and user-provided variables' do
|
||||
let(:expected_variables) do
|
||||
predefined_variables.map { |variable| variable.fetch(:key) } +
|
||||
%w[YAML_VARIABLE CI_ENVIRONMENT_NAME CI_ENVIRONMENT_SLUG
|
||||
CI_ENVIRONMENT_URL]
|
||||
%w[YAML_VARIABLE CI_ENVIRONMENT_NAME CI_ENVIRONMENT_SLUG
|
||||
CI_ENVIRONMENT_URL]
|
||||
end
|
||||
|
||||
before do
|
||||
|
|
Loading…
Reference in a new issue