Ruby Layers not properly packaged
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- aws, ruby
- Ambito
- build-system, cloud
Direzione di ricerca
Riproduci il problema con l'esempio SAMBuildLayer, il relativo Gemfile e sam build, quindi ispeziona .aws-sam/build per verificare la struttura del layer risultante. Confronta le gem incluse con i percorsi documentati ruby/gems/2.7.0 e ruby/lib; il lavoro è completato quando una funzione di esempio riesce a trovare il Gem senza il workaround del Makefile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description:
When using SAM to build a Ruby layer, packaging of Gems is incorrect. Gems are bundled in ruby
/lib/vendor/bundle/ruby/2.7.0 using the default bundler workflow, these Gems are not picked up by the runtime.
Per documentation, GEM_PATH (ruby/gems/2.7.0) should be used. Shared / custom code is packaged properly to RUBYLIB (ruby/lib).
Steps to reproduce the issue:
- Create new SAM application.
- Add Layer to template:
SAMBuildLayer:
Type: AWS::Serverless::LayerVersion
Properties:
ContentUri: SAMBuild
CompatibleRuntimes:
- ruby2.7
Metadata:
BuildMethod: ruby2.7
- Add directory
SAMBuildcontaining aGemfilewith valid contents. - Run
sam buildcommand. - Review results and/or test with a sample function.
Observed result:
Result of build (.aws-sam/build) contains SAMBuildLayer/ruby/lib/vendor/bundle/ruby/2.7.0/gems with bundled Gems. When attempting to run sample function, Gem is not found.
Expected result:
Gem should be packaged in ruby/gems/2.7.0 and available to function when executed. I was able to build using a Makefile:
MakeBuildLayer:
Type: AWS::Serverless::LayerVersion
Properties:
ContentUri: MakeBuild
CompatibleRuntimes:
- ruby2.7
Metadata:
BuildMethod: makefile
And Makefile in MakeBuild directory:
build-MakeBuildLayer:
bundle install --path=$(ARTIFACTS_DIR)
rm -rf $(ARTIFACTS_DIR)/ruby/2.7.0/cache && rm -rf $(ARTIFACTS_DIR)/ruby/2.7.0/bin
mkdir $(ARTIFACTS_DIR)/ruby/gems
mv $(ARTIFACTS_DIR)/ruby/2.7.0 $(ARTIFACTS_DIR)/ruby/gems
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
SAM CLI, version 0.52.0
- Lingua principale
- Python
- Stelle
- 381
- Fork
- 164
- Merge medio
- 1g 1h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aws/aws-lambda-builders
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aws/aws-lambda-builders#925 · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
aws/aws-lambda-builders#933 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 64/100
aws/aws-lambda-builders#924 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
Bug: PythonUvBuilder fails to build app with dependencies on editable installs in the workspaceApertastage/needs-triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
aws/aws-lambda-builders#892 ·
I maintainer di solito rispondono entro 2 giorni
-
stage/needs-triage type/feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
aws/aws-lambda-builders#839 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di aws/aws-lambda-builders
Issue simili
-
bug server
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
sportsdataverse/sportsdataverse-py#641 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
googleapis/google-cloud-python#18532 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno