dockly 4.0.0 → 4.4.0

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