appveyor.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  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. DISABLED_TESTS: '!1086 !1139 !1451 !1501 !1177 !1477'
  141. ADD_PATH: 'C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin'
  142. MSYS2_ARG_CONV_EXCL: '/*'
  143. BUILD_OPT: -k
  144. - job_name: 'CMake, mingw-w64, gcc 9, Debug, x64, Schannel, Static'
  145. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  146. BUILD_SYSTEM: CMake
  147. PRJ_GEN: 'MSYS Makefiles'
  148. PRJ_CFG: Debug
  149. SCHANNEL: 'ON'
  150. ENABLE_UNICODE: 'OFF'
  151. HTTP_ONLY: 'OFF'
  152. TESTING: 'ON'
  153. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  154. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
  155. ADD_PATH: 'C:/msys64/mingw64/bin'
  156. MSYS2_ARG_CONV_EXCL: '/*'
  157. BUILD_OPT: -k
  158. - job_name: 'CMake, mingw-w64, gcc 6, Debug, x86, Schannel, Static, no-unity'
  159. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  160. BUILD_SYSTEM: CMake
  161. PRJ_GEN: 'MSYS Makefiles'
  162. PRJ_CFG: Debug
  163. SCHANNEL: 'ON'
  164. ENABLE_UNICODE: 'OFF'
  165. HTTP_ONLY: 'OFF'
  166. TESTING: 'ON'
  167. DISABLED_TESTS: '!1086 !1139 !1451 !1501 !1177 !1477'
  168. ADD_PATH: 'C:/mingw-w64/i686-6.3.0-posix-dwarf-rt_v5-rev1/mingw32/bin'
  169. MSYS2_ARG_CONV_EXCL: '/*'
  170. BUILD_OPT: -k
  171. UNITY: 'OFF'
  172. # winbuild-based builds
  173. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
  174. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  175. BUILD_SYSTEM: winbuild_vs2015
  176. DEBUG: 'yes'
  177. PATHPART: debug
  178. TESTING: 'OFF'
  179. ENABLE_UNICODE: 'no'
  180. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
  181. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  182. BUILD_SYSTEM: winbuild_vs2015
  183. DEBUG: 'no'
  184. PATHPART: release
  185. TESTING: 'OFF'
  186. ENABLE_UNICODE: 'no'
  187. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
  188. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  189. BUILD_SYSTEM: winbuild_vs2017
  190. DEBUG: 'yes'
  191. PATHPART: debug
  192. TESTING: 'OFF'
  193. ENABLE_UNICODE: 'no'
  194. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
  195. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  196. BUILD_SYSTEM: winbuild_vs2017
  197. DEBUG: 'no'
  198. PATHPART: release
  199. TESTING: 'OFF'
  200. ENABLE_UNICODE: 'no'
  201. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  202. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  203. BUILD_SYSTEM: winbuild_vs2015
  204. DEBUG: 'yes'
  205. PATHPART: debug
  206. TESTING: 'OFF'
  207. ENABLE_UNICODE: 'yes'
  208. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  209. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  210. BUILD_SYSTEM: winbuild_vs2015
  211. DEBUG: 'no'
  212. PATHPART: release
  213. TESTING: 'OFF'
  214. ENABLE_UNICODE: 'yes'
  215. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  216. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  217. BUILD_SYSTEM: winbuild_vs2017
  218. DEBUG: 'yes'
  219. PATHPART: debug
  220. TESTING: 'OFF'
  221. ENABLE_UNICODE: 'yes'
  222. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  223. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  224. BUILD_SYSTEM: winbuild_vs2017
  225. DEBUG: 'no'
  226. PATHPART: release
  227. TESTING: 'OFF'
  228. ENABLE_UNICODE: 'yes'
  229. # generated VisualStudioSolution-based builds
  230. - job_name: 'VisualStudioSolution, VS2013, Debug, x86, Schannel, Build-only'
  231. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  232. BUILD_SYSTEM: VisualStudioSolution
  233. PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
  234. TESTING: 'OFF'
  235. VC_VERSION: VC12
  236. # autotools-based builds (NOT mingw cross-compiling, but msys2 native)
  237. - job_name: 'autotools, msys2, Debug, x86_64, no Proxy, no SSL'
  238. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  239. BUILD_SYSTEM: autotools
  240. TESTING: 'ON'
  241. DISABLED_TESTS: '!19 !1233'
  242. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --without-ssl --enable-websockets --without-libpsl'
  243. - job_name: 'autotools, msys2, Debug, x86_64, no SSL'
  244. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  245. BUILD_SYSTEM: autotools
  246. TESTING: 'ON'
  247. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  248. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets --without-libpsl'
  249. - job_name: 'autotools, msys2, Release, x86_64, no SSL'
  250. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  251. BUILD_SYSTEM: autotools
  252. TESTING: 'ON'
  253. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  254. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets --without-libpsl'
  255. # autotools-based Cygwin build
  256. - job_name: 'autotools, cygwin, Debug, x86_64, no SSL'
  257. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  258. BUILD_SYSTEM: autotools
  259. TESTING: 'ON'
  260. DISABLED_TESTS: ''
  261. ADD_SHELL: 'C:/cygwin64/bin'
  262. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets --without-libpsl'
  263. install:
  264. - ps: |
  265. if($env:ADD_SHELL -ne $null) {
  266. $env:PATH = "$env:ADD_SHELL;$env:PATH"
  267. }
  268. else {
  269. $env:PATH = "C:/msys64/usr/bin;$env:PATH"
  270. }
  271. if($env:ADD_PATH -ne $null) {
  272. $env:PATH = "$env:ADD_PATH;$env:PATH"
  273. }
  274. build_script:
  275. - cmd: sh -c ./appveyor.sh
  276. clone_depth: 10
  277. # select branches to avoid testing feature branches twice (as branch and as pull request)
  278. branches:
  279. only:
  280. - master
  281. - /\/ci$/
  282. skip_commits:
  283. files:
  284. - '.azure-pipelines.yml'
  285. - '.circleci/*'
  286. - '.cirrus.yml'
  287. - '.github/**/*'
  288. - 'packages/**/*'
  289. - 'plan9/**/*'
  290. artifacts:
  291. - path: '**/curl.exe'
  292. name: curl
  293. - path: '**/*curl*.dll'
  294. name: libcurl dll