Subject: Re: [PATCH] test: make SYMLINKS prerequisite more robust

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Fri, 10 Feb 2023 20:39:11 +0100

On Fri, Feb 10 2023, Junio C Hamano wrote:

> Junio C Hamano <[email-masked]> writes:
>
>> Ævar Arnfjörð Bjarmason <[email-masked]> writes:
>>
>>>> I wonder if something like this is in order?
>>>
>>> I don't have much to contribute on that front, but this is really
>>> missing some "why", this worked before, why is it failing now? Do we
>>> have any idea.
>>
>> Your guess is as good as mine.  I do not do Windows.
>
> This morning, I notice that those CI jobs I ran last night that
> failed with "whoa, windows tests are somehow reporting that symlinks
> are available but not really" issue the patch in this thread were
> attempting to address has passed even for branches like 'master' and
> 'next' that do not yet have it, and it seems to be because you
> re-run these failed jobs.
>
> Whatever magic you used to fix these failing tests, thanks.
>
> Do you have an insight on why and how these were failing?  The patch
> in this thread was a band-aid without knowing why all of a sudden
> "ln -s x y && test -h y" started passing (while compat/mingw.c still
> says readlink() is not supported).  If we know that such a breakage
> is not expected, we can drop this workaroun, which would be great.

I'm not Johannes :) But as I noted upthread this failed when we went from:

	Download action repository
	'git-for-windows/setup-git-for-windows-sdk@v1'
	(SHA:cbe017cd7ae39629bf4e34fce8b1ccd211fec009)

To:

	Download action repository
	'git-for-windows/setup-git-for-windows-sdk@v1'
	(SHA:848609620edfa4c2fc64838b85fbe19e534236ee)

And now our passing "next" has:

	Download action repository
	'git-for-windows/setup-git-for-windows-sdk@v1'
	(SHA:a8e2a23eb07129d628ff6f9d5f11047b0662aeba)

If you then look at that range in that repository you'll find the
release includes:

	https://github.com/git-for-windows/setup-git-for-windows-sdk/pull/595
        https://github.com/git-for-windows/setup-git-for-windows-sdk/pull/596
	https://github.com/git-for-windows/setup-git-for-windows-sdk/pull/597

The release notes for the last of those then has:

	"Fix issue with symlink restoration on windows".

Which from some looking around seems like it might be the issue we've
been seeing, it's this commit & PR:

	https://github.com/actions/toolkit/commit/b2d865f18051b214475dae41766e9970fd68ca12
	https://github.com/actions/toolkit/pull/1291

And following that rabbit hole leads to Johannes noting that this (or a
related change) was breaking GFW:

	https://github.com/actions/toolkit/pull/1291/commits/2867e318d4d0de11b10a2887fb29dcf713559a71#r1098571737

So I think we can drop the workaround, at least as far as fixing the CI
breakages goes.