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

Reply via email to