[Piglit] [PATCH 1/2] appveyor: Build piglit for Windows using MinGW.

Jose Fonseca jfonseca at vmware.com
Fri Apr 21 11:38:13 UTC 2017


This replaces the previous appveyor.yml with python tox tests.

See https://ci.appveyor.com/project/jrfonseca/piglit-fc01r for the runs.
---
 appveyor.yml | 130 +++++++++++++++++++++++++++++++++++------------------------
 1 file 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.
-- 
2.11.0



More information about the Piglit mailing list