diff options
author | Jose Fonseca <jfonseca@vmware.com> | 2017-04-10 16:25:11 +0100 |
---|---|---|
committer | Jose Fonseca <jfonseca@vmware.com> | 2017-06-13 10:40:55 +0100 |
commit | d847a180a1ec99792b741a85fad5bcdceba398d3 (patch) | |
tree | 8e98821e78c11b2890e8ea3a6eb57ac93f943109 /appveyor.yml | |
parent | 9a22906394a30405ba39fbe4a2964272d7771fa1 (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.yml | 130 |
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. |