appveyor.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. #***************************************************************************
  2. # _ _ ____ _
  3. # Project ___| | | | _ \| |
  4. # / __| | | | |_) | |
  5. # | (__| |_| | _ <| |___
  6. # \___|\___/|_| \_\_____|
  7. #
  8. # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
  9. #
  10. # This software is licensed as described in the file COPYING, which
  11. # you should have received as part of this distribution. The terms
  12. # are also available at https://curl.se/docs/copyright.html.
  13. #
  14. # You may opt to use, copy, modify, merge, publish, distribute and/or sell
  15. # copies of the Software, and permit persons to whom the Software is
  16. # furnished to do so, under the terms of the COPYING file.
  17. #
  18. # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
  19. # KIND, either express or implied.
  20. #
  21. # SPDX-License-Identifier: curl
  22. #
  23. ###########################################################################
  24. # https://ci.appveyor.com/project/curlorg/curl/history
  25. # AppVeyor configuration:
  26. # https://www.appveyor.com/docs/appveyor-yml/
  27. # AppVeyor worker images:
  28. # https://www.appveyor.com/docs/windows-images-software/
  29. version: 7.50.0.{build}
  30. environment:
  31. UNITY: 'OFF'
  32. OPENSSL: 'OFF'
  33. DEBUG: 'ON'
  34. SHARED: 'OFF'
  35. matrix:
  36. # generated CMake-based Visual Studio Release builds
  37. - job_name: 'CMake, VS2008, Release, x86, Schannel, Build-only'
  38. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  39. BUILD_SYSTEM: CMake
  40. PRJ_GEN: 'Visual Studio 9 2008'
  41. PRJ_CFG: Release
  42. SCHANNEL: 'ON'
  43. ENABLE_UNICODE: 'OFF'
  44. HTTP_ONLY: 'OFF'
  45. SHARED: 'ON'
  46. TESTING: 'OFF'
  47. DISABLED_TESTS: ''
  48. - job_name: 'CMake, VS2022, Release, x64, OpenSSL 3, WebSockets, Unity, Build-only'
  49. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  50. BUILD_SYSTEM: CMake
  51. PRJ_GEN: 'Visual Studio 17 2022'
  52. TARGET: '-A x64'
  53. PRJ_CFG: Release
  54. OPENSSL: 'ON'
  55. SCHANNEL: 'OFF'
  56. ENABLE_UNICODE: 'OFF'
  57. HTTP_ONLY: 'OFF'
  58. SHARED: 'ON'
  59. TESTING: 'OFF'
  60. DISABLED_TESTS: ''
  61. WEBSOCKETS: 'ON'
  62. UNITY: 'ON'
  63. - job_name: 'CMake, VS2022, Release, arm64, Schannel, Static, Build-only'
  64. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  65. BUILD_SYSTEM: CMake
  66. PRJ_GEN: 'Visual Studio 17 2022'
  67. TARGET: '-A ARM64'
  68. PRJ_CFG: Release
  69. SCHANNEL: 'ON'
  70. ENABLE_UNICODE: 'OFF'
  71. HTTP_ONLY: 'OFF'
  72. TESTING: 'OFF'
  73. DISABLED_TESTS: ''
  74. # generated CMake-based Visual Studio Debug builds
  75. - job_name: 'CMake, VS2010, Debug, x64, no SSL, Static'
  76. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  77. BUILD_SYSTEM: CMake
  78. PRJ_GEN: 'Visual Studio 10 2010 Win64'
  79. PRJ_CFG: Debug
  80. SCHANNEL: 'OFF'
  81. ENABLE_UNICODE: 'OFF'
  82. HTTP_ONLY: 'OFF'
  83. TESTING: 'ON'
  84. DISABLED_TESTS: '!1139 !1501 !1140 !1173 !1177 !1477'
  85. - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode'
  86. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  87. BUILD_SYSTEM: CMake
  88. PRJ_GEN: 'Visual Studio 17 2022'
  89. TARGET: '-A x64'
  90. PRJ_CFG: Debug
  91. SCHANNEL: 'ON'
  92. ENABLE_UNICODE: 'ON'
  93. HTTP_ONLY: 'OFF'
  94. TESTING: 'ON'
  95. DISABLED_TESTS: '!1139 !1501 !1140 !1173 !1177 !1477'
  96. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static'
  97. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  98. BUILD_SYSTEM: CMake
  99. PRJ_GEN: 'Visual Studio 17 2022'
  100. TARGET: '-A x64'
  101. PRJ_CFG: Debug
  102. SCHANNEL: 'OFF'
  103. ENABLE_UNICODE: 'OFF'
  104. HTTP_ONLY: 'OFF'
  105. TESTING: 'ON'
  106. DISABLED_TESTS: '!1139 !1501 !1140 !1173 !1177 !1477'
  107. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only'
  108. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  109. BUILD_SYSTEM: CMake
  110. PRJ_GEN: 'Visual Studio 17 2022'
  111. TARGET: '-A x64'
  112. PRJ_CFG: Debug
  113. SCHANNEL: 'OFF'
  114. ENABLE_UNICODE: 'OFF'
  115. HTTP_ONLY: 'ON'
  116. TESTING: 'ON'
  117. DISABLED_TESTS: '!1139 !1501 !1140 !1173 !1177 !1477'
  118. # generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
  119. - job_name: 'CMake, mingw-w64, gcc 13, Debug, x64, Schannel, Static, Unicode, Unity'
  120. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  121. BUILD_SYSTEM: CMake
  122. PRJ_GEN: 'MSYS Makefiles'
  123. PRJ_CFG: Debug
  124. SCHANNEL: 'ON'
  125. ENABLE_UNICODE: 'ON'
  126. HTTP_ONLY: 'OFF'
  127. TESTING: 'ON'
  128. DISABLED_TESTS: '!1086 !1139 !1451 !1501 !1140 !1173 !1177 !1477'
  129. ADD_PATH: 'C:/msys64/mingw64/bin'
  130. MSYS2_ARG_CONV_EXCL: '/*'
  131. BUILD_OPT: -k
  132. UNITY: 'ON'
  133. - job_name: 'CMake, mingw-w64, gcc 7, Debug, x64, Schannel, Static, Unicode'
  134. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  135. BUILD_SYSTEM: CMake
  136. PRJ_GEN: 'MSYS Makefiles'
  137. PRJ_CFG: Debug
  138. SCHANNEL: 'ON'
  139. ENABLE_UNICODE: 'ON'
  140. HTTP_ONLY: 'OFF'
  141. TESTING: 'ON'
  142. DISABLED_TESTS: '!1086 !1139 !1451 !1501 !1140 !1173 !1177 !1477'
  143. ADD_PATH: 'C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin'
  144. MSYS2_ARG_CONV_EXCL: '/*'
  145. BUILD_OPT: -k
  146. - job_name: 'CMake, mingw-w64, gcc 9, Debug, x64, Schannel, Static, Unity'
  147. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  148. BUILD_SYSTEM: CMake
  149. PRJ_GEN: 'MSYS Makefiles'
  150. PRJ_CFG: Debug
  151. SCHANNEL: 'ON'
  152. ENABLE_UNICODE: 'OFF'
  153. HTTP_ONLY: 'OFF'
  154. TESTING: 'ON'
  155. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  156. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1140 !1173 !1177 !1477'
  157. ADD_PATH: 'C:/msys64/mingw64/bin'
  158. MSYS2_ARG_CONV_EXCL: '/*'
  159. BUILD_OPT: -k
  160. UNITY: 'ON'
  161. - job_name: 'CMake, mingw-w64, gcc 6, Debug, x86, Schannel, Static'
  162. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  163. BUILD_SYSTEM: CMake
  164. PRJ_GEN: 'MSYS Makefiles'
  165. PRJ_CFG: Debug
  166. SCHANNEL: 'ON'
  167. ENABLE_UNICODE: 'OFF'
  168. HTTP_ONLY: 'OFF'
  169. TESTING: 'ON'
  170. DISABLED_TESTS: '!1086 !1139 !1451 !1501 !1140 !1173 !1177 !1477'
  171. ADD_PATH: 'C:/mingw-w64/i686-6.3.0-posix-dwarf-rt_v5-rev1/mingw32/bin'
  172. MSYS2_ARG_CONV_EXCL: '/*'
  173. BUILD_OPT: -k
  174. # winbuild-based builds
  175. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
  176. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  177. BUILD_SYSTEM: winbuild_vs2015
  178. DEBUG: 'yes'
  179. PATHPART: debug
  180. TESTING: 'OFF'
  181. ENABLE_UNICODE: 'no'
  182. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
  183. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  184. BUILD_SYSTEM: winbuild_vs2015
  185. DEBUG: 'no'
  186. PATHPART: release
  187. TESTING: 'OFF'
  188. ENABLE_UNICODE: 'no'
  189. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
  190. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  191. BUILD_SYSTEM: winbuild_vs2017
  192. DEBUG: 'yes'
  193. PATHPART: debug
  194. TESTING: 'OFF'
  195. ENABLE_UNICODE: 'no'
  196. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
  197. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  198. BUILD_SYSTEM: winbuild_vs2017
  199. DEBUG: 'no'
  200. PATHPART: release
  201. TESTING: 'OFF'
  202. ENABLE_UNICODE: 'no'
  203. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  204. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  205. BUILD_SYSTEM: winbuild_vs2015
  206. DEBUG: 'yes'
  207. PATHPART: debug
  208. TESTING: 'OFF'
  209. ENABLE_UNICODE: 'yes'
  210. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  211. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  212. BUILD_SYSTEM: winbuild_vs2015
  213. DEBUG: 'no'
  214. PATHPART: release
  215. TESTING: 'OFF'
  216. ENABLE_UNICODE: 'yes'
  217. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  218. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  219. BUILD_SYSTEM: winbuild_vs2017
  220. DEBUG: 'yes'
  221. PATHPART: debug
  222. TESTING: 'OFF'
  223. ENABLE_UNICODE: 'yes'
  224. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  225. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  226. BUILD_SYSTEM: winbuild_vs2017
  227. DEBUG: 'no'
  228. PATHPART: release
  229. TESTING: 'OFF'
  230. ENABLE_UNICODE: 'yes'
  231. # generated VisualStudioSolution-based builds
  232. - job_name: 'VisualStudioSolution, VS2017, Debug, x86, Schannel, Build-only'
  233. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  234. BUILD_SYSTEM: VisualStudioSolution
  235. PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
  236. TESTING: 'OFF'
  237. VC_VERSION: VC14.10
  238. # autotools-based builds (NOT mingw cross-compiling, but msys2 native)
  239. - job_name: 'autotools, msys2, Debug, x86_64, no Proxy, no SSL'
  240. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  241. BUILD_SYSTEM: autotools
  242. TESTING: 'ON'
  243. DISABLED_TESTS: '!19 !1233'
  244. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --without-ssl --enable-websockets --without-libpsl'
  245. - job_name: 'autotools, msys2, Debug, x86_64, no SSL'
  246. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  247. BUILD_SYSTEM: autotools
  248. TESTING: 'ON'
  249. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  250. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets --without-libpsl'
  251. - job_name: 'autotools, msys2, Release, x86_64, no SSL'
  252. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  253. BUILD_SYSTEM: autotools
  254. TESTING: 'ON'
  255. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  256. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets --without-libpsl'
  257. # autotools-based Cygwin build
  258. - job_name: 'autotools, cygwin, Debug, x86_64, no SSL'
  259. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  260. BUILD_SYSTEM: autotools
  261. TESTING: 'ON'
  262. DISABLED_TESTS: ''
  263. ADD_SHELL: 'C:/cygwin64/bin'
  264. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets --without-libpsl'
  265. install:
  266. - ps: |
  267. if($env:ADD_SHELL -ne $null) {
  268. $env:PATH = "$env:ADD_SHELL;$env:PATH"
  269. }
  270. else {
  271. $env:PATH = "C:/msys64/usr/bin;$env:PATH"
  272. }
  273. if($env:ADD_PATH -ne $null) {
  274. $env:PATH = "$env:ADD_PATH;$env:PATH"
  275. }
  276. build_script:
  277. - cmd: sh -c ./appveyor.sh
  278. clone_depth: 10
  279. # select branches to avoid testing feature branches twice (as branch and as pull request)
  280. branches:
  281. only:
  282. - master
  283. - /\/ci$/
  284. skip_commits:
  285. files:
  286. - '.azure-pipelines.yml'
  287. - '.circleci/**/*'
  288. - '.cirrus.yml'
  289. - '.github/**/*'
  290. - 'packages/**/*'
  291. - 'plan9/**/*'
  292. artifacts:
  293. - path: '**/curl.exe'
  294. name: curl
  295. - path: '**/*curl*.dll'
  296. name: libcurl dll