Commit d847a180 authored by Jose Fonseca's avatar Jose Fonseca

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's avatarDylan Baker <dylan@pnwbakers.com>
parent 9a229063
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.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment