-
Notifications
You must be signed in to change notification settings - Fork 59
/
appveyor.yml
40 lines (34 loc) · 2.66 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
environment:
LEATHERMAN_VERSION: 1.11.0
CPP_PCP_CLIENT_VERSION: 1.7.6
CPPHOCON_VERSION: 0.2.0
install:
- choco install -y mingw-w64 -Version 5.2.0 -source https://www.myget.org/F/puppetlabs
- choco install -y cmake -Version 3.2.2 -source https://www.myget.org/F/puppetlabs
- choco install -y gettext -Version 0.19.6 -source https://www.myget.org/F/puppetlabs
- choco install -y pl-toolchain-x64 -Version 2015.12.01.1 -source https://www.myget.org/F/puppetlabs
- choco install -y pl-boost-x64 -Version 1.58.0.2 -source https://www.myget.org/F/puppetlabs
- choco install -y pl-openssl-x64 -Version 1.0.24.1 -source https://www.myget.org/F/puppetlabs
- choco install -y pl-curl-x64 -Version 7.46.0.1 -source https://www.myget.org/F/puppetlabs
- choco install -y pl-zlib-x64 -Version 1.2.8.1 -source https://www.myget.org/F/puppetlabs
- choco install -y pester -Version 4.10.1
# Minimize environment polution; previously we were linking against the wrong OpenSSL DLLs.
# Include Ruby and Powershell for unit tests.
- SET PATH=C:\tools\pl-build-tools\bin;C:\tools\mingw64\bin;C:\ProgramData\chocolatey\bin;C:\Ruby22-x64\bin;C:\Program Files\7-Zip;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0
- ps: rm -r C:\OpenSSL-Win64
- ps: wget "https://github.com/puppetlabs/leatherman/releases/download/$env:LEATHERMAN_VERSION/leatherman.7z" -OutFile "$pwd\leatherman.7z"
- ps: 7z.exe x leatherman.7z -oC:\tools | FIND /V "ing "
- ps: wget "https://github.com/puppetlabs/cpp-pcp-client/releases/download/$env:CPP_PCP_CLIENT_VERSION/cpp-pcp-client.7z" -OutFile "$pwd\cpp-pcp-client.7z"
- ps: 7z.exe x cpp-pcp-client.7z -oC:\tools | FIND /V "ing "
- ps: wget "https://github.com/puppetlabs/cpp-hocon/releases/download/$env:CPPHOCON_VERSION/cpp-hocon.7z" -OutFile "$env:temp\cpp-hocon.7z"
- ps: 7z.exe x $env:temp\cpp-hocon.7z -oC:\tools | FIND /V "ing "
build_script:
- ps: cmake -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE="C:\tools\pl-build-tools\pl-build-toolchain.cmake" -DCMAKE_PREFIX_PATH="C:\tools\leatherman;C:\tools\cpp-pcp-client;C:\tools\cpp-hocon" -DCMAKE_INSTALL_PREFIX=C:\tools -DBOOST_STATIC=ON .
- ps: mingw32-make install
test_script:
# DLLs in C:\Windows\system32 somehow get picked up first, despite PATH. Make local copies to override that behavior.
- ps: cp C:\Tools\pl-build-tools\bin\libeay32.dll .\bin
- ps: cp C:\Tools\pl-build-tools\bin\ssleay32.dll .\bin
- ps: ctest -V 2>&1 | %{ if ($_ -is [System.Management.Automation.ErrorRecord]) { $_ | c++filt } else { $_ } }
- ps: type ./acceptance/files/complex-args.json | ./exe/PowershellShim.ps1 ./acceptance/files/complex-task.ps1
- ps: Invoke-Pester -EnableExit