On Thursday, 22 March 2018 at 05:00:07 UTC, John Belmonte wrote:
On Thursday, 22 March 2018 at 04:25:00 UTC, Seb wrote:
- Every time a PR is merged at dmd, druntime or phobos ALL
auto-tester results get invalidated
If a change on the destination branch causes a PR to require an
automatic merge, certainly build and tests should be rerun.
But if the two changes are unrelated do the results of all
pending PR's need to be invalidated?
Well, auto-tester is in place for a few years already. Its git
history [1] goes back to 2010, but I assume the auto-tester to be
even older.
Back in these old, dark ages, a commit in another PR (even if
it's a different repo), was a bit more likely to break the
current PR.
Nowadays, that's a lot less common, but still happens from time
to time (e.g. you make a PR to deprecate sth., but in the
meanwhile a new usage got added to Phobos or a new @safe-ty
violation got added).
Anyhow, the idea is to guarantee that `master` is always
buildable and passes all tests no matter what and this constant
invalidation is the only way to deal with this as there's no way
to automatically determine whether the new changes in master are
really unrelated.
Note that what the auto-tester does for you automatically, is
very similar to GitHub's "Require branches to be up to date
before merging" branch setting, except that instead of manually
needing to rebase the branch all the time, auto-tester does the
rebases automatically and is "cross-repository aware".
[1] https://github.com/braddr/at-client