Step 1: Check Blueprint Logs
Start by examining the build process logs. Runloop builds a Docker image behind the scenes, and you can access these logs using the Blueprint logs endpoint.{blueprint_id} with your actual Blueprint ID.
Interpreting Log Output
The logs can help you identify specific build issues. Here’s an example of what you might see:Step 2: Common Issues and Solutions
Here are some common issues you might encounter and how to resolve them:-
Blueprint Not Found:
- If you’re extending a blueprint from a public runloop blueprint, ensure you’re using the correct prefix
runloop:runloop/<blueprint_name>. - Ensure that the CPU architecture is compatible with the base image (ie. don’t mix up
arm64andx86_64).
- If you’re extending a blueprint from a public runloop blueprint, ensure you’re using the correct prefix
-
GitHub Authentication Errors:
- Ensure your
GH_TOKENis valid and has the necessary permissions. - Check that the token is correctly set in your environment variables.
- Ensure your
-
Package Installation Failures:
- Verify that your
launch_parameters.launch_commandsare correct and compatible with the base image. - Ensure you’re using the correct package manager (apt for Debian-based images).
- Verify that your
-
CodeMount Issues:
- Double-check the repository name, owner, and access permissions.
- Verify that the
install_commandis appropriate for your project.
-
Resource Constraints:
- If the build is timing out or failing due to resource limits, consider optimizing your Dockerfile or increasing resource allocations.
-
Incorrect user / UID:
- If you build a blueprint that needs to run as root (for example) and then start the devbox with a different user, the devbox will fail to start with a missing directory error. This is because the devbox is attempting to cd into a home directory that doesn’t exist. To fix this issue, specify the UID and user in the launch_parameters.
-
CPU architecture mismatch:
- Some binaries and libraries are only available for specific CPU architectures. Blueprints allow you to specify a preferred CPU architecture. Starting a Devbox with the wrong CPU architecture will result in the Devbox failing to start up correctly.
Step 3: Seeking Additional Help
If you’re still encountering issues after following these steps:- Review the Runloop Documentation for any updates or known issues.
- Reach out to Runloop support with:
- Your Blueprint ID
- The full logs from both Runloop and your local build attempts
- A description of the steps you’ve taken to troubleshoot
