bundle_cache 0.0.6 → 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e981ba034ee74cacabe68112da703ecc235143c6
4
- data.tar.gz: fb4148b5189e9d41e9e0f42fd6b1c00c96119349
3
+ metadata.gz: 3e92f8dcab862595376767ad153f5af10f58fe03
4
+ data.tar.gz: faa361107dc75562fb1e489c9de37146b46fe131
5
5
  SHA512:
6
- metadata.gz: 8956e3aee3dfdf9ed82a7bf22e709c679fb90fd678d8caac877cb9797f858576e5ef3217351894588d335f90bf179da10b6d0370fcb2b85b66480789cecafbd2
7
- data.tar.gz: a7134211590bc96fd60409e17e7b89e8ffa794febb259c9972013a4928feaaf0ac89f495ee24b19b48ac130a31a74a9f9472e61d441285cc97ea2f0b156feae1
6
+ metadata.gz: e468c600deea736947a28bd5819aa8664e9f6881648c4a780893542e075052bf3235376282f40d5cef093a40ddc3b4c9674687115a518fc64664b446546f833b
7
+ data.tar.gz: 2aeea210ee39087490e759374e1a09793f41bd3d24d00fd761cc6eb9bc1f0df14088c13bf4672e11ae8979f2f0f4732640ce22a52ce970c40414b4337a658d6a
@@ -1,25 +1,19 @@
1
- ---
2
1
  language: ruby
3
2
  rvm:
4
3
  - 1.9.3
5
4
  - 2.0.0
6
- script: true
7
5
  bundler_args: --without development --path=~/.bundle
8
6
  before_install:
9
7
  - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
10
- before_script:
8
+ script:
11
9
  - cd $TRAVIS_BUILD_DIR
12
10
  - rake build
