From: Viktor Szakats Date: Thu, 17 Apr 2025 17:21:38 +0000 (+0200) Subject: GHA/windows: add 2 basic MSVC jobs to restore some CI coverage X-Git-Tag: curl-8_14_0~272 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd0ec4784c1c0f873939f33ec1a73c8739f276b9;p=thirdparty%2Fcurl.git GHA/windows: add 2 basic MSVC jobs to restore some CI coverage To keep testing these with MSVC: - UWP !ssl - arm64 build on the `windows-11-arm` runner - examples - OpenSSH-Windows (fix install on `windows-11-arm`) - `windows-2025` runner - cmake pre-fill checker Surprise: UWP doesn't support SSPI, which is required by curl's Schannel backend. Thus, no TLS support for this UWP build. It also suggests the Schannel UWP mingw-w64 binaries may be broken and just a happy build accident thanks to mingw-w64 headers being inaccurate. Building zlib + libssh2 might actually take up to 2+ minutes with vcpkg, instead of the previously estimated <1.5 minutes. Follow-up to e3912f0f9fac06d37cd1ab93cef4f01f33809f0b #17086 Follow-up to 15fb1dc7f86ad1832e0386ec7d92542f44ee9c44 #17069 Closes #17089 --- diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2c256b82b9..32afacbcc3 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -756,15 +756,42 @@ jobs: strategy: matrix: include: - - name: 'zlib libssh2' + - name: '!ssl +examples' install: 'zlib libssh2[core,zlib]' arch: 'x64' + plat: 'uwp' + type: 'Debug' + image: 'windows-2025' + tflags: 'skiprun' + config: >- + -DENABLE_DEBUG=ON + -DCURL_ENABLE_SSL=OFF + -DUSE_WIN32_IDN=ON + -DCURL_USE_LIBPSL=OFF + + - name: 'schannel +examples' + install: 'zlib libssh2[core,zlib]' + arch: 'x64' + plat: 'windows' + type: 'Debug' + chkprefill: '_chkprefill' + config: >- + -DENABLE_DEBUG=ON + -DCURL_USE_SCHANNEL=ON + -DUSE_WIN32_IDN=ON -DUSE_SSLS_EXPORT=ON + -DCURL_USE_LIBPSL=OFF + + - name: 'schannel U' + install: 'zlib libssh2[core,zlib]' + arch: 'arm64' plat: 'windows' type: 'Debug' + image: 'windows-11-arm' + openssh: 'OpenSSH-Windows' config: >- -DENABLE_DEBUG=ON -DCURL_USE_SCHANNEL=ON - -DCURL_CA_SEARCH_SAFE=ON -DUSE_WIN32_IDN=ON -DENABLE_UNICODE=ON -DUSE_SSLS_EXPORT=ON + -DUSE_WIN32_IDN=ON -DENABLE_UNICODE=ON -DUSE_SSLS_EXPORT=ON -DCURL_USE_LIBPSL=OFF #- name: 'openssl +examples' @@ -952,14 +979,16 @@ jobs: pwsh -Command 'Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0' fi else # OpenSSH-Windows - cd /d || exit 1 + cd /c || exit 1 # no D: drive on windows-11-arm runners curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 \ --location 'https://github.com/PowerShell/Win32-OpenSSH/releases/download/${{ env.openssh_windows-version }}/OpenSSH-Win64.zip' --output bin.zip unzip bin.zip rm -f bin.zip fi /c/ProgramData/chocolatey/choco.exe install --yes --no-progress --limit-output --timeout 180 --force stunnel || true - python3 -m pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary impacket + if [ '${{ matrix.image }}' != 'windows-11-arm' ]; then # save 30-60 seconds, to counteract the slower test run step + python3 -m pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary impacket + fi - name: 'downgrade msys2-runtime' if: ${{ matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} @@ -985,7 +1014,7 @@ jobs: else TFLAGS+=' ~3022' # 'SCP correct sha256 host key' SCP, server sha256 key check fi - PATH="/d/OpenSSH-Win64:$PATH" + PATH="/c/OpenSSH-Win64:$PATH" fi PATH="$PWD/bld/lib/${{ matrix.type }}:$PATH:/c/Program Files (x86)/stunnel/bin" cmake --build bld --config '${{ matrix.type }}' --target test-ci