-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build fails with 'no space left on device' if "too many" packages are installed in builder #54
Comments
Analysis: This happens because the builder creates temp fs in multiple places and their size is hardcoded to 2G https://github.com/search?q=repo%3Agardenlinux%2Fbuilder%202G&type=code It works when using 4G instead like in this commit |
Reasoning for having a hard-coded limit: Make the build reproducible. It should not randomly fail based on how much memory the build machine has. 2G seems large enough for building the Garden Linux image, but it does not seem to be enough for the Dev Image. |
Potential Solution 1Increase hard-coded size #53 Pro:
Con:
|
Potential Solution 2Add a build script like Pro:
Con:
|
Potential Solution 3Allow features to declare how much space they need Assuming I have 3 features:
Pro:
Con:
|
Potential Solution 4Introduce a new The file is placed in the root of any directory/git repo containing an image definition. If the file is absent, or does not define all values, the values should still have a sensible default value. The builder_exmple repo will get a The file is in a format so it can be sourced by a shell For example TEMPFS_SIZE=4G Pro:
Con:
Potential issues:
Potentially this could also replace APT_REPO=http://deb.debian.org/debian
VERSION=trixie
TEMPFS_SIZE=4G And not needing the |
In some cases the current hard-coded size limit for tempfs makes it impossible to build images with the builder. This change introduces a new config interface via a 'build.config' file which builder users might use to override selected variables. Fixes #54
What happened:
I'm building an image using the builder and the build fails with 'no space left on device' while installing packages.
What you expected to happen:
My build should work.
How to reproduce it (as minimally and precisely as possible):
Github actions workflow: https://github.com/gardenlinux/dev-image/actions/runs/7448117408/job/20261765952?pr=3
Try building this commit: https://github.com/gardenlinux/dev-image/tree/ba57ad53a8d8a4af1f01daf1a0f6862674ef76d7
The text was updated successfully, but these errors were encountered: