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