blob: a4df229ab0d316ac779415eb5fba8803d6cfcefa [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
Roger Meierdf71a2e2015-04-09 01:06:49 +020032
Roger Meier5d0a8062015-04-12 21:06:11 +020033install:
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090034- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64'
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090035- cd \
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090036 # Zlib
37- appveyor DownloadFile https://github.com/madler/zlib/archive/v1.2.8.tar.gz
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090038- 7z x v1.2.8.tar.gz -so | 7z x -si -ttar > nul
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090039- cd zlib-1.2.8
40- cmake -G "Visual Studio 14 2015 Win64" .
41- cmake --build . --config release
42- cd ..
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090043 # Libevent
44- 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 +090045- 7z x libevent-2.0.22-stable.tar.gz -so | 7z x -si -ttar > nul
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090046- cd libevent-2.0.22-stable
47- nmake -f Makefile.nmake
48- mkdir lib
49- move *.lib lib\
50- move WIN32-Code\event2\* include\event2\
51- move *.h include\
52- cd ..
James E. King, IIIbdd0b732017-02-08 12:27:57 -050053- appveyor-retry cinst -y ant
54- appveyor-retry cinst -y winflexbison3
James E. King, III8615fee2017-02-21 21:29:17 -050055# installation of ant brings in the latest jdk and sets JAVA_HOME - we need to pick these up from the registry
56- refreshenv
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090057- cd %APPVEYOR_BUILD_FOLDER%
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090058# TODO: Enable Haskell build
59# - cinst HaskellPlatform -version 2014.2.0.0
60
Roger Meierdf71a2e2015-04-09 01:06:49 +020061
62build_script:
James E. King, IIIbdd0b732017-02-08 12:27:57 -050063- echo PATH=%PATH%
64- set PATH=C:\ProgramData\chocolatey\bin;%PATH%
James E. King, IIIbdd0b732017-02-08 12:27:57 -050065- echo JAVA_HOME=%JAVA_HOME%
James E. King, III8615fee2017-02-21 21:29:17 -050066# TODO: Enable Haskell build
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090067# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\bin
68# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\lib\extralibs\bin
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090069- set PATH=C:\Python27-x64\scripts;C:\Python27-x64;%PATH%
Nobuaki Sukegawabf9fa902016-09-04 18:49:21 +090070- pip install ipaddress backports.ssl_match_hostname tornado twisted
Roger Meierdf71a2e2015-04-09 01:06:49 +020071- mkdir cmake-build
72- cd cmake-build
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090073- 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 +090074- findstr /b /e BUILD_COMPILER:BOOL=ON CMakeCache.txt
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090075- findstr /b /e BUILD_CPP:BOOL=ON CMakeCache.txt
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090076- findstr /b /e BUILD_JAVA:BOOL=ON CMakeCache.txt
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090077- findstr /b /e BUILD_PYTHON:BOOL=ON CMakeCache.txt
78# - findstr /b /e BUILD_C_GLIB:BOOL=ON CMakeCache.txt
79# - findstr /b /e BUILD_HASKELL:BOOL=ON CMakeCache.txt
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090080- findstr /b /e BUILD_TESTING:BOOL=ON CMakeCache.txt
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090081# - cmake --build .
Roger Meierdf71a2e2015-04-09 01:06:49 +020082- cmake --build . --config Release
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090083# TODO: Fix cpack
84# - cpack
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090085# TODO: Run more tests
86# CTest fails to invoke ant seemingly due to "ant.bat" v.s. "ant" (shell script) conflict.
87# Currently, everything that involves OpenSSL seems to hang forever on our Appveyor setup.
88# Also a few C++ tests hang (on Appveyor or on Windows in general).
James E. King, IIIdf899132016-11-12 15:16:30 -050089- ctest -C Release --timeout 600 -VV -E "(StressTestNonBlocking|PythonTestSSLSocket|python_test$|^Java)"
90# TODO make it perfect ;-r