git/list[1] front-page[2] threads[3] people[4] search[5] about
 

CI builds on GitGitGadget, was Re: [RFC/PATCH 0/5] Fix fetch regression with transport helpers

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jun 7, 2019, 05:32 UTC
Message-ID
<nycvar.QRO.7.76.6.1906070722300.789@QRFXGBC-DHN364S.ybpnyqbznva>
In-Reply-To
<xmqqr286r8ts.fsf@gitster-ct.c.googlers.com>
Hi Junio,
On Thu, 6 Jun 2019, Junio C Hamano wrote:
Show 13 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> >> I vaguely recall seeing just one 'x' once. I think last time I had a
> >> problem with truncating st_ino, but that should be fixed in e66ceca94b
> >> (clone: fix colliding file detection on APFS, 2018-11-20). So no idea
> >> how this happens again.
> >
> > Good catch. I think the reason it happens again is simply that Junio
> > picked a base commit that is older than the commit you referenced.
>
> Yeah, that is because the patch specifically targetted a single
> commit as culprit, so naturally the topic that introduced that
> commit was the place to be "fixed" ;-)
Yes, that matches my impression.

I should maybe describe a bit better what *is* tested on GitGitGadget when it runs the build & test suite for the individual branches (as opposed to the integration branches maint, master, next & pu): the Azure Pipeline obviously *cannot* be defined in `azure-pipelines.yml`, as many of those branches do not even have that file.

One of the features I like most about Azure Pipelines (yes, I really like Pipelines, they save me from so much work by enabling me to automate a *lot* in Git for Windows' maintenance, such as building and packaging quite a few of the components such as OpenSSH, cURL, etc... but I digress) is that it offers *both* to define the builds via a file that is committed *and also* in a definition that is maintained outside of the source code.

So what I did was to port azure-pipelines.yml from the former to the latter, and *that* is run on those individual branches.

As we noticed here, this opens the door for running into regressions that have been long fixed, just not in the tested branch.

Side note: many projects that want to rely on the confidence instilled by automated testing therefore change their workflow to a more "topic branches are based on master, or on the release branches' tips" one. I am not saying that you, Junio, should switch to such a workflow because you are clearly comfortable with the current one. I mention this mainly for the benefit of readers who might wonder what options they have in their own projects to deal with this.

What I usually do is a hack: this "manual" job definition tries to cherry-pick all kinds of known fixes to known regressions, and this APFS-name-collision one is just not one of them. When I find the time (hopefully next week, probably not), I shall try to take care of that.

Show 7 quoted lines
> I was wondering if the base commit _before_ the fixes, i.e. e198b3a7
> ("fetch: replace string-list used as a look-up table with a
> hashmap", 2018-09-25), failed the same test you saw problems with.
> It does predate e66ceca9 ("clone: fix colliding file detection on
> APFS", 2018-11-20), so my current theory is that it was broken
> already adn these patches that fixed a breakge had nothing to do
> with the t5601 tests failing.
Yes, I agree.

One might ask why I even bother with testing the individual branches. The reason is that bisecting breakages in `pu` is a *nightmare*. Most of those breakages are present already in the individual branches, though, so if I can catch the breakages there, I have a much easier time keeping the CI builds green.

Ciao, Dscho

Previous: Junio C Hamano
Message 18 of 18 in “Fix fetch regression with transport helpers”
  1. 0/5 Fix fetch regression with transport helpersFelipe Contreras, Jun 4, 2019
  2. 1/5 t5801 (remote-helpers): cleanup refspec stuffFelipe Contreras, Jun 4, 2019
  3. Jeff KingJun 4, 2019
  4. 2/5 t5801 (remote-helpers): add test to fetch tagsFelipe Contreras, Jun 4, 2019
  5. Jeff KingJun 4, 2019
  6. 3/5 fetch: trivial cleanupFelipe Contreras, Jun 4, 2019
  7. 5/5 fetch: fix regression with transport helpersFelipe Contreras, Jun 4, 2019
  8. Jeff KingJun 4, 2019
  9. Junio C HamanoJun 4, 2019
  10. 4/5 fetch: make the code more understandableFelipe Contreras, Jun 4, 2019
  11. Jeff KingJun 4, 2019
  12. Felipe ContrerasJun 4, 2019
  13. Johannes SchindelinJun 5, 2019
  14. Jeff KingJun 5, 2019
  15. Duy NguyenJun 5, 2019
  16. Johannes SchindelinJun 6, 2019
  17. Junio C HamanoJun 6, 2019
  18. CI builds on GitGitGadget, was Re: [RFC/PATCH 0/5] Fix fetch regression with transport helpersJohannes Schindelin, Jun 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.