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 +4 -4
- data/.travis.yml +2 -8
- data/bin/bundle_cache_install +10 -8
- data/lib/bundle_cache.rb +1 -0
- data/lib/bundle_cache/cache.rb +4 -2
- data/lib/bundle_cache/install.rb +48 -0
- data/lib/bundle_cache/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e92f8dcab862595376767ad153f5af10f58fe03
|
4
|
+
data.tar.gz: faa361107dc75562fb1e489c9de37146b46fe131
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e468c600deea736947a28bd5819aa8664e9f6881648c4a780893542e075052bf3235376282f40d5cef093a40ddc3b4c9674687115a518fc64664b446546f833b
|
7
|
+
data.tar.gz: 2aeea210ee39087490e759374e1a09793f41bd3d24d00fd761cc6eb9bc1f0df14088c13bf4672e11ae8979f2f0f4732640ce22a52ce970c40414b4337a658d6a
|
data/.travis.yml
CHANGED
@@ -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
|
-
|
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=
|
data/bin/bundle_cache_install
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
file_name = "#{ENV['BUNDLE_ARCHIVE']}-#{architecture}.tgz"
|
3
|
+
require_relative '../lib/bundle_cache'
|
5
4
|
|
6
|
-
|
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
|
-
|
11
|
-
|
12
|
-
|
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
|
data/lib/bundle_cache.rb
CHANGED
data/lib/bundle_cache/cache.rb
CHANGED
@@ -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 =>
|
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 =>
|
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
|
data/lib/bundle_cache/version.rb
CHANGED
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
|
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-
|
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:
|