mirror of
https://github.com/curl/curl.git
synced 2026-05-19 16:36:24 +03:00
GHA/windows: add GnuTLS job, drop default OpenSSL for Cygwin/MSYS2 jobs
To allow selecting the TLS backend(s) for each individual job. Closes #16629
This commit is contained in:
parent
e86f99824c
commit
66313cc036
1 changed files with 25 additions and 33 deletions
58
.github/workflows/windows.yml
vendored
58
.github/workflows/windows.yml
vendored
|
|
@ -49,8 +49,8 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- { build: 'automake', platform: 'x86_64', tflags: 'skiprun', config: '', name: 'openssl R' }
|
||||
- { build: 'cmake' , platform: 'x86_64', tflags: '' , config: '-DENABLE_DEBUG=ON -DCURL_USE_OPENSSL=ON -DENABLE_THREADED_RESOLVER=OFF', name: 'openssl' }
|
||||
- { build: 'automake', platform: 'x86_64', tflags: 'skiprun', config: '--with-openssl', install: 'libssl-devel', name: 'openssl R' }
|
||||
- { build: 'cmake' , platform: 'x86_64', tflags: '' , config: '-DENABLE_DEBUG=ON -DCURL_USE_OPENSSL=ON -DENABLE_THREADED_RESOLVER=OFF', install: 'libssl-devel', name: 'openssl' }
|
||||
fail-fast: false
|
||||
steps:
|
||||
- run: git config --global core.autocrlf input
|
||||
|
|
@ -65,7 +65,6 @@ jobs:
|
|||
autoconf libtool gcc-core gcc-g++ binutils
|
||||
${{ matrix.build }} make ninja
|
||||
openssh
|
||||
libssl-devel
|
||||
libssh2-devel
|
||||
libpsl-devel
|
||||
zlib-devel
|
||||
|
|
@ -94,7 +93,6 @@ jobs:
|
|||
else
|
||||
mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-warnings --enable-werror \
|
||||
--prefix="${HOME}"/install \
|
||||
--with-openssl \
|
||||
--with-libssh2 \
|
||||
--disable-dependency-tracking \
|
||||
${{ matrix.config }}
|
||||
|
|
@ -174,20 +172,22 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '' , config: '--enable-debug --with-openssl --disable-threaded-resolver --disable-proxy', name: '!proxy' }
|
||||
- { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: 'skiprun', config: '--enable-debug --with-openssl --disable-threaded-resolver', name: 'default' }
|
||||
- { build: 'cmake' , sys: 'msys' , env: 'x86_64' , tflags: '' , config: '-DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF', name: 'default' }
|
||||
- { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '' , config: '--with-openssl', name: 'default R' }
|
||||
- { build: 'autotools', sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun', config: '--enable-debug --with-openssl --disable-threaded-resolver --disable-curldebug --enable-static=no --without-zlib', name: 'default' }
|
||||
- { build: 'autotools', sys: 'mingw64', env: 'x86_64' , tflags: '' , config: '--enable-debug --with-openssl --enable-windows-unicode --enable-ares', name: 'c-ares U' }
|
||||
# FIXME: WebSockets test results ignored due to frequent failures on native Windows:
|
||||
- { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: '' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DENABLE_ARES=ON', type: 'Debug', name: 'schannel c-ares 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', chkprefill: '_chkprefill' }
|
||||
- { build: 'cmake' , sys: 'ucrt64' , env: 'ucrt-x86_64' , tflags: 'skiprun', config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON', type: 'Release', test: 'uwp', name: 'schannel' }
|
||||
# { build: 'autotools', sys: 'ucrt64' , env: 'ucrt-x86_64' , tflags: 'skiprun', config: '--without-debug --with-schannel --enable-shared', type: 'Release', test: 'uwp', name: 'schannel' }
|
||||
- { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun', config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DCMAKE_VERBOSE_MAKEFILE=ON', type: 'Debug', cflags: '-DCURL_SCHANNEL_DEV_DEBUG', name: 'schannel dev debug' }
|
||||
- { build: 'cmake' , sys: 'mingw32', env: 'i686' , tflags: 'skiprun', config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON', type: 'Release', name: 'schannel R' }
|
||||
# MSYS
|
||||
- { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '' , config: '--enable-debug --with-openssl --disable-threaded-resolver --disable-proxy', install: 'openssl-devel', name: '!proxy' }
|
||||
- { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: 'skiprun', config: '--enable-debug --with-openssl --disable-threaded-resolver', install: 'openssl-devel', name: 'default' }
|
||||
- { build: 'cmake' , sys: 'msys' , env: 'x86_64' , tflags: '' , config: '-DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF', install: 'openssl-devel', name: 'default' }
|
||||
- { build: 'autotools', sys: 'msys' , env: 'x86_64' , tflags: '' , config: '--with-openssl', install: 'openssl-devel', name: 'default R' }
|
||||
# MinGW
|
||||
- { build: 'autotools', sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun', config: '--enable-debug --with-openssl --disable-threaded-resolver --disable-curldebug --enable-static=no --without-zlib', install: 'mingw-w64-x86_64-openssl', name: 'default' }
|
||||
- { build: 'autotools', sys: 'mingw64', env: 'x86_64' , tflags: '' , config: '--enable-debug --with-openssl --enable-windows-unicode --enable-ares', install: 'mingw-w64-x86_64-openssl', name: 'c-ares U' }
|
||||
- { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: '' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DENABLE_ARES=ON', install: '', type: 'Debug', name: 'schannel c-ares U' }
|
||||
- { build: 'cmake' , sys: 'clang64', env: 'clang-x86_64', tflags: '' , config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=OFF -DCURL_USE_GNUTLS=ON -DENABLE_UNICODE=OF', install: 'mingw-w64-clang-x86_64-gnutls', type: 'Debug', name: 'gnutls' }
|
||||
- { 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', install: '', 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', install: 'mingw-w64-clang-x86_64-openssl', type: 'Release', name: 'openssl', chkprefill: '_chkprefill' }
|
||||
- { build: 'cmake' , sys: 'ucrt64' , env: 'ucrt-x86_64' , tflags: 'skiprun', config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON', install: '', type: 'Release', test: 'uwp', name: 'schannel' }
|
||||
# { build: 'autotools', sys: 'ucrt64' , env: 'ucrt-x86_64' , tflags: 'skiprun', config: '--without-debug --with-schannel --enable-shared', install: '', type: 'Release', test: 'uwp', name: 'schannel' }
|
||||
- { build: 'cmake' , sys: 'mingw64', env: 'x86_64' , tflags: 'skiprun', config: '-DENABLE_DEBUG=ON -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON -DCMAKE_VERBOSE_MAKEFILE=ON', install: '', type: 'Debug', cflags: '-DCURL_SCHANNEL_DEV_DEBUG', name: 'schannel dev debug' }
|
||||
- { build: 'cmake' , sys: 'mingw32', env: 'i686' , tflags: 'skiprun', config: '-DENABLE_DEBUG=OFF -DBUILD_SHARED_LIBS=ON -DCURL_USE_SCHANNEL=ON -DENABLE_UNICODE=ON', install: '', type: 'Release', name: 'schannel R' }
|
||||
fail-fast: false
|
||||
steps:
|
||||
- run: git config --global core.autocrlf input
|
||||
|
|
@ -203,13 +203,13 @@ jobs:
|
|||
${{ matrix.build }} ${{ matrix.build == 'autotools' && 'make' || 'ninja' }}
|
||||
diffutils
|
||||
openssh
|
||||
openssl-devel
|
||||
zlib-devel
|
||||
brotli-devel
|
||||
libzstd-devel
|
||||
libnghttp2-devel
|
||||
libpsl-devel
|
||||
libssh2-devel
|
||||
${{ matrix.install }}
|
||||
|
||||
- uses: msys2/setup-msys2@61f9e5e925871ba6c9e3e8da24ede83ea27fa91f # v2
|
||||
if: ${{ matrix.sys != 'msys' }}
|
||||
|
|
@ -220,10 +220,10 @@ jobs:
|
|||
mingw-w64-${{ matrix.env }}-${{ matrix.build }} ${{ matrix.build == 'autotools' && 'make' || '' }}
|
||||
mingw-w64-${{ matrix.env }}-diffutils
|
||||
openssh
|
||||
mingw-w64-${{ matrix.env }}-openssl
|
||||
mingw-w64-${{ matrix.env }}-libssh2
|
||||
mingw-w64-${{ matrix.env }}-libpsl
|
||||
mingw-w64-${{ matrix.env }}-c-ares
|
||||
${{ matrix.install }}
|
||||
|
||||
- name: 'downgrade msys2-runtime'
|
||||
if: ${{ matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' && matrix.sys != 'msys' }}
|
||||
|
|
@ -350,6 +350,9 @@ jobs:
|
|||
if [ '${{ matrix.sys }}' != 'msys' ]; then
|
||||
TFLAGS+=' ~612' # SFTP
|
||||
fi
|
||||
if [ '${{ matrix.sys }}' = 'clang64' ]; then
|
||||
TFLAGS+=' ~2302 ~2303 ~2307' # permafail with clang (and also MSVC) (but works with mingw64 and ucrt64)
|
||||
fi
|
||||
if [ -x "$(cygpath "${SYSTEMROOT}/System32/curl.exe")" ]; then
|
||||
TFLAGS+=" -ac $(cygpath "${SYSTEMROOT}/System32/curl.exe")"
|
||||
fi
|
||||
|
|
@ -753,6 +756,8 @@ jobs:
|
|||
-DCURL_USE_GSASL=ON -DENABLE_ARES=ON -DCURL_USE_LIBUV=ON -DCURL_USE_GSSAPI=ON
|
||||
|
||||
- name: 'schannel MultiSSL U'
|
||||
# GnuTLS is not fully functional with MSVC, build-test only
|
||||
# https://github.com/ShiftMediaProject/gnutls/issues/23
|
||||
install: 'brotli zlib zstd libpsl nghttp2 libssh2[core,zlib] pkgconf gsasl shiftmedia-libgnutls openssl mbedtls wolfssl'
|
||||
arch: 'x64'
|
||||
plat: 'windows'
|
||||
|
|
@ -793,19 +798,6 @@ jobs:
|
|||
-DCURL_USE_GSASL=ON
|
||||
-DUSE_ECH=ON
|
||||
|
||||
- name: 'gnutls'
|
||||
install: 'brotli zlib zstd libpsl nghttp2 shiftmedia-libgnutls libssh2 pkgconf gsasl ngtcp2[gnutls] nghttp3'
|
||||
arch: 'x64'
|
||||
plat: 'windows'
|
||||
type: 'Debug'
|
||||
# GnuTLS is not fully functional on Windows, so skip the tests
|
||||
# https://github.com/ShiftMediaProject/gnutls/issues/23
|
||||
tflags: 'skiprun'
|
||||
config: >-
|
||||
-DCURL_USE_LIBSSH2=ON
|
||||
-DCURL_USE_SCHANNEL=OFF -DCURL_USE_GNUTLS=ON -DUSE_NGTCP2=ON
|
||||
-DCURL_USE_GSASL=ON
|
||||
|
||||
- name: 'mbedtls'
|
||||
install: 'brotli zlib zstd libpsl nghttp2 mbedtls libssh pkgconf gsasl'
|
||||
arch: 'x64'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue