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.18.0.{build}'
23
24shallow_clone: true
25
26branches:
27  only:
28    - master
29    - /^(release/)?\d+\.\d+\.\d+$/
30
31# Note: We could abort all jobs on the first error, but then it
32# becomes hard to learn from the other jobs results. Therefore disabled:
33#matrix:
34#  fast_finish: true
35
36environment:
37  matrix:
38   - PROFILE: MSVC2017
39     PROFILE_CLASS: MSVC
40     APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
41     PLATFORM: x64
42     CONFIGURATION: Release
43     BUILD_SHARED_LIBS: ON
44     BOOST_VERSION: 1.67.0
45     LIBEVENT_VERSION: 2.1.8
46     PYTHON_VERSION: 3.6
47     QT_VERSION: 5.10
48     ZLIB_VERSION: 1.2.11
49
50   - PROFILE: MSVC2015
51     PROFILE_CLASS: MSVC
52     APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
53     PLATFORM: x86
54     CONFIGURATION: Debug
55     BUILD_SHARED_LIBS: OFF
56     BOOST_VERSION: 1.62.0
57     LIBEVENT_VERSION: 2.0.22
58     PYTHON_VERSION: 3.5
59     QT_VERSION: 5.8
60     ZLIB_VERSION: 1.2.8
61
62   - PROFILE: MINGW
63     PROFILE_CLASS: MINGW
64     # Currently the the latest MSYS2 is in the following image:
65     APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
66     PLATFORM: x64
67     CONFIGURATION: RelWithDebInfo
68     DISABLED_TESTS: (StalenessCheckTest)
69
70  # As of 2021.08.06, the Cygwin build is broken with a missing dll exception.
71  # See for an example https://ci.appveyor.com/project/ApacheSoftwareFoundation/thrift/builds/40263513/job/a69xt6m4o0y9x1bw?fullLog=true
72  # - PROFILE: CYGWIN
73  #   PROFILE_CLASS: CYGWIN
74  #   PLATFORM: x64
75  #   CONFIGURATION: RelWithDebInfo
76  #   DISABLED_TESTS: (ZlibTest|OpenSSLManualInitTest|TNonblockingServerTest)
77
78
79build_script:
80  - cd %APPVEYOR_BUILD_FOLDER%
81  - call build\appveyor\%PROFILE_CLASS%-appveyor-full.bat
82
83
84# artifact capture disabled as it might increase service cost for little gain:
85#
86# artifacts:
87#  - path: local-thrift-inst
88#    name: cmake installed content
89#    type: zip
90#
91#  - path: local-thrift-build\Testing
92#    name: ctest output
93#    type: zip
94
95# RDP support: use one or the other...
96#
97# enables RDP for each build job so you can inspect the environment at the beginning of the job:
98# init:
99#  - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
100#
101# enables RDP at the end of the build job so you can login and re-run
102# commands to see why something failed...
103# on_finish:
104#   - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
105#
106# also need:
107# environment:
108#   APPVEYOR_RDP_PASSWORD: thr1FT2345$xyzZ
109