mirror of
https://github.com/curl/curl.git
synced 2025-02-23 15:10:03 +08:00
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 e26cbe20cb
#13979
- other minor tidy-ups.
Closes #14116
This commit is contained in:
parent
2c15aa5765
commit
338f5ae680
238
.github/workflows/windows.yml
vendored
238
.github/workflows/windows.yml
vendored
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user