GHA/windows: install MSYS2 Perl manually on Windows 2025 runner

In GitHub runner image windows-2025-vs2026 v20260810.198.2, the default
Perl binary changed from MSYS2 to Strawberry. The reason is that the MSYS2
installation not longer has Perl preinstalled.

As seen in CMake configuration:
```diff
- -- Found Perl: C:/a/_temp/msys64/usr/bin/perl.exe (found version "5.42.2")
+ -- Found Perl: C:/Strawberry/perl/bin/perl.exe (found version "5.42.0")
```

curl's Perl scripts require an MSYS2 Perl. Fix by installing it manually
in this one job.

Symptom was `gencert.pl` no longer finding openssl.exe:
```
Missing or broken 'openssl' tool. openssl 1.0.2+ is required.
```
Then the script hanging while trying to trace it.

Also:
- add distinct error message and list PATH elements if openssl is not
  found via `gencert.pl`.
- tried falling back to Git for Windows Perl, which caused the test step
  to either hang or run too slowly to fit the time slot.

Refs:
https://github.com/actions/runner-images/pull/14541
https://github.com/actions/runner-images/releases/tag/win25-vs2026%2F20260810.198

Bug: https://github.com/curl/curl/pull/22577#issuecomment-5286533641
Bug: https://github.com/curl/curl/pull/22577#issuecomment-5291468024

Closes #22580
This commit is contained in:
Viktor Szakats 2026-08-14 11:27:09 +02:00
parent fe703df949
commit d854ab4673
No known key found for this signature in database
2 changed files with 2 additions and 0 deletions

View file

@ -943,6 +943,7 @@ jobs:
- name: 'openssl +examples'
install-msys2: >-
perl
mingw-w64-ucrt-x86_64-brotli
mingw-w64-ucrt-x86_64-zlib
mingw-w64-ucrt-x86_64-zstd

View file

@ -79,6 +79,7 @@ if(!$CAPREFIX) {
}
}
if(!$found) {
printf "PATH used: %s\n", join(', ', File::Spec->path());
opensslfail();
}
}