Continuous integration

Automate builds, tests, and code quality checks on every commit. Catch issues early and keep your main branch releasable at all times.