- You write tests for functionality before you write the functionality.
- You code the functionality so the tests pass.
- Then, and only then, the test becomes a regression test and is enabled in your CI automation.
- If the test ever breaks again the merge is blocked.
I disagree. Merging should be blocked on any failing test. No commit should be merged to master with a failing test. If you want to write tests first, then do that on a feature branch, but squash the commits properly before merging. Or add them as disabled first and enable after the feature is implemented. The enabled tests must always pass on every commit on master.
The parties are not the same. One is an openly fascist party and the other is full of meek center-right neoliberals trying to keep the status quo for their wealthy donors. However neither is trying to "fix the damage" or "make it good again", except perhaps for the top 0.001%. Most working-class people are shafted either way. If the republicans get their way, most non-whites will be deported on enslaved in prisons, women will be enslaved at home, and the remaining working-class white men will struggle to sustain themselves and their (non-working) wives and families under the christofascist dictatorship of the capital. If the democrats somehow claw back from that, there will be less abject racism and sexism but the working class will still struggle to survive in an increasingly monopolized dictatorship of the capital.
Ask yourself this question: which democrat policies from the last decade directly benefit the working class? I can name maybe 3 very compromised policies that are about 60 years behind most of the world.
To paraphrase an old meme, republicans want 100 rich white men to rule over the entire world with an iron fist; democrats want 30 of those people to be LGBTQ+ women of color.
Are democrats better? Sure, a bit better. But it's not like just electing them will save you.