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.
@@ -8,6 +8,7 @@ script:
8
8
  - git fetch --tags
9
9
  - CI=true bundle exec rake
10
10
  before_install:
11
- - sudo apt-get update -qq
12
- - sudo apt-get install -qq rpm
11
+ - sudo apt-get update -qq
12
+ - sudo apt-get install -qq rpm
13
+ - gem install bundler
13
14
 
@@ -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 'rugged'
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'
@@ -3,7 +3,7 @@ require 'dockly/util/tar'
3
3
  require 'dockly/util/git'
4
4
  require 'foreman/cli_fix'
5
5
  require 'foreman/export/base_fix'
6
- require 'rugged'
6
+ require 'minigit'
7
7
  require 'aws-sdk'
8
8
  require 'open3'
9
9
 
@@ -67,7 +67,8 @@ class Dockly::Docker
67
67
  end
68
68
 
69
69
  def generate_build
70
- Docker.options = { :read_timeout => timeout, :write_timeout => timeout }
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?
@@ -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.remotes.each do |remote|
14
- username = remote.url.split('@').first
15
- creds = Rugged::Credentials::SshKeyFromAgent.new(username: username)
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.tags.create(content_tag, repo.head.target_id, true)
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.head.target_id
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[key]
37
- hash[key] = tag.target_id if tag
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.head.target.tree.walk(:preorder)
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 ||= Rugged::Repository.discover('.')
59
+ @repo ||= MiniGit.new('.')
63
60
  end
64
61
  end
@@ -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[0..6])
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[0..6])
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[0..6])
101
+ .copy_from_s3(Dockly::History.duplicate_build_sha)
102
102
  end
103
103
 
104
104
  task :build, [:name] => 'dockly:init' do |t, args|
@@ -2,28 +2,16 @@ module Dockly::Util::Git
2
2
  module_function
3
3
 
4
4
  def repo
5
- @repo ||= Rugged::Repository.discover('.')
5
+ @repo ||= MiniGit.new('.')
6
6
  end
7
7
 
8
8
  def sha
9
9
  return @sha if @sha
10
- @sha = repo.head.target.oid[0..6]
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
@@ -1,7 +1,7 @@
1
1
  module Dockly
2
2
  MAJOR = 3
3
- MINOR = 0
4
- PATCH = 5
3
+ MINOR = 1
4
+ PATCH = 0
5
5
  RELEASE = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, PATCH, RELEASE].compact.join('.')
@@ -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.workdir).to eq(File.expand_path('.') + '/')
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 shortened sha for the head object' do
12
- expect(subject.sha).to eq(`git rev-parse --short HEAD`[0..6])
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.5
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: 2015-10-27 00:00:00.000000000 Z
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: rugged
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: '0'
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: '0'
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: 2.4.6
343
+ rubygems_version: 1.8.23.2
314
344
  signing_key:
315
- specification_version: 4
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=