Re: [PATCH] ci(windows): ensure that we do not pick up random executables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Junio,

On Wed, 13 Oct 2021, Junio C Hamano wrote:

> >     Note: I based this on the earliest topic where it would apply without
> >     merge conflicts, js/ci-windows-update (which is unfortunately quite
> >     recent, it is not reachable from any version older than v2.33.0).
>
> So do you want this forked from v2.33.0 (and merged to 'maint' so
> that v2.33.2, if we need to issue it, would have it)?

Well, I followed your custom and based it on the oldest applicable topic,
js/ci-windows-update. My preference would be for this to be merged into
`maint` rather sooner than later, so that GitGitGadget PRs could target
`maint` and get a meaningful test coverage.

> https://github.com/git/git/actions/runs/1334961399 is the CI/PR run
> on v2.33.1 from yesterday.  Our PATH wasn't contaminated and we
> didn't see the problem you fixed here by mere luck, and you were
> unlucky when you ran the same for generating your release material?

At the time this ran, the `msys2-runtime` package was already upgraded to
a slightly newer version, and even deployed to Git for Windows' Pacman
repository. However, that change was not yet reflected in the `git-sdk-64`
repository (which is a Git mirror, tracking all the Pacman packages that
make up Git for Windows' SDK), as this repository is updated by a nightly
automated build.

As a consequence, the `git-sdk-64-minimal` build had not run, therefore
your build picked up the previous one, with the earlier `msys2-runtime`
version.

That means that the `msys-2.0.dll` file contained in `git-sdk-64-minimal`
was identical to the one in Git for Windows as installed on GitHub's build
agents.

So yes, the PATH was "contaminated". Meaning: the test suite run did pick
up the `gpg.exe` from Git for Windows. And since there was no
`msys-2.0.dll` mismatch, it did its job as intended.

The problem arose when I scrambled to get all the things I wanted to wrap
up before the next Git for Windows release, this past morning, at which
stage the `git-sdk-64-minimal` had already picked up that new
`msys2-runtime` version. As a consequence, the MSYS2 Bash we use to run
Git's test suite in the CI builds had a `msys-2.0.dll` that was different
from the one in `C:\Program Files\Git\usr\bin` (which lives next to the
`gpg.exe` and is therefore used when running that program). That, in turn,
prevented certain functionality from working. Which made the GPG-related
tests fail (maybe not even all of them).

Ciao,
Dscho




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux