From: Viktor Szakats Date: Sun, 7 Jul 2024 15:23:51 +0000 (+0200) Subject: GHA/windows: usability improvements X-Git-Tag: curl-8_9_0~94 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=338f5ae680da590bad48cf2cd33e7f4b99adc729;p=thirdparty%2Fcurl.git GHA/windows: usability improvements - move `curl --version` into separate step. - move configure log to separate step. Run on success, too. - add step with `curl_config.h` dump (full and brief/sorted). - make `autoreconf` a separate step. - add each job configuration a short name. - shorten job names. Dedupe/drop redundant info, introduce abbreviations: AM = autotools, CM = CMake, U = Unicode, R = Release, not -> `!`, etc. Instead of mentioning `debug`, mentioned when it's not. - simplify `PATH` forming for MSVC jobs. It's sufficient to add the release binary directory of vcpkg, the debug one is redundant. Follow-up to e26cbe20cbedbea0ca743dd33880517309315cb2 #13979 - other minor tidy-ups. Closes #14116 --- diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 54193928be..60b61dc90d 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -41,7 +41,7 @@ permissions: {} jobs: cygwin: - name: 'cygwin (${{ matrix.build }}, ${{ matrix.platform }}, ${{ matrix.config }})' + name: "cygwin, ${{ matrix.build == 'cmake' && 'CM' || 'AM' }} ${{ matrix.platform }} ${{ matrix.name }}" runs-on: windows-latest timeout-minutes: 45 env: @@ -49,8 +49,8 @@ jobs: strategy: matrix: include: - - { build: 'automake', platform: 'x86_64', tflags: '' , config: '--enable-debug --disable-threaded-resolver' } - - { build: 'cmake' , platform: 'x86_64', tflags: 'skipall', config: '-DCURL_USE_OPENSSL=ON' } + - { build: 'automake', platform: 'x86_64', tflags: '' , config: '--enable-debug --disable-threaded-resolver', name: 'openssl' } + - { build: 'cmake' , platform: 'x86_64', tflags: 'skipall', config: '-DCURL_USE_OPENSSL=ON', name: 'openssl R' } fail-fast: false steps: - run: git config --global core.autocrlf input @@ -62,27 +62,52 @@ jobs: packages: autoconf libtool ${{ matrix.build }} gcc-core gcc-g++ binutils make libssl-devel zlib-devel libbrotli-devel libnghttp2-devel libpsl-devel libssh2-devel site: https://mirrors.kernel.org/sourceware/cygwin/ + - name: 'autotools autoreconf' + if: ${{ matrix.build == 'automake' }} + timeout-minutes: 2 + shell: C:\cygwin\bin\bash.exe '{0}' + run: autoreconf -fi + - name: 'autotools configure' if: ${{ matrix.build == 'automake' }} timeout-minutes: 5 shell: C:\cygwin\bin\bash.exe '{0}' run: | export PATH="/usr/bin:$(cygpath "${SYSTEMROOT}")/System32" - autoreconf -fi mkdir bld && cd bld && ../configure --enable-warnings --enable-werror \ --prefix="${HOME}"/install \ --enable-websockets \ --with-openssl \ --with-libssh2 \ --disable-dependency-tracking \ - ${{ matrix.config }} || { tail -n 1200 config.log; false; } + ${{ matrix.config }} + + - name: 'autotools configure log' + if: ${{ matrix.build == 'automake' && !cancelled() }} + shell: C:\cygwin\bin\bash.exe '{0}' + run: cat bld/config.log 2>/dev/null || true + + - name: 'curl_config.h' + if: ${{ matrix.build == 'automake' }} + shell: C:\cygwin\bin\bash.exe '{0}' + run: cat bld/lib/curl_config.h | grep -F '#define' | sort || true + + - name: 'curl_config.h (full)' + if: ${{ matrix.build == 'automake' }} + shell: C:\cygwin\bin\bash.exe '{0}' + run: cat bld/lib/curl_config.h || true - name: 'autotools build' if: ${{ matrix.build == 'automake' }} timeout-minutes: 10 shell: C:\cygwin\bin\bash.exe '{0}' + run: make -C bld -j5 V=1 install + + - name: 'curl version' + if: ${{ matrix.build == 'automake' }} + timeout-minutes: 1 + shell: C:\cygwin\bin\bash.exe '{0}' run: | - make -C bld -j5 V=1 install find . -name '*.exe' -o -name '*.dll' bld/src/curl.exe --disable --version @@ -90,15 +115,13 @@ jobs: if: ${{ matrix.build == 'automake' }} timeout-minutes: 5 shell: C:\cygwin\bin\bash.exe '{0}' - run: | - make -C bld -j5 V=1 examples + run: make -C bld -j5 V=1 examples - name: 'autotools build tests' if: ${{ matrix.build == 'automake' && matrix.tflags != 'skipall' }} timeout-minutes: 15 shell: C:\cygwin\bin\bash.exe '{0}' - run: | - make -C bld -j5 -C tests V=1 + run: make -C bld -j5 V=1 -C tests - name: 'autotools run tests' if: ${{ matrix.build == 'automake' && matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} @@ -124,24 +147,43 @@ jobs: -DBUILD_EXAMPLES=ON \ -DENABLE_WEBSOCKETS=ON \ -DCURL_BROTLI=ON -DUSE_NGHTTP2=ON \ - ${{ matrix.config }} || { cat bld/CMakeFiles/CMake*.yaml; false; } + ${{ matrix.config }} + + - name: 'cmake configure log' + if: ${{ matrix.build == 'cmake' && !cancelled() }} + shell: C:\cygwin\bin\bash.exe '{0}' + run: cat bld/CMakeFiles/CMake*.yaml 2>/dev/null || true + + - name: 'curl_config.h' + if: ${{ matrix.build == 'cmake' }} + shell: C:\cygwin\bin\bash.exe '{0}' + run: cat bld/lib/curl_config.h | grep -F '#define' | sort || true + + - name: 'curl_config.h (full)' + if: ${{ matrix.build == 'cmake' }} + shell: C:\cygwin\bin\bash.exe '{0}' + run: cat bld/lib/curl_config.h || true - name: 'cmake build' if: ${{ matrix.build == 'cmake' }} timeout-minutes: 10 shell: C:\cygwin\bin\bash.exe '{0}' + run: cmake --build bld --config '${{ matrix.type }}' --parallel 5 + + - name: 'curl version' + if: ${{ matrix.build == 'cmake' }} + timeout-minutes: 1 + shell: C:\cygwin\bin\bash.exe '{0}' run: | - cmake --build bld --config '${{ matrix.type }}' --parallel 5 [[ '${{ matrix.config }}' != *'BUILD_SHARED_LIBS=OFF'* ]] && cp -f -p bld/lib/*.dll bld/src/ - find . -name '*.exe' -o -name '*.dll' + find . -name '*.exe' -o -name '*.dll' | grep -v '/examples/' bld/src/curl.exe --disable --version - name: 'cmake build tests' if: ${{ matrix.build == 'cmake' && matrix.tflags != 'skipall' }} timeout-minutes: 15 shell: C:\cygwin\bin\bash.exe '{0}' - run: | - cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps + run: cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps - name: 'cmake run tests' if: ${{ matrix.build == 'cmake' && matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} @@ -155,23 +197,23 @@ jobs: ls bld/lib/*.dll >/dev/null 2>&1 && cp -f -p bld/lib/*.dll bld/tests/libtest/ cmake --build bld --config '${{ matrix.type }}' --target test-ci - msys2: - name: 'msys2 (${{ matrix.build }}, ${{ matrix.sys }}, ${{ matrix.env }}, ${{ matrix.config }}, ${{ matrix.test }})' + msys2: # both msys and mingw-w64 + name: "${{ matrix.sys == 'msys' && 'msys2' || 'mingw' }}, ${{ matrix.build == 'cmake' && 'CM' || 'AM' }} ${{ matrix.env }} ${{ matrix.name }} ${{ matrix.test }}" runs-on: windows-latest timeout-minutes: 45 strategy: matrix: include: - - { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '!19 !1233', config: '--enable-debug --disable-threaded-resolver --disable-proxy' } - - { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '!19 !504 !704 !705 !1233', config: '--enable-debug --disable-threaded-resolver' } - - { build: 'cmake' , sys: 'msys' , env: 'x86_64' , tflags: 'skipall' , config: '-DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF' } - - { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '!19 !504 !704 !705 !1233', config: '' } - - { build: 'autotools', sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun' , config: '--enable-debug --disable-threaded-resolver --disable-curldebug --enable-static=no' } + - { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '!19 !1233', config: '--enable-debug --disable-threaded-resolver --disable-proxy', name: '!proxy' } + - { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '!19 !504 !704 !705 !1233', config: '--enable-debug --disable-threaded-resolver', name: 'default' } + - { build: 'cmake' , sys: 'msys' , env: 'x86_64' , tflags: 'skipall' , config: '-DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF', name: 'default' } + - { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '!19 !504 !704 !705 !1233', config: '', name: 'default R' } + - { build: 'autotools', sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun' , config: '--enable-debug --disable-threaded-resolver --disable-curldebug --enable-static=no', name: 'default' } # FIXME: WebSockets test results ignored due to frequent failures on native Windows: - - { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: '~2301 ~2302' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON', type: 'Debug' } - - { build: 'cmake' , sys: 'ucrt64' , env: 'ucrt-x86_64' , tflags: 'skiprun' , config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DENABLE_CURLDEBUG=ON', type: 'Release' } - - { build: 'cmake' , sys: 'clang64', env: 'clang-x86_64', tflags: 'skiprun' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_OPENSSL=ON -DENABLE_UNICODE=OFF', type: 'Release' } - - { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun' , config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DBUILD_EXAMPLES=OFF', type: 'Release', test: 'uwp' } + - { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: '~2301 ~2302' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON', type: 'Debug', name: 'schannel U' } + - { build: 'cmake' , sys: 'ucrt64' , env: 'ucrt-x86_64' , tflags: 'skiprun' , config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DENABLE_CURLDEBUG=ON', type: 'Release', name: 'schannel R TrackMemory' } + - { build: 'cmake' , sys: 'clang64', env: 'clang-x86_64', tflags: 'skiprun' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_OPENSSL=ON -DENABLE_UNICODE=OFF', type: 'Release', name: 'openssl' } + - { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun' , config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DBUILD_EXAMPLES=OFF', type: 'Release', test: 'uwp', name: 'schannel R' } fail-fast: false steps: - run: git config --global core.autocrlf input @@ -192,26 +234,51 @@ jobs: mingw-w64-${{ matrix.env }}-openssl mingw-w64-${{ matrix.env }}-libssh2 + - name: 'autotools autoreconf' + if: ${{ matrix.build == 'autotools' }} + timeout-minutes: 2 + shell: msys2 {0} + run: autoreconf -fi + - name: 'autotools configure' if: ${{ matrix.build == 'autotools' }} timeout-minutes: 5 shell: msys2 {0} run: | - autoreconf -fi mkdir bld && cd bld && ../configure --enable-warnings --enable-werror \ --prefix="${HOME}"/install \ --enable-websockets \ --with-openssl \ --with-libssh2 \ --disable-dependency-tracking \ - ${{ matrix.config }} || { tail -n 1200 config.log; false; } + ${{ matrix.config }} + + - name: 'autotools configure log' + if: ${{ matrix.build == 'autotools' && !cancelled() }} + shell: msys2 {0} + run: cat bld/config.log 2>/dev/null || true + + - name: 'curl_config.h' + if: ${{ matrix.build == 'autotools' }} + shell: msys2 {0} + run: cat bld/lib/curl_config.h | grep -F '#define' | sort || true + + - name: 'curl_config.h (full)' + if: ${{ matrix.build == 'autotools' }} + shell: msys2 {0} + run: cat bld/lib/curl_config.h || true - name: 'autotools build' if: ${{ matrix.build == 'autotools' }} timeout-minutes: 10 shell: msys2 {0} + run: make -C bld -j5 V=1 install + + - name: 'curl version' + if: ${{ matrix.build == 'autotools' }} + timeout-minutes: 11 + shell: msys2 {0} run: | - make -C bld -j5 V=1 install find . -name '*.exe' -o -name '*.dll' bld/src/curl.exe --disable --version @@ -219,15 +286,13 @@ jobs: if: ${{ matrix.build == 'autotools' }} timeout-minutes: 5 shell: msys2 {0} - run: | - make -C bld -j5 V=1 examples + run: make -C bld -j5 V=1 examples - name: 'autotools build tests' if: ${{ matrix.build == 'autotools' && matrix.tflags != 'skipall' }} timeout-minutes: 10 shell: msys2 {0} - run: | - make -C bld -j5 -C tests V=1 + run: make -C bld -j5 V=1 -C tests - name: 'autotools run tests' if: ${{ matrix.build == 'autotools' && matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} @@ -277,16 +342,36 @@ jobs: -DBUILD_EXAMPLES=ON \ -DENABLE_WEBSOCKETS=ON \ -DCURL_BROTLI=ON -DUSE_NGHTTP2=ON \ - ${{ matrix.config }} || { cat bld/CMakeFiles/CMake*.yaml; false; } + ${{ matrix.config }} + + - name: 'cmake configure log' + if: ${{ matrix.build == 'cmake' && !cancelled() }} + shell: msys2 {0} + run: cat bld/CMakeFiles/CMake*.yaml 2>/dev/null || true + + - name: 'curl_config.h' + if: ${{ matrix.build == 'cmake' }} + shell: msys2 {0} + run: cat bld/lib/curl_config.h | grep -F '#define' | sort || true + + - name: 'curl_config.h (full)' + if: ${{ matrix.build == 'cmake' }} + shell: msys2 {0} + run: cat bld/lib/curl_config.h || true - name: 'cmake build' if: ${{ matrix.build == 'cmake' }} timeout-minutes: 10 shell: msys2 {0} + run: cmake --build bld --config '${{ matrix.type }}' --parallel 5 + + - name: 'curl version' + if: ${{ matrix.build == 'cmake' }} + timeout-minutes: 1 + shell: msys2 {0} run: | - cmake --build bld --config '${{ matrix.type }}' --parallel 5 [[ '${{ matrix.config }}' != *'BUILD_SHARED_LIBS=OFF'* ]] && cp -f -p bld/lib/*.dll bld/src/ - find . -name '*.exe' -o -name '*.dll' + find . -name '*.exe' -o -name '*.dll' | grep -v '/examples/' if [ '${{ matrix.test }}' != 'uwp' ]; then # UWP missing 'msvcr120_app.dll', fails with exit code 0xc0000135 bld/src/curl.exe --disable --version fi @@ -295,8 +380,7 @@ jobs: if: ${{ matrix.build == 'cmake' && matrix.tflags != 'skipall' }} timeout-minutes: 10 shell: msys2 {0} - run: | - cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps + run: cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps - name: 'cmake run tests' if: ${{ matrix.build == 'cmake' && matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} @@ -314,27 +398,27 @@ jobs: cmake --build bld --config '${{ matrix.type }}' --target test-ci old-mingw-w64: - name: 'old-mingw-w64 (${{ matrix.build }}, ${{ matrix.env }}, ${{ matrix.config }})' + name: 'old-mingw, CM ${{ matrix.env }} ${{ matrix.name }}' runs-on: windows-latest timeout-minutes: 45 strategy: matrix: include: - - build: 'cmake' + - name: 'schannel' env: '9.5.0-x86_64' dir: 'mingw64' url: 'https://github.com/brechtsanders/winlibs_mingw/releases/download/9.5.0-10.0.0-msvcrt-r1/winlibs-x86_64-posix-seh-gcc-9.5.0-mingw-w64msvcrt-10.0.0-r1.7z' config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=OFF' type: 'Release' tflags: '~2301 ~2302 ~3027' - - build: 'cmake' + - name: 'schannel U' env: '7.3.0-x86_64' dir: 'mingw64' url: 'https://downloads.sourceforge.net/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/7.3.0/threads-win32/seh/x86_64-7.3.0-release-win32-seh-rt_v5-rev0.7z' config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON' type: 'Release' tflags: '~2301 ~2302 ~3027' - - build: 'cmake' + - name: 'schannel !unity' env: '6.4.0-i686' dir: 'mingw32' url: 'https://downloads.sourceforge.net/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/6.4.0/threads-win32/dwarf/i686-6.4.0-release-win32-dwarf-rt_v5-rev0.7z' @@ -368,7 +452,6 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - name: 'cmake configure' - if: ${{ matrix.build == 'cmake' }} timeout-minutes: 5 shell: C:\msys64\usr\bin\bash.exe {0} run: | @@ -385,20 +468,38 @@ jobs: -DCURL_WERROR=ON \ -DBUILD_EXAMPLES=ON \ -DENABLE_WEBSOCKETS=ON \ - ${{ matrix.config }} || { cat bld/CMakeFiles/CMake*.yaml; false; } + ${{ matrix.config }} + + - name: 'cmake configure log' + if: ${{ !cancelled() }} + shell: C:\msys64\usr\bin\bash.exe {0} + run: cat bld/CMakeFiles/CMake*.yaml 2>/dev/null || true + + - name: 'curl_config.h' + shell: C:\msys64\usr\bin\bash.exe {0} + run: cat bld/lib/curl_config.h | grep -F '#define' | sort || true + + - name: 'curl_config.h (full)' + shell: C:\msys64\usr\bin\bash.exe {0} + run: cat bld/lib/curl_config.h || true - name: 'cmake build' - if: ${{ matrix.build == 'cmake' }} timeout-minutes: 10 shell: C:\msys64\usr\bin\bash.exe {0} run: | export PATH="$(cygpath "${USERPROFILE}")/my-cache/${{ matrix.dir }}/bin:/c/msys64/usr/bin:$PATH" cmake --build bld --config '${{ matrix.type }}' --parallel 5 + + - name: 'curl version' + timeout-minutes: 1 + shell: C:\msys64\usr\bin\bash.exe {0} + run: | [[ '${{ matrix.config }}' != *'BUILD_SHARED_LIBS=OFF'* ]] && cp -f -p bld/lib/*.dll bld/src/ + find . -name '*.exe' -o -name '*.dll' | grep -v '/examples/' bld/src/curl.exe --disable --version - name: 'cmake build tests' - if: ${{ matrix.build == 'cmake' && matrix.tflags != 'skipall' }} + if: ${{ matrix.tflags != 'skipall' }} timeout-minutes: 10 shell: C:\msys64\usr\bin\bash.exe {0} run: | @@ -406,7 +507,7 @@ jobs: cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps - name: 'cmake run tests' - if: ${{ matrix.build == 'cmake' && matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} + if: ${{ matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} timeout-minutes: 40 shell: C:\msys64\usr\bin\bash.exe {0} run: | @@ -419,7 +520,7 @@ jobs: cmake --build bld --config '${{ matrix.type }}' --target test-ci msvc: - name: 'msvc (${{ matrix.arch }}, ${{ matrix.plat }}, ${{ matrix.name }})' + name: 'msvc, CM ${{ matrix.arch }}-${{ matrix.plat }} ${{ matrix.name }}' runs-on: windows-latest timeout-minutes: 55 env: @@ -428,7 +529,7 @@ jobs: strategy: matrix: include: - - name: 'schannel' + - name: 'schannel U' install: 'brotli zlib zstd libpsl nghttp2 libssh2[core,zlib]' arch: 'x64' plat: 'windows' @@ -443,7 +544,7 @@ jobs: tflags: '~1516 ~2301 ~2302 ~2303 ~2307' config: '-DENABLE_DEBUG=ON -DENABLE_UNICODE=OFF -DCURL_USE_SCHANNEL=OFF -DCURL_BROTLI=ON -DCURL_ZSTD=ON -DCURL_USE_LIBPSL=ON -DUSE_NGHTTP2=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_LIBSSH2=ON -DCURL_USE_OPENSSL=ON -DUSE_OPENSSL_QUIC=ON' - name: 'openssl' - install: 'brotli zlib zstd nghttp2 nghttp3 openssl libssh2' + install: 'brotli zlib zstd nghttp2 nghttp3 openssl libssh2' arch: 'x64' plat: 'uwp' type: 'Debug' @@ -456,14 +557,14 @@ jobs: type: 'Debug' tflags: '~1516 ~2301 ~2302 ~2303 ~2307' config: '-DENABLE_DEBUG=ON -DENABLE_UNICODE=OFF -DCURL_USE_SCHANNEL=OFF -DCURL_BROTLI=ON -DCURL_ZSTD=ON -DCURL_USE_LIBPSL=ON -DUSE_NGHTTP2=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_LIBSSH2=ON -DCURL_USE_OPENSSL=ON' - - name: 'boringssl ECH' + - name: 'boringssl-ECH' install: 'brotli zlib zstd libpsl nghttp2 boringssl libssh2[core,zlib]' arch: 'x64' plat: 'windows' type: 'Debug' tflags: '~1516 ~2301 ~2302 ~2303 ~2307' config: '-DENABLE_DEBUG=ON -DENABLE_UNICODE=OFF -DCURL_USE_SCHANNEL=OFF -DCURL_BROTLI=ON -DCURL_ZSTD=ON -DCURL_USE_LIBPSL=ON -DUSE_NGHTTP2=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_LIBSSH2=ON -DCURL_USE_OPENSSL=ON -DUSE_HTTPSRR=ON -DUSE_ECH=ON' - - name: 'no ssl' + - name: '!ssl' install: 'brotli zlib zstd libpsl' arch: 'x64' plat: 'windows' @@ -491,8 +592,7 @@ jobs: - name: 'vcpkg build' timeout-minutes: 25 shell: bash - run: | - vcpkg x-set-installed ${{ matrix.install }} '--triplet=${{ matrix.arch }}-${{ matrix.plat }}' + run: vcpkg x-set-installed ${{ matrix.install }} '--triplet=${{ matrix.arch }}-${{ matrix.plat }}' - name: 'cmake configure' timeout-minutes: 5 @@ -515,17 +615,33 @@ jobs: -DENABLE_WEBSOCKETS=ON \ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE= \ - ${{ matrix.config }} || { cat bld/CMakeFiles/CMake*.yaml; false; } + ${{ matrix.config }} + + - name: 'cmake configure log' + if: ${{ !cancelled() }} + shell: bash + run: cat bld/CMakeFiles/CMake*.yaml 2>/dev/null || true + + - name: 'curl_config.h' + shell: bash + run: cat bld/lib/curl_config.h | grep -F '#define' | sort || true + + - name: 'curl_config.h (full)' + shell: bash + run: cat bld/lib/curl_config.h || true - name: 'cmake build' + timeout-minutes: 5 + shell: bash + run: cmake --build bld --config '${{ matrix.type }}' --parallel 5 + + - name: 'curl version' timeout-minutes: 5 shell: bash run: | - cmake --build bld --config '${{ matrix.type }}' --parallel 5 find . -name '*.exe' -o -name '*.dll' | grep -v '/examples/' if [ '${{ matrix.plat }}' != 'uwp' ]; then - export VCPKG_TRIPLET_DIR="$VCPKG_INSTALLATION_ROOT/installed/${{ matrix.arch }}-${{ matrix.plat }}" - export PATH="$PWD/bld/lib/:$VCPKG_TRIPLET_DIR/bin:$VCPKG_TRIPLET_DIR/debug/bin:$PATH" + export PATH="$PWD/bld/lib/:$VCPKG_INSTALLATION_ROOT/installed/${{ matrix.arch }}-${{ matrix.plat }}/bin:$PATH" bld/src/curl.exe --disable --version fi @@ -533,8 +649,7 @@ jobs: if: ${{ matrix.tflags != 'skipall' }} timeout-minutes: 10 shell: bash - run: | - cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps + run: cmake --build bld --config '${{ matrix.type }}' --parallel 5 --target testdeps - name: 'cmake run tests' if: ${{ matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} @@ -545,6 +660,5 @@ jobs: if [[ '${{ matrix.config }}' = *'-DUSE_WIN32_IDN=ON'* ]]; then TFLAGS+=' ~165 ~1448 ~2046 ~2047' fi - export VCPKG_TRIPLET_DIR="$VCPKG_INSTALLATION_ROOT/installed/${{ matrix.arch }}-${{ matrix.plat }}" - export PATH="$PWD/bld/lib/:$VCPKG_TRIPLET_DIR/bin:$VCPKG_TRIPLET_DIR/debug/bin:$PATH" + export PATH="$PWD/bld/lib/:$VCPKG_INSTALLATION_ROOT/installed/${{ matrix.arch }}-${{ matrix.plat }}/bin:$PATH" cmake --build bld --config '${{ matrix.type }}' --target test-ci