-
Notifications
You must be signed in to change notification settings - Fork 21
Description
AWS Lambda limits ZIP deployment packages to 250 MB on-disk. The Linux PowerShell release builds are ~170 MB in the current release, which takes up ~70% of that cap. (Community members' attempts at producing "slim" PowerShell containers only reduce sizes by ~30MB, which isn't a ton in broader context.)
Pure PowerShell script modules are generally quite small, but compiled CLR module assemblies or autogenerated modules (e.g. Microsoft.Graph.*, Az.*, AWS.Tools.*) can get very large.
The current architecture only allows for ~80MB of module dependencies - AWS.Tools.S3 and Microsoft.Graph.Users (with respective dependencies) breaches the 250MB cap.
Compressing the PowerShell runtime itself would:
- Free up >100MB of deployment package size (172MB vs 66 MB)
- Unblock build artifact verification (PowerShell publishes SHAs of release artifacts)
Supporting compressed module dependencies (e.g. /opt/modules-packed.zip or /opt/modules-packed/*.nupkg gets unpacked to /tmp/modules-unpacked and added to PSModulePath) could help the situation as well.