summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Maczukin <tomasz@maczukin.pl>2017-03-23 14:37:49 +0100
committerTomasz Maczukin <tomasz@maczukin.pl>2017-03-23 16:10:06 +0100
commit3878a774f17b8404af9f516c20554ba742adbec4 (patch)
tree52b02d28db56aca9fcbdab355ddd125bccaeea18
parent22682f6e158fb4e034e0fa3486771e119e43661e (diff)
downloadgitlab-ce-3878a774f17b8404af9f516c20554ba742adbec4.tar.gz
Fix after_script processing for Runners APIv4
-rw-r--r--changelogs/unreleased/fix-ci-api-regression-for-after-script.yml4
-rw-r--r--lib/gitlab/ci/build/step.rb9
-rw-r--r--spec/factories/ci/builds.rb2
-rw-r--r--spec/lib/gitlab/ci/build/step_spec.rb2
4 files changed, 8 insertions, 9 deletions
diff --git a/changelogs/unreleased/fix-ci-api-regression-for-after-script.yml b/changelogs/unreleased/fix-ci-api-regression-for-after-script.yml
new file mode 100644
index 00000000000..cdd7d1e6945
--- /dev/null
+++ b/changelogs/unreleased/fix-ci-api-regression-for-after-script.yml
@@ -0,0 +1,4 @@
+---
+title: Fix after_script processing for Runners APIv4
+merge_request: 10185
+author:
diff --git a/lib/gitlab/ci/build/step.rb b/lib/gitlab/ci/build/step.rb
index 1877429ac46..ee034d9cc56 100644
--- a/lib/gitlab/ci/build/step.rb
+++ b/lib/gitlab/ci/build/step.rb
@@ -7,13 +7,12 @@ module Gitlab
WHEN_ALWAYS = 'always'.freeze
attr_reader :name
- attr_writer :script
- attr_accessor :timeout, :when, :allow_failure
+ attr_accessor :script, :timeout, :when, :allow_failure
class << self
def from_commands(job)
self.new(:script).tap do |step|
- step.script = job.commands
+ step.script = job.commands.split("\n")
step.timeout = job.timeout
step.when = WHEN_ON_SUCCESS
end
@@ -36,10 +35,6 @@ module Gitlab
@name = name
@allow_failure = false
end
-
- def script
- @script.split("\n")
- end
end
end
end
diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb
index 6b0d084614b..f78086211f7 100644
--- a/spec/factories/ci/builds.rb
+++ b/spec/factories/ci/builds.rb
@@ -172,7 +172,7 @@ FactoryGirl.define do
{
image: 'ruby:2.1',
services: ['postgres'],
- after_script: "ls\ndate",
+ after_script: %w(ls date),
artifacts: {
name: 'artifacts_file',
untracked: false,
diff --git a/spec/lib/gitlab/ci/build/step_spec.rb b/spec/lib/gitlab/ci/build/step_spec.rb
index 2a314a744ca..49457b129e3 100644
--- a/spec/lib/gitlab/ci/build/step_spec.rb
+++ b/spec/lib/gitlab/ci/build/step_spec.rb
@@ -25,7 +25,7 @@ describe Gitlab::Ci::Build::Step do
end
context 'when after_script is not empty' do
- let(:job) { create(:ci_build, options: { after_script: "ls -la\ndate" }) }
+ let(:job) { create(:ci_build, options: { after_script: ['ls -la', 'date'] }) }
it 'fabricates an object' do
expect(subject.name).to eq(:after_script)