From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, phillip.wood@dunelm.org.uk, peff@peff.net,
me@ttaylorr.com, phillip.wood123@gmail.com,
Johannes Schindelin <johannes.schindelin@gmx.de>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH] ci: only run win+VS build & tests in Git for Windows' fork
Date: Mon, 19 Dec 2022 18:49:12 +0100 [thread overview]
Message-ID: <221219.86zgbjxnqg.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <pull.1445.git.1671461414191.gitgitgadget@gmail.com>
On Mon, Dec 19 2022, Johannes Schindelin via GitGitGadget wrote:
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> [...]
> Explicitly make CMake-based CI failures the responsibility of "Windows
> folks"
>
> Ævar and I have brain-stormed off-list what would be the best way to
> resolve the mounting frustration with CI failures that are caused by
> needing to mirror Makefile changes into the CMake-based build, a burden
> that the Git project never wanted to bear.
>
> While he still wants to improve the CMake support (which will benefit
> Git for Windows), the main driver of trying to extend CMake support to
> Linux (which does not need it because make works very well there,
> indeed) was said frustration with CI failures.
>
> A much quicker method to reduce that friction to close to nil is to
> simply disable the win+VS jobs, which is what this proposal is about.
> (Almost, at least, we still want to keep those job definitions and run
> them in Git for Windows' fork to ensure that CMake-based builds still
> work.)
>
> A very welcome side effect is to reduce the CI build time again, which
> became alarmingly long as of recent, causing friction on its own.
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1445%2Fdscho%2Fonly-run-win%2BVS-in-the-git-for-windows-fork-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1445/dscho/only-run-win+VS-in-the-git-for-windows-fork-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1445
>
> .github/workflows/main.yml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index e67847a682c..8af3c67f605 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -132,7 +132,7 @@ jobs:
> vs-build:
> name: win+VS build
> needs: ci-config
> - if: needs.ci-config.outputs.enabled == 'yes'
> + if: github.event.repository.owner.login == 'git-for-windows' && needs.ci-config.outputs.enabled == 'yes'
> env:
> NO_PERL: 1
> GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
In terms of implementation: I would like this to use ci-config.
Yes, it will take us some CI time just to spin up the image to decide on
that (only a few seconds), but it's preferrable to hardcoding
github.com/git-for-windows, as you'll be able to opt-in to this to test
changes.
The outstanding "tb/ci-concurrency" topic shows how to do that (and
tweaks an earlier submission of yours where it was similarly hardcoded).
> The purpose of these win+VS jobs is to maintain the CMake-based build
> of Git, with the target audience being Visual Studio users on Windows
> who are typically quite unfamiliar with `make` and POSIX shell
I thought the initial purpose of it was to test compiling & testing with
MSVC rather than GCC?
It's only after 4c2c38e800f (ci: modification of main.yml to use cmake
for vs-build job, 2020-06-26) that it got co-opted to test cmake too.
Whatever we do about the job at this point not discussing 4c2c38e800f in
the commit seems like a big omission, why not revert & adjust it if the
cmake part of it is a perceived hassle?
Now, I don't think that it's worth spending time on running two sets of
Windows tests all the time just to tease out GCC v.s. MSVC differences,
but I think we should still run the build on both. That takes around
~5m, and seems worth it to avoid and flag any portability issues.
Before this we test on gcc/clang/msvc, after this we'll have dropped
that last one. Whatever we do about the tests and/or cmake I think we
really should avoid compiler monoculture, and fix portability issues
early.
> A very welcome side effect is to reduce the CI build time again, which
> became alarmingly long as of recent, causing friction on its own.
I think this is a good goal, but what does the "as of recent" refer to
here? When the ASAN job was introduced?
next prev parent reply other threads:[~2022-12-19 18:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-19 14:50 [PATCH] ci: only run win+VS build & tests in Git for Windows' fork Johannes Schindelin via GitGitGadget
2022-12-19 15:04 ` Phillip Wood
2022-12-19 17:49 ` Ævar Arnfjörð Bjarmason [this message]
2022-12-20 9:35 ` Johannes Schindelin
2022-12-20 0:52 ` Junio C Hamano
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=221219.86zgbjxnqg.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.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 \
--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.
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 NNTP newsgroup(s).