amplify-hosting icon indicating copy to clipboard operation
amplify-hosting copied to clipboard

Adding caching options to amplify.yml causes "Build container ran out of memory"

Open armenr opened this issue 1 year ago • 2 comments

Before opening, please confirm:

Amplify Hosting feature

Deployments

Is your feature request related to a problem? Please describe:

When I add the following to my amplify.yaml, my builds begin to fail with the error message: Build container ran out of memory

  cache:
    paths:
      - node_modules/**/*
      - $(pnpm store path)

I can confirm that the build logs show our code builds successfully, all the way to the end of our build steps...and the failure happens after our frontend is already built and ready to be deployed.

Removing the cache settings returns our build pipelines to a working condition.

We're using pnpm version 9 with workspaces and the following .npmrc settings:

shamefully-hoist=true
package-import-method=copy
link-workspace-packages=false

Based on information I've found in other issues, I even do the following in our pipeline, in an attempt to side-step memory-related limitations for my builds:

      commands:
        - |
          # Set up swap space
          echo "Setting up swap space..."
          sudo fallocate -l 32G /swapfile
          sudo chmod 600 /swapfile
          sudo mkswap /swapfile
          sudo swapon /swapfile
          sudo swapon -s
          echo "Done setting up swap space!"

Describe how you'd like this feature to work

We'd like to benefit from using the cache for faster builds.

armenr avatar Apr 26 '24 21:04 armenr

This has been identified as a feature request. If this feature is important to you, we strongly encourage you to give a 👍 reaction on the request. This helps us prioritize new features most important to you. Thank you!

github-actions[bot] avatar Apr 26 '24 21:04 github-actions[bot]

Can you please try just

  cache:
    paths:
      - "$(pnpm store path)"

I think that node_modules is just soft links over pnpm cache so you are storing information twice.

CGarces avatar May 05 '24 09:05 CGarces