Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci(windows): avoid using external gpg by mistake #447

Merged

Commits on Oct 13, 2021

  1. ci(windows): ensure that we do not pick up random executables

    On the Windows build agents, a lot of programs are installed, and added
    to the PATH automatically.
    
    One such program is Git for Windows, and due to the way it is set up,
    unfortunately its copy of `gpg.exe` is also reachable via the PATH.
    
    This usually does not pose any problems. To the contrary, it even allows
    us to test the GPG parts of Git's test suite even if `gpg.exe` is not
    delivered as part of `git-sdk-64-minimal`, the minimal subset of Git for
    Windows' SDK that we use in the CI builds to compile Git.
    
    However, every once in a while we build a new MSYS2 runtime, which means
    that there is a mismatch between the copy in `git-sdk-64-minimal` and
    the copy in C:\Program Files\Git\usr\bin. When that happens we hit the
    dreaded problem where only one `msys-2.0.dll` is expected to be in the
    PATH, and things start to fail.
    
    Let's avoid all of this by restricting the PATH to the minimal set. This
    is actually done by `git-sdk-64-minimal`'s `/etc/profile`, and we just
    have to source this file manually (one would expect that it is sourced
    automatically, but the Bash steps in Azure Pipelines/GitHub workflows
    are explicitly run using `--noprofile`, hence the need for doing this
    explicitly).
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    dscho committed Oct 13, 2021
    Configuration menu
    Copy the full SHA
    cd5242d View commit details
    Browse the repository at this point in the history