include: sync GL headers with registry
[mesa.git] / appveyor.yml
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
21 version: '{build}'
22
23 branches:
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
34 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 init:
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
49 environment:
50 WINFLEXBISON_VERSION: 2.5.15
51 LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z
52
53 install:
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
81 build_script:
82 - scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1
83
84 after_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.