|
|
|
|
|
by alkonaut
1646 days ago
|
|
> the world keeps turning if trunk has a test fail. Or a build breakage. The world stops for the other developers that were unfortunate enough to pull/rebase their work when there was a build breakage. Having people shout “don’t pull, master is broken” is more overhead than is lost on PRs. A test fail isn’t as serious as no one is completely blocked, but a CI build that has 5 test failures can easily get another 5 before 3 of the first 5 are fixed. Before the end of day 1 you have a dozen failing tests of 3-4 different ages, some of which aren’t attributed to those who broke them. Finding who should stop what they are doing and fix the test is a job that needs to be done. |
|
You can happily pull master with a test fail.
Everyone has immediate visibility.
_Anyone_ can fix it: you don't have to find _who_ fixes it.
That does presume you are OK with collective responsibility for the codebase, but I have never worked without that. If you live in that world, I feel bad for you son ;)
Given collective responsibility : If the same issue is on a branch its still there, its hidden and lives longer.
In my experience the _faster_ you find issues the cheaper they are to fix.
If the commiter is not there, and the issue is on a branch, its the same concern when someone _else_ has to merge the branch to develop. Its just been sat there longer. It likely did not show up in CI tools so fast. You came across it out of context.
If you insist one dev per branch and that dev merges, thats playing blame games. I don't find that helps team interactions. I find it better to write your code and your bugs together and fix them in plain sight.
We all know breakage is inconvenient so we all try not to do it on branches or trunk.