From 07f59971bd11df619709444275298061ee69f707 Mon Sep 17 00:00:00 2001 From: "James E. King, III" Date: Fri, 10 Mar 2017 06:18:33 -0500 Subject: THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process This closes #1205 --- appveyor.yml | 127 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 66 insertions(+), 61 deletions(-) (limited to 'appveyor.yml') 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 -- cgit v1.2.1