13
11
  - gem install pkg/*.gem
14
12
  - bundle_cache_install
15
- script: true
16
13
  after_script:
17
14
  - bundle_cache
18
15
  env:
19
16
  global:
20
17
  - BUNDLE_ARCHIVE="bundle_cache_test"
21
18
  - AWS_S3_BUCKET="travis.data-axle.infogroup.com"
22
- - secure: |-
23
- etZRmvUnoJdOOU8jYuDnpWQhFLPCwGnP8cELYJU+ogrfPA3BmxeRj0qL5odK
24
- NqcdSo3ff19du9sLAVIjumhbvaociGVPUrScF3KKaKTPmBnFfhtOGgN18AIB
25
- 398/7K4HEItFgjCOQRstLGA2G3H7vq8nAsIWMavJ6lrAZEQUJIY=
19
+ - secure: OpVVRrTLeXspiOE0TMXxah7QHPZasA4n+xf9XUwTh0Tq1z6F6Ojq8kz8XvRQOS9VsWKj5Xx8gmrJbzUx2MmKbJZvKi0f19oqJiEstVVfR+ATWzTaDkfl31WUowmvX7QVh8+ejfi9bQDMj9HkAkn6p0uGWZGDZQd5Q/OyVMka/9o=
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- architecture = `uname -m`.strip
4
- file_name = "#{ENV['BUNDLE_ARCHIVE']}-#{architecture}.tgz"
3
+ require_relative '../lib/bundle_cache'
5
4
 
6
- # See http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
7
- region = ENV['AWS_S3_REGION'] || 'us-east-1'
8
- endpoint = region == 'us-east-1' ? 's3.amazonaws.com' : "s3-#{region}.amazonaws.com"
5
+ required_env = %w(AWS_S3_KEY AWS_S3_SECRET AWS_S3_BUCKET BUNDLE_ARCHIVE)
9
6
 
10
- Dir.chdir(ENV['HOME'])
11
- `wget -O "remote_#{file_name}" "https://#{endpoint}/#{ENV['AWS_S3_BUCKET']}/#{file_name}" && tar -xf "remote_#{file_name}"`
12
- `wget -O "remote_#{file_name}.sha2" "https://#{endpoint}/#{ENV['AWS_S3_BUCKET']}/#{file_name}.sha2"`
7
+ required_env.each do |var|
8
+ unless ENV[var]
9
+ puts "Missing ENV[#{var}]"
10
+ exit 1
11
+ end
12
+ end
13
+
14
+ BundleCache.install
@@ -1,5 +1,6 @@
1
1
  require "bundle_cache/version"
2
2
  require "bundle_cache/cache"
3
+ require "bundle_cache/install"
3
4
 
4
5
  module BundleCache
5
6
  end
@@ -10,6 +10,8 @@ module BundleCache
10
10
  :region => ENV["AWS_S3_REGION"] || "us-east-1"
11
11
  })
12
12
 
13
+ acl_to_use = ENV["KEEP_BUNDLE_PRIVATE"] ? :private : :public_read
14
+
13
15
  bucket_name = ENV["AWS_S3_BUCKET"]
14
16
  architecture = `uname -m`.strip
15
17
 
@@ -52,7 +54,7 @@ module BundleCache
52
54
  gem_archive = bucket.objects[file_name]
53
55
 
54
56
  puts " => Uploading #{parts.length} parts"
55
- gem_archive.multipart_upload(:acl => :public_read) do |upload|
57
+ gem_archive.multipart_upload(:acl => acl_to_use) do |upload|
56
58
  parts.each_with_index do |part, index|
57
59
  puts " => Uploading #{part}"
58
60
  File.open part do |part_file|
@@ -65,7 +67,7 @@ module BundleCache
65
67
 
66
68
  puts "=> Uploading the digest file"
67
69
  hash_object = bucket.objects[digest_filename]
68
- hash_object.write(bundle_digest, :acl => :public_read, :content_type => "text/plain")
70
+ hash_object.write(bundle_digest, :acl => acl_to_use, :content_type => "text/plain")
69
71
  end
70
72
 
71
73
  puts "All done now."
@@ -0,0 +1,48 @@
1
+ require "digest"
2
+ require "aws-sdk"
3
+
4
+ module BundleCache
5
+ def self.install
6
+ architecture = `uname -m`.strip
7
+ file_name = "#{ENV['BUNDLE_ARCHIVE']}-#{architecture}.tgz"
8
+ digest_filename = "#{file_name}.sha2"
9
+ bucket_name = ENV["AWS_S3_BUCKET"]
10
+
11
+ AWS.config({
12
+ :access_key_id => ENV["AWS_S3_KEY"],
13
+ :secret_access_key => ENV["AWS_S3_SECRET"],
14
+ :region => ENV["AWS_S3_REGION"] || "us-east-1"
15
+ })
16
+ s3 = AWS::S3.new
17
+ bucket = s3.buckets[bucket_name]
18
+
19
+ gem_archive = bucket.objects[file_name]
20
+ hash_object = bucket.objects[digest_filename]
21
+
22
+ Dir.chdir(ENV['HOME'])
23
+
24
+ puts "=> Downloading the bundle"
25
+ File.open("remote_#{file_name}", 'wb') do |file|
26
+ gem_archive.read do |chunk|
27
+ file.write(chunk)
28
+ end
29
+ end
30
+ puts " => Completed bundle download"
31
+
32
+ puts "=> Extract the bundle"
33
+ `tar -xf "remote_#{file_name}"`
34
+
35
+ puts "=> Downloading the digest file"
36
+ File.open("remote_#{file_name}.sha2", 'wb') do |file|
37
+ hash_object.read do |chunk|
38
+ file.write(chunk)
39
+ end
40
+ end
41
+ puts " => Completed digest download"
42
+
43
+ puts "=> All done!"
44
+ rescue AWS::S3::Errors::NoSuchKey
45
+ puts "There's no such archive!"
46
+ end
47
+
48
+ end
@@ -1,3 +1,3 @@
1
1
  module BundleCache
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundle_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Barendt
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-19 00:00:00.000000000 Z
12
+ date: 2013-09-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aws-sdk
@@ -87,6 +87,7 @@ files:
87
87
  - bundle_cache.gemspec
88
88
  - lib/bundle_cache.rb
89
89
  - lib/bundle_cache/cache.rb
90
+ - lib/bundle_cache/install.rb
90
91
  - lib/bundle_cache/version.rb
91
92
  homepage: https://github.com/data-axle/bundle_cache
92
93
  licenses: