All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Taylor Blau <me@ttaylorr.com>
Cc: Jeff King <peff@peff.net>,
	phillip.wood@dunelm.org.uk, Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org, Phillip Wood <phillip.wood123@gmail.com>,
	Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH] test-lib.sh: discover "git" in subdirs of "contrib/buildsystems/out"
Date: Tue, 06 Dec 2022 00:46:50 +0100	[thread overview]
Message-ID: <221206.864ju9e6fa.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <Y45/8WnuUnP9gOMo@nand.local>


On Mon, Dec 05 2022, Taylor Blau wrote:

> On Sat, Dec 03, 2022 at 02:41:04AM +0100, Ævar Arnfjörð Bjarmason wrote:
>> > I have similar feelings to you here. Back when cmake support was
>> > introduced, I explicitly wanted it to be something for people who cared
>> > about it, but that wouldn't bother people who didn't use it:
>> >
>> >   https://lore.kernel.org/git/20200427200852.GC1728884@coredump.intra.peff.net/
>> >
>> > I stand by that sentiment, but it seems to have crept up as a required
>> > thing to deal with, and that is mostly because of CI. Using cmake in CI
>> > is good for telling developers when a change they make has broken cmake.
>> > But it also makes cmake their problem, and not the folks interested in
>> > cmake.
>>
>> That's a bit of a pain, but I don't think the main problem is its
>> integration with CI. It's that there doesn't really seem to be an
>> interest in its active maintenance & review from its supposed main
>> target audience.
>>
>> Case in point this "ab/cmake-nix-and-ci" topic: It's been queued for
>> around 2 months now.
>
> I think CI *is* the problem here. The CMake bits are basically a black
> box to me (and I suspect a large number of other contributors, too). But
> when it breaks, the only reason we as a project end up noticing it is
> because it has fallout in CI.
>
> I would not be sad to make CI failures that are derived from CMake
> "soft" failures in the sense that they don't make the build red. But I
> think it's masking over a couple of bigger issues:
>
>   - Why do we "support" two build systems in CI if one is supposed to
>     only be here for those that care about it? IOW, even if we say that
>     CMake support is nominally an opt-in thing, in reality it isn't
>     because of the dependency via CI.

I'm just trying to point out that that wouldn't be such a big deal if
the cmake parts were being actively maintained.

>   - Why do we only *notice* these failures in CI? I found during my time
>     as interim-maintainer the task of tracking down CI failures to quite
>     frustrating. It is often quite difficult to reproduce CI failures
>     locally (especially with exotic build and test configurations[^1]).
>
> It would be nice to be able to more easily see these failures locally
> before they hit CI. E.g., is it possible that I would work on a feature
> which somehow breaks the CMake build, and fail to notice it if I use
> "make" locally?

Yes, some things will just work. E.g. it regex-parses out the Makefile
to pick up the list of built-ins, so when we add a new one we'd usually
not need to patch the cmake bits. Although that regex parsing is its own
problem for some Makefile changes.

To be fair the cases where we've needed to keep it in lockstep since it
was added aren't that many. If you skim this and look for commits that
alter both (or cmake quickly after the Makefile) you can spot them:

      git log --oneline --no-merges --full-diff --stat 1c966423263..origin/master -- contrib/buildsystems/CMakeLists.txt -- Makefile 

> Personally, I would not be sad to see CMake removed from the tree
> entirely because it has not seen enough maintenance and seems to be
> quite a headache.
>
> Thanks,
> Taylor
>
> [^1]: Not to mention non-Linux failures, though I think that is sort of
>   par for the course if you're not using one of those platforms
>   yourself.

I wouldn't mind either to see it gone, but when that was last discussed
some people chimed in to say that it really made things easier on
Windows, and I'm inclined to believe them.

So I'm not trying to take their toys away, just changing it so that if
you run into these cmake issues it'll be trivial to debug them, as
you'll be able to test & run it outside of Windows.

Now, I'm about to send out a v6 of it, which should address the last
remaining Windows/VS issues.

I'm not testing directly there, as I don't have such an installation, so
it's possible I'm wrong. Maybe it works in CI, but still breaks for some
reason when driven from VS.

But I think if we can't get anyone who's running Windows+VS to be
interested enough in this to test it the better thing is to just take
this series.

Maybe it breaks some subtle aspect of the VS integration, but then
that'll be easier to fix on top than recovering from a "git rm" of it.

  reply	other threads:[~2022-12-06  0:12 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-29  9:40 What's cooking in git.git (Nov 2022, #07; Tue, 29) Junio C Hamano
2022-11-29 18:59 ` ab/remove--super-prefix and -rc0 (was What's cooking in git.git (Nov 2022, #07; Tue, 29)) Glen Choo
2022-11-30  3:43   ` Junio C Hamano
2022-11-30 18:14     ` Glen Choo
2022-11-30 19:43       ` Ævar Arnfjörð Bjarmason
2022-12-01  5:20         ` Junio C Hamano
2022-12-01 17:44         ` Glen Choo
2022-12-01 21:26           ` Junio C Hamano
2022-11-29 19:08 ` What's cooking in git.git (Nov 2022, #07; Tue, 29) Glen Choo
2022-11-30  3:45   ` Junio C Hamano
2022-11-30 18:08     ` Glen Choo
2022-11-29 21:16 ` ds/bundle-uri-4 (was Re: What's cooking in git.git (Nov 2022, #07; Tue, 29)) Derrick Stolee
2022-12-01 15:06   ` Derrick Stolee
2022-12-02  0:25     ` Junio C Hamano
2022-11-30  9:57 ` ab/cmake-nix-and-ci " Phillip Wood
2022-11-30 10:16   ` Ævar Arnfjörð Bjarmason
2022-12-01 14:23     ` Phillip Wood
2022-12-01 16:39       ` [PATCH] test-lib.sh: discover "git" in subdirs of "contrib/buildsystems/out" Ævar Arnfjörð Bjarmason
2022-12-01 16:48         ` Phillip Wood
2022-12-01 17:13           ` Ævar Arnfjörð Bjarmason
2022-12-01 23:00         ` Junio C Hamano
2022-12-02 15:14           ` Phillip Wood
2022-12-02 16:40             ` Ævar Arnfjörð Bjarmason
2022-12-02 23:10               ` Jeff King
2022-12-03  1:12                 ` Junio C Hamano
2022-12-03  1:41                 ` Ævar Arnfjörð Bjarmason
2022-12-05  9:15                   ` Jeff King
2022-12-05 23:34                   ` Taylor Blau
2022-12-05 23:46                     ` Ævar Arnfjörð Bjarmason [this message]
2022-12-06  0:35                       ` Taylor Blau
2022-12-06  1:36                     ` Jeff King
2022-12-06  1:43                       ` Ævar Arnfjörð Bjarmason
2022-12-06  2:05                         ` Jeff King
2022-12-06  2:19                           ` Ævar Arnfjörð Bjarmason
2022-12-06  3:52                             ` Junio C Hamano
2022-12-06  9:54                               ` Phillip Wood
2022-12-06 10:57                                 ` Ævar Arnfjörð Bjarmason
2022-12-08  9:29                                   ` ab/cmake-nix-and-ci, was " Johannes Schindelin
2022-12-08 11:34                                     ` Ævar Arnfjörð Bjarmason
2022-12-09  3:48                                     ` Junio C Hamano
2022-12-09 13:55                                       ` Ævar Arnfjörð Bjarmason
2022-12-07  1:00                           ` Taylor Blau
2022-11-30 10:02 ` What's cooking in git.git (Nov 2022, #07; Tue, 29) Phillip Wood

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=221206.864ju9e6fa.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    --cc=me@ttaylorr.com \
    --cc=peff@peff.net \
    --cc=phillip.wood123@gmail.com \
    --cc=phillip.wood@dunelm.org.uk \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.