appveyor.yml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443
  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'
  85. ADD_PATH: 'C:\msys64\usr\bin'
  86. - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode'
  87. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  88. BUILD_SYSTEM: CMake
  89. PRJ_GEN: 'Visual Studio 17 2022'
  90. TARGET: '-A x64'
  91. PRJ_CFG: Debug
  92. SCHANNEL: 'ON'
  93. ENABLE_UNICODE: 'ON'
  94. HTTP_ONLY: 'OFF'
  95. TESTING: 'ON'
  96. DISABLED_TESTS: '!1139 !1501'
  97. ADD_PATH: 'C:\msys64\usr\bin'
  98. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static'
  99. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  100. BUILD_SYSTEM: CMake
  101. PRJ_GEN: 'Visual Studio 17 2022'
  102. TARGET: '-A x64'
  103. PRJ_CFG: Debug
  104. SCHANNEL: 'OFF'
  105. ENABLE_UNICODE: 'OFF'
  106. HTTP_ONLY: 'OFF'
  107. TESTING: 'ON'
  108. DISABLED_TESTS: '!1139 !1501'
  109. ADD_PATH: 'C:\msys64\usr\bin'
  110. - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only'
  111. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  112. BUILD_SYSTEM: CMake
  113. PRJ_GEN: 'Visual Studio 17 2022'
  114. TARGET: '-A x64'
  115. PRJ_CFG: Debug
  116. SCHANNEL: 'OFF'
  117. ENABLE_UNICODE: 'OFF'
  118. HTTP_ONLY: 'ON'
  119. TESTING: 'ON'
  120. DISABLED_TESTS: '!1139 !1501'
  121. ADD_PATH: 'C:\msys64\usr\bin'
  122. # generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
  123. - job_name: 'CMake, mingw-w64, gcc 13, Debug, x64, Schannel, Static, Unicode, Unity'
  124. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  125. BUILD_SYSTEM: CMake
  126. PRJ_GEN: 'MSYS Makefiles'
  127. PRJ_CFG: Debug
  128. SCHANNEL: 'ON'
  129. ENABLE_UNICODE: 'ON'
  130. HTTP_ONLY: 'OFF'
  131. TESTING: 'ON'
  132. DISABLED_TESTS: '!1086 !1139 !1451 !1501'
  133. ADD_PATH: 'C:\msys64\mingw64\bin;C:\msys64\usr\bin'
  134. MSYS2_ARG_CONV_EXCL: '/*'
  135. BUILD_OPT: -k
  136. UNITY: 'ON'
  137. - job_name: 'CMake, mingw-w64, gcc 7, Debug, x64, Schannel, Static, Unicode'
  138. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  139. BUILD_SYSTEM: CMake
  140. PRJ_GEN: 'MSYS Makefiles'
  141. PRJ_CFG: Debug
  142. SCHANNEL: 'ON'
  143. ENABLE_UNICODE: 'ON'
  144. HTTP_ONLY: 'OFF'
  145. TESTING: 'ON'
  146. DISABLED_TESTS: '!1086 !1139 !1451 !1501'
  147. ADD_PATH: 'C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;C:\msys64\usr\bin'
  148. MSYS2_ARG_CONV_EXCL: '/*'
  149. BUILD_OPT: -k
  150. - job_name: 'CMake, mingw-w64, gcc 9, Debug, x64, Schannel, Static, Unity'
  151. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  152. BUILD_SYSTEM: CMake
  153. PRJ_GEN: 'MSYS Makefiles'
  154. PRJ_CFG: Debug
  155. SCHANNEL: 'ON'
  156. ENABLE_UNICODE: 'OFF'
  157. HTTP_ONLY: 'OFF'
  158. TESTING: 'ON'
  159. # test 286 disabled due to https://github.com/curl/curl/issues/12040
  160. DISABLED_TESTS: '~286 !1086 !1139 !1451 !1501'
  161. ADD_PATH: 'C:\msys64\mingw64\bin;C:\msys64\usr\bin'
  162. MSYS2_ARG_CONV_EXCL: '/*'
  163. BUILD_OPT: -k
  164. UNITY: 'ON'
  165. - job_name: 'CMake, mingw-w64, gcc 6, Debug, x86, Schannel, Static'
  166. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  167. BUILD_SYSTEM: CMake
  168. PRJ_GEN: 'MSYS Makefiles'
  169. PRJ_CFG: Debug
  170. SCHANNEL: 'ON'
  171. ENABLE_UNICODE: 'OFF'
  172. HTTP_ONLY: 'OFF'
  173. TESTING: 'ON'
  174. DISABLED_TESTS: '!1086 !1139 !1451 !1501'
  175. ADD_PATH: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin;C:\msys64\usr\bin'
  176. MSYS2_ARG_CONV_EXCL: '/*'
  177. BUILD_OPT: -k
  178. # winbuild-based builds
  179. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
  180. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  181. BUILD_SYSTEM: winbuild_vs2015
  182. DEBUG: 'yes'
  183. PATHPART: debug
  184. TESTING: 'OFF'
  185. ENABLE_UNICODE: 'no'
  186. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
  187. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  188. BUILD_SYSTEM: winbuild_vs2015
  189. DEBUG: 'no'
  190. PATHPART: release
  191. TESTING: 'OFF'
  192. ENABLE_UNICODE: 'no'
  193. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
  194. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  195. BUILD_SYSTEM: winbuild_vs2017
  196. DEBUG: 'yes'
  197. PATHPART: debug
  198. TESTING: 'OFF'
  199. ENABLE_UNICODE: 'no'
  200. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
  201. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  202. BUILD_SYSTEM: winbuild_vs2017
  203. DEBUG: 'no'
  204. PATHPART: release
  205. TESTING: 'OFF'
  206. ENABLE_UNICODE: 'no'
  207. - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  208. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  209. BUILD_SYSTEM: winbuild_vs2015
  210. DEBUG: 'yes'
  211. PATHPART: debug
  212. TESTING: 'OFF'
  213. ENABLE_UNICODE: 'yes'
  214. - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  215. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
  216. BUILD_SYSTEM: winbuild_vs2015
  217. DEBUG: 'no'
  218. PATHPART: release
  219. TESTING: 'OFF'
  220. ENABLE_UNICODE: 'yes'
  221. - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
  222. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  223. BUILD_SYSTEM: winbuild_vs2017
  224. DEBUG: 'yes'
  225. PATHPART: debug
  226. TESTING: 'OFF'
  227. ENABLE_UNICODE: 'yes'
  228. - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
  229. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  230. BUILD_SYSTEM: winbuild_vs2017
  231. DEBUG: 'no'
  232. PATHPART: release
  233. TESTING: 'OFF'
  234. ENABLE_UNICODE: 'yes'
  235. # generated VisualStudioSolution-based builds
  236. - job_name: 'VisualStudioSolution, VS2017, Debug, x86, Schannel, Build-only'
  237. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  238. BUILD_SYSTEM: VisualStudioSolution
  239. PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
  240. TESTING: 'OFF'
  241. VC_VERSION: VC14.10
  242. # autotools-based builds (NOT mingw cross-compiling, but msys2 native)
  243. - job_name: 'autotools, msys2, Debug, x86_64, no Proxy, no SSL'
  244. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  245. BUILD_SYSTEM: autotools
  246. TESTING: 'ON'
  247. DISABLED_TESTS: '!19 !1233'
  248. ADD_PATH: 'C:\msys64\usr\bin'
  249. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --without-ssl --enable-websockets'
  250. - job_name: 'autotools, msys2, Debug, 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. ADD_PATH: 'C:\msys64\usr\bin'
  256. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets'
  257. - job_name: 'autotools, msys2, Release, x86_64, no SSL'
  258. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
  259. BUILD_SYSTEM: autotools
  260. TESTING: 'ON'
  261. DISABLED_TESTS: '!19 !504 !704 !705 !1233'
  262. ADD_PATH: 'C:\msys64\usr\bin'
  263. CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets'
  264. # autotools-based Cygwin build
  265. - job_name: 'autotools, cygwin, Debug, x86_64, no SSL'
  266. APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
  267. BUILD_SYSTEM: autotools
  268. TESTING: 'ON'
  269. DISABLED_TESTS: ''
  270. ADD_PATH: 'C:\cygwin64\bin'
  271. CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets'
  272. POSIX_PATH_PREFIX: '/cygdrive'
  273. install:
  274. - ps: |
  275. if($env:ADD_PATH -ne $null) {
  276. $env:PATH = "$env:ADD_PATH;$env:PATH"
  277. }
  278. build_script:
  279. - ps: |
  280. function Pull-BatchFile-Env {
  281. param([string]$Path, [string]$Parameters)
  282. $tempFile = [IO.Path]::GetTempFileName()
  283. cmd.exe /c " `"$Path`" $Parameters && set " > $tempFile
  284. Get-Content $tempFile | ForEach-Object { if($_ -match '^(.*?)=(.*)$') { Set-Content "env:\$($matches[1])" $matches[2] } }
  285. Remove-Item $tempFile
  286. }
  287. $ErrorActionPreference = 'Stop'
  288. if($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2022') {
  289. $openssl_root = 'C:\OpenSSL-v30-Win64'
  290. }
  291. else {
  292. $openssl_root = 'C:\OpenSSL-v111-Win64'
  293. }
  294. if($env:BUILD_SYSTEM -eq 'CMake') {
  295. $options = @('-DCURL_WERROR=ON')
  296. $options += "-G$env:PRJ_GEN"
  297. if($env:TARGET -ne $null) {
  298. $options += "$env:TARGET"
  299. if($env:TARGET.Contains('ARM64')) {
  300. $env:SKIP_RUN = 'ARM64 architecture'
  301. }
  302. }
  303. $options += "-DCURL_USE_OPENSSL=$env:OPENSSL"
  304. if($env:OPENSSL -eq 'ON') {
  305. $options += "-DOPENSSL_ROOT_DIR=$openssl_root"
  306. }
  307. $options += "-DCURL_USE_SCHANNEL=$env:SCHANNEL"
  308. $options += "-DHTTP_ONLY=$env:HTTP_ONLY"
  309. $options += "-DBUILD_SHARED_LIBS=$env:SHARED"
  310. $options += "-DBUILD_TESTING=$env:TESTING"
  311. $options += "-DENABLE_WEBSOCKETS=$env:WEBSOCKETS"
  312. $options += "-DCMAKE_UNITY_BUILD=$env:UNITY"
  313. $options += "-DENABLE_DEBUG=$env:DEBUG"
  314. $options += "-DENABLE_UNICODE=$env:ENABLE_UNICODE"
  315. $options += '-DCMAKE_INSTALL_PREFIX=C:/CURL'
  316. $options += "-DCMAKE_BUILD_TYPE=$env:PRJ_CFG"
  317. if($env:PRJ_CFG -eq 'Debug') {
  318. $options += '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG='
  319. }
  320. elseif ($env:PRJ_CFG -eq 'Release') {
  321. $options += '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE='
  322. }
  323. if($env:PRJ_GEN.Contains('Visual Studio')) {
  324. $options += '-DCMAKE_VS_GLOBALS=TrackFileAccess=false'
  325. }
  326. if($env:PRJ_GEN -eq 'Visual Studio 9 2008') {
  327. # Without this it fails to run due to missing MSVCR90.dll
  328. $options += '-DCURL_STATIC_CRT=ON'
  329. }
  330. Write-Host 'CMake options:' $options
  331. cmake . $options
  332. cmake --build . --config $env:PRJ_CFG --parallel 2 --clean-first -- $env:BUILD_OPT
  333. if($env:SHARED -eq 'ON') {
  334. Copy-Item -Path 'C:\Projects\curl\lib\*.dll' -Destination 'C:\projects\curl\src'
  335. Copy-Item -Path 'C:\Projects\curl\lib\*.dll' -Destination 'C:\projects\curl\tests\libtest'
  336. }
  337. if($env:OPENSSL -eq 'ON') {
  338. Copy-Item -Path "$openssl_root\*.dll" -Destination 'C:\projects\curl\src'
  339. }
  340. $curl = '.\src\curl.exe'
  341. }
  342. elseif($env:BUILD_SYSTEM -eq 'VisualStudioSolution') {
  343. cd projects
  344. .\generate.bat $env:VC_VERSION
  345. msbuild.exe -maxcpucount "-property:Configuration=$env:PRJ_CFG" "Windows\$env:VC_VERSION\curl-all.sln"
  346. $curl = "..\build\Win32\$env:VC_VERSION\$env:PRJ_CFG\curld.exe"
  347. }
  348. elseif($env:BUILD_SYSTEM -eq 'winbuild_vs2015') {
  349. .\buildconf.bat
  350. cd winbuild
  351. Pull-BatchFile-Env 'C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd' /x64
  352. Pull-BatchFile-Env 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat' x86_amd64
  353. nmake /nologo /f Makefile.vc mode=dll VC=14 "SSL_PATH=$openssl_root" WITH_SSL=dll MACHINE=x64 DEBUG=$env:DEBUG ENABLE_UNICODE=$env:ENABLE_UNICODE
  354. $curl = "..\builds\libcurl-vc14-x64-$env:PATHPART-dll-ssl-dll-ipv6-sspi\bin\curl.exe"
  355. }
  356. elseif($env:BUILD_SYSTEM -eq 'winbuild_vs2017') {
  357. .\buildconf.bat
  358. cd winbuild
  359. Pull-BatchFile-Env 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
  360. nmake /nologo /f Makefile.vc mode=dll VC=14.10 "SSL_PATH=$openssl_root" WITH_SSL=dll MACHINE=x64 DEBUG=$env:DEBUG ENABLE_UNICODE=$env:ENABLE_UNICODE
  361. $curl = "..\builds\libcurl-vc14.10-x64-$env:PATHPART-dll-ssl-dll-ipv6-sspi\bin\curl.exe"
  362. }
  363. elseif($env:BUILD_SYSTEM -eq 'autotools') {
  364. & bash -e -c "cd $env:POSIX_PATH_PREFIX/c/projects/curl && autoreconf -fi 2>&1 && ./configure $env:CONFIG_ARGS 2>&1 && make V=1 && make V=1 examples && cd tests && make V=1"
  365. $curl = '.\src\curl.exe'
  366. }
  367. Get-ChildItem -Path C:\projects\curl -Include ('*.exe', '*.dll') -Recurse -Name
  368. if($env:SKIP_RUN -eq $null) {
  369. cmd.exe /c "`"$curl`" -V 2>&1"
  370. if(-not $?) {
  371. Write-Host "Error running curl: '$curl':" ("0x" + $LastExitCode.ToString("X"))
  372. exit 1
  373. }
  374. }
  375. else {
  376. Write-Host "Skip running curl.exe. Reason: $env:SKIP_RUN"
  377. }
  378. if($false) {
  379. if(Test-Path CMakeFiles/CMakeConfigureLog.yaml) { cat CMakeFiles/CMakeConfigureLog.yaml }
  380. if(Test-Path CMakeFiles/CMakeOutput.log) { cat CMakeFiles/CMakeOutput.log }
  381. if(Test-Path CMakeFiles/CMakeError.log) { cat CMakeFiles/CMakeError.log }
  382. if(Test-Path config.log) { cat config.log }
  383. }
  384. if($env:TESTING -eq 'ON' -and $env:BUILD_SYSTEM -eq 'CMake') {
  385. cmake --build . --config $env:PRJ_CFG --parallel 2 --target testdeps
  386. }
  387. test_script:
  388. - ps: |
  389. if(Test-Path 'C:/msys64/usr/bin/curl.exe') {
  390. $acurl="-ac $env:POSIX_PATH_PREFIX/c/msys64/usr/bin/curl.exe"
  391. }
  392. if(Test-Path 'C:/Windows/System32/curl.exe') {
  393. $acurl="-ac $env:POSIX_PATH_PREFIX/c/Windows/System32/curl.exe"
  394. }
  395. if($env:TESTING -eq 'ON') {
  396. if($env:BUILD_SYSTEM -eq 'CMake') {
  397. $env:TFLAGS="$acurl $env:DISABLED_TESTS"
  398. cmake --build . --config $env:PRJ_CFG --target test-ci
  399. }
  400. elseif($env:BUILD_SYSTEM -eq 'autotools') {
  401. & bash -e -c "cd $env:POSIX_PATH_PREFIX/c/projects/curl && make V=1 TFLAGS='$acurl $env:DISABLED_TESTS' test-ci"
  402. }
  403. else {
  404. & bash -e -c "cd $env:POSIX_PATH_PREFIX/c/projects/curl/tests && ./runtests.pl -a -p !flaky -r -rm $acurl $env:DISABLED_TESTS"
  405. }
  406. }
  407. clone_depth: 10
  408. # select branches to avoid testing feature branches twice (as branch and as pull request)
  409. branches:
  410. only:
  411. - master
  412. - /\/ci$/
  413. skip_commits:
  414. files:
  415. - '.azure-pipelines.yml'
  416. - '.circleci/**/*'
  417. - '.cirrus.yml'
  418. - '.github/**/*'
  419. - 'packages/**/*'
  420. - 'plan9/**/*'
  421. artifacts:
  422. - path: '**/curl.exe'
  423. name: curl
  424. - path: '**/*curl*.dll'
  425. name: libcurl dll