dockly 3.0.5 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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=