curl/appveyor.yml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

432 lines
16 KiB
YAML
Raw Normal View History

#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
2020-11-04 21:02:01 +08:00
# are also available at https://curl.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
# SPDX-License-Identifier: curl
#
###########################################################################
# https://ci.appveyor.com/project/curlorg/curl/history
# Appveyor configuration
# https://www.appveyor.com/docs/appveyor-yml/
version: 7.50.0.{build}
environment:
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
UNITY: 'OFF'
OPENSSL: 'OFF'
DEBUG: 'ON'
SHARED: 'OFF'
matrix:
# generated CMake-based Visual Studio Release builds
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'CMake, VS2008, Release x86, Schannel, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 9 2008'
PRJ_CFG: Release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
SHARED: 'ON'
TESTING: 'OFF'
DISABLED_TESTS: ''
SKIP_RUN: 'Needs missing MSVCR90.dll'
- job_name: 'CMake, VS2022, Release x64, OpenSSL, WebSockets, Unity, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 17 2022'
TARGET: '-A x64'
PRJ_CFG: Release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
OPENSSL: 'ON'
SCHANNEL: 'OFF'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
SHARED: 'ON'
TESTING: 'OFF'
DISABLED_TESTS: ''
WEBSOCKETS: 'ON'
UNITY: 'ON'
- job_name: 'CMake, VS2022, Release arm64, Schannel, Static, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 17 2022'
TARGET: '-A ARM64'
PRJ_CFG: Release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
TESTING: 'OFF'
DISABLED_TESTS: ''
# generated CMake-based Visual Studio Debug builds
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'CMake, VS2010, Debug x64, no SSL, Static'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 10 2010 Win64'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'OFF'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '!1139 !1501'
ADD_PATH: 'C:\msys64\usr\bin'
- job_name: 'CMake, VS2022, Debug x64, Schannel, Static, Unicode'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 17 2022'
TARGET: '-A x64'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'ON'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '~571 !1139 !1501'
ADD_PATH: 'C:\msys64\usr\bin'
- job_name: 'CMake, VS2022, Debug x64, no SSL, Static'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 17 2022'
TARGET: '-A x64'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'OFF'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '~571 !1139 !1501'
ADD_PATH: 'C:\msys64\usr\bin'
- job_name: 'CMake, VS2022, Debug x64, no SSL, Static, HTTP only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'Visual Studio 17 2022'
TARGET: '-A x64'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'OFF'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'ON'
TESTING: 'ON'
DISABLED_TESTS: '!1139 !1501'
ADD_PATH: 'C:\msys64\usr\bin'
# generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'CMake, mingw-w64, gcc 8, Debug x64, Schannel, Static, Unicode'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'MSYS Makefiles'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'ON'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '!1139 !1451 !1501'
ADD_PATH: 'C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\msys64\usr\bin'
MSYS2_ARG_CONV_EXCL: '/*'
BUILD_OPT: -k
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'CMake, mingw-w64, gcc 7, Debug x64, Schannel, Static, Unicode'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'MSYS Makefiles'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'ON'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '!1139 !1451 !1501'
ADD_PATH: 'C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;C:\msys64\usr\bin'
MSYS2_ARG_CONV_EXCL: '/*'
BUILD_OPT: -k
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'CMake, mingw-w64, gcc 9, Debug x64, Schannel, Static, Unity'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'MSYS Makefiles'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '!1139 !1451 !1501'
ADD_PATH: 'C:\msys64\mingw64\bin;C:\msys64\usr\bin'
MSYS2_ARG_CONV_EXCL: '/*'
BUILD_OPT: -k
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
UNITY: 'ON'
- job_name: 'CMake, mingw-w64, gcc 6, Debug x86, Schannel, Static'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: CMake
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_GEN: 'MSYS Makefiles'
PRJ_CFG: Debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
SCHANNEL: 'ON'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
TESTING: 'ON'
DISABLED_TESTS: '!1139 !1451 !1501'
ADD_PATH: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin;C:\msys64\usr\bin'
MSYS2_ARG_CONV_EXCL: '/*'
BUILD_OPT: -k
# winbuild-based builds
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'winbuild, VS2015, Debug, x64, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: winbuild_vs2015
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'yes'
PATHPART: debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'no'
- job_name: 'winbuild, VS2015, Release, x64, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: winbuild_vs2015
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'no'
PATHPART: release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'no'
- job_name: 'winbuild, VS2017, Debug, x64, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: winbuild_vs2017
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'yes'
PATHPART: debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'no'
- job_name: 'winbuild, VS2017, Release, x64, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: winbuild_vs2017
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'no'
PATHPART: release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'no'
- job_name: 'winbuild, VS2015, Debug, x64, Unicode, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: winbuild_vs2015
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'yes'
PATHPART: debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'yes'
- job_name: 'winbuild, VS2015, Release, x64, Unicode, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
BUILD_SYSTEM: winbuild_vs2015
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'no'
PATHPART: release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'yes'
- job_name: 'winbuild, VS2017, Debug, x64, Unicode, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: winbuild_vs2017
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'yes'
PATHPART: debug
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'yes'
- job_name: 'winbuild, VS2017, Release, x64, Unicode, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: winbuild_vs2017
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
DEBUG: 'no'
PATHPART: release
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'OFF'
ENABLE_UNICODE: 'yes'
# generated VisualStudioSolution-based builds
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'VisualStudioSolution, VS2017, Debug, x86, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: VisualStudioSolution
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
TESTING: 'OFF'
VC_VERSION: VC14.10
# autotools-based builds (NOT mingw cross-compiling, but msys2 native)
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'autotools, msys2, Debug, x86_64, no Proxy, no SSL'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: autotools
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'ON'
DISABLED_TESTS: '!19 !1233'
ADD_PATH: 'C:\msys64\usr\bin'
CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --without-ssl --enable-websockets'
- job_name: 'autotools, msys2, Debug, x86_64, no SSL'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: autotools
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'ON'
DISABLED_TESTS: '!19 !504 !704 !705 !1233'
ADD_PATH: 'C:\msys64\usr\bin'
CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets'
- job_name: 'autotools, msys2, Release, x86_64, no SSL'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
BUILD_SYSTEM: autotools
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'ON'
DISABLED_TESTS: '!19 !504 !704 !705 !1233'
ADD_PATH: 'C:\msys64\usr\bin'
CONFIG_ARGS: '--enable-warnings --enable-werror --without-ssl --enable-websockets'
# autotools-based Cygwin build
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- job_name: 'autotools, cygwin, Debug, x86_64, no SSL'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: autotools
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
TESTING: 'ON'
DISABLED_TESTS: ''
ADD_PATH: 'C:\cygwin64\bin'
CONFIG_ARGS: '--enable-debug --enable-werror --disable-threaded-resolver --without-ssl --enable-websockets'
POSIX_PATH_PREFIX: '/cygdrive'
install:
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- ps: |
if($env:ADD_PATH -ne $null) {
$env:PATH = "$env:ADD_PATH;$env:PATH"
}
build_script:
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- ps: |
function Pull-BatchFile-Env {
param([string]$Path, [string]$Parameters)
$tempFile = [IO.Path]::GetTempFileName()
cmd.exe /c " `"$Path`" $Parameters && set " > $tempFile
Get-Content $tempFile | ForEach-Object { if($_ -match '^(.*?)=(.*)$') { Set-Content "env:\$($matches[1])" $matches[2] } }
Remove-Item $tempFile
}
$ErrorActionPreference = 'Stop'
$openssl_root = 'C:\OpenSSL-v111-Win64'
if($env:BUILD_SYSTEM -eq 'CMake') {
$options = @('-DCURL_WERROR=ON')
$options += "-G$env:PRJ_GEN"
if($env:TARGET -ne $null) {
$options += "$env:TARGET"
if($env:TARGET.Contains('ARM64')) {
$env:SKIP_RUN = 'ARM64 architecture'
}
}
$options += "-DCURL_USE_OPENSSL=$env:OPENSSL"
if($env:OPENSSL -eq 'ON') {
$options += "-DOPENSSL_ROOT_DIR=$openssl_root"
}
$options += "-DCURL_USE_SCHANNEL=$env:SCHANNEL"
$options += "-DHTTP_ONLY=$env:HTTP_ONLY"
$options += "-DBUILD_SHARED_LIBS=$env:SHARED"
$options += "-DBUILD_TESTING=$env:TESTING"
$options += "-DENABLE_WEBSOCKETS=$env:WEBSOCKETS"
$options += "-DCMAKE_UNITY_BUILD=$env:UNITY"
$options += "-DENABLE_DEBUG=$env:DEBUG"
$options += "-DENABLE_UNICODE=$env:ENABLE_UNICODE"
$options += '-DCMAKE_INSTALL_PREFIX=C:/CURL'
$options += "-DCMAKE_BUILD_TYPE=$env:PRJ_CFG"
if($env:PRJ_CFG -eq 'Debug') {
$options += '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG='
}
elseif ($env:PRJ_CFG -eq 'Release') {
$options += '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE='
}
if($env:PRJ_GEN.Contains('Visual Studio')) {
$options += '-DCMAKE_VS_GLOBALS=TrackFileAccess=false'
}
cmake --version
Write-Host 'CMake options:' $options
cmake . $options
cmake --build . --config $env:PRJ_CFG --parallel 2 --clean-first -- $env:BUILD_OPT
if($env:SHARED -eq 'ON') {
Copy-Item -Path 'C:\Projects\curl\lib\*.dll' -Destination 'C:\projects\curl\src'
Copy-Item -Path 'C:\Projects\curl\lib\*.dll' -Destination 'C:\projects\curl\tests\libtest'
}
if($env:OPENSSL -eq 'ON') {
Copy-Item -Path "$openssl_root\*.dll" -Destination 'C:\projects\curl\src'
}
$curl = '.\src\curl.exe'
}
elseif($env:BUILD_SYSTEM -eq 'VisualStudioSolution') {
cd projects
.\generate.bat $env:VC_VERSION
msbuild.exe -maxcpucount "-property:Configuration=$env:PRJ_CFG" "Windows\$env:VC_VERSION\curl-all.sln"
$curl = "..\build\Win32\$env:VC_VERSION\$env:PRJ_CFG\curld.exe"
}
elseif($env:BUILD_SYSTEM -eq 'winbuild_vs2015') {
.\buildconf.bat
cd winbuild
Pull-BatchFile-Env 'C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd' /x64
Pull-BatchFile-Env 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat' x86_amd64
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
$curl = "..\builds\libcurl-vc14-x64-$env:PATHPART-dll-ssl-dll-ipv6-sspi\bin\curl.exe"
}
elseif($env:BUILD_SYSTEM -eq 'winbuild_vs2017') {
.\buildconf.bat
cd winbuild
Pull-BatchFile-Env 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
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
$curl = "..\builds\libcurl-vc14.10-x64-$env:PATHPART-dll-ssl-dll-ipv6-sspi\bin\curl.exe"
}
elseif($env:BUILD_SYSTEM -eq 'autotools') {
& 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"
$curl = '.\src\curl.exe'
}
Get-ChildItem -Path C:\projects\curl -Include ('*.exe', '*.dll') -Recurse -Name
if($env:SKIP_RUN -eq $null) {
cmd.exe /c "`"$curl`" -V 2>&1"
if(-not $?) {
Write-Host "Error running curl: '$curl':" ("0x" + $LastExitCode.ToString("X"))
exit 1
}
}
else {
Write-Host "Skip running curl.exe. Reason: $env:SKIP_RUN"
}
if($false) {
if(Test-Path CMakeFiles/CMakeConfigureLog.yaml) { cat CMakeFiles/CMakeConfigureLog.yaml }
if(Test-Path CMakeFiles/CMakeOutput.log) { cat CMakeFiles/CMakeOutput.log }
if(Test-Path CMakeFiles/CMakeError.log) { cat CMakeFiles/CMakeError.log }
if(Test-Path config.log) { cat config.log }
}
if($env:TESTING -eq 'ON' -and $env:BUILD_SYSTEM -eq 'CMake') {
cmake --build . --config $env:PRJ_CFG --parallel 2 --target testdeps
}
test_script:
appveyor: rewrite batch in PowerShell + CI improvements 1. Rewrite in PowerShell: - rewrite MS-DOS batch build script in PowerShell. - move some bash operations into native PowerShell. - fixups for PowerShell insisting on failure when a command outputs something to stderr. - fix to actually run `curl -V` after every build. (and exclude ARM64 builds.) - also say why we skipped `curl -V` if we had to skip. - fix CMake warnings about unused configuration variables, by adapting these dynamically for build cases. - dedupe OpenSSL path into a variable. - disable `test1451` failing with a warning anyway due to missing python impacket. (after trying and failing to install impacket) PowerShell promotes these warnings to errors by PowerShell. We can also suppress they wholesale if they start causing issues in the future, like we already to with `autoreconf` and `./configure`. PowerShell is better than MS-DOS batches, so the hope is this makes it easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't supported inline by AppVeyor on Windows build machines, but we are okay to keep it in an external script, so it's also an option. 2. CI improvements: - enable tests for a "unity" build job. - speed-up CI initialization by using shallow clones of the curl repo. - speed-up CMake MSVC jobs with `TrackFileAccess=false`. - enable parallelism in `VisualStudioSolution` builds. - display CMake version before builds. - always show the CPU in job names. - tell which jobs are build-only in job names. - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs. - add `config.log` (autotools) to dumped logs (need to enable manually). 3. Style: - use single-quotes in YAML like we do in other CI YAML files. It also allows to drop quoting characters and lighter to write/read. (keep double quotes for PowerShell strings needing expansion.) Closes #11999
2023-10-02 01:32:59 +08:00
- ps: |
if(Test-Path 'C:/msys64/usr/bin/curl.exe') {
$acurl="-ac $env:POSIX_PATH_PREFIX/c/msys64/usr/bin/curl.exe"
}
if(Test-Path 'C:/Windows/System32/curl.exe') {
$acurl="-ac $env:POSIX_PATH_PREFIX/c/Windows/System32/curl.exe"
}
if($env:TESTING -eq 'ON') {
if($env:BUILD_SYSTEM -eq 'CMake') {
$env:TFLAGS="$acurl $env:DISABLED_TESTS"
cmake --build . --config $env:PRJ_CFG --target test-ci
}
elseif($env:BUILD_SYSTEM -eq 'autotools') {
& bash -e -c "cd $env:POSIX_PATH_PREFIX/c/projects/curl && make V=1 TFLAGS='$acurl $env:DISABLED_TESTS' test-ci"
}
else {
& bash -e -c "cd $env:POSIX_PATH_PREFIX/c/projects/curl/tests && ./runtests.pl -a -p !flaky -r -rm $acurl $env:DISABLED_TESTS"
}
}
clone_depth: 10
# select branches to avoid testing feature branches twice (as branch and as pull request)
branches:
only:
- master
- /\/ci$/
skip_commits:
files:
- '.azure-pipelines.yml'
- '.circleci/**/*'
- '.cirrus.yml'
- '.github/**/*'
- 'packages/**/*'
- 'plan9/**/*'
artifacts:
- path: '**/curl.exe'
name: curl
- path: '**/*curl*.dll'
cmake: add support for "unity" builds Aka "jumbo" or "amalgamation" builds. It means to compile all sources per target as a single C source. This is experimental. You can enable it by passing `-DCMAKE_UNITY_BUILD=ON` to cmake. It requires CMake 3.16 or newer. It makes builds (much) faster, allows for better optimizations and tends to promote less ambiguous code. Also add a new AppVeyor CI job and convert an existing one to use "unity" mode (one MSVC, one MinGW), and enable it for one macOS CI job. Fix related issues: - add missing include guard to `easy_lock.h`. - rename static variables and functions (and a macro) with names reused across sources, or shadowed by local variables. - add an `#undef` after use. - add a missing `#undef` before use. - move internal definitions from `ftp.h` to `ftp.c`. - `curl_memory.h` fixes to make it work when included repeatedly. - stop building/linking curlx bits twice for a static-mode curl tool. These caused doubly defined symbols in unity builds. - silence missing extern declarations compiler warning for ` _CRT_glob`. - fix extern declarations for `tool_freq` and `tool_isVistaOrGreater`. - fix colliding static symbols in debug mode: `debugtime()` and `statename`. - rename `ssl_backend_data` structure to unique names for each TLS-backend, along with the `ssl_connect_data` struct member referencing them. This required adding casts for each access. - add workaround for missing `[P]UNICODE_STRING` types in certain Windows builds when compiling `lib/ldap.c`. To support "unity" builds, we had to enable `SCHANNEL_USE_BLACKLISTS` for Schannel (a Windows `schannel.h` option) _globally_. This caused an indirect inclusion of Windows `schannel.h` from `ldap.c` via `winldap.h` to have it enabled as well. This requires `[P]UNICODE_STRING` types, which is apperantly not defined automatically (as seen with both MSVS and mingw-w64). This patch includes `<subauth.h>` to fix it. Ref: https://github.com/curl/curl/runs/13987772013 Ref: https://dev.azure.com/daniel0244/curl/_build/results?buildId=15827&view=logs&jobId=2c9f582d-e278-56b6-4354-f38a4d851906&j=2c9f582d-e278-56b6-4354-f38a4d851906&t=90509b00-34fa-5a81-35d7-5ed9569d331c - tweak unity builds to compile `lib/memdebug.c` separately in memory trace builds to avoid PP confusion. - force-disable unity for test programs. - do not compile and link libcurl sources to libtests _twice_ when libcurl is built in static mode. KNOWN ISSUES: - running tests with unity builds may fail in cases. - some build configurations/env may not compile in unity mode. E.g.: https://ci.appveyor.com/project/curlorg/curl/builds/47230972/job/51wfesgnfuauwl8q#L250 Ref: https://github.com/libssh2/libssh2/issues/1034 Ref: https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html Ref: https://en.wikipedia.org/wiki/Unity_build Closes #11095
2023-05-09 18:10:40 +08:00
name: libcurl dll