Imported Upstream version 2.1.10
[platform/upstream/libevent.git] / appveyor.yml
1 version: 2.1.10.{build}
2
3 os: Visual Studio 2017
4 platform:
5   - x64
6
7 branches:
8   except:
9     - /.*travis.*/
10     - /.*linux.*/
11     - /.*freebsd.*/
12     - /.*osx.*/
13     - /.*bitrise.*/
14 skip_commits:
15   message: /travis/
16   files:
17     - .travis.yml
18
19 environment:
20   global:
21     APPVEYOR_SAVE_CACHE_ON_ERROR: true
22     MINGW_ROOT: C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1
23     OPENSSL_ROOT: C:/OpenSSL-Win64
24     MPATH: C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/bin;C:/msys64/bin;C:/cygwin64/bin
25     EVENT_TESTS_PARALLEL: 20
26     EVENT_BUILD_PARALLEL: 10
27   matrix:
28     # !EVENT_ALLOW_FAILURE
29     - EVENT_BUILD_METHOD: "cmake"
30       EVENT_CMAKE_OPTIONS: ""
31     - EVENT_BUILD_METHOD: "cmake"
32       EVENT_CMAKE_OPTIONS: "-DEVENT__LIBRARY_TYPE=STATIC"
33     # EVENT_ALLOW_FAILURE
34     - EVENT_BUILD_METHOD: "autotools"
35       EVENT_CONFIGURE_OPTIONS: ""
36       EVENT_ALLOW_FAILURE: 1
37     - EVENT_BUILD_METHOD: "autotools"
38       EVENT_CONFIGURE_OPTIONS: "--disable-openssl"
39       EVENT_ALLOW_FAILURE: 1
40     - EVENT_BUILD_METHOD: "autotools"
41       EVENT_CONFIGURE_OPTIONS: "--disable-thread-support"
42       EVENT_ALLOW_FAILURE: 1
43     - EVENT_BUILD_METHOD: "autotools"
44       EVENT_CONFIGURE_OPTIONS: "--disable-debug-mode"
45       EVENT_ALLOW_FAILURE: 1
46     - EVENT_BUILD_METHOD: "autotools"
47       EVENT_CONFIGURE_OPTIONS: "--disable-malloc-replacement"
48       EVENT_ALLOW_FAILURE: 1
49     - EVENT_BUILD_METHOD: "cmake"
50       EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_OPENSSL=ON"
51       EVENT_ALLOW_FAILURE: 1
52     - EVENT_BUILD_METHOD: "cmake"
53       EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_THREAD_SUPPORT=ON"
54       EVENT_ALLOW_FAILURE: 1
55     - EVENT_BUILD_METHOD: "cmake"
56       EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_DEBUG_MODE=ON"
57       EVENT_ALLOW_FAILURE: 1
58     - EVENT_BUILD_METHOD: "cmake"
59       EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_MM_REPLACEMENT=ON"
60       EVENT_ALLOW_FAILURE: 1
61     - EVENT_BUILD_METHOD: "cmake"
62       EVENT_CMAKE_OPTIONS: "-DCMAKE_C_FLAGS='-DUNICODE -D_UNICODE'"
63       EVENT_ALLOW_FAILURE: 1
64
65 matrix:
66   allow_failures:
67     - EVENT_ALLOW_FAILURE: 1
68   fast_finish: true
69
70 init:
71   - 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
72   - 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
73   - 'echo Repo build commit is: %APPVEYOR_REPO_COMMIT%'
74   - 'echo PATH is: %PATH%'
75
76 build_script:
77   - ps: |
78       if ($env:EVENT_BUILD_METHOD -eq 'autotools') {
79         $env:PATH="$env:MPATH;$env:OPENSSL_ROOT/bin;$env:PATH"
80         $env:LDFLAGS="-L$($env:OPENSSL_ROOT)/lib -L$($env:OPENSSL_ROOT)"
81         $env:CFLAGS="-I$($env:OPENSSL_ROOT)/include"
82
83         bash ./autogen.sh 2>&1 3>&1
84         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
85
86         md build-autotools 2> $null
87         cd build-autotools
88         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
89
90         bash ../configure $env:EVENT_CONFIGURE_OPTIONS 2>&1
91         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
92         make -j $env:EVENT_BUILD_PARALLEL 2>&1
93         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
94         make verify -j $env:EVENT_TESTS_PARALLEL 2>&1
95       } else {
96         md build-cmake 2> $null
97         cd build-cmake
98         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
99         cmake -G "Visual Studio 15 2017 Win64" .. $env:EVENT_CMAKE_OPTIONS
100         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
101         cmake --build . -j $env:EVENT_BUILD_PARALLEL -- /nologo /verbosity:minimal
102         if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode)  }
103         ctest --output-on-failure -j $env:EVENT_TESTS_PARALLEL
104       }
105
106 cache:
107   - build-cmake
108   - build-autotools
109
110 on_failure:
111   - 7z a libevent.zip .
112   - appveyor PushArtifact libevent.zip