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: Local Build Testing
If the logs don’t reveal an obvious problem, you may want to build the Docker image locally. This can help identify issues specific to your development environment or configuration.2.1 Obtain the Dockerfile
Use thepreview
endpoint to get the full Docker configuration:
This command uses
jq
to extract the Dockerfile from the response and save it to a file named Dockerfile.runloop
.2.2 Build Locally
With yourDockerfile.runloop
ready, you can test and debug the build locally:
Step 3: 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
arm64
andx86_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_TOKEN
is 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_commands
are 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_command
is 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.
Step 4: 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