lambda-layer-cake 0.1.1 → 0.2.1
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/build_env/build_ruby.rb +7 -4
 - data/lib/lambda_layer_cake/rake_helper.rb +24 -3
 - data/lib/lambda_layer_cake/version.rb +1 -1
 - metadata +6 -7
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 862e89024d175ec0fac695fb60af13fd28b26f6b292b1f68651d12527e476e45
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 4dc8138d2c550df0db3af32be86d55a491e7b7a85b8c59ec84ed476d8facb9be
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 3e7dc86198a59c89de3d35647086019402fb1aa94e98a122e9d4dc96bd0e5a9d3f0947ac4f8bbfb3ebfde0b27d5c2341080266cf4e133127e91e9c1906414e39
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 1f5dbdecebe976d3f7629374b835b5116847eed7e28d2d4546d3d589d2be64eb190140aa5202088a5737a5aff3ac0f2d036abd0cb479027df1f9d4719b822138
         
     | 
    
        data/build_env/build_ruby.rb
    CHANGED
    
    | 
         @@ -18,6 +18,7 @@ def main 
     | 
|
| 
       18 
18 
     | 
    
         
             
              if(File.exist?('system-packages.txt'))
         
     | 
| 
       19 
19 
     | 
    
         
             
                STDERR.puts("Installing System Packages")
         
     | 
| 
       20 
20 
     | 
    
         
             
                build_deps = File.read("system-packages.txt").split
         
     | 
| 
      
 21 
     | 
    
         
            +
                STDERR.puts("Packages: #{build_deps.join(',')}")
         
     | 
| 
       21 
22 
     | 
    
         
             
                unless(system("yum", "install", "-y", *(build_deps)))
         
     | 
| 
       22 
23 
     | 
    
         
             
                  STDERR.puts("Could not install build dependency pacakges")
         
     | 
| 
       23 
24 
     | 
    
         
             
                  exit 2
         
     | 
| 
         @@ -26,7 +27,7 @@ def main 
     | 
|
| 
       26 
27 
     | 
    
         | 
| 
       27 
28 
     | 
    
         
             
              STDERR.puts("Building Gems")
         
     | 
| 
       28 
29 
     | 
    
         
             
              FileUtils.mkdir_p("/tmp/build/bundle")
         
     | 
| 
       29 
     | 
    
         
            -
              unless(system("bundle","install","--deployment","--path=/tmp/build/bundle"))
         
     | 
| 
      
 30 
     | 
    
         
            +
              unless(system("bundle","install","--deployment","--path=/tmp/build/bundle","--without","test","development"))
         
     | 
| 
       30 
31 
     | 
    
         
             
                STDERR.puts("Couldn't build gems")
         
     | 
| 
       31 
32 
     | 
    
         
             
                exit 3
         
     | 
| 
       32 
33 
     | 
    
         
             
              end
         
     | 
| 
         @@ -66,11 +67,13 @@ def main 
     | 
|
| 
       66 
67 
     | 
    
         
             
              FileUtils.mkdir_p('/tmp/outputs/lib')
         
     | 
| 
       67 
68 
     | 
    
         
             
              FileUtils.cp(libs.to_a, '/tmp/outputs/lib')
         
     | 
| 
       68 
69 
     | 
    
         | 
| 
      
 70 
     | 
    
         
            +
              #This directory is not needed at runtime
         
     | 
| 
      
 71 
     | 
    
         
            +
              STDERR.puts("Removing extra files")
         
     | 
| 
      
 72 
     | 
    
         
            +
              FileUtils.rm_rf(Dir["/tmp/build/bundle/ruby/*/cache"])
         
     | 
| 
      
 73 
     | 
    
         
            +
              FileUtils.rm_rf(Dir["/tmp/build/bundle/ruby/*/gems/*/test"])
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
       69 
75 
     | 
    
         
             
              STDERR.puts("Moving Bundle into place")
         
     | 
| 
       70 
76 
     | 
    
         
             
              FileUtils.cp_r("/tmp/build/bundle", "/tmp/outputs")
         
     | 
| 
       71 
     | 
    
         
            -
              #This directory is not needed at runtime
         
     | 
| 
       72 
     | 
    
         
            -
              #STDERR.puts("Removing extra files")
         
     | 
| 
       73 
     | 
    
         
            -
              #FileUtils.rm_rf("/tmp/outputs/bundle/ruby/2.5.0/cache")
         
     | 
| 
       74 
77 
     | 
    
         | 
| 
       75 
78 
     | 
    
         
             
              STDERR.puts("All Done!")
         
     | 
| 
       76 
79 
     | 
    
         
             
            end
         
     | 
| 
         @@ -26,7 +26,7 @@ module LambdaLayerCake 
     | 
|
| 
       26 
26 
     | 
    
         
             
                    -v #{inputs_dir}:/tmp/inputs 
         
     | 
| 
       27 
27 
     | 
    
         
             
                    -v #{outputs_dir}:/tmp/outputs 
         
     | 
| 
       28 
28 
     | 
    
         
             
                    -v #{File.expand_path(__dir__ + "/../../build_env")}:/var/task 
         
     | 
| 
       29 
     | 
    
         
            -
                    lambci/lambda 
     | 
| 
      
 29 
     | 
    
         
            +
                    lambci/lambda:#{docker_tag} ruby build_ruby.rb}
         
     | 
| 
       30 
30 
     | 
    
         
             
                  STDERR.puts("Excuting cmd: #{cmd.join(' ')}")
         
     | 
| 
       31 
31 
     | 
    
         
             
                  system(*cmd) or raise    
         
     | 
| 
       32 
32 
     | 
    
         
             
                end
         
     | 
