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:
- Release
matrix:
fast_finish: true
allow_failures:
- GENERATOR: "Visual Studio 9 2008"
platform: x64
install:
- 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: $env:OPENSSH_SERVER_IMAGE=[string] (& bash -c "echo ghcr.io/libssh2/ci_tests_openssh_server:$(git rev-parse --short=20 HEAD:tests/openssh_server)")
- ps: cd _builds; 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
branches:
only:
- master