
To prevent build failures when a large patch series is committed, like happened in https://ci.appveyor.com/project/jrfonseca-fdo/mesa/build/322 due to 10 commits betweendac2964f3e
and6f428328d3
where submitted before the build slave started the git clone. 100 commits should be bigger than any patch series seen in practice, and it takes practically the same time to download as 5 commits. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
# 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
|
|
# - Check 'Settings > General > Skip branches without appveyor.yml'
|
|
# - 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.*$/
|
|
|
|
# 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
|
|
|
|
cache:
|
|
- win_flex_bison-2.4.5.zip
|
|
- llvm-3.3.1-msvc2013-mtd.7z
|
|
|
|
environment:
|
|
WINFLEXBISON_ARCHIVE: win_flex_bison-2.4.5.zip
|
|
LLVM_ARCHIVE: llvm-3.3.1-msvc2013-mtd.7z
|
|
|
|
install:
|
|
# Check pip
|
|
- python --version
|
|
- python -m pip --version
|
|
# Install Mako
|
|
- python -m pip install --egg Mako
|
|
# Install SCons
|
|
- python -m pip install --egg scons==2.4.1
|
|
- scons --version
|
|
# Install flex/bison
|
|
- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "http://downloads.sourceforge.net/project/winflexbison/%WINFLEXBISON_ARCHIVE%"
|
|
- 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul
|
|
- set Path=%CD%\winflexbison;%Path%
|
|
- 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:
|
|
- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1
|
|
|
|
|
|
# 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.
|