summaryrefslogtreecommitdiff
path: root/appveyor.yml
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2015-11-26 10:39:41 +0000
committerJose Fonseca <jfonseca@vmware.com>2015-12-02 19:40:53 +0000
commit9e6af56666201d97ae0fcf068aa2f08c6737482f (patch)
tree3d50ea22a567fc98da0170fb894f796bfcadf0ab /appveyor.yml
parent4a3d388834dc25c5925301343757ee21ffa26253 (diff)
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 <sroland@vmware.com>
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml62
1 files changed, 62 insertions, 0 deletions
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000000..84dc4de36b
--- /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.