appveyor.yml 3.22 KB
Newer Older
1 2 3 4 5 6 7 8
# http://www.appveyor.com/docs/appveyor-yml
#
# To setup AppVeyor for your own personal repositories do the following:
# - Sign up
# - Add a new project
# - Select Git and fill in the Git clone URL
# - Setup a Git hook as explained in
#   https://github.com/appveyor/webhooks#installing-git-hook
9
# - Check 'Settings > General > Skip branches without appveyor.yml'
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
# - Check 'Settings > General > Rolling builds'
# - Setup the global or project notifications to your liking
#
# Note that kicking (or restarting) a build via the web UI will not work, as it
# will fail to find appveyor.yml .  The Git hook is the most practical way to
# kick a build.
#
# See also:
# - 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
# - http://help.appveyor.com/discussions/questions/1184-build-config-vs-appveyoryaml

version: '{build}'

branches:
  except:
  - /^travis.*$/

27 28 29 30 31 32 33 34
# Don't download the full Mesa history to speed up cloning.  However the clone
# depth must not be too small, otherwise builds might fail when lots of patches
# are committed in succession, because the desired commit is not found on the
# truncated history.
#
# See also:
# - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories
clone_depth: 100
35

36
# https://www.appveyor.com/docs/build-cache/
37
cache:
38
- '%LOCALAPPDATA%\pip\Cache -> appveyor.yml'
39
- win_flex_bison-2.5.15.zip
40
- llvm-5.0.1-msvc2017-mtd.7z
41

42
os: Visual Studio 2017
43

44 45 46 47 48
init:
# Appveyor defaults core.autocrlf to input instead of the default (true), but
# that can hide problems processing CRLF text on Windows
- git config --global core.autocrlf true

49
environment:
50
  WINFLEXBISON_VERSION: 2.5.15
51
  LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z
52 53

install:
54 55
# Check git config
- 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 62
# Install pywin32 extensions, needed by SCons
- python -m pip install pypiwin32
63 64
# Install python wheels, necessary to install SCons via pip
- python -m pip install wheel
65
# Install SCons
66
- python -m pip install scons==3.0.1
67 68
- scons --version
# Install flex/bison
69 70
- set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip
- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%"
71 72
- 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul
- set Path=%CD%\winflexbison;%Path%
73 74 75 76 77 78 79 80 81
- win_flex --version
- win_bison --version
# Download and extract LLVM
- if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%"
- 7z x -y "%LLVM_ARCHIVE%" > nul
- mkdir llvm\bin
- set LLVM=%CD%\llvm

build_script:
82
- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1
83

Jose Fonseca's avatar
Jose Fonseca committed
84
after_build:
85
- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 check
Jose Fonseca's avatar
Jose Fonseca committed
86

87 88 89 90 91 92

# It's possible to setup notification here, as described in
# http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but
# doing so would cause the notification settings to be replicated across all
# repos, which is most likely undesired.  So it's better to rely on the
# Appveyor global/project notification settings.