| #*************************************************************************** |
| # _ _ ____ _ |
| # Project ___| | | | _ \| | |
| # / __| | | | |_) | | |
| # | (__| |_| | _ <| |___ |
| # \___|\___/|_| \_\_____| |
| # |
| # Copyright (C) Daniel Stenberg, <[email protected]>, 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. |
| # |
| # SPDX-License-Identifier: curl |
| # |
| ########################################################################### |
| # https://ci.appveyor.com/project/curlorg/curl/history |
| # Appveyor configuration |
| # https://www.appveyor.com/docs/appveyor-yml/ |
| |
| version: 7.50.0.{build} |
| |
| environment: |
| matrix: |
| # generated CMake-based Visual Studio Release builds |
| - job_name: "CMake, VS2008, Release x86, Schannel" |
| 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: "" |
| - job_name: "CMake, VS2022, Release x64, OpenSSL, WebSockets" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| BUILD_SYSTEM: CMake |
| PRJ_GEN: "Visual Studio 17 2022" |
| TARGET: "-A x64" |
| PRJ_CFG: Release |
| OPENSSL: ON |
| SCHANNEL: OFF |
| ENABLE_UNICODE: OFF |
| HTTP_ONLY: OFF |
| TESTING: OFF |
| SHARED: ON |
| DISABLED_TESTS: "" |
| WEBSOCKETS: ON |
| - job_name: "CMake, VS2022, Release arm64, Schannel, Static" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| BUILD_SYSTEM: CMake |
| PRJ_GEN: "Visual Studio 17 2022" |
| TARGET: "-A ARM64" |
| PRJ_CFG: Release |
| OPENSSL: OFF |
| SCHANNEL: ON |
| ENABLE_UNICODE: OFF |
| HTTP_ONLY: OFF |
| TESTING: OFF |
| SHARED: OFF |
| DISABLED_TESTS: "" |
| # generated CMake-based Visual Studio Debug builds |
| - job_name: "CMake, VS2010, Debug x64, no SSL, Static" |
| 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 ~1056" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| - job_name: "CMake, VS2022, Debug x64, Schannel, Static, Unicode" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| BUILD_SYSTEM: CMake |
| PRJ_GEN: "Visual Studio 17 2022" |
| 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 ~1056" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| - job_name: "CMake, VS2022, Debug x64, no SSL, Static" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| BUILD_SYSTEM: CMake |
| PRJ_GEN: "Visual Studio 17 2022" |
| 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 ~1056" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| - job_name: "CMake, VS2022, Debug x64, no SSL, Static, HTTP only" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| BUILD_SYSTEM: CMake |
| PRJ_GEN: "Visual Studio 17 2022" |
| TARGET: "-A x64" |
| PRJ_CFG: Debug |
| OPENSSL: OFF |
| SCHANNEL: OFF |
| ENABLE_UNICODE: OFF |
| HTTP_ONLY: ON |
| TESTING: ON |
| SHARED: OFF |
| DISABLED_TESTS: "!1139 !1501 ~1056" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| # generated CMake-based MSYS Makefiles builds (mingw cross-compiling) |
| - job_name: "CMake, mingw-w64, Debug x64, Schannel, Static, Unicode" |
| 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 ~1056" |
| ADD_PATH: "C:\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin;C:\\msys64\\usr\\bin" |
| MSYS2_ARG_CONV_EXCL: "/*" |
| BUILD_OPT: -k |
| - job_name: "CMake, mingw-w64, Debug x64, Schannel, Static, Unicode" |
| 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 ~1056" |
| ADD_PATH: "C:\\mingw-w64\\x86_64-7.2.0-posix-seh-rt_v5-rev1\\mingw64\\bin;C:\\msys64\\usr\\bin" |
| MSYS2_ARG_CONV_EXCL: "/*" |
| BUILD_OPT: -k |
| - job_name: "CMake, mingw-w64, Debug x86, Schannel, Static" |
| 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 ~1056" |
| ADD_PATH: "C:\\mingw-w64\\i686-6.3.0-posix-dwarf-rt_v5-rev1\\mingw32\\bin;C:\\msys64\\usr\\bin" |
| MSYS2_ARG_CONV_EXCL: "/*" |
| BUILD_OPT: -k |
| - job_name: "CMake, mingw, Debug x86, no SSL, Static" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| 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 ~1056" |
| ADD_PATH: "C:\\MinGW\\bin;C:\\msys64\\usr\\bin" |
| MSYS2_ARG_CONV_EXCL: "/*" |
| BUILD_OPT: -k |
| # winbuild-based builds |
| - job_name: "winbuild, VS2015, Debug" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015" |
| BUILD_SYSTEM: winbuild_vs2015 |
| DEBUG: yes |
| PATHPART: debug |
| TESTING: OFF |
| ENABLE_UNICODE: no |
| - job_name: "winbuild, VS2015, Release" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015" |
| BUILD_SYSTEM: winbuild_vs2015 |
| DEBUG: no |
| PATHPART: release |
| TESTING: OFF |
| ENABLE_UNICODE: no |
| - job_name: "winbuild, VS2017, Debug" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: winbuild_vs2017 |
| DEBUG: yes |
| PATHPART: debug |
| TESTING: OFF |
| ENABLE_UNICODE: no |
| - job_name: "winbuild, VS2017, Release" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: winbuild_vs2017 |
| DEBUG: no |
| PATHPART: release |
| TESTING: OFF |
| ENABLE_UNICODE: no |
| - job_name: "winbuild, VS2015, Debug, Unicode" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015" |
| BUILD_SYSTEM: winbuild_vs2015 |
| DEBUG: yes |
| PATHPART: debug |
| TESTING: OFF |
| ENABLE_UNICODE: yes |
| - job_name: "winbuild, VS2015, Release, Unicode" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015" |
| BUILD_SYSTEM: winbuild_vs2015 |
| DEBUG: no |
| PATHPART: release |
| TESTING: OFF |
| ENABLE_UNICODE: yes |
| - job_name: "winbuild, VS2017, Debug, Unicode" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: winbuild_vs2017 |
| DEBUG: yes |
| PATHPART: debug |
| TESTING: OFF |
| ENABLE_UNICODE: yes |
| - job_name: "winbuild, VS2017, Release, Unicode" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: winbuild_vs2017 |
| DEBUG: no |
| PATHPART: release |
| TESTING: OFF |
| ENABLE_UNICODE: yes |
| # generated VisualStudioSolution-based builds |
| - job_name: "VisualStudioSolution, VS2017, Debug" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: VisualStudioSolution |
| PRJ_CFG: "DLL Debug - DLL Windows SSPI - DLL WinIDN" |
| TESTING: OFF |
| VC_VERSION: VC14.10 |
| # autotools-based builds (NOT mingw cross-compiling, but msys2 native) |
| - job_name: "autotools, msys2, Debug, no Proxy, no SSL" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: autotools |
| TESTING: ON |
| DISABLED_TESTS: "!19 ~1056 !1233" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --without-ssl --enable-websockets" |
| - job_name: "autotools, msys2, Debug, no SSL" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: autotools |
| TESTING: ON |
| DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets" |
| - job_name: "autotools, msys2, Release, no SSL" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| BUILD_SYSTEM: autotools |
| TESTING: ON |
| DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233" |
| ADD_PATH: "C:\\msys64\\usr\\bin" |
| CONFIG_ARGS: "--enable-warnings --enable-werror --without-ssl --enable-websockets" |
| # autotools-based Cygwin build |
| - job_name: "autotools, cygwin, Debug, no SSL" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" |
| BUILD_SYSTEM: autotools |
| TESTING: ON |
| DISABLED_TESTS: "~1056" |
| ADD_PATH: "C:\\cygwin64\\bin" |
| CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets" |
| POSIX_PATH_PREFIX: "/cygdrive" |
| |
| install: |
| - if not "%ADD_PATH%"=="" ( |
| set "PATH=%ADD_PATH%;%PATH%" ) |
| |
| build_script: |
| - if %BUILD_SYSTEM%==CMake ( |
| cmake . |
| -G"%PRJ_GEN%" |
| %TARGET% |
| -DCURL_USE_OPENSSL=%OPENSSL% |
| -DCURL_USE_SCHANNEL=%SCHANNEL% |
| -DHTTP_ONLY=%HTTP_ONLY% |
| -DBUILD_SHARED_LIBS=%SHARED% |
| -DBUILD_TESTING=%TESTING% |
| -DENABLE_WEBSOCKETS=%WEBSOCKETS% |
| -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=14.10 "SSL_PATH=C:\OpenSSL-v111-Win64" WITH_SSL=dll MACHINE=x64 DEBUG=%DEBUG% ENABLE_UNICODE=%ENABLE_UNICODE% && |
| ..\builds\libcurl-vc14.10-x64-%PATHPART%-dll-ssl-dll-ipv6-sspi\bin\curl.exe -V |
| ) else ( |
| if %BUILD_SYSTEM%==autotools ( |
| bash.exe -e -l -c "cd %POSIX_PATH_PREFIX%/c/projects/curl && autoreconf -fi && ./configure %CONFIG_ARGS% && make V=1 && make V=1 examples && cd tests && make V=1" |
| ))))) |
| - if %TESTING%==ON ( |
| if %BUILD_SYSTEM%==CMake ( |
| cmake --build . --config %PRJ_CFG% --parallel 2 --target testdeps |
| )) |
| |
| test_script: |
| - if exist C:/msys64/usr/bin/curl.exe ( |
| set ACURL=-ac %POSIX_PATH_PREFIX%/c/msys64/usr/bin/curl.exe ) |
| - if exist C:/Windows/System32/curl.exe ( |
| set ACURL=-ac %POSIX_PATH_PREFIX%/c/Windows/System32/curl.exe ) |
| - if %TESTING%==ON ( |
| if %BUILD_SYSTEM%==CMake ( |
| set TFLAGS=%ACURL% %DISABLED_TESTS% && |
| cmake --build . --config %PRJ_CFG% --target test-ci |
| ) else ( |
| if %BUILD_SYSTEM%==autotools ( |
| bash.exe -e -l -c "cd %POSIX_PATH_PREFIX%/c/projects/curl && make V=1 TFLAGS='%ACURL% %DISABLED_TESTS%' test-ci" |
| ) else ( |
| bash.exe -e -l -c "cd %POSIX_PATH_PREFIX%/c/projects/curl/tests && ./runtests.pl -a -p !flaky -r -rm %ACURL% %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 |