blob: cfd8b51f36fdb9fc3629cd7a68b7503aad99f1a3 [file] [log] [blame]
Roger Meierdf71a2e2015-04-09 01:06:49 +02001# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements. See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership. The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License. You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied. See the License for the
15# specific language governing permissions and limitations
16# under the License.
17#
18
19# build Apache Thrift on AppVeyor - https://ci.appveyor.com
20
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090021shallow_clone: true
22clone_depth: 10
23
Roger Meierdf71a2e2015-04-09 01:06:49 +020024version: '{build}'
25os:
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090026# - Windows Server 2012 R2
27- Visual Studio 2015
Roger Meierdf71a2e2015-04-09 01:06:49 +020028
29environment:
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090030 BOOST_ROOT: C:\Libraries\boost_1_59_0
31 BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0
Nobuaki Sukegawa8ccf5a62016-09-28 05:05:02 +090032 # Unfurtunately, this version needs manual update because old versions are quickly deleted.
Nobuaki Sukegawa9549b252016-05-15 00:25:17 +090033 ANT_VERSION: 1.9.7
Roger Meierdf71a2e2015-04-09 01:06:49 +020034
Roger Meier5d0a8062015-04-12 21:06:11 +020035install:
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090036- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64'
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090037- cd \
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090038 # Zlib
39- appveyor DownloadFile https://github.com/madler/zlib/archive/v1.2.8.tar.gz
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090040- 7z x v1.2.8.tar.gz -so | 7z x -si -ttar > nul
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090041- cd zlib-1.2.8
42- cmake -G "Visual Studio 14 2015 Win64" .
43- cmake --build . --config release
44- cd ..
45 # OpenSSL
Nobuaki Sukegawa8ccf5a62016-09-28 05:05:02 +090046- C:\Python35-x64\python %APPVEYOR_BUILD_FOLDER%\build\appveyor\download_openssl.py
47- ps: Start-Process "Win64OpenSSL.exe" -ArgumentList "/silent /verysilent /sp- /suppressmsgboxes" -Wait
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090048 # Libevent
49- appveyor DownloadFile https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090050- 7z x libevent-2.0.22-stable.tar.gz -so | 7z x -si -ttar > nul
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090051- cd libevent-2.0.22-stable
52- nmake -f Makefile.nmake
53- mkdir lib
54- move *.lib lib\
55- move WIN32-Code\event2\* include\event2\
56- move *.h include\
57- cd ..
Nobuaki Sukegawa1e3cf9b2016-09-26 00:22:29 +090058- appveyor-retry cinst -y winflexbison
Nobuaki Sukegawa9549b252016-05-15 00:25:17 +090059- appveyor DownloadFile http://www.us.apache.org/dist/ant/binaries/apache-ant-%ANT_VERSION%-bin.zip
60- 7z x apache-ant-%ANT_VERSION%-bin.zip > nul
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090061- cd %APPVEYOR_BUILD_FOLDER%
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090062# TODO: Enable Haskell build
63# - cinst HaskellPlatform -version 2014.2.0.0
64
Roger Meierdf71a2e2015-04-09 01:06:49 +020065
66build_script:
Nobuaki Sukegawa9549b252016-05-15 00:25:17 +090067- set PATH=C:\ProgramData\chocolatey\bin;C:\apache-ant-%ANT_VERSION%\bin;%PATH%
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090068- set JAVA_HOME=C:\Program Files\Java\jdk1.7.0
69- set PATH=%JAVA_HOME%\bin;%PATH%
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090070# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\bin
71# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\lib\extralibs\bin
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090072- set PATH=C:\Python27-x64\scripts;C:\Python27-x64;%PATH%
Nobuaki Sukegawabf9fa902016-09-04 18:49:21 +090073- pip install ipaddress backports.ssl_match_hostname tornado twisted
Roger Meierdf71a2e2015-04-09 01:06:49 +020074- mkdir cmake-build
75- cd cmake-build
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090076- 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%" ..
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090077- findstr /b /e BUILD_COMPILER:BOOL=ON CMakeCache.txt
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090078- findstr /b /e BUILD_CPP:BOOL=ON CMakeCache.txt
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090079- findstr /b /e BUILD_JAVA:BOOL=ON CMakeCache.txt
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090080- findstr /b /e BUILD_PYTHON:BOOL=ON CMakeCache.txt
81# - findstr /b /e BUILD_C_GLIB:BOOL=ON CMakeCache.txt
82# - findstr /b /e BUILD_HASKELL:BOOL=ON CMakeCache.txt
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090083- findstr /b /e BUILD_TESTING:BOOL=ON CMakeCache.txt
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090084# - cmake --build .
Roger Meierdf71a2e2015-04-09 01:06:49 +020085- cmake --build . --config Release
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090086# TODO: Fix cpack
87# - cpack
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090088# TODO: Run more tests
89# CTest fails to invoke ant seemingly due to "ant.bat" v.s. "ant" (shell script) conflict.
90# Currently, everything that involves OpenSSL seems to hang forever on our Appveyor setup.
91# Also a few C++ tests hang (on Appveyor or on Windows in general).
92- ctest -C Release --timeout 600 -VV -E "(concurrency_test|processor_test|TInterruptTest|StressTestNonBlocking|OpenSSLManualInitTest|SecurityTest|PythonTestSSLSocket|python_test$|^Java)"
Roger Meierdf71a2e2015-04-09 01:06:49 +020093
Roger Meier5d0a8062015-04-12 21:06:11 +020094#TODO make it perfect ;-r