xref: /curl/appveyor.yml (revision fb711b50)
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  HTTP_ONLY: 'OFF'
39  TFLAGS: 'skiprun'
40  EXAMPLES: 'OFF'
41
42  matrix:
43
44    # generated CMake-based Visual Studio builds
45
46    - job_name: 'CMake, VS2008, Release, x86, Schannel, Shared, Build-tests'
47      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
48      BUILD_SYSTEM: CMake
49      PRJ_GEN: 'Visual Studio 9 2008'
50      PRJ_CFG: Release
51      DEBUG: 'OFF'
52      SCHANNEL: 'ON'
53      ENABLE_UNICODE: 'OFF'
54      SHARED: 'ON'
55    - job_name: 'CMake, VS2008, Debug, x86, Schannel, Shared, Build-tests & examples'
56      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
57      BUILD_SYSTEM: CMake
58      PRJ_GEN: 'Visual Studio 9 2008'
59      PRJ_CFG: Debug
60      SCHANNEL: 'ON'
61      ENABLE_UNICODE: 'OFF'
62      SHARED: 'ON'
63      EXAMPLES: 'ON'
64    - job_name: 'CMake, VS2022, Release, x64, OpenSSL 3.3, Shared, Build-tests'
65      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
66      BUILD_SYSTEM: CMake
67      PRJ_GEN: 'Visual Studio 17 2022'
68      TARGET: '-A x64'
69      PRJ_CFG: Release
70      OPENSSL: 'ON'
71      SCHANNEL: 'OFF'
72      ENABLE_UNICODE: 'OFF'
73      SHARED: 'ON'
74    - job_name: 'CMake, VS2022, Release, arm64, Schannel, Static, Build-tests'
75      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
76      BUILD_SYSTEM: CMake
77      PRJ_GEN: 'Visual Studio 17 2022'
78      TARGET: '-A ARM64'
79      PRJ_CFG: Release
80      SCHANNEL: 'ON'
81      ENABLE_UNICODE: 'OFF'
82      DEBUG: 'OFF'
83      CURLDEBUG: 'ON'
84    - job_name: 'CMake, VS2010, Debug, x64, Schannel, Static, Build-tests & examples'
85      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
86      BUILD_SYSTEM: CMake
87      PRJ_GEN: 'Visual Studio 10 2010 Win64'
88      PRJ_CFG: Debug
89      SCHANNEL: 'ON'
90      ENABLE_UNICODE: 'OFF'
91      EXAMPLES: 'ON'
92    - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode, Build-tests & examples, clang-cl'
93      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
94      BUILD_SYSTEM: CMake
95      PRJ_GEN: 'Visual Studio 17 2022'
96      TARGET: '-A x64'
97      PRJ_CFG: Debug
98      SCHANNEL: 'ON'
99      ENABLE_UNICODE: 'ON'
100      EXAMPLES: 'ON'
101      TOOLSET: 'ClangCl'
102    - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode, Build-tests'
103      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
104      BUILD_SYSTEM: CMake
105      PRJ_GEN: 'Visual Studio 17 2022'
106      TARGET: '-A x64'
107      PRJ_CFG: Debug
108      SCHANNEL: 'ON'
109      ENABLE_UNICODE: 'ON'
110    - job_name: 'CMake, VS2022, Release, x64, Schannel, Shared, Unicode, DEBUGBUILD, no-CURLDEBUG, Build-tests'
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: Release
116      SCHANNEL: 'ON'
117      ENABLE_UNICODE: 'ON'
118      SHARED: 'ON'
119      CURLDEBUG: 'OFF'
120    - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, Build-tests'
121      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
122      BUILD_SYSTEM: CMake
123      PRJ_GEN: 'Visual Studio 17 2022'
124      TARGET: '-A x64'
125      PRJ_CFG: Debug
126      SCHANNEL: 'OFF'
127      ENABLE_UNICODE: 'OFF'
128    - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only, Build-tests'
129      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
130      BUILD_SYSTEM: CMake
131      PRJ_GEN: 'Visual Studio 17 2022'
132      TARGET: '-A x64'
133      PRJ_CFG: Debug
134      SCHANNEL: 'OFF'
135      ENABLE_UNICODE: 'OFF'
136      HTTP_ONLY: 'ON'
137
138    # winbuild-based builds
139
140    - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
141      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
142      BUILD_SYSTEM: winbuild_vs2015
143      DEBUG: 'yes'
144      PATHPART: debug
145      ENABLE_UNICODE: 'no'
146    - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
147      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
148      BUILD_SYSTEM: winbuild_vs2015
149      DEBUG: 'no'
150      PATHPART: release
151      ENABLE_UNICODE: 'no'
152    - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
153      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
154      BUILD_SYSTEM: winbuild_vs2017
155      DEBUG: 'yes'
156      PATHPART: debug
157      ENABLE_UNICODE: 'no'
158    - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
159      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
160      BUILD_SYSTEM: winbuild_vs2017
161      DEBUG: 'no'
162      PATHPART: release
163      ENABLE_UNICODE: 'no'
164    - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
165      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
166      BUILD_SYSTEM: winbuild_vs2015
167      DEBUG: 'yes'
168      PATHPART: debug
169      ENABLE_UNICODE: 'yes'
170    - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
171      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
172      BUILD_SYSTEM: winbuild_vs2015
173      DEBUG: 'no'
174      PATHPART: release
175      ENABLE_UNICODE: 'yes'
176    - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
177      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
178      BUILD_SYSTEM: winbuild_vs2017
179      DEBUG: 'yes'
180      PATHPART: debug
181      ENABLE_UNICODE: 'yes'
182    - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
183      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
184      BUILD_SYSTEM: winbuild_vs2017
185      DEBUG: 'no'
186      PATHPART: release
187      ENABLE_UNICODE: 'yes'
188
189    # generated VisualStudioSolution-based builds
190
191    - job_name: 'VisualStudioSolution, VS2013, Debug, x86, Schannel, Build-only'
192      APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
193      BUILD_SYSTEM: VisualStudioSolution
194      PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
195      VC_VERSION: VC12
196
197install:
198  - ps: $env:PATH = "C:/msys64/usr/bin;$env:PATH"
199
200build_script:
201  - cmd: sh -c ./appveyor.sh
202
203clone_depth: 10
204
205# select branches to avoid testing feature branches twice (as branch and as pull request)
206branches:
207  only:
208    - master
209    - /\/ci$/
210
211skip_commits:
212  files:
213    - '.circleci/*'
214    - '.github/**/*'
215    - 'packages/**/*'
216    - 'plan9/**/*'
217
218#artifacts:
219#  - path: '**/curl.exe'
220#    name: curl
221#  - path: '**/*curl*.dll'
222#    name: libcurl dll
223