- Capture HTTP status codes from both API calls
- List all apps found (for debugging name mismatch)
- Print full JSON on failure instead of silent exit 1
- Use set -euo pipefail for strict error handling
- Jekyll build runs on every push and PR (catches errors early)
- DO deployment only triggers on push to main
- Finds app by name via DO API, triggers /apps/:id/deploy endpoint
- Uses DIGITALOCEAN_TOKEN secret for auth