dockly 3.0.5 → 3.1.0
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/.travis.yml +3 -2
- data/dockly.gemspec +1 -1
- data/lib/dockly.rb +1 -1
- data/lib/dockly/docker.rb +2 -1
- data/lib/dockly/history.rb +9 -12
- data/lib/dockly/rake_task.rb +3 -3
- data/lib/dockly/util/git.rb +2 -14
- data/lib/dockly/version.rb +2 -2
- data/spec/dockly/util/git_spec.rb +3 -10
- metadata +40 -10
- checksums.yaml +0 -15
data/.travis.yml
CHANGED
data/dockly.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.add_dependency 'aws-sdk', '~> 2.0'
|
22
22
|
gem.add_dependency 'foreman'
|
23
23
|
gem.add_dependency 'fpm', '~> 1.2.0'
|
24
|
-
gem.add_dependency '
|
24
|
+
gem.add_dependency 'minigit', '~> 0.0.4'
|
25
25
|
gem.add_development_dependency 'cane'
|
26
26
|
gem.add_development_dependency 'pry'
|
27
27
|
gem.add_development_dependency 'rake'
|
data/lib/dockly.rb
CHANGED
data/lib/dockly/docker.rb
CHANGED
@@ -67,7 +67,8 @@ class Dockly::Docker
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def generate_build
|
70
|
-
Docker.options
|
70
|
+
Docker.options.merge!(:read_timeout => timeout, :write_timeout => timeout)
|
71
|
+
Docker.reset_connection!
|
71
72
|
images = {}
|
72
73
|
|
73
74
|
if registry_import.nil?
|
data/lib/dockly/history.rb
CHANGED
@@ -10,15 +10,14 @@ module Dockly::History
|
|
10
10
|
def push_content_tag!
|
11
11
|
fail 'An SSH agent must be running to push the tag' if ENV['SSH_AUTH_SOCK'].nil?
|
12
12
|
refs = ["refs/tags/#{content_tag}"]
|
13
|
-
repo.
|
14
|
-
|
15
|
-
|
16
|
-
remote.push(refs, credentials: creds)
|
13
|
+
remotes = repo.capturing.remote(:v => true).split(/\n/).map{ |r| r.split.first }.uniq
|
14
|
+
remotes.each do |remote|
|
15
|
+
repo.push(remote, refs)
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
19
|
def write_content_tag!
|
21
|
-
repo.
|
20
|
+
repo.tag(content_tag, repo.capturing.rev_parse('HEAD').chomp)
|
22
21
|
end
|
23
22
|
|
24
23
|
def duplicate_build?
|
@@ -28,13 +27,13 @@ module Dockly::History
|
|
28
27
|
def duplicate_build_sha
|
29
28
|
return @duplicate_build_sha if @duplicate_build_sha
|
30
29
|
sha = tags[content_tag]
|
31
|
-
@duplicate_build_sha = sha unless sha == repo.
|
30
|
+
@duplicate_build_sha = sha unless sha == repo.capturing.rev_parse('HEAD').chomp
|
32
31
|
end
|
33
32
|
|
34
33
|
def tags
|
35
34
|
@tags ||= Hash.new do |hash, key|
|
36
|
-
tag = repo.tags
|
37
|
-
hash[key] =
|
35
|
+
tag = repo.capturing.show_ref({ :tags => true }, key).chomp rescue nil
|
36
|
+
hash[key] = repo.capturing.rev_parse(key).chomp if tag
|
38
37
|
end
|
39
38
|
end
|
40
39
|
|
@@ -43,9 +42,7 @@ module Dockly::History
|
|
43
42
|
end
|
44
43
|
|
45
44
|
def ls_files
|
46
|
-
repo.
|
47
|
-
.map { |root, elem| [root, elem[:name]].compact.join }
|
48
|
-
.select(&File.method(:file?))
|
45
|
+
repo.capturing.ls_tree({ :name_only => true, :r => true }, 'HEAD').split
|
49
46
|
end
|
50
47
|
|
51
48
|
def content_hash_for(paths)
|
@@ -59,6 +56,6 @@ module Dockly::History
|
|
59
56
|
end
|
60
57
|
|
61
58
|
def repo
|
62
|
-
@repo ||=
|
59
|
+
@repo ||= MiniGit.new('.')
|
63
60
|
end
|
64
61
|
end
|
data/lib/dockly/rake_task.rb
CHANGED
@@ -55,7 +55,7 @@ namespace :dockly do
|
|
55
55
|
task :copy, [:name] => 'dockly:init' do |t, args|
|
56
56
|
Dockly::RakeHelper
|
57
57
|
.find_deb!(args[:name])
|
58
|
-
.copy_from_s3(Dockly::History.duplicate_build_sha
|
58
|
+
.copy_from_s3(Dockly::History.duplicate_build_sha)
|
59
59
|
end
|
60
60
|
|
61
61
|
task :build, [:name] => 'dockly:init' do |t, args|
|
@@ -76,7 +76,7 @@ namespace :dockly do
|
|
76
76
|
task :copy, [:name] => 'dockly:init' do |t, args|
|
77
77
|
Dockly::RakeHelper
|
78
78
|
.find_rpm!(args[:name])
|
79
|
-
.copy_from_s3(Dockly::History.duplicate_build_sha
|
79
|
+
.copy_from_s3(Dockly::History.duplicate_build_sha)
|
80
80
|
end
|
81
81
|
|
82
82
|
task :build, [:name] => 'dockly:init' do |t, args|
|
@@ -98,7 +98,7 @@ namespace :dockly do
|
|
98
98
|
task :copy, [:name] => 'dockly:init' do |t, args|
|
99
99
|
Dockly::RakeHelper
|
100
100
|
.find_docker!(args[:name])
|
101
|
-
.copy_from_s3(Dockly::History.duplicate_build_sha
|
101
|
+
.copy_from_s3(Dockly::History.duplicate_build_sha)
|
102
102
|
end
|
103
103
|
|
104
104
|
task :build, [:name] => 'dockly:init' do |t, args|
|
data/lib/dockly/util/git.rb
CHANGED
@@ -2,28 +2,16 @@ module Dockly::Util::Git
|
|
2
2
|
module_function
|
3
3
|
|
4
4
|
def repo
|
5
|
-
@repo ||=
|
5
|
+
@repo ||= MiniGit.new('.')
|
6
6
|
end
|
7
7
|
|
8
8
|
def sha
|
9
9
|
return @sha if @sha
|
10
|
-
@sha = repo.
|
10
|
+
@sha = repo.capturing.rev_parse('HEAD').chomp
|
11
11
|
rescue
|
12
12
|
@sha = 'unknown'
|
13
13
|
end
|
14
14
|
|
15
|
-
def ls_files(oid)
|
16
|
-
target = repo.lookup(oid)
|
17
|
-
target = target.target until target.type == :commit
|
18
|
-
ary = []
|
19
|
-
target.tree.walk(:postorder) do |root, entry|
|
20
|
-
next unless entry[:type] == :blob
|
21
|
-
name = File.join(root, entry[:name]).gsub(/\A\//, '')
|
22
|
-
ary << entry.merge(name: name)
|
23
|
-
end
|
24
|
-
ary
|
25
|
-
end
|
26
|
-
|
27
15
|
def archive(oid, prefix, output)
|
28
16
|
prefix = prefix.dup
|
29
17
|
unless prefix[-1] == '/'; prefix << '/'; end
|
data/lib/dockly/version.rb
CHANGED
@@ -3,20 +3,13 @@ require 'spec_helper'
|
|
3
3
|
describe Dockly::Util::Git do
|
4
4
|
describe '#repo' do
|
5
5
|
it 'returns the repo for the current directory' do
|
6
|
-
expect(subject.repo.
|
6
|
+
expect(subject.repo.git_work_tree).to eq(File.expand_path('.'))
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
10
|
describe '#sha' do
|
11
|
-
it 'returns a
|
12
|
-
expect(subject.sha).to eq(`git rev-parse
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe '#ls_files' do
|
17
|
-
it 'returns an Array of the files for the given OID' do
|
18
|
-
expect(subject.ls_files(subject.sha).map { |hash| hash[:name] }.sort)
|
19
|
-
.to eq(`git ls-files`.split("\n").sort)
|
11
|
+
it 'returns a sha for the head object' do
|
12
|
+
expect(subject.sha).to eq(`git rev-parse HEAD`.chomp)
|
20
13
|
end
|
21
14
|
end
|
22
15
|
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dockly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Swipely, Inc.
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2016-03-13 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: clamp
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: docker-api
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: dockly-util
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -51,6 +57,7 @@ dependencies:
|
|
51
57
|
type: :runtime
|
52
58
|
prerelease: false
|
53
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
54
61
|
requirements:
|
55
62
|
- - ! '>='
|
56
63
|
- !ruby/object:Gem::Version
|
@@ -61,6 +68,7 @@ dependencies:
|
|
61
68
|
- !ruby/object:Gem::Dependency
|
62
69
|
name: excon
|
63
70
|
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
64
72
|
requirements:
|
65
73
|
- - ! '>='
|
66
74
|
- !ruby/object:Gem::Version
|
@@ -68,6 +76,7 @@ dependencies:
|
|
68
76
|
type: :runtime
|
69
77
|
prerelease: false
|
70
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
71
80
|
requirements:
|
72
81
|
- - ! '>='
|
73
82
|
- !ruby/object:Gem::Version
|
@@ -75,6 +84,7 @@ dependencies:
|
|
75
84
|
- !ruby/object:Gem::Dependency
|
76
85
|
name: aws-sdk
|
77
86
|
requirement: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
78
88
|
requirements:
|
79
89
|
- - ~>
|
80
90
|
- !ruby/object:Gem::Version
|
@@ -82,6 +92,7 @@ dependencies:
|
|
82
92
|
type: :runtime
|
83
93
|
prerelease: false
|
84
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
85
96
|
requirements:
|
86
97
|
- - ~>
|
87
98
|
- !ruby/object:Gem::Version
|
@@ -89,6 +100,7 @@ dependencies:
|
|
89
100
|
- !ruby/object:Gem::Dependency
|
90
101
|
name: foreman
|
91
102
|
requirement: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
92
104
|
requirements:
|
93
105
|
- - ! '>='
|
94
106
|
- !ruby/object:Gem::Version
|
@@ -96,6 +108,7 @@ dependencies:
|
|
96
108
|
type: :runtime
|
97
109
|
prerelease: false
|
98
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
99
112
|
requirements:
|
100
113
|
- - ! '>='
|
101
114
|
- !ruby/object:Gem::Version
|
@@ -103,6 +116,7 @@ dependencies:
|
|
103
116
|
- !ruby/object:Gem::Dependency
|
104
117
|
name: fpm
|
105
118
|
requirement: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
106
120
|
requirements:
|
107
121
|
- - ~>
|
108
122
|
- !ruby/object:Gem::Version
|
@@ -110,27 +124,31 @@ dependencies:
|
|
110
124
|
type: :runtime
|
111
125
|
prerelease: false
|
112
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
113
128
|
requirements:
|
114
129
|
- - ~>
|
115
130
|
- !ruby/object:Gem::Version
|
116
131
|
version: 1.2.0
|
117
132
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
133
|
+
name: minigit
|
119
134
|
requirement: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
120
136
|
requirements:
|
121
|
-
- -
|
137
|
+
- - ~>
|
122
138
|
- !ruby/object:Gem::Version
|
123
|
-
version:
|
139
|
+
version: 0.0.4
|
124
140
|
type: :runtime
|
125
141
|
prerelease: false
|
126
142
|
version_requirements: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
127
144
|
requirements:
|
128
|
-
- -
|
145
|
+
- - ~>
|
129
146
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
147
|
+
version: 0.0.4
|
131
148
|
- !ruby/object:Gem::Dependency
|
132
149
|
name: cane
|
133
150
|
requirement: !ruby/object:Gem::Requirement
|
151
|
+
none: false
|
134
152
|
requirements:
|
135
153
|
- - ! '>='
|
136
154
|
- !ruby/object:Gem::Version
|
@@ -138,6 +156,7 @@ dependencies:
|
|
138
156
|
type: :development
|
139
157
|
prerelease: false
|
140
158
|
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
141
160
|
requirements:
|
142
161
|
- - ! '>='
|
143
162
|
- !ruby/object:Gem::Version
|
@@ -145,6 +164,7 @@ dependencies:
|
|
145
164
|
- !ruby/object:Gem::Dependency
|
146
165
|
name: pry
|
147
166
|
requirement: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
148
168
|
requirements:
|
149
169
|
- - ! '>='
|
150
170
|
- !ruby/object:Gem::Version
|
@@ -152,6 +172,7 @@ dependencies:
|
|
152
172
|
type: :development
|
153
173
|
prerelease: false
|
154
174
|
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
155
176
|
requirements:
|
156
177
|
- - ! '>='
|
157
178
|
- !ruby/object:Gem::Version
|
@@ -159,6 +180,7 @@ dependencies:
|
|
159
180
|
- !ruby/object:Gem::Dependency
|
160
181
|
name: rake
|
161
182
|
requirement: !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
162
184
|
requirements:
|
163
185
|
- - ! '>='
|
164
186
|
- !ruby/object:Gem::Version
|
@@ -166,6 +188,7 @@ dependencies:
|
|
166
188
|
type: :development
|
167
189
|
prerelease: false
|
168
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
none: false
|
169
192
|
requirements:
|
170
193
|
- - ! '>='
|
171
194
|
- !ruby/object:Gem::Version
|
@@ -173,6 +196,7 @@ dependencies:
|
|
173
196
|
- !ruby/object:Gem::Dependency
|
174
197
|
name: rspec
|
175
198
|
requirement: !ruby/object:Gem::Requirement
|
199
|
+
none: false
|
176
200
|
requirements:
|
177
201
|
- - ~>
|
178
202
|
- !ruby/object:Gem::Version
|
@@ -180,6 +204,7 @@ dependencies:
|
|
180
204
|
type: :development
|
181
205
|
prerelease: false
|
182
206
|
version_requirements: !ruby/object:Gem::Requirement
|
207
|
+
none: false
|
183
208
|
requirements:
|
184
209
|
- - ~>
|
185
210
|
- !ruby/object:Gem::Version
|
@@ -187,6 +212,7 @@ dependencies:
|
|
187
212
|
- !ruby/object:Gem::Dependency
|
188
213
|
name: vcr
|
189
214
|
requirement: !ruby/object:Gem::Requirement
|
215
|
+
none: false
|
190
216
|
requirements:
|
191
217
|
- - ! '>='
|
192
218
|
- !ruby/object:Gem::Version
|
@@ -194,6 +220,7 @@ dependencies:
|
|
194
220
|
type: :development
|
195
221
|
prerelease: false
|
196
222
|
version_requirements: !ruby/object:Gem::Requirement
|
223
|
+
none: false
|
197
224
|
requirements:
|
198
225
|
- - ! '>='
|
199
226
|
- !ruby/object:Gem::Version
|
@@ -201,6 +228,7 @@ dependencies:
|
|
201
228
|
- !ruby/object:Gem::Dependency
|
202
229
|
name: webmock
|
203
230
|
requirement: !ruby/object:Gem::Requirement
|
231
|
+
none: false
|
204
232
|
requirements:
|
205
233
|
- - ! '>='
|
206
234
|
- !ruby/object:Gem::Version
|
@@ -208,6 +236,7 @@ dependencies:
|
|
208
236
|
type: :development
|
209
237
|
prerelease: false
|
210
238
|
version_requirements: !ruby/object:Gem::Requirement
|
239
|
+
none: false
|
211
240
|
requirements:
|
212
241
|
- - ! '>='
|
213
242
|
- !ruby/object:Gem::Version
|
@@ -293,26 +322,27 @@ files:
|
|
293
322
|
homepage: https://github.com/swipely/dockly
|
294
323
|
licenses:
|
295
324
|
- MIT
|
296
|
-
metadata: {}
|
297
325
|
post_install_message:
|
298
326
|
rdoc_options: []
|
299
327
|
require_paths:
|
300
328
|
- lib
|
301
329
|
required_ruby_version: !ruby/object:Gem::Requirement
|
330
|
+
none: false
|
302
331
|
requirements:
|
303
332
|
- - ! '>='
|
304
333
|
- !ruby/object:Gem::Version
|
305
334
|
version: '0'
|
306
335
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
|
+
none: false
|
307
337
|
requirements:
|
308
338
|
- - ! '>='
|
309
339
|
- !ruby/object:Gem::Version
|
310
340
|
version: '0'
|
311
341
|
requirements: []
|
312
342
|
rubyforge_project:
|
313
|
-
rubygems_version:
|
343
|
+
rubygems_version: 1.8.23.2
|
314
344
|
signing_key:
|
315
|
-
specification_version:
|
345
|
+
specification_version: 3
|
316
346
|
summary: Packaging made easy
|
317
347
|
test_files:
|
318
348
|
- spec/dockly/bash_builder_spec.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
MzY4MzVhN2RiNzU5NWE1ODk1OGExNDZkZTBjNTU1YWRmYTkzMTU5Mg==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
Mjc4NDA2MjBkNDlmZWFmYjI0NDg1MWY5MjFiYjVkZTk3Zjc3YzhmZA==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MmZjYjkzNmZiOTE3OTk4YTVjYWVjNzFiNzBiMWU5Y2I1MzYzODNhMWI2ZDE3
|
10
|
-
NTE2MTcyMWMxYmJkMzRiZTNlNzFjZmU4YTM0NGJiYjkwNDRkNmI2OTYxOWI1
|
11
|
-
OWQwOTVhNTFhM2VkMzNiZTVlZmQ4MWRjOTExYzE0MjY1M2IwOWU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YmE0NDhiNTBhYTU3N2RhNzk3NDMyYzExOTVlZjdmYjk3NmNjM2E1OTQ2NTFl
|
14
|
-
MDRlZjQxZDZjOGEyMzk1ODIwZDUyNTdkMTM5NTk3ZjllOTUzM2IzODVkZjY5
|
15
|
-
NWE2ODU5NmIxOTgwYTVlMmZkZTViM2I3N2ZlNzVkYmE3MDJkMTE=
|