Re: [PATCH] ci: only run win+VS build & tests in Git for Windows' fork
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Dec 19, 2022, 15:04 UTC
- Message-ID
- <1e701a54-0356-9f55-ab53-9d8bfdd93e55@dunelm.org.uk>
- In-Reply-To
- <pull.1445.git.1671461414191.gitgitgadget@gmail.com>
Hi Dscho
On 19/12/2022 14:50, Johannes Schindelin via GitGitGadget wrote:
Show 8 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > [...] > This developer's initial hope was that it would be enough to fix win+VS > failures and provide the changes to be squashed into contributors' > patches, and that it would be worth the benefit of attracting > Windows-based developers' contributions. > > Neither of these hopes have panned out.
I'm sad that those hopes have not panned out, but I think this patch is probably the best way forward. It is certainly the lowest effort for non-windows developers and the improvement it CI minutes is very welcome.
Best Wishes
Phillip
Show 61 quoted lines
> To lower the frustration, and incidentally benefit from using way less > build minutes, let's just not run the win+VS jobs by default, which > appears to be the consensus of the mail thread leading up to > https://lore.kernel.org/git/xmqqk0311blt.fsf@gitster.g/ > > Since the Git for Windows project still needs to at least try to attract > more of said Windows-based developers, let's keep the jobs, but disable > them everywhere except in Git for Windows' fork. This will help because > Git for Windows' branch thicket is "continuously rebased" via automation > to the `shears/maint`, `shears/main`, `shears/next` and `shears/seen` > branches at https://github.com/git-for-windows/git. That way, the Git > for Windows project will still be notified early on about potential > breakages, but the Git project won't be burdened with fixing them > anymore, which seems to be the best compromise we can get on this issue. > > Signed-off-by: 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'" > > base-commit: c48035d29b4e524aed3a32f0403676f0d9128863