mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
223f601c04
This test relies on the IPv6 scope field being ignored when connecting to ipv6-localhost (i.e. [::1%259999] is treated as [::1]). Maybe this is a bit dodgy, but it works on all our test platforms except Windows. This test was disabled manually on all Windows CI builds already, so instead add an incompatible feature and precheck so it's skipped on Windows everywhere automatically.
392 lines
14 KiB
YAML
392 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"
|
|
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, 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
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: ON
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
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
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: ON
|
|
HTTP_ONLY: OFF
|
|
TESTING: ON
|
|
SHARED: OFF
|
|
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, Debug x64, Schannel, Static, Unity"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: "MSYS Makefiles"
|
|
PRJ_CFG: Debug
|
|
OPENSSL: OFF
|
|
SCHANNEL: ON
|
|
ENABLE_UNICODE: OFF
|
|
HTTP_ONLY: OFF
|
|
TESTING: OFF
|
|
SHARED: OFF
|
|
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
|
|
UNITY: "ON"
|
|
- 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"
|
|
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"
|
|
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 !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%
|
|
-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=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$/
|
|
|
|
skip_commits:
|
|
files:
|
|
- '.azure-pipelines.yml'
|
|
- '.circleci/**/*'
|
|
- '.cirrus.yml'
|
|
- '.github/**/*'
|
|
- 'packages/**/*'
|
|
- 'plan9/**/*'
|
|
|
|
artifacts:
|
|
- path: '**/curl.exe'
|
|
name: curl
|
|
- path: '**/*curl*.dll'
|
|
name: libcurl dll
|