mbox series

[0/2] ci: fix the FreeBSD build

Message ID pull.1308.git.1659097724.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series ci: fix the FreeBSD build | expand

Message

Philippe Blain via GitGitGadget July 29, 2022, 12:28 p.m. UTC
Since 3a251bac0d1a (trace2: only include "fsync" events if we git_fsync(),
2022-07-18), the FreeBSD builds are failing in t5351.6. See
https://cirrus-ci.com/task/4577761405698048 for an example. The run at
https://cirrus-ci.com/task/6004115347079168 shows that this patch fixes the
bug.

While verifying the fix on Windows, I noticed a recent, rather terrible
performance regression: t5351 all of a sudden takes almost half an hour
[https://github.com/git/git/runs/7398490747?check_suite_focus=true#step:5:171]
to run on Windows. I found a fix, and it now passes in less than half a
minute
[https://github.com/gitgitgadget/git/runs/7578071365?check_suite_focus=true#step:5:125]
again.

Johannes Schindelin (2):
  t5351: avoid relying on `core.fsyncMethod = batch` to be supported
  t5351: avoid using `test_cmp` for binary data

 bulk-checkin.c                  |  2 ++
 t/t5351-unpack-large-objects.sh | 12 +++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)


base-commit: 23b219f8e3f2adfb0441e135f0a880e6124f766c
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1308%2Fdscho%2Ffix-t5351-on-freebsd-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1308/dscho/fix-t5351-on-freebsd-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1308

Comments

Derrick Stolee July 29, 2022, 12:58 p.m. UTC | #1
On 7/29/2022 8:28 AM, Johannes Schindelin via GitGitGadget wrote:
> Since 3a251bac0d1a (trace2: only include "fsync" events if we git_fsync(),
> 2022-07-18), the FreeBSD builds are failing in t5351.6. See
> https://cirrus-ci.com/task/4577761405698048 for an example. The run at
> https://cirrus-ci.com/task/6004115347079168 shows that this patch fixes the
> bug.

Thanks for noticing and fixing this bug. The FreeBSD build is slow
and flaky enough that I sometimes ignore its output before submitting
a series. Good that it will be green again.
 
> While verifying the fix on Windows, I noticed a recent, rather terrible
> performance regression: t5351 all of a sudden takes almost half an hour
> [https://github.com/git/git/runs/7398490747?check_suite_focus=true#step:5:171]
> to run on Windows. I found a fix, and it now passes in less than half a
> minute
> [https://github.com/gitgitgadget/git/runs/7578071365?check_suite_focus=true#step:5:125]
> again.

Thanks for speeding this up!

-Stolee
Junio C Hamano July 29, 2022, 4:02 p.m. UTC | #2
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
writes:

> performance regression: t5351 all of a sudden takes almost half an hour
> [https://github.com/git/git/runs/7398490747?check_suite_focus=true#step:5:171]
> to run on Windows. I found a fix, and it now passes in less than half a
> minute

;-)  That's impressive.
Carlo Marcelo Arenas Belón July 29, 2022, 5:51 p.m. UTC | #3
On Fri, Jul 29, 2022 at 08:58:46AM -0400, Derrick Stolee wrote:
> On 7/29/2022 8:28 AM, Johannes Schindelin via GitGitGadget wrote:
> > Since 3a251bac0d1a (trace2: only include "fsync" events if we git_fsync(),
> > 2022-07-18), the FreeBSD builds are failing in t5351.6. See
> > https://cirrus-ci.com/task/4577761405698048 for an example. The run at
> > https://cirrus-ci.com/task/6004115347079168 shows that this patch fixes the
> > bug.
> 
> Thanks for noticing and fixing this bug. The FreeBSD build is slow

It usually takes a little more than 7 minutes for a full run, which is IMHO
less (at least wall time) than the whole CI does; could you elaborate on
why being "slow" would warrant ignoring its failures?

> and flaky enough that I sometimes ignore its output before submitting
> a series. Good that it will be green again.

I'd noticed that because it runs outside GitHub actions it sometimes has
synchronization(ex [1]) issues, but that might be some bug on the integration
with Cirrus which is easily avoided by looking instead directly to their
status page:

  https://cirrus-ci.com/github/git/git

Carlo