mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
a1d73a6bbf
Also: - use double quotes in all batch if statements. Closes #11994
382 lines
14 KiB
YAML
382 lines
14 KiB
YAML
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) 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.
|
|
#
|
|
# 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:
|
|
UNITY: "OFF"
|
|
OPENSSL: "OFF"
|
|
DEBUG: "ON"
|
|
SHARED: "OFF"
|
|
RUN: "ON"
|
|
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
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "OFF"
|
|
SHARED: "ON"
|
|
DISABLED_TESTS: ""
|
|
# MSVCR90.dll missing
|
|
RUN: "OFF"
|
|
- job_name: "CMake, VS2022, Release x64, OpenSSL, WebSockets, Unity"
|
|
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"
|
|
UNITY: "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
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "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
|
|
SCHANNEL: "OFF"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
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
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "ON"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "~571 !1139 !1501"
|
|
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
|
|
SCHANNEL: "OFF"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "~571 !1139 !1501"
|
|
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
|
|
SCHANNEL: "OFF"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "ON"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
ADD_PATH: "C:\\msys64\\usr\\bin"
|
|
# generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
|
|
- job_name: "CMake, mingw-w64, gcc 8, Debug x64, Schannel, Static, Unicode"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "ON"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
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, gcc 7, Debug x64, Schannel, Static, Unicode"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "ON"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
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, gcc 9, Debug x64, Schannel, Static, Unity"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "OFF"
|
|
ADD_PATH: "C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin"
|
|
MSYS2_ARG_CONV_EXCL: "/*"
|
|
BUILD_OPT: -k
|
|
UNITY: "ON"
|
|
- job_name: "CMake, mingw-w64, gcc 6, Debug x86, Schannel, Static"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: "ON"
|
|
ENABLE_UNICODE: "OFF"
|
|
HTTP_ONLY: "OFF"
|
|
TESTING: "ON"
|
|
DISABLED_TESTS: "!1139 !1501"
|
|
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
|
|
# 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 !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 !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 !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: ""
|
|
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%
|
|
-DOPENSSL_ROOT_DIR=C:/OpenSSL-v111-Win64
|
|
-DCURL_USE_SCHANNEL=%SCHANNEL%
|
|
-DHTTP_ONLY=%HTTP_ONLY%
|
|
-DBUILD_SHARED_LIBS=%SHARED%
|
|
-DBUILD_TESTING=%TESTING%
|
|
-DENABLE_WEBSOCKETS=%WEBSOCKETS%
|
|
-DCMAKE_UNITY_BUILD=%UNITY%
|
|
-DCURL_WERROR=ON
|
|
-DENABLE_DEBUG=%DEBUG%
|
|
-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% &&
|
|
if "%SHARED%" == "ON" (
|
|
bash.exe -e -l -c "cp -f -p %POSIX_PATH_PREFIX%/c/projects/curl/lib/*.dll %POSIX_PATH_PREFIX%/c/projects/curl/src/" &&
|
|
bash.exe -e -l -c "cp -f -p %POSIX_PATH_PREFIX%/c/projects/curl/lib/*.dll %POSIX_PATH_PREFIX%/c/projects/curl/tests/libtest/" ) &&
|
|
if "%OPENSSL%" == "ON" (
|
|
bash.exe -e -l -c "cp -f -p %POSIX_PATH_PREFIX%/c/OpenSSL-v111-Win64/*.dll %POSIX_PATH_PREFIX%/c/projects/curl/src/" ) &&
|
|
bash.exe -e -l -c "find %POSIX_PATH_PREFIX%/c/projects/curl -name '*.exe' -o -name '*.dll'" &&
|
|
if "%RUN%" == "ON" (
|
|
src\curl.exe -V )
|
|
) else (
|
|
if "%BUILD_SYSTEM%" == "VisualStudioSolution" (
|
|
cd projects &&
|
|
.\generate.bat %VC_VERSION% &&
|
|
msbuild.exe /p:Configuration="%PRJ_CFG%" "Windows\\%VC_VERSION%\\curl-all.sln" &&
|
|
bash.exe -e -l -c "find %POSIX_PATH_PREFIX%/c/projects/curl -name '*.exe' -o -name '*.dll'" &&
|
|
cd "../build/Win32/%VC_VERSION%/%PRJ_CFG%" &&
|
|
curld.exe -V
|
|
) 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% &&
|
|
bash.exe -e -l -c "find %POSIX_PATH_PREFIX%/c/projects/curl -name '*.exe' -o -name '*.dll'" &&
|
|
..\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" &&
|
|
src\curl.exe -V
|
|
)))))
|
|
# - ps: |
|
|
# if(Test-Path CMakeFiles/CMakeConfigureLog.yaml) { cat CMakeFiles/CMakeConfigureLog.yaml }
|
|
# if(Test-Path CMakeFiles/CMakeOutput.log) { cat CMakeFiles/CMakeOutput.log }
|
|
# if(Test-Path CMakeFiles/CMakeError.log) { cat CMakeFiles/CMakeError.log }
|
|
- 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$/
|
|
|
|
skip_commits:
|
|
files:
|
|
- '.azure-pipelines.yml'
|
|
- '.circleci/**/*'
|
|
- '.cirrus.yml'
|
|
- '.github/**/*'
|
|
- 'packages/**/*'
|
|
- 'plan9/**/*'
|
|
|
|
artifacts:
|
|
- path: '**/curl.exe'
|
|
name: curl
|
|
- path: '**/*curl*.dll'
|
|
name: libcurl dll
|