- Runs on all pushes except to master branch - Also runs on pull requests - Performs linting, building, and optional testing - Provides fast feedback for development branches - Uses concurrency groups to cancel outdated runs