The code is already on GitHub — using Actions meant zero context switching, no new accounts, no webhooks to configure between separate services. Everything lives in one place: code, CI config, container registry (GHCR), and
secrets.
What I considered:
- CircleCI / Travis CI — great products, but another paid account, another dashboard, another integration to maintain. The value over Actions for a solo project isn't there.
- GitLab CI — arguably more powerful, but migrating to GitLab just for CI made no sense.
- Self-hosted Woodpecker/Drone — interesting, but I'm already running my own VPS with Coolify. Adding a CI server means more infra to babysit.
- Coolify's built-in CI — handles deploys well, but not deep enough for running integration tests against a real database.