iron_worker_ng 0.15.0 → 0.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/iron_worker +4 -0
- data/lib/iron_worker_ng/cli.rb +1 -0
- data/lib/iron_worker_ng/client.rb +10 -1
- data/lib/iron_worker_ng/code/builder.rb +15 -1
- data/lib/iron_worker_ng/code/runtime/ruby.rb +17 -1
- data/lib/iron_worker_ng/version.rb +1 -1
- data/lib/iron_worker_ng.rb +6 -0
- metadata +137 -170
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a1d09476d4f49d5635b9997d6c22fb4cddf6bb30
|
4
|
+
data.tar.gz: 4997d6fb2b6d27bd4e886f4e10fec0b66d1e081c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f9a6fed61cd17f7317531c4acde1916cc251e415d87ef6cc117cc403f8f69c12533541ade06ce5559f2207c148d02987a6209c758afa1900f9c0d4d55f969f79
|
7
|
+
data.tar.gz: 9ab4eb907b77134481c0578a00c68c5dc36ef1822056531ec7af84de2872c1722bee271d90ee5622535d8341faf50b3483e3c1d0c4d4f71790425efc3f1652ee
|
data/bin/iron_worker
CHANGED
@@ -73,6 +73,10 @@ if command == 'upload'
|
|
73
73
|
options[:retries_delay] = v
|
74
74
|
end
|
75
75
|
|
76
|
+
opts.on('-h', '--host HOST', String, 'host name, eg: www.mydomain.com') do |v|
|
77
|
+
options[:host] = v
|
78
|
+
end
|
79
|
+
|
76
80
|
opts.on('-a', '--async', 'don\'t wait for package build') do |v|
|
77
81
|
params[:async] = true
|
78
82
|
end
|
data/lib/iron_worker_ng/cli.rb
CHANGED
@@ -65,6 +65,7 @@ module IronWorkerNG
|
|
65
65
|
log "Max concurrency set to '#{options[:max_concurrency]}'" unless options[:max_concurrency].nil?
|
66
66
|
log "Retries set to '#{options[:retries]}'" unless options[:retries].nil?
|
67
67
|
log "Retries delay set to '#{options[:retries_delay]}'" unless options[:retries_delay].nil?
|
68
|
+
log "Host set to '#{options[:host]}'" unless options[:host].nil?
|
68
69
|
|
69
70
|
if code.remote_build_command || code.full_remote_build
|
70
71
|
log_group "Uploading and building code package '#{code.name}'"
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'ostruct'
|
2
|
-
require 'json'
|
3
2
|
require 'base64'
|
4
3
|
|
5
4
|
require 'iron_worker_ng/api_client'
|
@@ -89,6 +88,11 @@ module IronWorkerNG
|
|
89
88
|
def codes_create(code, options = {})
|
90
89
|
IronCore::Logger.debug 'IronWorkerNG', "Calling codes.create with code='#{code.to_s}' and options='#{options.to_s}'"
|
91
90
|
|
91
|
+
if options[:config] && options[:config].is_a?(Hash)
|
92
|
+
options = options.dup
|
93
|
+
options[:config] = options[:config].to_json
|
94
|
+
end
|
95
|
+
|
92
96
|
container_file = code.create_container
|
93
97
|
|
94
98
|
if code.remote_build_command.nil? && (not code.full_remote_build)
|
@@ -122,6 +126,11 @@ module IronWorkerNG
|
|
122
126
|
def codes_create_async(code, options = {})
|
123
127
|
IronCore::Logger.debug 'IronWorkerNG', "Calling codes.create_async with code='#{code.to_s}' and options='#{options.to_s}'"
|
124
128
|
|
129
|
+
if options[:config] && options[:config].is_a?(Hash)
|
130
|
+
options = options.dup
|
131
|
+
options[:config] = options[:config].to_json
|
132
|
+
end
|
133
|
+
|
125
134
|
container_file = code.create_container
|
126
135
|
|
127
136
|
if code.remote_build_command.nil? && (not code.full_remote_build)
|
@@ -37,7 +37,7 @@ BUILDER_SH
|
|
37
37
|
install_iron_worker_ng = ''
|
38
38
|
|
39
39
|
if not @use_local_iron_worker_ng
|
40
|
-
install_iron_worker_ng = "system(
|
40
|
+
install_iron_worker_ng = "system('gem install iron_worker_ng -v #{IronWorkerNG::VERSION}')"
|
41
41
|
end
|
42
42
|
|
43
43
|
container.get_output_stream(@dest_dir + '__builder__.rb') do |builder|
|
@@ -58,6 +58,20 @@ IronWorkerNG::Feature::Ruby::MergeGem.merge_binary = true
|
|
58
58
|
|
59
59
|
code = IronWorkerNG::Code::Base.new(params[:code_name])
|
60
60
|
|
61
|
+
if not File.exists?('bundler.magic')
|
62
|
+
deps = code.features.reject { |f| f.class != IronWorkerNG::Feature::Ruby::MergeGemDependency::Feature }
|
63
|
+
|
64
|
+
deps.each do |dep|
|
65
|
+
if dep.name == 'bundler' and dep.version != '>= 0'
|
66
|
+
system('touch bundler.magic')
|
67
|
+
system('gem uninstall bundler')
|
68
|
+
system("gem install bundler -v '\#{dep.version}'")
|
69
|
+
success = system("ruby __runner__.rb \#{ARGV.join(' ')}")
|
70
|
+
exit(success ? 0 : 1)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
61
75
|
if File.exists?('__builder__.sh')
|
62
76
|
pre_build_list = Dir.glob('__build__/**/**')
|
63
77
|
|
@@ -30,11 +30,13 @@ end
|
|
30
30
|
|
31
31
|
root = nil
|
32
32
|
payload_file = nil
|
33
|
+
config_file = nil
|
33
34
|
task_id = nil
|
34
35
|
|
35
36
|
0.upto($*.length - 2) do |i|
|
36
37
|
root = $*[i + 1] if $*[i] == '-d'
|
37
38
|
payload_file = $*[i + 1] if $*[i] == '-payload'
|
39
|
+
config_file = $*[i + 1] if $*[i] == '-config'
|
38
40
|
task_id = $*[i + 1] if $*[i] == '-id'
|
39
41
|
end
|
40
42
|
|
@@ -55,12 +57,26 @@ begin
|
|
55
57
|
rescue
|
56
58
|
end
|
57
59
|
|
60
|
+
@config = nil
|
61
|
+
if config_file
|
62
|
+
@config = File.read(config_file)
|
63
|
+
begin
|
64
|
+
@config = JSON.parse(@config)
|
65
|
+
@config = IronWorkerNGHash.new(@config)
|
66
|
+
rescue
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
58
70
|
@params = IronWorkerNGHash.new(params)
|
59
71
|
|
60
72
|
def payload
|
61
73
|
@payload
|
62
74
|
end
|
63
75
|
|
76
|
+
def config
|
77
|
+
@config
|
78
|
+
end
|
79
|
+
|
64
80
|
def params
|
65
81
|
@params
|
66
82
|
end
|
@@ -109,7 +125,7 @@ RUN_CODE
|
|
109
125
|
gemfile = File.open(gemfile_dir + '/Gemfile', 'w')
|
110
126
|
end
|
111
127
|
|
112
|
-
gemfile.puts('source
|
128
|
+
gemfile.puts('source \'http://rubygems.org\'')
|
113
129
|
|
114
130
|
deps = @features.reject { |f| f.class != IronWorkerNG::Feature::Ruby::MergeGemDependency::Feature }
|
115
131
|
|
data/lib/iron_worker_ng.rb
CHANGED
metadata
CHANGED
@@ -1,183 +1,164 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_worker_ng
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 15
|
9
|
-
- 0
|
10
|
-
version: 0.15.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.15.1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Andrew Kirilenko
|
14
8
|
- Iron.io, Inc
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-03-07 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: iron_core
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 9
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 5
|
33
|
-
- 1
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
34
20
|
version: 0.5.1
|
35
21
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: bundler
|
39
22
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 0.5.1
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
50
34
|
version: 1.2.0
|
51
35
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: rubyzip
|
55
36
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.2.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rubyzip
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
66
48
|
version: 0.9.9
|
67
49
|
type: :runtime
|
68
|
-
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: test-unit
|
71
50
|
prerelease: false
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.9.9
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: test-unit
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
81
63
|
type: :development
|
82
|
-
version_requirements: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: minitest
|
85
64
|
prerelease: false
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: minitest
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
95
77
|
type: :development
|
96
|
-
version_requirements: *id005
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: minitest-reporters
|
99
78
|
prerelease: false
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: minitest-reporters
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - '>='
|
89
|
+
- !ruby/object:Gem::Version
|
110
90
|
version: 0.5.0
|
111
91
|
type: :development
|
112
|
-
version_requirements: *id006
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: rake
|
115
92
|
prerelease: false
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.5.0
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rake
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
125
105
|
type: :development
|
126
|
-
version_requirements: *id007
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: twitter
|
129
106
|
prerelease: false
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: twitter
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
139
119
|
type: :development
|
140
|
-
version_requirements: *id008
|
141
|
-
- !ruby/object:Gem::Dependency
|
142
|
-
name: actionmailer
|
143
120
|
prerelease: false
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: actionmailer
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
153
133
|
type: :development
|
154
|
-
version_requirements: *id009
|
155
|
-
- !ruby/object:Gem::Dependency
|
156
|
-
name: iron_cache
|
157
134
|
prerelease: false
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - '>='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: iron_cache
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - '>='
|
145
|
+
- !ruby/object:Gem::Version
|
168
146
|
version: 1.4.0
|
169
147
|
type: :development
|
170
|
-
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 1.4.0
|
171
154
|
description: New generation ruby client for IronWorker
|
172
|
-
email:
|
155
|
+
email:
|
173
156
|
- info@iron.io
|
174
|
-
executables:
|
157
|
+
executables:
|
175
158
|
- iron_worker
|
176
159
|
extensions: []
|
177
|
-
|
178
160
|
extra_rdoc_files: []
|
179
|
-
|
180
|
-
files:
|
161
|
+
files:
|
181
162
|
- lib/3rdparty/hashie/indifferent_access.rb
|
182
163
|
- lib/3rdparty/hashie/merge_initializer.rb
|
183
164
|
- lib/iron_worker_ng/fetcher.rb
|
@@ -226,40 +207,26 @@ files:
|
|
226
207
|
- bin/iron_worker
|
227
208
|
homepage: https://github.com/iron-io/iron_worker_ruby_ng
|
228
209
|
licenses: []
|
229
|
-
|
210
|
+
metadata: {}
|
230
211
|
post_install_message:
|
231
212
|
rdoc_options: []
|
232
|
-
|
233
|
-
require_paths:
|
213
|
+
require_paths:
|
234
214
|
- lib
|
235
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
version: "1.8"
|
245
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
246
|
-
none: false
|
247
|
-
requirements:
|
248
|
-
- - ">="
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
hash: 23
|
251
|
-
segments:
|
252
|
-
- 1
|
253
|
-
- 3
|
254
|
-
- 6
|
215
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
216
|
+
requirements:
|
217
|
+
- - '>='
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '1.8'
|
220
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
|
+
requirements:
|
222
|
+
- - '>='
|
223
|
+
- !ruby/object:Gem::Version
|
255
224
|
version: 1.3.6
|
256
225
|
requirements: []
|
257
|
-
|
258
226
|
rubyforge_project:
|
259
|
-
rubygems_version:
|
227
|
+
rubygems_version: 2.0.2
|
260
228
|
signing_key:
|
261
|
-
specification_version:
|
229
|
+
specification_version: 4
|
262
230
|
summary: New generation ruby client for IronWorker
|
263
231
|
test_files: []
|
264
|
-
|
265
232
|
has_rdoc:
|