understanding Auto-Test
Seb
seb at wilzba.ch
Thu Mar 22 05:16:43 UTC 2018
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
More information about the Digitalmars-d
mailing list