Ruby Layers not properly packaged
Maintainer antworten meist innerhalb von 6 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- aws, ruby
- Bereich
- build-system, cloud
Rechercherichtung
Reproduziere das Problem mit dem Beispiel SAMBuildLayer, seiner Gemfile und sam build, und untersuche anschließend .aws-sam/build auf die resultierende Layer-Struktur. Vergleiche die gebündelten Gems mit den dokumentierten Pfaden ruby/gems/2.7.0 und ruby/lib; als erledigt gilt die Aufgabe, wenn eine Beispielfunktion das Gem ohne den Makefile-Workaround finden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Python
- Sterne
- 381
- Forks
- 161
- Ø Merge
- 5 T. 14 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus aws/aws-lambda-builders
-
python_uv: `UvConfig.compile_bytecode` is never passed to uv, so the option has no effectEvtl. vergeben @xujiantop-crypto hat das vor 47 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
aws/aws-lambda-builders#925 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 6 Tagen
-
Bytecode compiled during build is always discarded at runtime: SAM packaging writes 1980 timestamps, so timestamp-based .pyc never validateEvtl. vergeben @xujiantop-crypto hat das vor 47 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 64/100
aws/aws-lambda-builders#924 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 6 Tagen
-
Bug: PythonUvBuilder fails to build app with dependencies on editable installs in the workspaceEvtl. vergeben @noritada hat das vor 116 Tagen übernommen. Offenstage/needs-triage
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
aws/aws-lambda-builders#892 ·
Maintainer antworten meist innerhalb von 6 Tagen
-
stage/needs-triage type/feature
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
aws/aws-lambda-builders#839 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 6 Tagen
-
Feature request: Skip binary validation when builder is not used for any languageEvtl. wieder frei @saketh-bandi hat das vor 60 Tagen übernommen, und es ist kein Pull Request offen. Offenarea/build contributors/good-first-issue contributors/welcome type/feature
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
aws/aws-lambda-builders#831 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 6 Tagen
Alle Issues in aws/aws-lambda-builders
Ähnliche Issues
-
question
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
conda-forge/vc-feedstock#132 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
limitlessprojects/Go-Hybrid#3342 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
UKGovernmentBEIS/inspect_ai#6268 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
LSSTDESC/rail_sompz#42 ·
-
All tests fail with 'EXITED with status 3' on pytest 9.2.0 (TestReport._id is not marshallable)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
pytest-dev/pytest-forked#113 ·