Revert references to global node in CI job entry
This commit is contained in:
parent
56ae9f6ba9
commit
f7c80e9f31
|
|
@ -80,7 +80,7 @@ module Ci
|
|||
{
|
||||
stage_idx: @stages.index(job[:stage]),
|
||||
stage: job[:stage],
|
||||
commands: job[:commands],
|
||||
commands: [job[:before_script] || @before_script, job[:script]].flatten.compact.join("\n"),
|
||||
tag_list: job[:tags] || [],
|
||||
name: name,
|
||||
only: job[:only],
|
||||
|
|
@ -112,12 +112,8 @@ module Ci
|
|||
end
|
||||
|
||||
def validate_job_keys!(name, job)
|
||||
##
|
||||
# TODO, remove refactoring keys
|
||||
#
|
||||
refactoring_keys = [:commands]
|
||||
job.keys.each do |key|
|
||||
unless (ALLOWED_JOB_KEYS + refactoring_keys).include? key
|
||||
unless ALLOWED_JOB_KEYS.include? key
|
||||
raise ValidationError, "#{name} job: unknown parameter #{key}"
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -43,25 +43,13 @@ module Gitlab
|
|||
@config.merge(to_hash.compact)
|
||||
end
|
||||
|
||||
def before_script
|
||||
if before_script_defined?
|
||||
before_script_value
|
||||
else
|
||||
@global.before_script
|
||||
end
|
||||
end
|
||||
|
||||
def commands
|
||||
[before_script, script].compact.join("\n")
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def to_hash
|
||||
{ script: script,
|
||||
stage: stage,
|
||||
commands: commands,
|
||||
after_script: after_script }
|
||||
{ before_script: before_script_value,
|
||||
script: script_value,
|
||||
stage: stage_value,
|
||||
after_script: after_script_value }
|
||||
end
|
||||
|
||||
def compose!
|
||||
|
|
|
|||
|
|
@ -130,11 +130,9 @@ describe Gitlab::Ci::Config::Node::Global do
|
|||
it 'returns jobs configuration' do
|
||||
expect(global.jobs)
|
||||
.to eq(rspec: { script: %w[rspec ls],
|
||||
stage: 'test',
|
||||
commands: "ls\npwd\nrspec\nls" },
|
||||
stage: 'test' },
|
||||
spinach: { script: %w[spinach],
|
||||
stage: 'test',
|
||||
commands: "ls\npwd\nspinach" })
|
||||
stage: 'test' })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -66,131 +66,15 @@ describe Gitlab::Ci::Config::Node::Job do
|
|||
expect(entry.value)
|
||||
.to eq(before_script: %w[ls pwd],
|
||||
script: %w[rspec],
|
||||
commands: "ls\npwd\nrspec",
|
||||
stage: 'test',
|
||||
after_script: %w[cleanup])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#before_script' do
|
||||
context 'when global entry has before script' do
|
||||
before do
|
||||
allow(global).to receive(:before_script)
|
||||
.and_return(%w[ls pwd])
|
||||
end
|
||||
|
||||
context 'when before script is overridden' do
|
||||
let(:config) do
|
||||
{ before_script: %w[whoami],
|
||||
script: 'rspec' }
|
||||
end
|
||||
|
||||
it 'returns correct script' do
|
||||
expect(entry.before_script).to eq %w[whoami]
|
||||
end
|
||||
end
|
||||
|
||||
context 'when before script is not overriden' do
|
||||
let(:config) do
|
||||
{ script: %w[spinach] }
|
||||
end
|
||||
|
||||
it 'returns correct script' do
|
||||
expect(entry.before_script).to eq %w[ls pwd]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when global entry does not have before script' do
|
||||
before do
|
||||
allow(global).to receive(:before_script)
|
||||
.and_return(nil)
|
||||
end
|
||||
|
||||
context 'when job has before script' do
|
||||
let(:config) do
|
||||
{ before_script: %w[whoami],
|
||||
script: 'rspec' }
|
||||
end
|
||||
|
||||
it 'returns correct script' do
|
||||
expect(entry.before_script).to eq %w[whoami]
|
||||
end
|
||||
end
|
||||
|
||||
context 'when job does not have before script' do
|
||||
let(:config) do
|
||||
{ script: %w[ls test] }
|
||||
end
|
||||
|
||||
it 'returns correct script' do
|
||||
expect(entry.before_script).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#relevant?' do
|
||||
it 'is a relevant entry' do
|
||||
expect(entry).to be_relevant
|
||||
end
|
||||
end
|
||||
|
||||
describe '#commands' do
|
||||
context 'when global entry has before script' do
|
||||
before do
|
||||
allow(global).to receive(:before_script)
|
||||
.and_return(%w[ls pwd])
|
||||
end
|
||||
|
||||
context 'when before script is overridden' do
|
||||
let(:config) do
|
||||
{ before_script: %w[whoami],
|
||||
script: 'rspec' }
|
||||
end
|
||||
|
||||
it 'returns correct commands' do
|
||||
expect(entry.commands).to eq "whoami\nrspec"
|
||||
end
|
||||
end
|
||||
|
||||
context 'when before script is not overriden' do
|
||||
let(:config) do
|
||||
{ script: %w[rspec spinach] }
|
||||
end
|
||||
|
||||
it 'returns correct commands' do
|
||||
expect(entry.commands).to eq "ls\npwd\nrspec\nspinach"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when global entry does not have before script' do
|
||||
before do
|
||||
allow(global).to receive(:before_script)
|
||||
.and_return(nil)
|
||||
end
|
||||
context 'when job has before script' do
|
||||
let(:config) do
|
||||
{ before_script: %w[whoami],
|
||||
script: 'rspec' }
|
||||
end
|
||||
|
||||
it 'returns correct commands' do
|
||||
expect(entry.commands).to eq "whoami\nrspec"
|
||||
end
|
||||
end
|
||||
|
||||
context 'when job does not have before script' do
|
||||
let(:config) do
|
||||
{ script: %w[ls test] }
|
||||
end
|
||||
|
||||
it 'returns correct commands' do
|
||||
expect(entry.commands).to eq "ls\ntest"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -64,10 +64,8 @@ describe Gitlab::Ci::Config::Node::Jobs do
|
|||
it 'returns key value' do
|
||||
expect(entry.value)
|
||||
.to eq(rspec: { script: %w[rspec],
|
||||
commands: 'rspec',
|
||||
stage: 'test' },
|
||||
spinach: { script: %w[spinach],
|
||||
commands: 'spinach',
|
||||
stage: 'test' })
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue