From 9e6af56666201d97ae0fcf068aa2f08c6737482f Mon Sep 17 00:00:00 2001 From: Jose Fonseca Date: Thu, 26 Nov 2015 10:39:41 +0000 Subject: [PATCH] appveyor: Initial integration. AppVeyor doesn't require an appveyor.yml in the repos (in fact it has some limitations as noted in comments below), but doing so has two great advantages over the web UI: - appveyor.yml can be revisioned together with the code, so instructions should always be in synch with the code - appveyor.yml can be reused for people's private repositories (be on fdo or GitHub, etc.) Acked-by: Roland Scheidegger --- appveyor.yml | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000000..84dc4de36b3 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,62 @@ +# 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' +# - 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.*$/ + +clone_depth: 5 + +cache: +- llvm-3.3.1-msvc2013-mtd.7z + +environment: + LLVM_ARCHIVE: llvm-3.3.1-msvc2013-mtd.7z + +install: +# Install pip +- python --version +- python -m ensurepip +# Install Mako +- python -m pip install --egg Mako +# Install SCons +- python -m pip install --egg scons==2.4.1 +- scons --version +# Install flex/bison +- cinst winflexbison -y +- 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. -- 2.30.2