1#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10#   http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
20# build Apache Thrift on AppVeyor - https://ci.appveyor.com
21
22version: '0.13.0.{build}'
23
24shallow_clone: true
25
26branches:
27  only:
28    - master
29    - /^(release/)?\d+\.\d+\.\d+$/
30
31os:
32  - Visual Studio 2017
33
34matrix:
35  fast_finish: true
36
37environment:
38  matrix:
39   - PROFILE: MSVC2017
40     PLATFORM: x64
41     CONFIGURATION: Release
42     BUILD_SHARED_LIBS: ON
43     BOOST_VERSION: 1.67.0
44     LIBEVENT_VERSION: 2.1.8
45     PYTHON_VERSION: 3.6
46     QT_VERSION: 5.10
47     ZLIB_VERSION: 1.2.11
48     DISABLED_TESTS: (StressTestNonBlocking)
49
50   - PROFILE: MSVC2015
51     PLATFORM: x86
52     CONFIGURATION: Debug
53     BUILD_SHARED_LIBS: OFF
54     BOOST_VERSION: 1.62.0
55     LIBEVENT_VERSION: 2.0.22
56     PYTHON_VERSION: 3.5
57     QT_VERSION: 5.8
58     ZLIB_VERSION: 1.2.8
59     DISABLED_TESTS: (StressTestNonBlocking)
60     APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
61
62   - PROFILE: MINGW
63     PLATFORM: x64
64     CONFIGURATION: RelWithDebInfo
65     DISABLED_TESTS: (StalenessCheckTest|StressTestNonBlocking)
66
67   - PROFILE: CYGWIN
68     PLATFORM: x64
69     CONFIGURATION: RelWithDebInfo
70     DISABLED_TESTS: (ZlibTest|OpenSSLManualInitTest|TNonblockingServerTest|StressTestNonBlocking)
71
72install:
73  - cd %APPVEYOR_BUILD_FOLDER%
74  - call build\appveyor\%PROFILE:~0,4%-appveyor-install.bat
75  - refreshenv
76
77build_script:
78  - cd %APPVEYOR_BUILD_FOLDER%
79  - call build\appveyor\%PROFILE:~0,4%-appveyor-build.bat
80
81test_script:
82  - cd %APPVEYOR_BUILD_FOLDER%
83  - call build\appveyor\%PROFILE:~0,4%-appveyor-test.bat
84
85
86# artifact capture disabled as it might increase service cost for little gain:
87#
88# artifacts:
89#  - path: local-thrift-inst
90#    name: cmake installed content
91#    type: zip
92#
93#  - path: local-thrift-build\Testing
94#    name: ctest output
95#    type: zip
96
97# RDP support: use one or the other...
98#
99# enables RDP for each build job so you can inspect the environment at the beginning of the job:
100# init:
101#  - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
102#
103# enables RDP at the end of the build job so you can login and re-run
104# commands to see why something failed...
105# on_finish:
106#   - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
107#
108# also need:
109# environment:
110#   APPVEYOR_RDP_PASSWORD: thr1FT2345$xyzZ
111