bond/appveyor.yml

111 строки
3.0 KiB
YAML

# fsharp feature branch
-
version: 1.0.{build}
clone_depth: 15
branches:
only:
- fsharp
configuration: Debug
build:
project: fsharp\fsharp.sln
verbosity: minimal
test:
assemblies: fsharp\test\TypeProvider\bin\$(configuration)\BondFsharpUnitTest.dll
# other branches
-
version: 1.0.{build}
clone_depth: 15
environment:
matrix:
- BOND_BUILD: C++
- BOND_BUILD: C#
BOND_PROJECT: cs\cs.sln
BOND_OUTPUT: Properties
BOND_CONFIG: Debug
- BOND_BUILD: C#
BOND_PROJECT: cs\cs.sln
BOND_OUTPUT: Fields
BOND_CONFIG: Fields
install:
- ps: >-
if ($env:BOND_BUILD -eq "C++") {
git submodule update --init
if (!(Test-Path boost_1_58_0.7z)) {
echo "Downloading Boost 1.58 ..."
appveyor DownloadFile "http://iweb.dl.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.7z" -Timeout 1200000
}
echo "Extracting Boost..."
7z x boost_1_58_0.7z -y -o"${env:APPVEYOR_BUILD_FOLDER}" boost_1_58_0\boost > $null
$env:BOOST_ROOT = "${env:APPVEYOR_BUILD_FOLDER}\boost_1_58_0"
}
choco install haskellplatform -version 2014.2.0.0 -y
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")
cabal update
cache:
- cs\packages -> cs\test\core\packages.config
- compiler\.cabal-sandbox -> compiler\bond.cabal
- boost_1_58_0.7z
before_build:
- ps: >-
if ($env:BOND_BUILD -eq "C#") {
nuget restore $env:BOND_PROJECT
}
if ($env:BOND_BUILD -eq "C++") {
mkdir build
cd build
cmake -G "Visual Studio 14 2015 Win64" ..
$env:PreferredToolArchitecture = "x64"
}
build_script:
- ps: >-
if ($env:BOND_BUILD -eq "C++") {
cmake --build . --target check -- /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
}
if ($env:BOND_BUILD -eq "C#") {
msbuild ${env:BOND_PROJECT} /verbosity:minimal /p:Configuration=${env:BOND_CONFIG} /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
}
if (-not $?) { throw "build failed" }
test_script:
- ps: >-
$ErrorActionPreference = "Stop"
if ($env:BOND_BUILD -eq "C#") {
nunit-console-x86 /framework:net-4.0 /labels "cs\test\core\bin\debug\net40\${env:BOND_OUTPUT}\Bond.UnitTest.dll" cs\test\internal\bin\debug\net40\Bond.InternalTest.dll
nunit-console-x86 /framework:net-4.5 /labels "cs\test\core\bin\debug\net45\${env:BOND_OUTPUT}\Bond.UnitTest.dll" cs\test\internal\bin\debug\net45\Bond.InternalTest.dll
}