123 строки
4.2 KiB
YAML
123 строки
4.2 KiB
YAML
# Copyright (c) 2014, Ruslan Baratov
|
|
# Copyright (c) 2014, 2016 Alexander Lamaison
|
|
# Copyright (c) 2020, 2021 Marc Hoersken
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
#
|
|
# * Redistributions of source code must retain the above copyright notice, this
|
|
# list of conditions and the following disclaimer.
|
|
#
|
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions and the following disclaimer in the documentation
|
|
# and/or other materials provided with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
os: Visual Studio 2015
|
|
|
|
environment:
|
|
matrix:
|
|
- GENERATOR: "Visual Studio 14 2015"
|
|
BUILD_SHARED_LIBS: ON
|
|
CRYPTO_BACKEND: "OpenSSL"
|
|
|
|
- GENERATOR: "Visual Studio 14 2015"
|
|
BUILD_SHARED_LIBS: OFF
|
|
CRYPTO_BACKEND: "OpenSSL"
|
|
|
|
- GENERATOR: "Visual Studio 12 2013"
|
|
BUILD_SHARED_LIBS: ON
|
|
CRYPTO_BACKEND: "OpenSSL"
|
|
|
|
- GENERATOR: "Visual Studio 12 2013"
|
|
BUILD_SHARED_LIBS: OFF
|
|
CRYPTO_BACKEND: "OpenSSL"
|
|
|
|
- GENERATOR: "Visual Studio 14 2015"
|
|
BUILD_SHARED_LIBS: ON
|
|
CRYPTO_BACKEND: "WinCNG"
|
|
|
|
- GENERATOR: "Visual Studio 14 2015"
|
|
BUILD_SHARED_LIBS: OFF
|
|
CRYPTO_BACKEND: "WinCNG"
|
|
|
|
- GENERATOR: "Visual Studio 12 2013"
|
|
BUILD_SHARED_LIBS: ON
|
|
CRYPTO_BACKEND: "WinCNG"
|
|
|
|
- GENERATOR: "Visual Studio 12 2013"
|
|
BUILD_SHARED_LIBS: OFF
|
|
CRYPTO_BACKEND: "WinCNG"
|
|
|
|
platform:
|
|
- x86
|
|
- x64
|
|
|
|
configuration:
|
|
# - Debug
|
|
- Release
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
allow_failures:
|
|
- GENERATOR: "Visual Studio 9 2008"
|
|
platform: x64
|
|
|
|
install:
|
|
# prepare local SSH server for reverse tunneling from GitHub Actions hosting our docker container
|
|
- ps: |
|
|
$env:OPENSSH_SERVER_PORT = Get-Random -Minimum 2000 -Maximum 2300
|
|
[System.Environment]::SetEnvironmentVariable("OPENSSH_SERVER_PORT", $env:OPENSSH_SERVER_PORT)
|
|
- ps: .\ci\appveyor\docker-bridge.ps1
|
|
- choco install -y docker-cli
|
|
|
|
build_script:
|
|
- ps: if($env:PLATFORM -eq "x64") { $env:CMAKE_GEN_SUFFIX=" Win64" }
|
|
- cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DCRYPTO_BACKEND=%CRYPTO_BACKEND% -H. -B_builds
|
|
- cmake --build _builds --config "%CONFIGURATION%"
|
|
|
|
before_test:
|
|
- ps: |
|
|
Write-Host "Waiting for SSH connection from GitHub Actions" -NoNewline
|
|
while((Get-Process -Name "sshd" -ErrorAction SilentlyContinue).Count -eq 1) {
|
|
Write-Host "." -NoNewline
|
|
Start-Sleep -Seconds 1
|
|
}
|
|
if((Get-Process -Name "sshd" -ErrorAction SilentlyContinue).Count -gt 1) {
|
|
$env:DOCKER_HOST = "tcp://127.0.0.1:2375"
|
|
[System.Environment]::SetEnvironmentVariable("DOCKER_HOST", $env:DOCKER_HOST)
|
|
Write-Host "... ready!"
|
|
} else {
|
|
Write-Host "... failed!"
|
|
}
|
|
|
|
test_script:
|
|
- ps: cd _builds
|
|
- ps: ctest -VV -C $($env:CONFIGURATION) --output-on-failure
|
|
|
|
on_failure:
|
|
- ps: if(Test-Path _builds/CMakeFiles/CMakeOutput.log) { cat _builds/CMakeFiles/CMakeOutput.log }
|
|
- ps: if(Test-Path _builds/CMakeFiles/CMakeError.log) { cat _builds/CMakeFiles/CMakeError.log }
|
|
|
|
on_finish:
|
|
- ps: |
|
|
Get-Process -Name "sleep" -ErrorAction SilentlyContinue | Stop-Process
|
|
Start-Sleep -Seconds 3
|
|
Get-Process -Name "sshd" -ErrorAction SilentlyContinue | Stop-Process
|
|
|
|
# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
|
|
branches:
|
|
only:
|
|
- master
|