appveyor.yml revision b8e80941
1# http://www.appveyor.com/docs/appveyor-yml 2# 3# To setup AppVeyor for your own personal repositories do the following: 4# - Sign up 5# - Add a new project 6# - Select Git and fill in the Git clone URL 7# - Setup a Git hook as explained in 8# https://github.com/appveyor/webhooks#installing-git-hook 9# - Check 'Settings > General > Skip branches without appveyor.yml' 10# - Check 'Settings > General > Rolling builds' 11# - Setup the global or project notifications to your liking 12# 13# Note that kicking (or restarting) a build via the web UI will not work, as it 14# will fail to find appveyor.yml . The Git hook is the most practical way to 15# kick a build. 16# 17# See also: 18# - http://help.appveyor.com/discussions/problems/2209-node-grunt-build-specify-a-project-or-solution-file-the-directory-does-not-contain-a-project-or-solution-file 19# - http://help.appveyor.com/discussions/questions/1184-build-config-vs-appveyoryaml 20 21version: '{build}' 22 23branches: 24 except: 25 - /^travis.*$/ 26 27# Don't download the full Mesa history to speed up cloning. However the clone 28# depth must not be too small, otherwise builds might fail when lots of patches 29# are committed in succession, because the desired commit is not found on the 30# truncated history. 31# 32# See also: 33# - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories 34clone_depth: 100 35 36# https://www.appveyor.com/docs/build-cache/ 37cache: 38- '%LOCALAPPDATA%\pip\Cache -> appveyor.yml' 39- win_flex_bison-2.5.15.zip 40- llvm-5.0.1-msvc2017-mtd.7z 41 42os: Visual Studio 2017 43 44init: 45# Appveyor defaults core.autocrlf to input instead of the default (true), but 46# that can hide problems processing CRLF text on Windows 47- git config --global core.autocrlf true 48 49environment: 50 WINFLEXBISON_VERSION: 2.5.15 51 LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z 52 53install: 54# Check git config 55- git config core.autocrlf 56# Check pip 57- python --version 58- python -m pip --version 59# Install Mako 60- python -m pip install Mako==1.0.7 61# Install pywin32 extensions, needed by SCons 62- python -m pip install pypiwin32 63# Install python wheels, necessary to install SCons via pip 64- python -m pip install wheel 65# Install SCons 66- python -m pip install scons==3.0.1 67- scons --version 68# Install flex/bison 69- set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip 70- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%" 71- 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul 72- set Path=%CD%\winflexbison;%Path% 73- win_flex --version 74- win_bison --version 75# Download and extract LLVM 76- if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%" 77- 7z x -y "%LLVM_ARCHIVE%" > nul 78- mkdir llvm\bin 79- set LLVM=%CD%\llvm 80 81build_script: 82- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 83 84after_build: 85- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 check 86 87 88# It's possible to setup notification here, as described in 89# http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but 90# doing so would cause the notification settings to be replicated across all 91# repos, which is most likely undesired. So it's better to rely on the 92# Appveyor global/project notification settings. 93