| 
         @@ -55,7 +55,7 @@ module LambdaLayerCake 
     | 
|
| 
       55 
55 
     | 
    
         
             
                  desc "Build the current layer version and symlink it to the versioned zip"
         
     | 
| 
       56 
56 
     | 
    
         
             
                  file ".layer_cake/layer.zip": ".layer_cake/layer-#{input_hash}.zip" do
         
     | 
| 
       57 
57 
     | 
    
         
             
                    FileUtils.ln_s("layer-#{input_hash}.zip",".layer_cake/layer.zip", force: true)
         
     | 
| 
       58 
     | 
    
         
            -
                  end 
     | 
| 
      
 58 
     | 
    
         
            +
                  end
         
     | 
| 
       59 
59 
     | 
    
         
             
                end
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
61 
     | 
    
         
             
                def app_task_definitions!
         
     | 
| 
         @@ -67,6 +67,7 @@ module LambdaLayerCake 
     | 
|
| 
       67 
67 
     | 
    
         
             
                    system(*cmd) or raise
         
     | 
| 
       68 
68 
     | 
    
         | 
| 
       69 
69 
     | 
    
         
             
                    #Insert a symlink into the app.zip
         
     | 
| 
      
 70 
     | 
    
         
            +
                    FileUtils.rm_r(working_dir("app/")) if(File.exists?(working_dir("app")))
         
     | 
| 
       70 
71 
     | 
    
         
             
                    FileUtils.mkdir_p(working_dir("app/vendor"))
         
     | 
| 
       71 
72 
     | 
    
         
             
                    FileUtils.ln_s("/tmp", working_dir("app/tmp"))
         
     | 
| 
       72 
73 
     | 
    
         
             
                    FileUtils.ln_s("/opt/bundle", working_dir("app/vendor/bundle"), force: true)
         
     | 
| 
         @@ -80,7 +81,13 @@ module LambdaLayerCake 
     | 
|
| 
       80 
81 
     | 
    
         
             
                  desc "Output the version hash for the current input files (Gemfile, Gemfile.lock, system-packages.txt)"
         
     | 
| 
       81 
82 
     | 
    
         
             
                  task :version do
         
     | 
| 
       82 
83 
     | 
    
         
             
                    $stdout.write input_hash
         
     | 
| 
       83 
     | 
    
         
            -
                  end 
     | 
| 
      
 84 
     | 
    
         
            +
                  end
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
                  desc "Reports the ruby version of the lambda environment"
         
     | 
| 
      
 87 
     | 
    
         
            +
                  task :ruby_version do
         
     | 
| 
      
 88 
     | 
    
         
            +
                    $stdout.write ruby_version
         
     | 
| 
      
 89 
     | 
    
         
            +
                  end
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
       84 
91 
     | 
    
         
             
                end
         
     | 
| 
       85 
92 
     | 
    
         | 
| 
       86 
93 
     | 
    
         
             
                def clean_task_definitions!
         
     | 
| 
         @@ -117,5 +124,19 @@ module LambdaLayerCake 
     | 
|
| 
       117 
124 
     | 
    
         
             
                    )
         
     | 
| 
       118 
125 
     | 
    
         
             
                  )
         
     | 
| 
       119 
126 
     | 
    
         
             
                end
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
                def docker_tag
         
     | 
| 
      
 129 
     | 
    
         
            +
                  "build-ruby#{/^\d+\.\d+/.match(RUBY_VERSION)[0]}"
         
     | 
| 
      
 130 
     | 
    
         
            +
                end
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
                def ruby_version
         
     | 
| 
      
 133 
     | 
    
         
            +
                  cmd = %W{docker run --rm
         
     | 
| 
      
 134 
     | 
    
         
            +
                    -v #{inputs_dir}:/tmp/inputs 
         
     | 
| 
      
 135 
     | 
    
         
            +
                    -v #{outputs_dir}:/tmp/outputs 
         
     | 
| 
      
 136 
     | 
    
         
            +
                    -v #{File.expand_path(__dir__ + "/../../build_env")}:/var/task 
         
     | 
| 
      
 137 
     | 
    
         
            +
                    lambci/lambda:#{docker_tag} ruby -e }.push '$stdout.write RUBY_VERSION'
         
     | 
| 
      
 138 
     | 
    
         
            +
                  STDERR.puts("Excuting cmd: #{cmd.join(' ')}")
         
     | 
| 
      
 139 
     | 
    
         
            +
                  system(*cmd) or raise
         
     | 
| 
      
 140 
     | 
    
         
            +
                end
         
     | 
| 
       120 
141 
     | 
    
         
             
              end
         
     | 
| 
       121 
142 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: lambda-layer-cake
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Logan Bowers
         
     | 
| 
       8 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-11-24 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rspec
         
     | 
| 
         @@ -73,7 +73,7 @@ homepage: http://github.com/loganb/lambda-layer-cake 
     | 
|
| 
       73 
73 
     | 
    
         
             
            licenses:
         
     | 
| 
       74 
74 
     | 
    
         
             
            - MIT
         
     | 
| 
       75 
75 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       76 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 76 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       77 
77 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       78 
78 
     | 
    
         
             
            require_paths:
         
     | 
| 
       79 
79 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -88,9 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       88 
88 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       89 
89 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       90 
90 
     | 
    
         
             
            requirements: []
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
            signing_key: 
         
     | 
| 
      
 91 
     | 
    
         
            +
            rubygems_version: 3.1.2
         
     | 
| 
      
 92 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       94 
93 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       95 
94 
     | 
    
         
             
            summary: A set of Rake tasks to bundle Rails apps for use on AWS Lambda
         
     | 
| 
       96 
95 
     | 
    
         
             
            test_files: []
         
     |