3 ms·
> If it hasn't passed CI and status checks, it shouldn't be in your default branch. Broken master is inevitable in a large enough project. Really what you want
by meddlepal 6y ago
> If it hasn't passed CI and status checks, it shouldn't be in your default branch.
Broken master is inevitable in a large enough project. Really what you want is to be able quickly fix a broken master.
By all means keep a perfect master if you have a toy project but once things have several developers hacking on a project with multiple artifacts and hundreds of thousands or millions of lines of code then you need to accept a broken master.
- JoshTriplett 6y ago> once things have several developers hacking on a project with multiple artifacts and hundreds of thousands or millions of lines of code That's exactly the case where you need more strictness about passing tests and CI before getting merged. It amazes me when I come across a major project where the latest committed version often doesn't even build, let alone pass tests. Yes, there are absolutely cases where you can't test everything; for instance, if you have complex combinatorial configurations and one obscure configuration fails. But that's a far cry from "inevitable in a large enough project". On the contrary, it's more important to avoid in a larger project.