diff options
author | Dan Davison <ddavison@gitlab.com> | 2019-08-29 23:46:47 +0000 |
---|---|---|
committer | Dan Davison <ddavison@gitlab.com> | 2019-08-29 23:46:47 +0000 |
commit | 739ecdb66443f1d90ec24da87f2861700aea93d1 (patch) | |
tree | 8b7e7d9521dbb5a5d93f14cad414bc81dbaf05b7 /qa/qa/service | |
parent | ee18bf57f3cae9be75f7b569d3993df83d7d4d94 (diff) | |
parent | 7a2bc31e38892f2d064b75710e37d6b3a31a3a03 (diff) | |
download | gitlab-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.rb | 27 |
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 |