
Vladimir Prus wrote:
Beman Dawes wrote:
The bottom line is that I know that code works *before* it gets merged into the stable branch. That's the critical point; the exact way the testing is done is important operationally, but those details don't matter as far as the big picture goes.
Ok, and what about a case we saw in 1.34.0 -- a library fails on obscure compiler, obscure version. Nobody seems interested to fix that. Are you expecting that tests on all compilers will be run before merge to stable? Or you expect testing on just gcc and msvc?
Obviously Beman's proposal does not (and cannot) address every problem. The criteria for acceptance of the proposal is whether it improves things. At this point there shouldn't be too much doubt that it will.
I would not expect regressions of such a drastic nature that the above would be necessary.
The point of testing before actually changing the stable branch is that regressions should become very rare.
If the set of compilers tested with before merge is gcc + msvc, then there's no advantage. Both are highly conforming in recent versions, and fixes are easy. What to do about obscure compilers is not obvious.
The main problem that is addressed by this proposal is that testing tests "one thing" at a time to "one" person, so when something fails its easy to isolate without everyone looking at all the code. It also elminates the requirement that everyone be in sync with their next release simultaneously. This is obviously not scalable and the source of much agony in the past. The issue of obscure compilers is a separate problem and not helped nor hurt by this change. Robert Ramey