3 ms·
Those kind of refactorings are what really made me believe in CI and good unit tests. It doesn't pass? You don't commit it!
by voltagex_ 11y ago
Those kind of refactorings are what really made me believe in CI and good unit tests. It doesn't pass? You don't commit it!
- vfc1 11y agoBut if the CI breaks means you already committed it, and it will get pushed to production, too late!
- lobo_tuerto 11y agoNo, that's exactly what CI services an pushing to candidate branches are for.
- gamegoblin 11y agoIf one's CI does not have a pre-production stage with integration tests, automatic blockers, and automatic rollback, one should rethink their CI design.
- softawre 11y agoGerrit is a thing (and you should run your tests locally, if you can)
- voltagex_ 11y agoSorry, I should have said "if it doesn't build, you don't merge it"
- aprdm 11y agocommit -> CI -> PASSES TESTS -> DEPLOY how is it going to be pushed to production if it fails tests ? :P
- draw_down 11y agoHow will it get pushed to production if there is no build artifact, because the build failed? This is what CI is.
- aardvark179 11y agoYes, but the point is that sort of change requires _REALLY_ good unit tests. Do you have a check that every place where an integer is parsed from a string will correctly handle the error of the string not being an integer within the required range?
- nostrademons 11y agoIt seems like a good fuzzer would catch this - it's pretty common for fuzzers to stick strangely formatted (negative, out-of-range, octal, etc.) numbers in input text.