paraduct 0.0.1.beta10 → 0.0.1.beta11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/paraduct/parallel_runner.rb +2 -1
- data/lib/paraduct/runner.rb +3 -1
- data/lib/paraduct/version.rb +1 -1
- data/spec/paraduct/runner_spec.rb +3 -1
- metadata +2 -2
@@ -18,11 +18,12 @@ START matrix test
|
|
18
18
|
|
19
19
|
pool = Thread.pool(Paraduct.config.max_threads)
|
20
20
|
begin
|
21
|
-
product_variables.
|
21
|
+
product_variables.each_with_index do |params, index|
|
22
22
|
runner = Paraduct::Runner.new(
|
23
23
|
script: script,
|
24
24
|
params: params,
|
25
25
|
base_job_dir: base_job_dir,
|
26
|
+
job_id: index + 1,
|
26
27
|
)
|
27
28
|
runner.logger.info "[START] params: #{runner.formatted_params}"
|
28
29
|
pool.process do
|
data/lib/paraduct/runner.rb
CHANGED
@@ -13,6 +13,7 @@ module Paraduct
|
|
13
13
|
@script = args[:script]
|
14
14
|
@params = args[:params]
|
15
15
|
@base_job_dir = args[:base_job_dir]
|
16
|
+
@job_id = args[:job_id]
|
16
17
|
@logger = Paraduct::ThreadLogger.new
|
17
18
|
end
|
18
19
|
|
@@ -26,7 +27,8 @@ module Paraduct
|
|
26
27
|
# @return [String] stdout
|
27
28
|
# @raise [Paraduct::Errors::ProcessError] command exited error status
|
28
29
|
def perform
|
29
|
-
|
30
|
+
export_variables = key_capitalized_params.merge("JOB_ID" => @job_id, "JOB_NAME" => job_name)
|
31
|
+
variable_string = export_variables.map{ |key, value| %(export #{key}="#{value}";) }.join(" ")
|
30
32
|
|
31
33
|
Array.wrap(@script).inject("") do |stdout, command|
|
32
34
|
stdout << run_command("#{variable_string} #{command}")
|
data/lib/paraduct/version.rb
CHANGED
@@ -4,19 +4,21 @@ describe Paraduct::Runner do
|
|
4
4
|
script: script,
|
5
5
|
params: params,
|
6
6
|
base_job_dir: base_job_dir,
|
7
|
+
job_id: job_id,
|
7
8
|
)
|
8
9
|
end
|
9
10
|
|
10
11
|
let(:base_job_dir){ "/tmp/jobs" }
|
11
12
|
let(:script) { "" }
|
12
13
|
let(:params) { {} }
|
14
|
+
let(:job_id) { 1 }
|
13
15
|
|
14
16
|
describe "#perform" do
|
15
17
|
subject{ runner.perform }
|
16
18
|
|
17
19
|
let(:script) { "./script/build_success.sh" }
|
18
20
|
let(:params) { { "ruby" => "1.9", "database" => "mysql" } }
|
19
|
-
let(:command){ 'export RUBY="1.9"; export DATABASE="mysql"; ./script/build_success.sh' }
|
21
|
+
let(:command){ 'export RUBY="1.9"; export DATABASE="mysql"; export JOB_ID="1"; export JOB_NAME="RUBY_1.9_DATABASE_mysql"; ./script/build_success.sh' }
|
20
22
|
|
21
23
|
context "with mock system" do
|
22
24
|
it "script is call with capitalized variable" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paraduct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.beta11
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -369,7 +369,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
369
369
|
version: '0'
|
370
370
|
segments:
|
371
371
|
- 0
|
372
|
-
hash:
|
372
|
+
hash: 1831065147149086006
|
373
373
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
374
374
|
none: false
|
375
375
|
requirements:
|