mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
36fd2dd6ee
- re-implement autotools MSYS and Cygwin AppVeyor jobs in GHA. Now build with SSL and PSL to improve test coverage. - re-implement MSYS2 mingw-w64 gcc 13 AppVeyor job in GHA. `CMake, mingw-w64, gcc 13, Debug, x64, Schannel, Static, Unicode` - add new cmake Cygwin job (build-only). - enable `-j14` parallelism when running tests. - delete the 5 migrated jobs from AppVeyor CI. - add 2 build-only mingw-w64 builds, gcc Release and clang OpenSSL. - also enable brotli, libssh2, nghttp2 for more test coverage. These jobs offer better performance, more flexibility and parallelization compared to the AppVeyor ones they replace. It also offloads AppVeyor, allowing to iterate faster. They also appear more reliable than e.g. Azure Windows jobs, where runners are prone to fail [1]. Closes #13599 [1]: `Exit code 143 returned from process: file name 'C:\Windows\system32\docker.EXE', arguments 'exec -i 6b13a669c6dfe7fb9f59414369872fd64d61c7182f880c3d39c135cb4c115c8f C:\__a\externals\node\bin\node.exe C:\__w\_temp\containerHandlerInvoker.js'.`
282 lines
9.0 KiB
YAML
282 lines
9.0 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/
|
|
# AppVeyor worker images:
|
|
# https://www.appveyor.com/docs/windows-images-software/
|
|
|
|
version: 7.50.0.{build}
|
|
|
|
environment:
|
|
UNITY: 'ON'
|
|
OPENSSL: 'OFF'
|
|
DEBUG: 'ON'
|
|
SHARED: 'OFF'
|
|
matrix:
|
|
# generated CMake-based Visual Studio Release builds
|
|
- job_name: 'CMake, VS2008, Release, x86, Schannel, Build-only'
|
|
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'
|
|
SHARED: 'ON'
|
|
TESTING: 'OFF'
|
|
DISABLED_TESTS: ''
|
|
- job_name: 'CMake, VS2008, Debug, x86, Schannel, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: 'Visual Studio 9 2008'
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: 'ON'
|
|
ENABLE_UNICODE: 'OFF'
|
|
HTTP_ONLY: 'OFF'
|
|
SHARED: 'ON'
|
|
TESTING: 'OFF'
|
|
DISABLED_TESTS: ''
|
|
- job_name: 'CMake, VS2022, Release, x64, OpenSSL 3.2, WebSockets, Build-only'
|
|
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'
|
|
SHARED: 'ON'
|
|
TESTING: 'OFF'
|
|
DISABLED_TESTS: ''
|
|
WEBSOCKETS: 'ON'
|
|
- job_name: 'CMake, VS2022, Release, arm64, Schannel, Static, Build-only'
|
|
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, Schannel, Static, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
BUILD_SYSTEM: CMake
|
|
PRJ_GEN: 'Visual Studio 10 2010 Win64'
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: 'ON'
|
|
ENABLE_UNICODE: 'OFF'
|
|
HTTP_ONLY: 'OFF'
|
|
TESTING: 'OFF'
|
|
DISABLED_TESTS: ''
|
|
- 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: '!1139 !1501 !1177 !1477'
|
|
- 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: '!1139 !1501 !1177 !1477'
|
|
- 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 !1177 !1477'
|
|
|
|
# generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
|
|
|
|
- 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'
|
|
# test 286 disabled due to https://github.com/curl/curl/issues/12040
|
|
DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
|
|
ADD_PATH: 'C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin'
|
|
MSYS2_ARG_CONV_EXCL: '/*'
|
|
BUILD_OPT: -k
|
|
- job_name: 'CMake, mingw-w64, gcc 9, Debug, x64, Schannel, Static'
|
|
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: 'ON'
|
|
# test 286 disabled due to https://github.com/curl/curl/issues/12040
|
|
DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
|
|
ADD_PATH: 'C:/msys64/mingw64/bin'
|
|
MSYS2_ARG_CONV_EXCL: '/*'
|
|
BUILD_OPT: -k
|
|
- job_name: 'CMake, mingw-w64, gcc 6, Debug, x86, Schannel, Static, no-unity'
|
|
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: 'OFF'
|
|
DISABLED_TESTS: ''
|
|
ADD_PATH: 'C:/mingw-w64/i686-6.3.0-posix-dwarf-rt_v5-rev1/mingw32/bin'
|
|
MSYS2_ARG_CONV_EXCL: '/*'
|
|
BUILD_OPT: -k
|
|
UNITY: 'OFF'
|
|
|
|
# winbuild-based builds
|
|
|
|
- job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Unicode, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Unicode, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Unicode, Build-only'
|
|
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, x64, OpenSSL 1.1.1, Unicode, Build-only'
|
|
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, VS2013, Debug, x86, Schannel, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
BUILD_SYSTEM: VisualStudioSolution
|
|
PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
|
|
TESTING: 'OFF'
|
|
VC_VERSION: VC12
|
|
|
|
install:
|
|
- ps: |
|
|
if($env:ADD_SHELL -ne $null) {
|
|
$env:PATH = "$env:ADD_SHELL;$env:PATH"
|
|
}
|
|
else {
|
|
$env:PATH = "C:/msys64/usr/bin;$env:PATH"
|
|
}
|
|
if($env:ADD_PATH -ne $null) {
|
|
$env:PATH = "$env:ADD_PATH;$env:PATH"
|
|
}
|
|
|
|
build_script:
|
|
- cmd: sh -c ./appveyor.sh
|
|
|
|
clone_depth: 10
|
|
|
|
# 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
|