From cabbf610a7ccce9fc849c4449ed078c4a84319da Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Sat, 11 Mar 2017 23:03:23 -0400 Subject: [PATCH] Add VS 2017 build, and bump conda to 3.6 This adds VS 2017 to the build matrix, plus various other small appveyor build changes: - conda version bumped from 3.5 to 3.6 - build newer versions/architectures/python first (i.e. VS2017/x64/3.6 is the first build, VS2015/x86/2.7 is the last) - stop building after a job failure: often a build failure in one occurs everywhere; this just stops processing jobs (freeing them up for other PRs) if an error is hit. Annoyingly, appveyor doesn't allow excluding tests: i.e. the test matrix is always dense (appveyor issue 386), so for now we'll just run everything. (Once appveyor issue 386 is resolved, we can come back and cut this down to 4-5 builds). --- .appveyor.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 15a7933d..b908d076 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,16 +1,22 @@ version: 1.0.{build} -os: Visual Studio 2015 +image: +- Visual Studio 2017 +- Visual Studio 2015 test: off platform: -- x86 - x64 +- x86 environment: matrix: + - CONDA: 36 - CONDA: 27 - - CONDA: 35 +matrix: + fast_finish: true # Stop remaining jobs after a job failure install: - ps: | if ($env:PLATFORM -eq "x64") { $env:CMAKE_ARCH = "x64" } + if ($env:APPVEYOR_JOB_NAME -like "*Visual Studio 2017*") { $env:CMAKE_GENERATOR = "Visual Studio 15 2017" } + else { $env:CMAKE_GENERATOR = "Visual Studio 14 2015" } if ($env:PYTHON) { if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" } $env:PATH = "C:\Python$env:PYTHON\;C:\Python$env:PYTHON\Scripts\;$env:PATH" @@ -27,8 +33,8 @@ install: 7z x 3.3.0.zip -y > $null $env:CMAKE_INCLUDE_PATH = "eigen-eigen-26667be4f70b" build_script: -- cmake -A "%CMAKE_ARCH%" -DPYBIND11_WERROR=ON +- cmake -G "%CMAKE_GENERATOR%" -A "%CMAKE_ARCH%" -DPYBIND11_WERROR=ON - set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" - cmake --build . --config Release --target pytest -- /v:m /logger:%MSBuildLogger% - cmake --build . --config Release --target test_cmake_build -- /v:m /logger:%MSBuildLogger% -on_failure: type tests\test_cmake_build\*.log +on_failure: if exist "tests\test_cmake_build" type tests\test_cmake_build\*.log