[Piglit] [PATCH 02/20] appveyor.yml: Add appveyor for python code

Dylan Baker dylan at pnwbakers.com
Wed Jun 1 23:50:09 UTC 2016


This currently doesn't test building piglit (the C/C++ code), only the
python bits, and only the framework, not the generators. It's probably
worth adding support for all of that, but it's a more involved project,
and I'm just trying to not break the framework on windows anymore.

Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
 appveyor.yml             | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
 ci/appveyor/compiler.cmd | 46 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)
 create mode 100644 appveyor.yml
 create mode 100644 ci/appveyor/compiler.cmd

diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..3588df8
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,55 @@
+version: "{branch}-{build}"
+cache:
+    - '%LOCALAPPDATA%\pip\Cache'
+build: off
+
+skip_tags: true
+
+shallow_clone: true
+clone_depth: 100
+
+environment:
+    global:
+        WITH_COMPILER: 'cmd /E:ON /V:ON /C .\ci\appveyor\compiler.cmd'
+
+    matrix:
+        - TOXENV: 'py27-{noaccel,accel-win}'
+          TOXPYTHON: C:\Python27\python.exe
+          PYTHON_HOME: C:\Python27
+          PYTHON_VERSION: '2.7'
+          PYTHON_ARCH: '32'
+
+        - TOXENV: 'py33-{noaccel,accel-win}'
+          TOXPYTHON: C:\Python33\python.exe
+          PYTHON_HOME: C:\Python33
+          PYTHON_VERSION: '3.3'
+          PYTHON_ARCH: '32'
+
+        - TOXENV: 'py34-{noaccel,accel-win}'
+          TOXPYTHON: C:\Python34\python.exe
+          PYTHON_HOME: C:\Python34
+          PYTHON_VERSION: '3.4'
+          PYTHON_ARCH: '32'
+
+        - TOXENV: 'py35-{noaccel,accel-win}'
+          TOXPYTHON: C:\Python35\python.exe
+          PYTHON_HOME: C:\Python35
+          PYTHON_VERSION: '3.5'
+          PYTHON_ARCH: '32'
+
+init:
+    - ps: echo $env:TOXENV
+    - ps: ls C:\Python*
+
+install:
+    - '%TOXPYTHON% --version'
+    - '%PYTHON_HOME%\Scripts\pip --version'
+    - '%TOXPYTHON% -m pip install --egg tox'
+    - '%PYTHON_HOME%\Scripts\tox --version'
+
+test_script:
+    - '%WITH_COMPILER% %PYTHON_HOME%\Scripts\tox'
+
+on_failure:
+    - ps: dir "env:"
+    - ps: get-content .tox\*\log\*
diff --git a/ci/appveyor/compiler.cmd b/ci/appveyor/compiler.cmd
new file mode 100644
index 0000000..7f82a02
--- /dev/null
+++ b/ci/appveyor/compiler.cmd
@@ -0,0 +1,46 @@
+:: To build extensions for 64 bit Python 3, we need to configure environment
+:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
+:: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1)
+::
+:: To build extensions for 64 bit Python 2, we need to configure environment
+:: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of:
+:: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0)
+::
+:: 32 bit builds do not require specific environment configurations.
+::
+:: Note: this script needs to be run with the /E:ON and /V:ON flags for the
+:: cmd interpreter, at least for (SDK v7.0)
+::
+:: More details at:
+:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
+:: http://stackoverflow.com/a/13751649/163740
+::
+:: Author: Olivier Grisel
+:: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
+SET COMMAND_TO_RUN=%*
+SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
+SET WIN_WDK="c:\Program Files (x86)\Windows Kits\10\Include\wdf"
+ECHO SDK: %WINDOWS_SDK_VERSION% ARCH: %PYTHON_ARCH%
+
+
+IF "%PYTHON_VERSION%"=="3.5" (
+    IF EXIST %WIN_WDK% (
+        REM See: https://connect.microsoft.com/VisualStudio/feedback/details/1610302/
+        REN %WIN_WDK% 0wdf
+    )
+    GOTO main
+)
+
+IF "%PYTHON_ARCH%"=="32" (
+    GOTO main
+)
+
+SET DISTUTILS_USE_SDK=1
+SET MSSdk=1
+"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
+CALL "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
+
+:main
+
+ECHO Executing: %COMMAND_TO_RUN%
+CALL %COMMAND_TO_RUN% || EXIT 1
-- 
2.8.3



More information about the Piglit mailing list