appveyor.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  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: 'ON'
  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.2, WebSockets, 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. - job_name: 'CMake, VS2022, Release, arm64, Schannel, Static, Build-only'
  63. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  64. BUILD_SYSTEM: CMake
  65. PRJ_GEN: 'Visual Studio 17 2022'
  66. TARGET: '-A ARM64'
  67. PRJ_CFG: Release
  68. SCHANNEL: 'ON'
  69. ENABLE_UNICODE: 'OFF'
  70. HTTP_ONLY: 'OFF'
  71. TESTING: 'OFF'
  72. DISABLED_TESTS: ''
  73. # generated CMake-based Visual Studio Debug builds
  74. - job_name: 'CMake, VS2010, Debug, x64, Schannel, Static, Build-only'
  75. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  76. BUILD_SYSTEM: CMake
  77. PRJ_GEN: 'Visual Studio 10 2010 Win64'
  78. PRJ_CFG: Debug
  79. SCHANNEL: 'ON'
  80. ENABLE_UNICODE: 'OFF'
  81. HTTP_ONLY: 'OFF'
  82. TESTING: 'OFF'
  83. DISABLED_TESTS: ''
  84. - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode'
  85. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  86. BUILD_SYSTEM: CMake
  87. PRJ_GEN: 'Visual Studio 17 2022'
  88. TARGET: '-A x64'
  89. PRJ_CFG: Debug
  90. SCHANNEL: 'ON'
  91. ENABLE_UNICODE: 'ON'
  92. HTTP_ONLY: 'OFF'
  93. TESTING: 'ON'
  94. DISABLED_TESTS: '!1139 !1501 !1177 !1477'
  95. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static'
  96. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  97. BUILD_SYSTEM: CMake
  98. PRJ_GEN: 'Visual Studio 17 2022'
  99. TARGET: '-A x64'
  100. PRJ_CFG: Debug
  101. SCHANNEL: 'OFF'
  102. ENABLE_UNICODE: 'OFF'
  103. HTTP_ONLY: 'OFF'
  104. TESTING: 'ON'
  105. DISABLED_TESTS: '!1139 !1501 !1177 !1477'
  106. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only'
  107. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  108. BUILD_SYSTEM: CMake
  109. PRJ_GEN: 'Visual Studio 17 2022'
  110. TARGET: '-A x64'
  111. PRJ_CFG: Debug
  112. SCHANNEL: 'OFF'
  113. ENABLE_UNICODE: 'OFF'
  114. HTTP_ONLY: 'ON'
  115. TESTING: 'ON'
  116. DISABLED_TESTS: '!1139 !1501 !1177 !1477'
  117. # generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
  118. - job_name: 'CMake, mingw-w64, gcc 13, Debug, x64, Schannel, Static, Unicode'
  119. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  120. BUILD_SYSTEM: CMake
  121. PRJ_GEN: 'MSYS Makefiles'
  122. PRJ_CFG: Debug
  123. SCHANNEL: 'ON'
  124. ENABLE_UNICODE: 'ON'
  125. HTTP_ONLY: 'OFF'
  126. TESTING: 'ON'
  127. DISABLED_TESTS: '!1086 !1139 !1451 !1501 !1177 !1477'
  128. ADD_PATH: 'C:/msys64/mingw64/bin'
  129. MSYS2_ARG_CONV_EXCL: '/*'
  130. BUILD_OPT: -k
  131. - job_name: 'CMake, mingw-w64, gcc 7, Debug, x64, Schannel, Static, Unicode'
  132. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  133. BUILD_SYSTEM: CMake
  134. PRJ_GEN: 'MSYS Makefiles'
  135. PRJ_CFG: Debug
  136. SCHANNEL: 'ON'
  137. ENABLE_UNICODE: 'ON'
  138. HTTP_ONLY: 'OFF'
  139. TESTING: 'ON'
  140. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  141. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
  142. ADD_PATH: 'C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin'
  143. MSYS2_ARG_CONV_EXCL: '/*'
  144. BUILD_OPT: -k
  145. - job_name: 'CMake, mingw-w64, gcc 9, Debug, x64, Schannel, Static'
  146. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  147. BUILD_SYSTEM: CMake
  148. PRJ_GEN: 'MSYS Makefiles'
  149. PRJ_CFG: Debug
  150. SCHANNEL: 'ON'
  151. ENABLE_UNICODE: 'OFF'
  152. HTTP_ONLY: 'OFF'
  153. TESTING: 'ON'
  154. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  155. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
  156. ADD_PATH: 'C:/msys64/mingw64/bin'
  157. MSYS2_ARG_CONV_EXCL: '/*'
  158. BUILD_OPT: -k
  159. - job_name: 'CMake, mingw-w64, gcc 6, Debug, x86, Schannel, Static, no-unity'
  160. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  161. BUILD_SYSTEM: CMake
  162. PRJ_GEN: 'MSYS Makefiles'
  163. PRJ_CFG: Debug
  164. SCHANNEL: 'ON'
  165. ENABLE_UNICODE: 'OFF'
  166. HTTP_ONLY: 'OFF'
  167. TESTING: 'OFF'
  168. DISABLED_TESTS: ''
  169. ADD_PATH: 'C:/mingw-w64/i686-6.3.0-posix-dwarf-rt_v5-rev1/mingw32/bin'
  170. MSYS2_ARG_CONV_EXCL: '/*'
  171. BUILD_OPT: -k
  172. UNITY: 'OFF'
  173. # winbuild-based builds
  174. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
  175. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  176. BUILD_SYSTEM: winbuild_vs2015
  177. DEBUG: 'yes'
  178. PATHPART: debug
  179. TESTING: 'OFF'
  180. ENABLE_UNICODE: 'no'
  181. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
  182. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  183. BUILD_SYSTEM: winbuild_vs2015
  184. DEBUG: 'no'
  185. PATHPART: release
  186. TESTING: 'OFF'
  187. ENABLE_UNICODE: 'no'
  188. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
  189. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  190. BUILD_SYSTEM: winbuild_vs2017
  191. DEBUG: 'yes'
  192. PATHPART: debug
  193. TESTING: 'OFF'
  194. ENABLE_UNICODE: 'no'
  195. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
  196. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  197. BUILD_SYSTEM: winbuild_vs2017
  198. DEBUG: 'no'
  199. PATHPART: release
  200. TESTING: 'OFF'
  201. ENABLE_UNICODE: 'no'
  202. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  203. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  204. BUILD_SYSTEM: winbuild_vs2015
  205. DEBUG: 'yes'
  206. PATHPART: debug
  207. TESTING: 'OFF'
  208. ENABLE_UNICODE: 'yes'
  209. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  210. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  211. BUILD_SYSTEM: winbuild_vs2015
  212. DEBUG: 'no'
  213. PATHPART: release
  214. TESTING: 'OFF'
  215. ENABLE_UNICODE: 'yes'
  216. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  217. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  218. BUILD_SYSTEM: winbuild_vs2017
  219. DEBUG: 'yes'
  220. PATHPART: debug
  221. TESTING: 'OFF'
  222. ENABLE_UNICODE: 'yes'
  223. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  224. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  225. BUILD_SYSTEM: winbuild_vs2017
  226. DEBUG: 'no'
  227. PATHPART: release
  228. TESTING: 'OFF'
  229. ENABLE_UNICODE: 'yes'
  230. # generated VisualStudioSolution-based builds
  231. - job_name: 'VisualStudioSolution, VS2013, Debug, x86, Schannel, Build-only'
  232. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  233. BUILD_SYSTEM: VisualStudioSolution
  234. PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
  235. TESTING: 'OFF'
  236. VC_VERSION: VC12
  237. # autotools-based builds (NOT mingw cross-compiling, but msys2 native)
  238. - job_name: 'autotools, msys2, Debug, x86_64, no Proxy, no SSL'
  239. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  240. BUILD_SYSTEM: autotools
  241. TESTING: 'ON'
  242. DISABLED_TESTS: '!19 !1233'
  243. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets --without-libpsl --enable-debug --disable-threaded-resolver --disable-proxy'
  244. - job_name: 'autotools, msys2, Debug, x86_64, no SSL'
  245. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  246. BUILD_SYSTEM: autotools
  247. TESTING: 'ON'
  248. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  249. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets --without-libpsl --enable-debug --disable-threaded-resolver'
  250. - job_name: 'autotools, msys2, Release, x86_64, no SSL'
  251. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  252. BUILD_SYSTEM: autotools
  253. TESTING: 'ON'
  254. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  255. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets --without-libpsl'
  256. # autotools-based Cygwin build
  257. - job_name: 'autotools, cygwin, Debug, x86_64, no SSL'
  258. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  259. BUILD_SYSTEM: autotools
  260. TESTING: 'ON'
  261. DISABLED_TESTS: ''
  262. ADD_SHELL: 'C:/cygwin64/bin'
  263. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets --without-libpsl --enable-debug --disable-threaded-resolver'
  264. install:
  265. - ps: |
  266. if($env:ADD_SHELL -ne $null) {
  267. $env:PATH = "$env:ADD_SHELL;$env:PATH"
  268. }
  269. else {
  270. $env:PATH = "C:/msys64/usr/bin;$env:PATH"
  271. }
  272. if($env:ADD_PATH -ne $null) {
  273. $env:PATH = "$env:ADD_PATH;$env:PATH"
  274. }
  275. build_script:
  276. - cmd: sh -c ./appveyor.sh
  277. clone_depth: 10
  278. # select branches to avoid testing feature branches twice (as branch and as pull request)
  279. branches:
  280. only:
  281. - master
  282. - /\/ci$/
  283. skip_commits:
  284. files:
  285. - '.azure-pipelines.yml'
  286. - '.circleci/*'
  287. - '.cirrus.yml'
  288. - '.github/**/*'
  289. - 'packages/**/*'
  290. - 'plan9/**/*'
  291. artifacts:
  292. - path: '**/curl.exe'
  293. name: curl
  294. - path: '**/*curl*.dll'
  295. name: libcurl dll