appveyor.yml 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  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, VS2008, Debug, x86, Schannel, Build-only'
  49. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  50. BUILD_SYSTEM: CMake
  51. PRJ_GEN: 'Visual Studio 9 2008'
  52. PRJ_CFG: Debug
  53. SCHANNEL: 'ON'
  54. ENABLE_UNICODE: 'OFF'
  55. HTTP_ONLY: 'OFF'
  56. SHARED: 'ON'
  57. TESTING: 'OFF'
  58. DISABLED_TESTS: ''
  59. - job_name: 'CMake, VS2022, Release, x64, OpenSSL 3.2, WebSockets, Build-only'
  60. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  61. BUILD_SYSTEM: CMake
  62. PRJ_GEN: 'Visual Studio 17 2022'
  63. TARGET: '-A x64'
  64. PRJ_CFG: Release
  65. OPENSSL: 'ON'
  66. SCHANNEL: 'OFF'
  67. ENABLE_UNICODE: 'OFF'
  68. HTTP_ONLY: 'OFF'
  69. SHARED: 'ON'
  70. TESTING: 'OFF'
  71. DISABLED_TESTS: ''
  72. WEBSOCKETS: 'ON'
  73. - job_name: 'CMake, VS2022, Release, arm64, Schannel, Static, Build-only'
  74. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  75. BUILD_SYSTEM: CMake
  76. PRJ_GEN: 'Visual Studio 17 2022'
  77. TARGET: '-A ARM64'
  78. PRJ_CFG: Release
  79. SCHANNEL: 'ON'
  80. ENABLE_UNICODE: 'OFF'
  81. HTTP_ONLY: 'OFF'
  82. TESTING: 'OFF'
  83. DISABLED_TESTS: ''
  84. # generated CMake-based Visual Studio Debug builds
  85. - job_name: 'CMake, VS2010, Debug, x64, Schannel, Static, Build-only'
  86. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  87. BUILD_SYSTEM: CMake
  88. PRJ_GEN: 'Visual Studio 10 2010 Win64'
  89. PRJ_CFG: Debug
  90. SCHANNEL: 'ON'
  91. ENABLE_UNICODE: 'OFF'
  92. HTTP_ONLY: 'OFF'
  93. TESTING: 'OFF'
  94. DISABLED_TESTS: ''
  95. - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode'
  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: 'ON'
  102. ENABLE_UNICODE: 'ON'
  103. HTTP_ONLY: 'OFF'
  104. TESTING: 'ON'
  105. DISABLED_TESTS: '!1139 !1501 !1177 !1477'
  106. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static'
  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: 'OFF'
  115. TESTING: 'ON'
  116. DISABLED_TESTS: '!1139 !1501 !1177 !1477'
  117. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only'
  118. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  119. BUILD_SYSTEM: CMake
  120. PRJ_GEN: 'Visual Studio 17 2022'
  121. TARGET: '-A x64'
  122. PRJ_CFG: Debug
  123. SCHANNEL: 'OFF'
  124. ENABLE_UNICODE: 'OFF'
  125. HTTP_ONLY: 'ON'
  126. TESTING: 'ON'
  127. DISABLED_TESTS: '!1139 !1501 !1177 !1477'
  128. # generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
  129. - job_name: 'CMake, mingw-w64, gcc 7, Debug, x64, Schannel, Static, Unicode'
  130. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  131. BUILD_SYSTEM: CMake
  132. PRJ_GEN: 'MSYS Makefiles'
  133. PRJ_CFG: Debug
  134. SCHANNEL: 'ON'
  135. ENABLE_UNICODE: 'ON'
  136. HTTP_ONLY: 'OFF'
  137. TESTING: 'ON'
  138. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  139. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
  140. ADD_PATH: 'C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin'
  141. MSYS2_ARG_CONV_EXCL: '/*'
  142. BUILD_OPT: -k
  143. - job_name: 'CMake, mingw-w64, gcc 9, Debug, x64, Schannel, Static'
  144. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  145. BUILD_SYSTEM: CMake
  146. PRJ_GEN: 'MSYS Makefiles'
  147. PRJ_CFG: Debug
  148. SCHANNEL: 'ON'
  149. ENABLE_UNICODE: 'OFF'
  150. HTTP_ONLY: 'OFF'
  151. TESTING: 'ON'
  152. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  153. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501 !1177 !1477'
  154. ADD_PATH: 'C:/msys64/mingw64/bin'
  155. MSYS2_ARG_CONV_EXCL: '/*'
  156. BUILD_OPT: -k
  157. - job_name: 'CMake, mingw-w64, gcc 6, Debug, x86, Schannel, Static, no-unity'
  158. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  159. BUILD_SYSTEM: CMake
  160. PRJ_GEN: 'MSYS Makefiles'
  161. PRJ_CFG: Debug
  162. SCHANNEL: 'ON'
  163. ENABLE_UNICODE: 'OFF'
  164. HTTP_ONLY: 'OFF'
  165. TESTING: 'OFF'
  166. DISABLED_TESTS: ''
  167. ADD_PATH: 'C:/mingw-w64/i686-6.3.0-posix-dwarf-rt_v5-rev1/mingw32/bin'
  168. MSYS2_ARG_CONV_EXCL: '/*'
  169. BUILD_OPT: -k
  170. UNITY: 'OFF'
  171. # winbuild-based builds
  172. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
  173. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  174. BUILD_SYSTEM: winbuild_vs2015
  175. DEBUG: 'yes'
  176. PATHPART: debug
  177. TESTING: 'OFF'
  178. ENABLE_UNICODE: 'no'
  179. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
  180. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  181. BUILD_SYSTEM: winbuild_vs2015
  182. DEBUG: 'no'
  183. PATHPART: release
  184. TESTING: 'OFF'
  185. ENABLE_UNICODE: 'no'
  186. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
  187. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  188. BUILD_SYSTEM: winbuild_vs2017
  189. DEBUG: 'yes'
  190. PATHPART: debug
  191. TESTING: 'OFF'
  192. ENABLE_UNICODE: 'no'
  193. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
  194. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  195. BUILD_SYSTEM: winbuild_vs2017
  196. DEBUG: 'no'
  197. PATHPART: release
  198. TESTING: 'OFF'
  199. ENABLE_UNICODE: 'no'
  200. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  201. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  202. BUILD_SYSTEM: winbuild_vs2015
  203. DEBUG: 'yes'
  204. PATHPART: debug
  205. TESTING: 'OFF'
  206. ENABLE_UNICODE: 'yes'
  207. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  208. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  209. BUILD_SYSTEM: winbuild_vs2015
  210. DEBUG: 'no'
  211. PATHPART: release
  212. TESTING: 'OFF'
  213. ENABLE_UNICODE: 'yes'
  214. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  215. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  216. BUILD_SYSTEM: winbuild_vs2017
  217. DEBUG: 'yes'
  218. PATHPART: debug
  219. TESTING: 'OFF'
  220. ENABLE_UNICODE: 'yes'
  221. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  222. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  223. BUILD_SYSTEM: winbuild_vs2017
  224. DEBUG: 'no'
  225. PATHPART: release
  226. TESTING: 'OFF'
  227. ENABLE_UNICODE: 'yes'
  228. # generated VisualStudioSolution-based builds
  229. - job_name: 'VisualStudioSolution, VS2013, Debug, x86, Schannel, Build-only'
  230. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  231. BUILD_SYSTEM: VisualStudioSolution
  232. PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
  233. TESTING: 'OFF'
  234. VC_VERSION: VC12
  235. install:
  236. - ps: |
  237. if($env:ADD_SHELL -ne $null) {
  238. $env:PATH = "$env:ADD_SHELL;$env:PATH"
  239. }
  240. else {
  241. $env:PATH = "C:/msys64/usr/bin;$env:PATH"
  242. }
  243. if($env:ADD_PATH -ne $null) {
  244. $env:PATH = "$env:ADD_PATH;$env:PATH"
  245. }
  246. build_script:
  247. - cmd: sh -c ./appveyor.sh
  248. clone_depth: 10
  249. # select branches to avoid testing feature branches twice (as branch and as pull request)
  250. branches:
  251. only:
  252. - master
  253. - /\/ci$/
  254. skip_commits:
  255. files:
  256. - '.azure-pipelines.yml'
  257. - '.circleci/*'
  258. - '.cirrus.yml'
  259. - '.github/**/*'
  260. - 'packages/**/*'
  261. - 'plan9/**/*'
  262. artifacts:
  263. - path: '**/curl.exe'
  264. name: curl
  265. - path: '**/*curl*.dll'
  266. name: libcurl dll