summaryrefslogtreecommitdiff
path: root/qa/qa/service
diff options
context:
space:
mode:
authorDan Davison <ddavison@gitlab.com>2019-08-29 23:46:47 +0000
committerDan Davison <ddavison@gitlab.com>2019-08-29 23:46:47 +0000
commit739ecdb66443f1d90ec24da87f2861700aea93d1 (patch)
tree8b7e7d9521dbb5a5d93f14cad414bc81dbaf05b7 /qa/qa/service
parentee18bf57f3cae9be75f7b569d3993df83d7d4d94 (diff)
parent7a2bc31e38892f2d064b75710e37d6b3a31a3a03 (diff)
downloadgitlab-ce-739ecdb66443f1d90ec24da87f2861700aea93d1.tar.gz
Merge branch 'ce-backport-of-ml-web-terminal-spec-qa' into 'master'
Backport changes from EE MR 8186 See merge request gitlab-org/gitlab-ce!31707
Diffstat (limited to 'qa/qa/service')
-rw-r--r--qa/qa/service/runner.rb27
1 files changed, 25 insertions, 2 deletions
diff --git a/qa/qa/service/runner.rb b/qa/qa/service/runner.rb
index 03b234f7a56..6fc5984b12a 100644
--- a/qa/qa/service/runner.rb
+++ b/qa/qa/service/runner.rb
@@ -7,13 +7,25 @@ module QA
class Runner
include Service::Shellout
- attr_accessor :token, :address, :tags, :image
+ attr_accessor :token, :address, :tags, :image, :run_untagged
+ attr_writer :config
def initialize(name)
@image = 'gitlab/gitlab-runner:alpine'
@name = name || "qa-runner-#{SecureRandom.hex(4)}"
@network = Runtime::Scenario.attributes[:network] || 'test'
@tags = %w[qa test]
+ @run_untagged = false
+ end
+
+ def config
+ @config ||= <<~END
+ concurrent = 1
+ check_interval = 0
+
+ [session_server]
+ session_timeout = 1800
+ END
end
def network
@@ -32,19 +44,30 @@ module QA
shell <<~CMD.tr("\n", ' ')
docker run -d --rm --entrypoint=/bin/sh
--network #{network} --name #{@name}
+ -p 8093:8093
-e CI_SERVER_URL=#{@address}
-e REGISTER_NON_INTERACTIVE=true
-e REGISTRATION_TOKEN=#{@token}
-e RUNNER_EXECUTOR=shell
-e RUNNER_TAG_LIST=#{@tags.join(',')}
-e RUNNER_NAME=#{@name}
- #{@image} -c 'gitlab-runner register && gitlab-runner run'
+ #{@image} -c "#{register_command}"
CMD
end
def remove!
shell "docker rm -f #{@name}"
end
+
+ private
+
+ def register_command
+ <<~CMD
+ printf '#{config.chomp.gsub(/\n/, "\\n").gsub('"', '\"')}' > /etc/gitlab-runner/config.toml &&
+ gitlab-runner register --run-untagged=#{@run_untagged} &&
+ gitlab-runner run
+ CMD
+ end
end
end
end