mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
60efeb1e0d
Let's try to actually handle the server unexpectedly alive case by first making them visible on CI builds as failures. This is needed to detect issues with killing of the test servers completely including nested process chains with multiple PIDs per test server (including bash and perl). On Windows/cygwin platforms this is especially helpful with debugging PID mixups due to cygwin using its own PID space. Reviewed-by: Daniel Stenberg Closes #7180
319 lines
11 KiB
YAML
319 lines
11 KiB
YAML
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
#
|
|
# This software is licensed as described in the file COPYING, which
|
|
# you should have received as part of this distribution. The terms
|
|
# are also available at https://curl.se/docs/copyright.html.
|
|
#
|
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
# copies of the Software, and permit persons to whom the Software is
|
|
# furnished to do so, under the terms of the COPYING file.
|
|
#
|
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
# KIND, either express or implied.
|
|
#
|
|
###########################################################################
|
|
|
|
version: 7.50.0.{build}
|
|
|
|
environment:
|
|
matrix:
|
|
# generated CMake-based Visual Studio Release builds
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 9 2008"
|
|
PRJ_CFG: Release
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: OFF
|
|
SHARED: ON
|
|
DISABLED_TESTS: ""
|
|
COMPILER_PATH: ""
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 16 2019"
|
|
TARGET: "-A x64"
|
|
PRJ_CFG: Release
|
|
OPENSSL: ON
|
|
SCHANNEL: OFF
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: OFF
|
|
SHARED: ON
|
|
DISABLED_TESTS: ""
|
|
COMPILER_PATH: ""
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 16 2019"
|
|
TARGET: "-A ARM64"
|
|
PRJ_CFG: Release
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: OFF
|
|
SHARED: OFF
|
|
DISABLED_TESTS: ""
|
|
COMPILER_PATH: ""
|
|
# generated CMake-based Visual Studio Debug builds
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 10 2010 Win64"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: OFF
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
COMPILER_PATH: ""
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 16 2019"
|
|
TARGET: "-A x64"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: ON
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "~571 !1139 !1501 "
|
|
COMPILER_PATH: ""
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 16 2019"
|
|
TARGET: "-A x64"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: OFF
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "~571 !1139 !1501"
|
|
COMPILER_PATH: ""
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "Visual Studio 16 2019"
|
|
TARGET: "-A x64"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: OFF
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: ON
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
COMPILER_PATH: ""
|
|
# generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: ON
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
COMPILER_PATH: "C:\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin"
|
|
MSYS2_ARG_CONV_EXCL: "/*"
|
|
BUILD_OPT: -k
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: ON
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
COMPILER_PATH: "C:\\mingw-w64\\x86_64-7.2.0-posix-seh-rt_v5-rev1\\mingw64\\bin"
|
|
MSYS2_ARG_CONV_EXCL: "/*"
|
|
BUILD_OPT: -k
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
COMPILER_PATH: "C:\\mingw-w64\\i686-6.3.0-posix-dwarf-rt_v5-rev1\\mingw32\\bin"
|
|
MSYS2_ARG_CONV_EXCL: "/*"
|
|
BUILD_OPT: -k
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: OFF
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
COMPILER_PATH: "C:\\MinGW\\bin"
|
|
MSYS2_ARG_CONV_EXCL: "/*"
|
|
BUILD_OPT: -k
|
|
# winbuild-based builds
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: winbuild_vs2015
|
|
DEBUG: yes
|
|
PATHPART: debug
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: no
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: winbuild_vs2015
|
|
DEBUG: no
|
|
PATHPART: release
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: no
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: winbuild_vs2017
|
|
DEBUG: yes
|
|
PATHPART: debug
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: no
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: winbuild_vs2017
|
|
DEBUG: no
|
|
PATHPART: release
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: no
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: winbuild_vs2015
|
|
DEBUG: yes
|
|
PATHPART: debug
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: yes
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: winbuild_vs2015
|
|
DEBUG: no
|
|
PATHPART: release
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: yes
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: winbuild_vs2017
|
|
DEBUG: yes
|
|
PATHPART: debug
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: yes
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: winbuild_vs2017
|
|
DEBUG: no
|
|
PATHPART: release
|
|
TESTING: OFF
|
|
ENABLE_UNICODE: yes
|
|
# generated VisualStudioSolution-based builds
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: VisualStudioSolution
|
|
PRJ_CFG: "DLL Debug - DLL Windows SSPI - DLL WinIDN"
|
|
TESTING: OFF
|
|
VC_VERSION: VC15
|
|
# autotools-based builds (NOT mingw cross-compiling, but msys2 native)
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: autotools
|
|
TESTING: ON
|
|
DISABLED_TESTS: "!19 ~1056 !1233"
|
|
CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --with-schannel"
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: autotools
|
|
TESTING: ON
|
|
DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233"
|
|
CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --with-schannel"
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
BUILD_SYSTEM: autotools
|
|
TESTING: ON
|
|
DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233"
|
|
CONFIG_ARGS: "--enable-warnings --enable-werror --with-schannel"
|
|
|
|
install:
|
|
- set "PATH=C:\msys64\usr\bin;%PATH%"
|
|
- if not "%COMPILER_PATH%"=="" (
|
|
set "PATH=%COMPILER_PATH%;%PATH%" )
|
|
|
|
build_script:
|
|
- if %BUILD_SYSTEM%==CMake (
|
|
cmake .
|
|
-G"%PRJ_GEN%"
|
|
%TARGET%
|
|
-DCMAKE_USE_OPENSSL=%OPENSSL%
|
|
-DCMAKE_USE_SCHANNEL=%SCHANNEL%
|
|
-DHTTP_ONLY=%HTTP_ONLY%
|
|
-DBUILD_SHARED_LIBS=%SHARED%
|
|
-DBUILD_TESTING=%TESTING%
|
|
-DCURL_WERROR=ON
|
|
-DENABLE_DEBUG=ON
|
|
-DENABLE_UNICODE=%ENABLE_UNICODE%
|
|
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=""
|
|
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=""
|
|
-DCMAKE_INSTALL_PREFIX="C:/CURL"
|
|
-DCMAKE_BUILD_TYPE=%PRJ_CFG% &&
|
|
cmake --build . --config %PRJ_CFG% --parallel 2 --clean-first -- %BUILD_OPT%
|
|
) else (
|
|
if %BUILD_SYSTEM%==VisualStudioSolution (
|
|
cd projects &&
|
|
.\\generate.bat %VC_VERSION% &&
|
|
msbuild.exe /p:Configuration="%PRJ_CFG%" "Windows\\%VC_VERSION%\\curl-all.sln"
|
|
) else (
|
|
if %BUILD_SYSTEM%==winbuild_vs2015 (
|
|
call buildconf.bat &&
|
|
cd winbuild &&
|
|
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 &&
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 &&
|
|
nmake /f Makefile.vc mode=dll VC=14 "SSL_PATH=C:\OpenSSL-v111-Win64" WITH_SSL=dll MACHINE=x64 DEBUG=%DEBUG% ENABLE_UNICODE=%ENABLE_UNICODE% &&
|
|
..\builds\libcurl-vc14-x64-%PATHPART%-dll-ssl-dll-ipv6-sspi\bin\curl.exe -V
|
|
) else (
|
|
if %BUILD_SYSTEM%==winbuild_vs2017 (
|
|
call buildconf.bat &&
|
|
cd winbuild &&
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" &&
|
|
nmake /f Makefile.vc mode=dll VC=15 "SSL_PATH=C:\OpenSSL-v111-Win64" WITH_SSL=dll MACHINE=x64 DEBUG=%DEBUG% ENABLE_UNICODE=%ENABLE_UNICODE% &&
|
|
..\builds\libcurl-vc15-x64-%PATHPART%-dll-ssl-dll-ipv6-sspi\bin\curl.exe -V
|
|
) else (
|
|
if %BUILD_SYSTEM%==autotools (
|
|
bash.exe -e -l -c "cd /c/projects/curl && ./buildconf && ./configure %CONFIG_ARGS% && make && make examples && cd tests && make"
|
|
)))))
|
|
- if %TESTING%==ON (
|
|
if %BUILD_SYSTEM%==CMake (
|
|
cmake --build . --config %PRJ_CFG% --parallel 2 --target testdeps
|
|
))
|
|
|
|
test_script:
|
|
- if %TESTING%==ON (
|
|
if %BUILD_SYSTEM%==CMake (
|
|
set TFLAGS=%DISABLED_TESTS% &&
|
|
cmake --build . --config %PRJ_CFG% --target test-nonflaky
|
|
) else (
|
|
echo APPVEYOR_API_URL=%APPVEYOR_API_URL% &&
|
|
bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a -p -u !flaky %DISABLED_TESTS%" ))
|
|
|
|
# select branches to avoid testing feature branches twice (as branch and as pull request)
|
|
branches:
|
|
only:
|
|
- master
|
|
- /\/ci$/
|
|
|
|
artifacts:
|
|
- path: '**/curl.exe'
|
|
name: curl
|
|
- path: '**/*curl*.dll'
|
|
name: libcurl
|