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).
This commit is contained in:
Jason Rhinelander 2017-03-11 23:03:23 -04:00 committed by Dean Moldovan
parent 819cb5533e
commit cabbf610a7

View File

@ -1,16 +1,22 @@
version: 1.0.{build} version: 1.0.{build}
os: Visual Studio 2015 image:
- Visual Studio 2017
- Visual Studio 2015
test: off test: off
platform: platform:
- x86
- x64 - x64
- x86
environment: environment:
matrix: matrix:
- CONDA: 36
- CONDA: 27 - CONDA: 27
- CONDA: 35 matrix:
fast_finish: true # Stop remaining jobs after a job failure
install: install:
- ps: | - ps: |
if ($env:PLATFORM -eq "x64") { $env:CMAKE_ARCH = "x64" } 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:PYTHON) {
if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" } if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" }
$env:PATH = "C:\Python$env:PYTHON\;C:\Python$env:PYTHON\Scripts\;$env:PATH" $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 7z x 3.3.0.zip -y > $null
$env:CMAKE_INCLUDE_PATH = "eigen-eigen-26667be4f70b" $env:CMAKE_INCLUDE_PATH = "eigen-eigen-26667be4f70b"
build_script: 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" - 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 pytest -- /v:m /logger:%MSBuildLogger%
- cmake --build . --config Release --target test_cmake_build -- /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