dockly 4.0.0 → 4.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: cdd9e8a044854b4149effa288483edb90a66ee8f58d35108696f0abc3a21ed95
4
- data.tar.gz: 8ee450caf29059b5c7a389683676953c02f3c497809eef2287648504d59c9023
2
+ SHA1:
3
+ metadata.gz: 1d559fd7ce411c6076af71e0f8f4b6adef86d031
4
+ data.tar.gz: 03b47c8b32f2f8d3bb9ed086137cae8f866eb442
5
5
  SHA512:
6
- metadata.gz: 2cf097573867f7c8ddafa597b0e0249780789fe098f6b4ffec3d48ae0b3dfc7cb6e48686214d846ab021c7cee5dec3bdd2c29f3423c1b82341d8173c2570fc05
7
- data.tar.gz: 5bb556418f6b975bc1cd2dfffcb0117ee61379b6426be681a80961f4831976319f91fd78e0e81c94bcd4a5ce3a7a1bb093f39d77379b2bb1708d2da7e7cfbaae
6
+ metadata.gz: 314390a7a78bca39bbdfb10d2dc08e6b97e15b68629699a640d06dfe3f50873b516e5e4f6a144f2b4aa47c0034ca9ba6c90934eccaef840019690ed1f0fcaaeb
7
+ data.tar.gz: b930cbc3fe513907ef02e8f15437ef3288d3583bbd3fac5df10ae064b00bae4955efd3e9ddb5bd88cce5917df8ed7ca0e02c7a420b25b12817b9f58b07682c0f
@@ -0,0 +1,32 @@
1
+ name: Unit Tests
2
+ on: [push, pull_request]
3
+ jobs:
4
+ docker-rspec:
5
+ runs-on:
6
+ - ubuntu-18.04
7
+ strategy:
8
+ matrix:
9
+ ruby:
10
+ - 2.7
11
+ - 2.6
12
+ - 2.5
13
+ - 2.4
14
+ fail-fast: true
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ with:
18
+ fetch-depth: 0
19
+ - uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ - name: install bundler
23
+ run: |
24
+ gem install bundler -v '~> 1.17.3'
25
+ bundle update
26
+ - name: install rpm
27
+ run: |
28
+ set -x
29
+ sudo apt-get update -y
30
+ sudo apt-get install -y rpm
31
+ - name: spec tests
32
+ run: CI=true bundle exec rake
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/dockly.png)](http://badge.fury.io/rb/dockly)
2
- [![Build Status](https://travis-ci.org/swipely/dockly.png?branch=refactor_setup)](https://travis-ci.org/swipely/dockly)
3
- [![Dependency Status](https://gemnasium.com/swipely/dockly.png)](https://gemnasium.com/swipely/dockly)
4
2
 
5
- ![Dockly](https://raw.github.com/swipely/dockly/master/img/dockly.png)
3
+ ![Dockly](https://raw.github.com/upserve/dockly/master/img/dockly.png)
6
4
  ======================================================================
7
5
 
8
6
  `dockly` is a gem made to ease the pain of packaging an application. For this gem to be useful, you will want to use [Docker](http://docker.io) for process isolation.
@@ -180,7 +178,7 @@ In addition to the above attributes, `docker` has the following references:
180
178
  - class: `Dockly::Docker::ECR`
181
179
  - description: an AWS ECR Docker registry to push to in lieu of exporting as a tar -- the registry will be automatically pulled upon installing the package
182
180
 
183
- Need finer control of Docker packages? We also wrote [docker-api](https://github.com/swipely/docker-api).
181
+ Need finer control of Docker packages? We also wrote [docker-api](https://github.com/upserve/docker-api).
184
182
 
185
183
  `registry`
186
184
  --------
data/dockly.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = %w{tomhulihan@swipely.com bright@swipely.com toddlunter@swipely.com}
7
7
  gem.description = %q{Packaging made easy}
8
8
  gem.summary = %q{Packaging made easy}
9
- gem.homepage = "https://github.com/swipely/dockly"
9
+ gem.homepage = "https://github.com/upserve/dockly"
10
10
  gem.files = `git ls-files`.split($\)
11
11
  gem.license = 'MIT'
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -14,13 +14,15 @@ Gem::Specification.new do |gem|
14
14
  gem.name = "dockly"
15
15
  gem.require_paths = %w{lib}
16
16
  gem.version = Dockly::VERSION
17
- gem.add_dependency 'clamp', '~> 0.6'
17
+ gem.add_dependency 'clamp', '~> 1'
18
18
  gem.add_dependency 'docker-api', '>= 1.14.0'
19
19
  gem.add_dependency 'dockly-util', '>= 0.0.9', '< 1.0'
20
20
  gem.add_dependency 'excon'
21
- gem.add_dependency 'aws-sdk', '~> 2.0'
21
+ gem.add_dependency 'aws-sdk-core', '~> 3'
22
+ gem.add_dependency 'aws-sdk-s3', '~> 1'
23
+ gem.add_dependency 'aws-sdk-ecr', '~> 1'
22
24
  gem.add_dependency 'foreman'
23
- gem.add_dependency 'fpm', '~> 1.2.0'
25
+ gem.add_dependency 'fpm', '~> 1.2'
24
26
  gem.add_dependency 'minigit', '~> 0.0.4'
25
27
  gem.add_development_dependency 'cane'
26
28
  gem.add_development_dependency 'pry'
@@ -26,6 +26,6 @@ module Dockly
26
26
  generate_snippet_for :registry_import, [:repo, :tag], { :tag => "latest" }
27
27
  generate_snippet_for :auth_ecr, [:server_address]
28
28
 
29
- generate_snippet_for :docker_tag_latest, [:repo, :tag]
29
+ generate_snippet_for :docker_tag_latest, [:repo, :tag, :new_name]
30
30
  end
31
31
  end
data/lib/dockly/deb.rb CHANGED
@@ -226,12 +226,13 @@ private
226
226
  if registry.is_a?(Dockly::Docker::ECR)
227
227
  scripts << bb.auth_ecr(registry.server_address)
228
228
  end
229
+
229
230
  scripts << bb.registry_import(docker.repo, docker.tag)
231
+ scripts << bb.docker_tag_latest(docker.repo, docker.tag, docker.name)
230
232
  else
231
233
  scripts += collect_non_registry_scripts(bb)
232
234
  end
233
235
  end
234
-
235
236
  scripts.join("\n")
236
237
  end
237
238
 
@@ -252,7 +253,8 @@ private
252
253
  scripts << bb.s3_docker_import(docker.s3_url, docker.name, docker.tag)
253
254
  end
254
255
  end
255
- scripts << bb.docker_tag_latest(docker.repo, docker.tag)
256
+
257
+ scripts << bb.docker_tag_latest(docker.repo, docker.tag, docker.repo)
256
258
  end
257
259
 
258
260
  def add_startup_script(package, startup_script = "dockly-startup.sh")
data/lib/dockly/docker.rb CHANGED
@@ -339,7 +339,11 @@ class Dockly::Docker
339
339
 
340
340
  raise "Could not find image after authentication" if image.nil?
341
341
 
342
- image.push(registry.to_h, :registry => registry.server_address)
342
+ image.push(registry.to_h, :registry => registry.server_address) do |resp|
343
+ if resp.include?('errorDetail')
344
+ raise "Error pushing to registry: #{resp}"
345
+ end
346
+ end
343
347
  end
344
348
 
345
349
  def fetch_import
data/lib/dockly/rpm.rb CHANGED
@@ -31,5 +31,6 @@ private
31
31
  @deb_package.attributes[:rpm_user] = "root"
32
32
  @deb_package.attributes[:rpm_group] = "root"
33
33
  @deb_package.attributes[:rpm_os] = os
34
+ @deb_package.attributes[:workdir] = ::Dir.tmpdir
34
35
  end
35
36
  end
@@ -1,6 +1,6 @@
1
1
  module Dockly
2
2
  MAJOR = 4
3
- MINOR = 0
3
+ MINOR = 4
4
4
  PATCH = 0
5
5
  RELEASE = nil
6
6
 
data/lib/dockly.rb CHANGED
@@ -4,7 +4,9 @@ require 'dockly/util/git'
4
4
  require 'foreman/cli_fix'
5
5
  require 'foreman/export/base_fix'
6
6
  require 'minigit'
7
- require 'aws-sdk'
7
+ require 'aws-sdk-core'
8
+ require 'aws-sdk-s3'
9
+ require 'aws-sdk-ecr'
8
10
  require 'open3'
9
11
 
10
12
  module Dockly
@@ -1,5 +1,8 @@
1
1
  auth_ecr() {
2
- $(aws ecr get-login --region us-east-1 --no-include-email)
2
+ account_id=$(aws sts get-caller-identity --query Account --output text)
3
+ region="<%= ENV['AWS_REGION'] || 'us-east-1' %>"
4
+ aws ecr get-login-password --region $region | \
5
+ docker login --username AWS --password-stdin $account_id.dkr.ecr.$region.amazonaws.com
3
6
  }
4
7
 
5
8
  worked=1
@@ -1,3 +1,3 @@
1
1
  <% if data[:tag] %>
2
- docker tag <%= data[:repo] %>:<%= data[:tag] %> <%= data[:repo] %>:latest
2
+ docker tag <%= data[:repo] %>:<%= data[:tag] %> <%= data[:new_name] %>:latest
3
3
  <% end %>
@@ -32,8 +32,8 @@ describe Dockly::BashBuilder do
32
32
 
33
33
  context "when there is a tag" do
34
34
  it "tags the repo:tag as repo:latest" do
35
- output = subject.docker_tag_latest("test_repo", "a_tag")
36
- expect(output).to include("docker tag test_repo:a_tag test_repo:latest")
35
+ output = subject.docker_tag_latest("registry/test_repo", "a_tag", "test_repo")
36
+ expect(output).to include("docker tag registry/test_repo:a_tag test_repo:latest")
37
37
  end
38
38
  end
39
39
  end
@@ -14,8 +14,11 @@ describe Dockly::BuildCache::Base do
14
14
  describe '#up_to_date?' do
15
15
  context 'when the object exists in s3' do
16
16
  before do
17
- allow(subject.connection)
18
- .to receive(:head_object)
17
+ allow(Dockly)
18
+ .to receive(:s3)
19
+ .and_return(
20
+ Aws::S3::Client.new(stub_responses: true)
21
+ )
19
22
  end
20
23
 
21
24
  its(:up_to_date?) { should be_true }
@@ -23,9 +26,13 @@ describe Dockly::BuildCache::Base do
23
26
 
24
27
  context 'when the object does not exist in s3' do
25
28
  before do
26
- allow(subject.connection)
27
- .to receive(:head_object)
28
- .and_raise(Aws::S3::Errors::NoSuchKey.new('Some Error', 500))
29
+ allow(Dockly)
30
+ .to receive(:s3)
31
+ .and_return(
32
+ Aws::S3::Client.new(
33
+ stub_responses: { :head_object => 'NoSuchKey' }
34
+ )
35
+ )
29
36
  end
30
37
 
31
38
  its(:up_to_date?) { should be_false }
@@ -37,9 +44,12 @@ describe Dockly::BuildCache::Base do
37
44
  let(:object) { double(:object) }
38
45
 
39
46
  before do
40
- allow(subject.connection)
41
- .to receive(:get_object)
42
- .and_return(object)
47
+ allow(Dockly)
48
+ .to receive(:s3)
49
+ .and_return(Aws::S3::Client.new(
50
+ stub_responses: { :get_object => object }
51
+ ))
52
+
43
53
  allow(object)
44
54
  .to receive(:body)
45
55
  .and_return(StringIO.new('hey dad').tap(&:rewind))
@@ -205,14 +205,19 @@ describe Dockly::Deb do
205
205
  pre_install "ls"
206
206
  post_install "rd /s /q C:\*"
207
207
  build_dir 'build/deb/s3'
208
+ s3_bucket 'bucket'
208
209
  end
209
210
  end
210
211
 
211
212
  context 'when the object does exist' do
212
213
  before do
213
- allow(Dockly.s3)
214
- .to receive(:head_object)
215
- .and_return({})
214
+ allow(Dockly)
215
+ .to receive(:s3)
216
+ .and_return(
217
+ Aws::S3::Client.new(
218
+ stub_responses: { :head_object => {} }
219
+ )
220
+ )
216
221
  end
217
222
 
218
223
  it 'is true' do
@@ -222,12 +227,16 @@ describe Dockly::Deb do
222
227
 
223
228
  context 'when the object does not exist' do
224
229
  before do
225
- allow(Dockly.s3)
226
- .to receive(:head_object)
227
- .and_raise(StandardError.new('object does not exist'))
230
+ allow(Dockly)
231
+ .to receive(:s3)
232
+ .and_return(
233
+ Aws::S3::Client.new(
234
+ stub_responses: { :head_object => 'ObjectDoesNotExist' }
235
+ )
236
+ )
228
237
  end
229
238
 
230
- it 'is true' do
239
+ it 'is false' do
231
240
  expect(subject.exists?).to be_false
232
241
  end
233
242
  end
@@ -267,12 +276,24 @@ describe Dockly::Deb do
267
276
  context 'when the package has been created' do
268
277
  before { subject.create_package! }
269
278
 
279
+ let(:client) do
280
+ client = Aws::S3::Client.new(stub_responses: true)
281
+ client.stub_responses(
282
+ :put_object, ->(context) do
283
+ expect(context.params[:bucket]).to eq(bucket_name)
284
+ expect(context.params[:key]).to eq(subject.s3_object_name)
285
+ expect(context.params).to have_key(:body)
286
+
287
+ {}
288
+ end
289
+ )
290
+ client
291
+ end
292
+
270
293
  it 'inserts the deb package into that bucket' do
271
- expect(Dockly.s3).to receive(:put_object) do |hash|
272
- expect(hash[:bucket]).to eq(bucket_name)
273
- expect(hash[:key]).to eq(subject.s3_object_name)
274
- expect(hash).to have_key(:body)
275
- end
294
+ expect(Dockly)
295
+ .to receive(:s3)
296
+ .and_return(client)
276
297
 
277
298
  subject.upload_to_s3
278
299
  end
@@ -204,11 +204,15 @@ describe Dockly::Docker do
204
204
  let(:url) { 's3://bucket/object' }
205
205
  let(:data) { 'sweet, sweet data' }
206
206
 
207
+ let(:client) { double() }
208
+
207
209
  before do
208
- allow(Dockly.s3)
210
+ allow(client)
209
211
  .to receive(:get_object)
210
- .with(bucket: 'bucket', key: 'object')
212
+ .with(hash_including({ bucket: 'bucket', key: 'object' }))
211
213
  .and_yield(data)
214
+
215
+ allow(Dockly).to receive(:s3).and_return(client)
212
216
  end
213
217
 
214
218
  it 'pulls the file from S3' do
@@ -313,6 +317,107 @@ describe Dockly::Docker do
313
317
  end
314
318
  end
315
319
 
320
+ describe '#push_to_registry', :docker do
321
+ let(:image) { Docker::Image.create('fromImage' => 'ubuntu:14.04') }
322
+ let(:ecr) { double(:ecr) }
323
+
324
+ context 'when there is no registry' do
325
+ it 'raises' do
326
+ expect(subject.registry).to eq(nil)
327
+
328
+ expect { subject.push_to_registry(image) }.to raise_error(/No registry/)
329
+ end
330
+ end
331
+
332
+ context 'when there is a registry' do
333
+ before do
334
+ subject.instance_variable_set(:"@ecr", ecr)
335
+
336
+ allow(ecr)
337
+ .to receive(:server_address)
338
+ .and_return('server_address')
339
+
340
+ expect(subject.registry).to eq(ecr)
341
+ end
342
+
343
+ context "that can't be authenticated to" do
344
+ before do
345
+ allow(ecr)
346
+ .to receive(:authenticate!)
347
+ .and_raise
348
+ end
349
+
350
+ it 'raises' do
351
+ expect { subject.push_to_registry(image) }
352
+ .to raise_error(StandardError)
353
+ end
354
+ end
355
+
356
+ context 'that can be authenticated to' do
357
+ before do
358
+ allow(ecr).to receive(:authenticate!)
359
+
360
+ allow(Docker::Image)
361
+ .to receive(:all)
362
+ .with(all: true)
363
+ .and_return(available_images)
364
+ end
365
+
366
+ context "but the image isn't found" do
367
+ let(:available_images) { [] }
368
+
369
+ it 'raises' do
370
+ expect { subject.push_to_registry(image) }
371
+ .to raise_error(/Could not find image after authentication/)
372
+ end
373
+ end
374
+
375
+ context 'and the image is found' do
376
+ let(:available_images) { [image] }
377
+
378
+ before do
379
+ allow(ecr)
380
+ .to receive(:to_h)
381
+ .and_return({})
382
+ allow(image)
383
+ .to receive(:push)
384
+ .and_yield(push_message)
385
+ end
386
+
387
+ context 'but the push to the registry fails' do
388
+ let(:push_message) do
389
+ <<-EOF
390
+ {"errorDetail":{"message":"name unknown: The repository with name 'repository'
391
+ does not exist in the registry with id 'accoundid'"},"error":"name unknown:
392
+ The repository with name 'repository' does not exist in the registry with id 'accountid'"}
393
+ EOF
394
+ end
395
+
396
+ it 'raises' do
397
+ expect { subject.push_to_registry(image) }
398
+ .to raise_error(/Error pushing to registry/)
399
+ end
400
+ end
401
+
402
+ context 'and the push to the registry succeeds' do
403
+ let(:push_message) do
404
+ <<-EOF
405
+ {"status":"Pushed","progressDetail":{},"id":"id"}
406
+ {"status":"sha: digest: digest size: 2048"}
407
+ {"progressDetail":{},"aux":{"Tag":"sha","Digest":"digest","Size":2048}}
408
+ EOF
409
+ end
410
+
411
+ it 'passes' do
412
+ expect(subject.push_to_registry(image))
413
+ .not_to raise_error
414
+ end
415
+ end
416
+ end
417
+ end
418
+ end
419
+ end
420
+
316
421
  describe '#export_image_diff', :docker do
317
422
  let(:images) { [] }
318
423
  let(:output) { StringIO.new }
@@ -11,6 +11,7 @@ describe Dockly::Rpm do
11
11
  pre_install "ls"
12
12
  post_install "rd /s /q C:\*"
13
13
  build_dir 'build'
14
+ s3_bucket 'bucket'
14
15
  end
15
16
  end
16
17
  let(:filename) { "build/rpm/my-sweet-rpm_77.0.8_x86_64.rpm" }
@@ -173,14 +174,17 @@ describe Dockly::Rpm do
173
174
  pre_install "ls"
174
175
  post_install "rd /s /q C:\*"
175
176
  build_dir 'build/rpm/s3'
177
+ s3_bucket 'bucket'
176
178
  end
177
179
  end
178
180
 
179
181
  context 'when the object does exist' do
180
182
  before do
181
- allow(Dockly.s3)
182
- .to receive(:head_object)
183
- .and_return({})
183
+ allow(Dockly)
184
+ .to receive(:s3)
185
+ .and_return(
186
+ Aws::S3::Client.new(stub_responses: true)
187
+ )
184
188
  end
185
189
 
186
190
  it 'is true' do
@@ -190,9 +194,13 @@ describe Dockly::Rpm do
190
194
 
191
195
  context 'when the object does not exist' do
192
196
  before do
193
- allow(Dockly.s3)
194
- .to receive(:head_object)
195
- .and_raise(StandardError.new('object does not exist'))
197
+ allow(Dockly)
198
+ .to receive(:s3)
199
+ .and_return(
200
+ Aws::S3::Client.new(
201
+ stub_responses: { :head_object => 'NoSuchKey' }
202
+ )
203
+ )
196
204
  end
197
205
 
198
206
  it 'is true' do
@@ -235,12 +243,24 @@ describe Dockly::Rpm do
235
243
  context 'when the package has been created' do
236
244
  before { subject.create_package! }
237
245
 
246
+ let(:client) do
247
+ client = Aws::S3::Client.new(stub_responses: true)
248
+ client.stub_responses(
249
+ :put_object, ->(context) do
250
+ expect(context.params[:bucket]).to eq(bucket_name)
251
+ expect(context.params[:key]).to eq(subject.s3_object_name)
252
+ expect(context.params).to have_key(:body)
253
+
254
+ {}
255
+ end
256
+ )
257
+ client
258
+ end
259
+
238
260
  it 'inserts the rpm package into that bucket' do
239
- expect(Dockly.s3).to receive(:put_object) do |hash|
240
- expect(hash[:bucket]).to eq(bucket_name)
241
- expect(hash[:key]).to eq(subject.s3_object_name)
242
- expect(hash).to have_key(:body)
243
- end
261
+ expect(Dockly)
262
+ .to receive(:s3)
263
+ .and_return(client)
244
264
 
245
265
  subject.upload_to_s3
246
266
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockly
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Swipely, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-14 00:00:00.000000000 Z
11
+ date: 2022-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.6'
19
+ version: '1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.6'
26
+ version: '1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: docker-api
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -73,19 +73,47 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  - !ruby/object:Gem::Dependency
76
- name: aws-sdk
76
+ name: aws-sdk-core
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '2.0'
81
+ version: '3'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '2.0'
88
+ version: '3'
89
+ - !ruby/object:Gem::Dependency
90
+ name: aws-sdk-s3
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1'
103
+ - !ruby/object:Gem::Dependency
104
+ name: aws-sdk-ecr
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1'
89
117
  - !ruby/object:Gem::Dependency
90
118
  name: foreman
91
119
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +134,14 @@ dependencies:
106
134
  requirements:
107
135
  - - "~>"
108
136
  - !ruby/object:Gem::Version
109
- version: 1.2.0
137
+ version: '1.2'
110
138
  type: :runtime
111
139
  prerelease: false
112
140
  version_requirements: !ruby/object:Gem::Requirement
113
141
  requirements:
114
142
  - - "~>"
115
143
  - !ruby/object:Gem::Version
116
- version: 1.2.0
144
+ version: '1.2'
117
145
  - !ruby/object:Gem::Dependency
118
146
  name: minigit
119
147
  requirement: !ruby/object:Gem::Requirement
@@ -237,10 +265,10 @@ extensions: []
237
265
  extra_rdoc_files: []
238
266
  files:
239
267
  - ".cane"
268
+ - ".github/workflows/unit_test.yml"
240
269
  - ".gitignore"
241
270
  - ".rspec"
242
271
  - ".ruby-version"
243
- - ".travis.yml"
244
272
  - Gemfile
245
273
  - LICENSE.txt
246
274
  - README.md
@@ -307,11 +335,11 @@ files:
307
335
  - spec/fixtures/test-2.tar.gz
308
336
  - spec/fixtures/test-3.tar
309
337
  - spec/spec_helper.rb
310
- homepage: https://github.com/swipely/dockly
338
+ homepage: https://github.com/upserve/dockly
311
339
  licenses:
312
340
  - MIT
313
341
  metadata: {}
314
- post_install_message:
342
+ post_install_message:
315
343
  rdoc_options: []
316
344
  require_paths:
317
345
  - lib
@@ -326,8 +354,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
354
  - !ruby/object:Gem::Version
327
355
  version: '0'
328
356
  requirements: []
329
- rubygems_version: 3.0.6
330
- signing_key:
357
+ rubyforge_project:
358
+ rubygems_version: 2.5.1
359
+ signing_key:
331
360
  specification_version: 4
332
361
  summary: Packaging made easy
333
362
  test_files:
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.0
4
- - 2.1
5
- - 2.2
6
- - 2.3
7
- script:
8
- - git fetch --tags
9
- - CI=true bundle exec rake
10
- before_install:
11
- - sudo apt-get update -qq
12
- - sudo apt-get install -qq rpm
13
- - gem install bundler -v 1.17.3