summaryrefslogtreecommitdiff
path: root/appveyor.yml
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2017-04-10 16:25:11 +0100
committerJose Fonseca <jfonseca@vmware.com>2017-06-13 10:40:55 +0100
commitd847a180a1ec99792b741a85fad5bcdceba398d3 (patch)
tree8e98821e78c11b2890e8ea3a6eb57ac93f943109 /appveyor.yml
parent9a22906394a30405ba39fbe4a2964272d7771fa1 (diff)
appveyor: Build piglit for Windows using MinGW.
This replaces the previous appveyor.yml with python tox tests. See https://ci.appveyor.com/project/jrfonseca/piglit-fc01r for the runs. Acked-by: Dylan Baker <dylan@pnwbakers.com>
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml130
1 files changed, 78 insertions, 52 deletions
diff --git a/appveyor.yml b/appveyor.yml
index 901b74360..54e7a420f 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,61 +1,87 @@
-version: "{branch}-{build}"
-cache:
- - '%LOCALAPPDATA%\pip\Cache'
-build: off
+# 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}'
-skip_tags: true
+branches:
+ except:
+ - /^travis.*$/
-shallow_clone: true
+# 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:
+- freeglut-MinGW-3.0.0-1.mp.zip
+
+# https://www.appveyor.com/docs/build-environment/#build-worker-images
+os: Visual Studio 2015
+
environment:
- global:
- WITH_COMPILER: 'cmd /E:ON /V:ON /C .\ci\appveyor\compiler.cmd'
-
- matrix:
- - TOXENV: 'py27-{noaccel,accel-win,streams}'
- TOXPYTHON: C:\Python27\python.exe
- PYTHON_HOME: C:\Python27
- PYTHON_VERSION: '2.7'
- PYTHON_ARCH: '32'
-
- - TOXENV: 'py33-{noaccel,accel-win,streams}'
- TOXPYTHON: C:\Python33\python.exe
- PYTHON_HOME: C:\Python33
- PYTHON_VERSION: '3.3'
- PYTHON_ARCH: '32'
-
- - TOXENV: 'py34-{noaccel,accel-win,streams}'
- TOXPYTHON: C:\Python34\python.exe
- PYTHON_HOME: C:\Python34
- PYTHON_VERSION: '3.4'
- PYTHON_ARCH: '32'
-
- - TOXENV: 'py35-{noaccel,accel-win,streams}'
- TOXPYTHON: C:\Python35\python.exe
- PYTHON_HOME: C:\Python35
- PYTHON_VERSION: '3.5'
- PYTHON_ARCH: '32'
-
- - TOXENV: 'py36-{noaccel,accel-win,streams}'
- TOXPYTHON: C:\Python36\python.exe
- PYTHON_HOME: C:\Python36
- PYTHON_VERSION: '3.6'
- PYTHON_ARCH: '32'
-
-init:
- - ps: echo $env:TOXENV
- - ps: ls C:\Python*
+ PYTHON_HOME: C:\Python36
+ FREEGLUT_ARCHIVE: freeglut-MinGW-3.0.0-1.mp.zip
+ matrix:
+ - MINGW_HOME: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32
+ FREEGLUT_LIB: lib\libfreeglut.a
+ - MINGW_HOME: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64
+ FREEGLUT_LIB: lib\x64\libfreeglut.a
+
+matrix:
+ fast_finish: true
install:
- - '%TOXPYTHON% --version'
- - '%PYTHON_HOME%\Scripts\pip --version'
- - '%TOXPYTHON% -m pip install --egg tox'
- - '%PYTHON_HOME%\Scripts\tox --version'
+# Setup Python 3
+- set Path=%PYTHON_HOME%;%PYTHON_HOME%\Scripts;%Path%
+- pip --version
+# Install Six
+- pip install six
+# Install Mako
+- pip install Mako==1.0.6
+# Install Numpy
+- pip install numpy==1.12.1
+# Check CMake
+- cmake --version
+# Install Ninja
+- cinst -y ninja
+- ninja --version
+# Setup MinGW
+- if not "%MINGW_HOME%"=="" set Path=%MINGW_HOME%\bin;%Path%
+# Install FreeGlut
+- if not exist "%FREEGLUT_ARCHIVE%" appveyor DownloadFile "http://files.transmissionzero.co.uk/software/development/GLUT/%FREEGLUT_ARCHIVE%"
+- 7z x -y "%FREEGLUT_ARCHIVE%" > nul
+# Get glext.h
+- mkdir glext\GL
+- appveyor DownloadFile https://www.khronos.org/registry/OpenGL/api/GL/glext.h -FileName glext\GL\glext.h
+
+build_script:
+- cmake -H. -Bbuild -G "Ninja" -DGLUT_INCLUDE_DIR=%CD%\freeglut\include -DGLUT_glut_LIBRARY=%CD%\freeglut\%FREEGLUT_LIB% -DGLEXT_INCLUDE_DIR=%CD%\glext
+- ninja -C build
-test_script:
- - '%WITH_COMPILER% %PYTHON_HOME%\Scripts\tox'
-on_failure:
- - ps: dir "env:"
- - ps: get-content .tox\*\log\*
+# 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.