Debug a Failing Build
SSH into an ephemeral VM to diagnose and fix build failures
Your build is failing in CI but passes locally. Instead of guessing, forge a clean server and debug it interactively.
The workflow
# Forge a server with your repo — longer TTL for debugging
gibil create --name debug \
--repo https://github.com/you/project \
--ttl 60
# SSH in
gibil ssh debug
# You're on the VM now — reproduce the issue
cd /root/project
pnpm install
pnpm build # see the actual error
# Fix and retry
vim src/problem-file.ts
pnpm build # does it pass?
# When done
exit
gibil destroy debugCheck cloud-init logs
If the server itself isn't booting correctly, check what cloud-init did:
gibil ssh debug
# Full cloud-init log
cat /var/log/cloud-init-output.log
# Check if tasks completed
ls -la /root/.gibil-ready # infra is set up
ls -la /root/.gibil-tasks-done # all tasks passed
ls -la /root/.gibil-tasks-failed # a task failedCompare environments
Your local machine and the Gibil VM might differ. Common differences:
# On the VM
node --version # v20.x (from .gibil.yml)
pnpm --version # latest
cat /etc/os-release # Ubuntu 24.04
docker --version # if services defined
env | grep DATABASE # check env varsNext steps
- Troubleshooting — common issues and fixes
- Configuration — customize the VM setup