summaryrefslogtreecommitdiff
path: root/appveyor.yml
diff options
context:
space:
mode:
authorJames E. King, III <jking@apache.org>2017-03-10 06:18:33 -0500
committerJames E. King, III <jking@apache.org>2017-03-10 06:18:33 -0500
commit07f59971bd11df619709444275298061ee69f707 (patch)
tree197adaaede4f594115899dc409a30d2d842195d3 /appveyor.yml
parent9b1544dc21f2d952b91c44e4636e1b9da937002c (diff)
downloadthrift-07f59971bd11df619709444275298061ee69f707.tar.gz
THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process
This closes #1205
Diffstat (limited to 'appveyor.yml')
-rwxr-xr-xappveyor.yml127
1 files changed, 66 insertions, 61 deletions
diff --git a/appveyor.yml b/appveyor.yml
index a4df229ab..b25e7d2fc 100755
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,3 +1,4 @@
+#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
@@ -18,73 +19,77 @@
# build Apache Thrift on AppVeyor - https://ci.appveyor.com
+version: '1.0.0-dev.{build}'
+
shallow_clone: true
-clone_depth: 10
-version: '{build}'
os:
-# - Windows Server 2012 R2
-- Visual Studio 2015
+ - Visual Studio 2015
+
+cache:
+ - C:\projects\thrift\buildcache -> build\appveyor\MSVC-appveyor-install.bat
+ - C:\ProgramData\chocolatey\lib -> build\appveyor\MSVC-appveyor-install.bat
+ - C:\msys64\var\cache\pacman -> build\appveyor\MSYS-appveyor-install.bat
+
+configuration:
+# - Debug
+ - Release
+
+platform:
+# - x86
+ - x64
environment:
- BOOST_ROOT: C:\Libraries\boost_1_59_0
- BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0
+ matrix:
+ - PROFILE: MSVC2015
+ BOOST_VERSION: 1.63.0
+ LIBEVENT_VERSION: 2.0.22
+ PYTHON_VERSION: 3.6
+ QT_VERSION: 5.8
+ ZLIB_VERSION: 1.2.11
-install:
-- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64'
-- cd \
- # Zlib
-- appveyor DownloadFile https://github.com/madler/zlib/archive/v1.2.8.tar.gz
-- 7z x v1.2.8.tar.gz -so | 7z x -si -ttar > nul
-- cd zlib-1.2.8
-- cmake -G "Visual Studio 14 2015 Win64" .
-- cmake --build . --config release
-- cd ..
- # Libevent
-- appveyor DownloadFile https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
-- 7z x libevent-2.0.22-stable.tar.gz -so | 7z x -si -ttar > nul
-- cd libevent-2.0.22-stable
-- nmake -f Makefile.nmake
-- mkdir lib
-- move *.lib lib\
-- move WIN32-Code\event2\* include\event2\
-- move *.h include\
-- cd ..
-- appveyor-retry cinst -y ant
-- appveyor-retry cinst -y winflexbison3
-# installation of ant brings in the latest jdk and sets JAVA_HOME - we need to pick these up from the registry
-- refreshenv
-- cd %APPVEYOR_BUILD_FOLDER%
-# TODO: Enable Haskell build
-# - cinst HaskellPlatform -version 2014.2.0.0
+ - PROFILE: MINGW
+
+# - PROFILE: MSVC2010
+# BOOST_VERSION: 1.59.0
+# LIBEVENT_VERSION: 2.0.22
+# PYTHON_VERSION: 3.3
+# ZLIB_VERSION: 1.2.8
+
+# - PROFILE: MSYS
+matrix:
+ allow_failures:
+ # MSVC2010 appears to be 32-bit only in appveyor
+ - platform: x64
+ PROFILE: MSVC2010
+
+ # Only have 64-bit MinGW working so far (inside MSYS2)
+ - platform: x86
+ PROFILE: MINGW
+ - platform: x86
+ PROFILE: MSYS
+
+install:
+ - cd %APPVEYOR_BUILD_FOLDER%
+ - call build\appveyor\%PROFILE:~0,4%-appveyor-install.bat
+ - refreshenv
build_script:
-- echo PATH=%PATH%
-- set PATH=C:\ProgramData\chocolatey\bin;%PATH%
-- echo JAVA_HOME=%JAVA_HOME%
-# TODO: Enable Haskell build
-# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\bin
-# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\lib\extralibs\bin
-- set PATH=C:\Python27-x64\scripts;C:\Python27-x64;%PATH%
-- pip install ipaddress backports.ssl_match_hostname tornado twisted
-- mkdir cmake-build
-- cd cmake-build
-- cmake -G "Visual Studio 14 2015 Win64" -DWITH_SHARED_LIB=OFF -DLIBEVENT_ROOT=C:\libevent-2.0.22-stable -DZLIB_INCLUDE_DIR=C:\zlib-1.2.8 -DZLIB_LIBRARY=C:\zlib-1.2.8\release\zlibstatic.lib -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ..
-- findstr /b /e BUILD_COMPILER:BOOL=ON CMakeCache.txt
-- findstr /b /e BUILD_CPP:BOOL=ON CMakeCache.txt
-- findstr /b /e BUILD_JAVA:BOOL=ON CMakeCache.txt
-- findstr /b /e BUILD_PYTHON:BOOL=ON CMakeCache.txt
-# - findstr /b /e BUILD_C_GLIB:BOOL=ON CMakeCache.txt
-# - findstr /b /e BUILD_HASKELL:BOOL=ON CMakeCache.txt
-- findstr /b /e BUILD_TESTING:BOOL=ON CMakeCache.txt
-# - cmake --build .
-- cmake --build . --config Release
-# TODO: Fix cpack
-# - cpack
-# TODO: Run more tests
-# CTest fails to invoke ant seemingly due to "ant.bat" v.s. "ant" (shell script) conflict.
-# Currently, everything that involves OpenSSL seems to hang forever on our Appveyor setup.
-# Also a few C++ tests hang (on Appveyor or on Windows in general).
-- ctest -C Release --timeout 600 -VV -E "(StressTestNonBlocking|PythonTestSSLSocket|python_test$|^Java)"
-# TODO make it perfect ;-r
+ - cd %APPVEYOR_BUILD_FOLDER%
+ - call build\appveyor\%PROFILE:~0,4%-appveyor-build.bat
+
+test_script:
+ - cd %APPVEYOR_BUILD_FOLDER%
+ - call build\appveyor\%PROFILE:~0,4%-appveyor-test.bat
+
+# artifact capture disabled as it might increase service cost for little gain:
+#
+# artifacts:
+# - path: local-thrift-inst
+# name: cmake installed content
+# type: zip
+#
+# - path: local-thrift-build\Testing
+# name: ctest output
+# type: zip