CI/CD error Error: listen EADDRINUSE: address already in use :::3000
Something is already bound to the port your app/test server is trying to use on the CI runner.
Why this happens
- A previous job/step on a reused runner didn't shut its server down cleanly
- Two jobs on a shared runner picked the same hardcoded port
How to fix it
- Kill any process left listening on the port before starting a new one, or use a fresh container per job
- Prefer a dynamically assigned port (port `0`) or a per-job unique port instead of a hardcoded one on shared infrastructure