From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Jeff King <peff@peff.net>
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Martin Ågren" <martin.agren@gmail.com>,
git@vger.kernel.org, "Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH v3] doc-diff: don't `cd_to_toplevel`
Date: Thu, 7 Feb 2019 22:42:51 +0100 (STD) [thread overview]
Message-ID: <nycvar.QRO.7.76.6.1902072234390.41@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <20190207204910.GB28893@sigill.intra.peff.net>
Hi Peff,
On Thu, 7 Feb 2019, Jeff King wrote:
> On Thu, Feb 07, 2019 at 04:41:57PM +0100, Johannes Schindelin wrote:
>
> > > I think this can be limited to the tests that failed, which makes things
> > > much faster. I.e., we run the tests at the tip of topic X and see that
> > > t1234 fails. We then go back to the fork point and we just need to run
> > > t1234 again. If it succeeds, then we blame X for the failure. If it
> > > fails, then we consider it a false positive.
> >
> > If you mean merge bases by fork points, I wrote an Azure Pipeline to do
> > that (so that I could use the cloud as kind of a fast computer), but that
> > was still too slow.
> >
> > Even when there are even only as much as 12 merge bases to test (which is
> > the current number of merge bases between `next` and `pu`), a build takes
> > roughly 6 minutes on Windows, and many tests take 1 minute or more to run
> > (offenders like t7003 and t7610 take over 400 seconds, i.e. roughly 6
> > minutes), we are talking about roughly 1.5h *just* to test the merge
> > bases.
>
> I was assuming you're testing individual topics from gitster/git here
> (which admittedly is more CPU in total than just the integration
> branches, but it at least parallelizes well).
Indeed. And there, I can usually figure out really quickly myself (but
manually) what is going wrong.
Hopefully we have Azure Pipelines enabled on https://github.com/git/git
soon, with PR builds that include Windows (unlike our current Travis
builds), so that contributors have an easier time to test their code in an
automated fashion.
I also have on my backlog a task to include `sparse` in the Azure
Pipelines jobs. That should take care of even more things in a purely
automated fashion, as long as the contributors look at those builds.
> So with that assumption, I was thinking that you'd just look for the
> merge-base of HEAD and master, which should give you a single point for
> most topics. For inter-twined topics there may be more merge bases, but
> I actually think for our purposes here, just testing the most recent one
> is probably OK. I.e., we're just trying to have a vague sense of whether
> the test failure is due to new commits or old.
Oh, I am typically looking only at the latest commits up until I hit a
merge commit. Usually that already tells me enough, and if not, a bisect
is really quick on a linear history.
I guess my dumb branch^{/^Merge} to find the next merge commit works, but
it is a bit unsatisfying that we do not have a more robust way to say
"traverse the commit history until finding a merge commit, then use that".
> I think Junio's suggestion to just pick some common release points would
> work OK in practice, too. It's possible that some other topic made it to
> master with a breakage, but in most cases, I think these sorts of
> failures are often more coarsely-grained (especially if Junio pays
> attention to the CI results before merging).
If Junio wants to experiment with that, sure, I'm all for it.
Ciao,
Dscho
next prev parent reply other threads:[~2019-02-07 21:43 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-03 8:35 [PATCH] doc-diff: don't `cd_to_toplevel` before calling `usage` Martin Ågren
2019-02-03 9:08 ` Eric Sunshine
2019-02-03 9:11 ` Eric Sunshine
2019-02-03 10:35 ` Martin Ågren
2019-02-03 11:01 ` Eric Sunshine
2019-02-03 11:08 ` [PATCH v2] " Martin Ågren
2019-02-03 23:01 ` Jeff King
2019-02-04 20:50 ` [PATCH v3] doc-diff: don't `cd_to_toplevel` Martin Ågren
2019-02-04 23:34 ` Jeff King
2019-02-05 10:34 ` Johannes Schindelin
2019-02-05 18:45 ` Junio C Hamano
2019-02-06 12:20 ` Johannes Schindelin
2019-02-06 17:24 ` Junio C Hamano
2019-02-06 18:55 ` Jeff King
2019-02-07 15:41 ` Johannes Schindelin
2019-02-07 17:37 ` Junio C Hamano
2019-02-07 21:34 ` Johannes Schindelin
2019-02-07 20:49 ` Jeff King
2019-02-07 21:42 ` Johannes Schindelin [this message]
2019-02-06 18:49 ` Jeff King
2019-02-07 14:26 ` Johannes Schindelin
2019-02-07 20:45 ` Jeff King
2019-02-07 21:57 ` Johannes Schindelin
2019-02-08 2:53 ` Jeff King
2019-02-08 4:34 ` Jeff King
2019-02-08 0:58 ` SZEDER Gábor
2019-02-08 2:51 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=nycvar.QRO.7.76.6.1902072234390.41@tvgsbejvaqbjf.bet \
--to=johannes.schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=martin.agren@gmail.com \
--cc=peff@peff.net \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).